Hi, this simple series improve handling of RAC and CBR address and try to upstream these simple patch we have in OpenWrt for a while. The first patch fix a straight kernel panic where some Bootloader might enable RAC but misconfigure the CBR address. The current logic only check if RAC is enabled but doesn't verify if the CBR address is usable. The DMA sync function cause a kernel panic for invalid write. (as CBR is 0 or something like 0xa) The second is preparation for making the CBR address configurable in DT. Since this address doesn't change, we can cache it and reference it with a local variable instead of calling the register to access the value. The 4th patch make it configurable with 2 DT property, one to actually set the reg and the other to force set it. The first property is used when CBR is set to 0. The second property is to force it if the Bootloader sets it to something wrong. If the CBR value is not 0 and is not forced with the second property a WARN is printed and the DT value is ignored. The 5th patch enable RAC on BMIPS4350 and the 5th patch is a micro optimization to skip more call on DMA sync to save as resource as possible on low spec devices. (since DMA sync is called many times for the Ethernet Switch and we can reference the bool instead of checking the CPU type everytime) These has been tested on BCM6358 (HG556a) and BCM6368 (VH4032N) and reported correct functionality. Christian Marangi (5): mips: bmips: BCM6358: make sure CBR is correctly set mips: bmips: rework and cache CBR addr handling dt-bindings: mips: brcm: Document mips-cbr-reg property mips: bmips: setup: make CBR address configurable mips: bmips: dma: drop redundant boot_cpu_type in arch_dma_sync Daniel González Cabanelas (1): mips: bmips: enable RAC on BMIPS4350 .../devicetree/bindings/mips/brcm/soc.yaml | 32 ++++++++++++ arch/mips/bmips/dma.c | 12 ++--- arch/mips/bmips/setup.c | 36 +++++++++++-- arch/mips/include/asm/bmips.h | 2 + arch/mips/kernel/smp-bmips.c | 50 ++++++++++++------- 5 files changed, 102 insertions(+), 30 deletions(-) -- 2.43.0