On 12/08/2017 04:46 PM, Ahmed Mansour wrote: > This patch adds changes necessary to move functionality present in > PowerPC folders with ARM architectures that have DPAA1 QBMan hardware > > - Create new board/freescale/common/fsl_portals.c to house shared > device tree fixups for DPAA1 devices with ARM and PowerPC cores > - Add new header file to top includes directory to allow files in > both architectures to grab the function prototypes > - Port inhibit_portals() from PowerPC to ARM. This function is used in > setup to disable interrupts on all QMan and BMan portals. It is > needed because the interrupts are enabled by default for all portals > including unused/uninitialised portals. When the kernel attempts to > go to deep sleep the unused portals prevent it from doing so > > Signed-off-by: Ahmed Mansour <[email protected]> > > --- > > Changes in v2: > - Add get_qman_freq() to replace get_sys_info() for readability > - Correct the copyright year in new files > - Replace !ARM with PPC to wall off PowerPC SOCs specific qman setup > - Rename portals.c -> fsl_portals.c for clarity > > arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 4 + > arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 9 + > .../arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c | 11 + > .../include/asm/arch-fsl-layerscape/immap_lsch2.h | 29 ++ > arch/arm/include/asm/arch-fsl-layerscape/speed.h | 1 + > arch/powerpc/cpu/mpc85xx/cpu_init.c | 3 +- > arch/powerpc/cpu/mpc85xx/fdt.c | 1 + > arch/powerpc/cpu/mpc85xx/portals.c | 281 ------------------- > arch/powerpc/include/asm/fsl_liodn.h | 7 +- > arch/powerpc/include/asm/fsl_portals.h | 4 - > arch/powerpc/include/asm/immap_85xx.h | 60 ---- > drivers/misc/Makefile | 1 + > drivers/misc/fsl_portals.c | 304 > +++++++++++++++++++++ > include/configs/ls1043a_common.h | 2 + > include/fsl_qbman.h | 75 +++++ > 15 files changed, 444 insertions(+), 348 deletions(-) > create mode 100644 drivers/misc/fsl_portals.c > create mode 100644 include/fsl_qbman.h > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c > b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c > index d082629..3fd352f 100644 > --- a/arch/arm/cpu/armv8/fsl-layerscape/cpu.c > +++ b/arch/arm/cpu/armv8/fsl-layerscape/cpu.c > @@ -30,6 +30,7 @@ > #endif > #include <asm/arch/clock.h> > #include <hwconfig.h> > +#include <fsl_qbman.h> > > DECLARE_GLOBAL_DATA_PTR; > > @@ -565,6 +566,9 @@ int arch_early_init_r(void) > #ifdef CONFIG_FMAN_ENET > fman_enet_init(); > #endif > +#ifdef CONFIG_SYS_DPAA_QBMAN > + setup_qbman_portals(); > +#endif > return 0; > } > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c > b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c > index cae59da..382bf3d 100644 > --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c > +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c > @@ -26,6 +26,8 @@ > #ifdef CONFIG_ARMV8_SEC_FIRMWARE_SUPPORT > #include <asm/armv8/sec_firmware.h> > #endif > +#include <asm/arch/speed.h> > +#include <fsl_qbman.h> > > int fdt_fixup_phy_connection(void *blob, int offset, phy_interface_t phyc) > { > @@ -415,6 +417,13 @@ void ft_cpu_setup(void *blob, bd_t *bd) > fdt_fixup_esdhc(blob, bd); > #endif > > +#ifdef CONFIG_SYS_DPAA_QBMAN > + fdt_fixup_bportals(blob); > + fdt_fixup_qportals(blob); > + do_fixup_by_compat_u32(blob, "fsl,qman", > + "clock-frequency", get_qman_freq(), 1); > +#endif > + > #ifdef CONFIG_SYS_DPAA_FMAN > fdt_fixup_fman_firmware(blob); > #endif > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c > b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c > index 2d7775e..f707205 100644 > --- a/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c > +++ b/arch/arm/cpu/armv8/fsl-layerscape/fsl_lsch2_speed.c > @@ -155,6 +155,17 @@ void get_sys_info(struct sys_info *sys_info) > sys_info->freq_localbus = sys_info->freq_systembus / > CONFIG_SYS_FSL_IFC_CLK_DIV; > #endif > +#ifdef CONFIG_SYS_DPAA_QBMAN > + sys_info->freq_qman = sys_info->freq_systembus; > +#endif > +} > + > +unsigned long get_qman_freq(void) > +{ > + struct sys_info sys_info; > + > + get_sys_info(&sys_info);
nitpick Insert a blank line before return. > + return sys_info.freq_systembus; > } > If you think this clock will be used multiple times, you can consider to use the same way sdhc_clk is handled. For this patch, I only see one place it is called. <snip> > diff --git a/drivers/misc/fsl_portals.c b/drivers/misc/fsl_portals.c > new file mode 100644 > index 0000000..8f8503f > --- /dev/null > +++ b/drivers/misc/fsl_portals.c > @@ -0,0 +1,304 @@ > +/* > + * Copyright 2017 NXP Shouldn't we carry the old license year and copyright for Freescale because this file is created by moving those code here? I am not a lawyer though. Let's take a look from a different angle. I know you use patman to generate the patches. Sometimes we need to think what the best way is. Patman is a good tool. But I don't think it turns on the switch "--find-copies". This switch can detect copies and renames. As you stated in the change log, you renamed portals.c to fsl_portals.c. Your patch didn't show this. You can manually run "git format-patch -M -C" to generate the patches. For this case, the "-C" switch makes a difference. It detects the renaming so the patch has less insertions, and easier to review. 15 files changed, 198 insertions(+), 458 deletions(-) York _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

