Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On Thu, May 1, 2014 at 8:12 AM, Grant Likely wrote: > On Tue, 29 Apr 2014 01:21:41 +0100, Russell King - ARM Linux > wrote: >> On Tue, Apr 29, 2014 at 09:02:27AM +0900, Simon Horman wrote: >> > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: >> > > Since we now automatically enable early BRESP in core L2C-310 code when >> > > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit >> > > explicitly. Instead, they should seek to preserve the value of bit 30 >> > > in the auxiliary control register. >> > > >> > > Acked-by: Tony Lindgren >> > > Signed-off-by: Russell King >> > >> > I would prefer if this patch was broken out into individual patches >> > for each board or SoC file and that they were then picked up >> > by their respective platform maintainers. >> > >> > Likewise for patch 66/97. Although it is only for shmobile >> > I would prefer it broken out. >> >> Oh fuck that. >> >> Okay, I'm dropping the whole patch set right now and forgetting the whole >> damned thing. The L2 cache code can damned well stay as it is and remain >> an unmaintainable mess. > > FWIW, there are an awful lot of people, myself included, who do care > that you've done this work. It is 100% okay for you to say "no" to > requests to split things up because of the complexity of the series. > > I really hope you're reconsider and not give up on this series. +1. I've been very behind on email lately and I haven't paid enough attention to this, but I'd like to see this go in for 3.16 as well, and it shouldn't have to go in through each subtree. Sequencing that in this case would be a huge pain indeed. It would be better to just keep it all on a shared topic branch that we can merge into arm-soc as a dependency, so we can resolve merge conflicts as we merge in from platform maintainers. I wouldn't expect anything major besides some context conflicts due to nearby edits. The only thing I am not 100% on is if it's a good idea or not to add to the machine descriptor, since it'll make it harder to make descriptor-free generic platforms for A9, but it's a minor detail and the benefit of the series outweigh that (and we can revisit if truly needed later). -Olof -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
Hi Russell, I emphatically second Grant's opinion here: This is a good patch series and is a much-needed improvement. I am in the middle of a board-port for an A9 system, and this series will greatly simplify things for me *despite* the fact that I will need to convert to the new write_sec() form of L2C control on PSCI-enabled non-secure platforms. To reiterate Grant's request, please re-consider applying this L2C patch series! Thank you, jdl On Thu, May 1, 2014 at 10:12 AM, Grant Likely wrote: > On Tue, 29 Apr 2014 01:21:41 +0100, Russell King - ARM Linux > wrote: >> On Tue, Apr 29, 2014 at 09:02:27AM +0900, Simon Horman wrote: >> > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: >> > > Since we now automatically enable early BRESP in core L2C-310 code when >> > > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit >> > > explicitly. Instead, they should seek to preserve the value of bit 30 >> > > in the auxiliary control register. >> > > >> > > Acked-by: Tony Lindgren >> > > Signed-off-by: Russell King >> > >> > I would prefer if this patch was broken out into individual patches >> > for each board or SoC file and that they were then picked up >> > by their respective platform maintainers. >> > >> > Likewise for patch 66/97. Although it is only for shmobile >> > I would prefer it broken out. >> >> Oh fuck that. >> >> Okay, I'm dropping the whole patch set right now and forgetting the whole >> damned thing. The L2 cache code can damned well stay as it is and remain >> an unmaintainable mess. > > FWIW, there are an awful lot of people, myself included, who do care > that you've done this work. It is 100% okay for you to say "no" to > requests to split things up because of the complexity of the series. > > I really hope you're reconsider and not give up on this series. > > g. > > > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On Tue, 29 Apr 2014 01:21:41 +0100, Russell King - ARM Linux wrote: > On Tue, Apr 29, 2014 at 09:02:27AM +0900, Simon Horman wrote: > > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: > > > Since we now automatically enable early BRESP in core L2C-310 code when > > > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit > > > explicitly. Instead, they should seek to preserve the value of bit 30 > > > in the auxiliary control register. > > > > > > Acked-by: Tony Lindgren > > > Signed-off-by: Russell King > > > > I would prefer if this patch was broken out into individual patches > > for each board or SoC file and that they were then picked up > > by their respective platform maintainers. > > > > Likewise for patch 66/97. Although it is only for shmobile > > I would prefer it broken out. > > Oh fuck that. > > Okay, I'm dropping the whole patch set right now and forgetting the whole > damned thing. The L2 cache code can damned well stay as it is and remain > an unmaintainable mess. FWIW, there are an awful lot of people, myself included, who do care that you've done this work. It is 100% okay for you to say "no" to requests to split things up because of the complexity of the series. I really hope you're reconsider and not give up on this series. g. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On Tue, Apr 29, 2014 at 10:17:01AM -0600, Stephen Warren wrote: > On 04/28/2014 06:02 PM, Simon Horman wrote: > > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: > >> Since we now automatically enable early BRESP in core L2C-310 code when > >> we detect a Cortex-A9, we don't need platforms/SoCs to set this bit > >> explicitly. Instead, they should seek to preserve the value of bit 30 > >> in the auxiliary control register. > >> > >> Acked-by: Tony Lindgren > >> Signed-off-by: Russell King > > > > I would prefer if this patch was broken out into individual patches > > for each board or SoC file and that they were then picked up > > by their respective platform maintainers. > > > > Likewise for patch 66/97. Although it is only for shmobile > > I would prefer it broken out. > > There are far too many dependencies in this series to break out the > board file patches to be merged separately; it'd take either a whole > bunch of kernel releases to merge it all that way, or a twisty maze of > tiny topic branches cross-merged all over the place. Neither option is > realistic. Understood, that seems reasonable to me. For the shmobile portions this patch and 66/97. Acked-by: Simon Horman -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On 04/28/2014 06:02 PM, Simon Horman wrote: > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: >> Since we now automatically enable early BRESP in core L2C-310 code when >> we detect a Cortex-A9, we don't need platforms/SoCs to set this bit >> explicitly. Instead, they should seek to preserve the value of bit 30 >> in the auxiliary control register. >> >> Acked-by: Tony Lindgren >> Signed-off-by: Russell King > > I would prefer if this patch was broken out into individual patches > for each board or SoC file and that they were then picked up > by their respective platform maintainers. > > Likewise for patch 66/97. Although it is only for shmobile > I would prefer it broken out. There are far too many dependencies in this series to break out the board file patches to be merged separately; it'd take either a whole bunch of kernel releases to merge it all that way, or a twisty maze of tiny topic branches cross-merged all over the place. Neither option is realistic. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On Tue, Apr 29, 2014 at 09:02:27AM +0900, Simon Horman wrote: > On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: > > Since we now automatically enable early BRESP in core L2C-310 code when > > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit > > explicitly. Instead, they should seek to preserve the value of bit 30 > > in the auxiliary control register. > > > > Acked-by: Tony Lindgren > > Signed-off-by: Russell King > > I would prefer if this patch was broken out into individual patches > for each board or SoC file and that they were then picked up > by their respective platform maintainers. > > Likewise for patch 66/97. Although it is only for shmobile > I would prefer it broken out. Oh fuck that. Okay, I'm dropping the whole patch set right now and forgetting the whole damned thing. The L2 cache code can damned well stay as it is and remain an unmaintainable mess. -- FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly improving, and getting towards what was expected from it. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On Mon, Apr 28, 2014 at 08:30:32PM +0100, Russell King wrote: > Since we now automatically enable early BRESP in core L2C-310 code when > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit > explicitly. Instead, they should seek to preserve the value of bit 30 > in the auxiliary control register. > > Acked-by: Tony Lindgren > Signed-off-by: Russell King I would prefer if this patch was broken out into individual patches for each board or SoC file and that they were then picked up by their respective platform maintainers. Likewise for patch 66/97. Although it is only for shmobile I would prefer it broken out. > --- > arch/arm/mach-berlin/berlin.c| 2 +- > arch/arm/mach-exynos/exynos.c| 4 ++-- > arch/arm/mach-omap2/omap4-common.c | 3 +-- > arch/arm/mach-shmobile/board-armadillo800eva-reference.c | 4 ++-- > arch/arm/mach-shmobile/board-armadillo800eva.c | 4 ++-- > arch/arm/mach-shmobile/board-kzm9g-reference.c | 4 ++-- > arch/arm/mach-shmobile/board-kzm9g.c | 4 ++-- > arch/arm/mach-shmobile/setup-r8a7778.c | 4 ++-- > arch/arm/mach-shmobile/setup-r8a7779.c | 4 ++-- > arch/arm/mach-spear/spear13xx.c | 2 +- > arch/arm/mach-tegra/tegra.c | 4 ++-- > 11 files changed, 19 insertions(+), 20 deletions(-) > > diff --git a/arch/arm/mach-berlin/berlin.c b/arch/arm/mach-berlin/berlin.c > index 025bcb5473eb..6709d2a6bec8 100644 > --- a/arch/arm/mach-berlin/berlin.c > +++ b/arch/arm/mach-berlin/berlin.c > @@ -24,7 +24,7 @@ static void __init berlin_init_machine(void) >* with DT probing for L2CCs, berlin_init_machine can be removed. >* Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc >*/ > - l2x0_of_init(0x70c0, 0xfeff); > + l2x0_of_init(0x30c0, 0xfeff); > of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); > } > > diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c > index b32a907d021d..e6828fb46034 100644 > --- a/arch/arm/mach-exynos/exynos.c > +++ b/arch/arm/mach-exynos/exynos.c > @@ -32,8 +32,8 @@ > #include "mfc.h" > #include "regs-pmu.h" > > -#define L2_AUX_VAL 0x7C470001 > -#define L2_AUX_MASK 0xC200 > +#define L2_AUX_VAL 0x3c470001 > +#define L2_AUX_MASK 0xc200 > > static struct map_desc exynos4_iodesc[] __initdata = { > { > diff --git a/arch/arm/mach-omap2/omap4-common.c > b/arch/arm/mach-omap2/omap4-common.c > index dc9844a55443..9ce52548a484 100644 > --- a/arch/arm/mach-omap2/omap4-common.c > +++ b/arch/arm/mach-omap2/omap4-common.c > @@ -220,8 +220,7 @@ static int __init omap_l2_cache_init(void) > L2C_AUX_CTRL_WAY_SIZE(3) | > L2C_AUX_CTRL_SHARED_OVERRIDE | > L310_AUX_CTRL_DATA_PREFETCH | > -L310_AUX_CTRL_INSTR_PREFETCH | > -L310_AUX_CTRL_EARLY_BRESP; > +L310_AUX_CTRL_INSTR_PREFETCH; > > outer_cache.write_sec = omap4_l2c310_write_sec; > if (of_have_populated_dt()) > diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c > b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c > index 57d1a78367b6..34e7f3c17dd2 100644 > --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c > +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c > @@ -164,8 +164,8 @@ static void __init eva_init(void) > r8a7740_meram_workaround(); > > #ifdef CONFIG_CACHE_L2X0 > - /* Early BRESP enable, Shared attribute override enable, 32K*8way */ > - l2x0_init(IOMEM(0xf0002000), 0x4044, 0x82000fff); > + /* Shared attribute override enable, 32K*8way */ > + l2x0_init(IOMEM(0xf0002000), 0x0044, 0xc2000fff); > #endif > > r8a7740_add_standard_devices_dt(); > diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c > b/arch/arm/mach-shmobile/board-armadillo800eva.c > index 2858f380beae..7688990edd3a 100644 > --- a/arch/arm/mach-shmobile/board-armadillo800eva.c > +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c > @@ -1270,8 +1270,8 @@ static void __init eva_init(void) > > > #ifdef CONFIG_CACHE_L2X0 > - /* Early BRESP enable, Shared attribute override enable, 32K*8way */ > - l2x0_init(IOMEM(0xf0002000), 0x4044, 0x82000fff); > + /* Shared attribute override enable, 32K*8way */ > + l2x0_init(IOMEM(0xf0002000), 0x0044, 0xc2000fff); > #endif > > i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices)); > diff --git a/arch/arm/mach-shmobile/board-kzm9g-reference.c > b/arch/arm/mach-shmobile/board-kzm9g-reference.c > index 598e32488410..85873f186d77 100644 > --- a/arch/arm/mach-shmobile/board-kzm9g-reference.c > +++ b/arch/arm/mach-shmobile/board-kzm9g-reference.c > @@ -36,8 +36,8 @@ static void __init kzm_init(void) > sh73a0_add_standard_devices_dt(); >
Re: [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
On 04/28/2014 01:30 PM, Russell King wrote: > Since we now automatically enable early BRESP in core L2C-310 code when > we detect a Cortex-A9, we don't need platforms/SoCs to set this bit > explicitly. Instead, they should seek to preserve the value of bit 30 > in the auxiliary control register. Acked-by: Stephen Warren -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 51/97] ARM: l2c: remove platforms/SoCs setting early BRESP
Since we now automatically enable early BRESP in core L2C-310 code when we detect a Cortex-A9, we don't need platforms/SoCs to set this bit explicitly. Instead, they should seek to preserve the value of bit 30 in the auxiliary control register. Acked-by: Tony Lindgren Signed-off-by: Russell King --- arch/arm/mach-berlin/berlin.c| 2 +- arch/arm/mach-exynos/exynos.c| 4 ++-- arch/arm/mach-omap2/omap4-common.c | 3 +-- arch/arm/mach-shmobile/board-armadillo800eva-reference.c | 4 ++-- arch/arm/mach-shmobile/board-armadillo800eva.c | 4 ++-- arch/arm/mach-shmobile/board-kzm9g-reference.c | 4 ++-- arch/arm/mach-shmobile/board-kzm9g.c | 4 ++-- arch/arm/mach-shmobile/setup-r8a7778.c | 4 ++-- arch/arm/mach-shmobile/setup-r8a7779.c | 4 ++-- arch/arm/mach-spear/spear13xx.c | 2 +- arch/arm/mach-tegra/tegra.c | 4 ++-- 11 files changed, 19 insertions(+), 20 deletions(-) diff --git a/arch/arm/mach-berlin/berlin.c b/arch/arm/mach-berlin/berlin.c index 025bcb5473eb..6709d2a6bec8 100644 --- a/arch/arm/mach-berlin/berlin.c +++ b/arch/arm/mach-berlin/berlin.c @@ -24,7 +24,7 @@ static void __init berlin_init_machine(void) * with DT probing for L2CCs, berlin_init_machine can be removed. * Note: 88DE3005 (Armada 1500-mini) uses pl310 l2cc */ - l2x0_of_init(0x70c0, 0xfeff); + l2x0_of_init(0x30c0, 0xfeff); of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); } diff --git a/arch/arm/mach-exynos/exynos.c b/arch/arm/mach-exynos/exynos.c index b32a907d021d..e6828fb46034 100644 --- a/arch/arm/mach-exynos/exynos.c +++ b/arch/arm/mach-exynos/exynos.c @@ -32,8 +32,8 @@ #include "mfc.h" #include "regs-pmu.h" -#define L2_AUX_VAL 0x7C470001 -#define L2_AUX_MASK 0xC200 +#define L2_AUX_VAL 0x3c470001 +#define L2_AUX_MASK 0xc200 static struct map_desc exynos4_iodesc[] __initdata = { { diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c index dc9844a55443..9ce52548a484 100644 --- a/arch/arm/mach-omap2/omap4-common.c +++ b/arch/arm/mach-omap2/omap4-common.c @@ -220,8 +220,7 @@ static int __init omap_l2_cache_init(void) L2C_AUX_CTRL_WAY_SIZE(3) | L2C_AUX_CTRL_SHARED_OVERRIDE | L310_AUX_CTRL_DATA_PREFETCH | - L310_AUX_CTRL_INSTR_PREFETCH | - L310_AUX_CTRL_EARLY_BRESP; + L310_AUX_CTRL_INSTR_PREFETCH; outer_cache.write_sec = omap4_l2c310_write_sec; if (of_have_populated_dt()) diff --git a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c index 57d1a78367b6..34e7f3c17dd2 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva-reference.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva-reference.c @@ -164,8 +164,8 @@ static void __init eva_init(void) r8a7740_meram_workaround(); #ifdef CONFIG_CACHE_L2X0 - /* Early BRESP enable, Shared attribute override enable, 32K*8way */ - l2x0_init(IOMEM(0xf0002000), 0x4044, 0x82000fff); + /* Shared attribute override enable, 32K*8way */ + l2x0_init(IOMEM(0xf0002000), 0x0044, 0xc2000fff); #endif r8a7740_add_standard_devices_dt(); diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c index 2858f380beae..7688990edd3a 100644 --- a/arch/arm/mach-shmobile/board-armadillo800eva.c +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c @@ -1270,8 +1270,8 @@ static void __init eva_init(void) #ifdef CONFIG_CACHE_L2X0 - /* Early BRESP enable, Shared attribute override enable, 32K*8way */ - l2x0_init(IOMEM(0xf0002000), 0x4044, 0x82000fff); + /* Shared attribute override enable, 32K*8way */ + l2x0_init(IOMEM(0xf0002000), 0x0044, 0xc2000fff); #endif i2c_register_board_info(0, i2c0_devices, ARRAY_SIZE(i2c0_devices)); diff --git a/arch/arm/mach-shmobile/board-kzm9g-reference.c b/arch/arm/mach-shmobile/board-kzm9g-reference.c index 598e32488410..85873f186d77 100644 --- a/arch/arm/mach-shmobile/board-kzm9g-reference.c +++ b/arch/arm/mach-shmobile/board-kzm9g-reference.c @@ -36,8 +36,8 @@ static void __init kzm_init(void) sh73a0_add_standard_devices_dt(); #ifdef CONFIG_CACHE_L2X0 - /* Early BRESP enable, Shared attribute override enable, 64K*8way */ - l2x0_init(IOMEM(0xf010), 0x4046, 0x82000fff); + /* Shared attribute override enable, 64K*8way */ + l2x0_init(IOMEM(0xf010), 0x0046, 0xc2000fff); #endif } diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c index 03dc3ac84502..ea9bf39fdc10 100644 --- a/arch/arm/mach-shmobile/board-kzm9g.c +++ b/ar