Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750905AbbD3Nod (ORCPT ); Thu, 30 Apr 2015 09:44:33 -0400 Received: from pandora.arm.linux.org.uk ([78.32.30.218]:36291 "EHLO pandora.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750710AbbD3Nob (ORCPT ); Thu, 30 Apr 2015 09:44:31 -0400 Date: Thu, 30 Apr 2015 14:44:18 +0100 From: Russell King - ARM Linux To: Gregory CLEMENT Cc: Valentin Rothberg , Paul Bolle , jason@lakedaemon.net, andrew@lunn.ch, sebastian.hesselbarth@gmail.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] arch/arm/mach-mvebu/Kconfig: remove obsolete selects Message-ID: <20150430134418.GK12732@n2100.arm.linux.org.uk> References: <1430236970-14194-1-git-send-email-valentinrothberg@gmail.com> <553FB845.30002@free-electrons.com> <20150428165428.GF12732@n2100.arm.linux.org.uk> <553FBE4A.9080603@free-electrons.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <553FBE4A.9080603@free-electrons.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4955 Lines: 136 On Tue, Apr 28, 2015 at 07:07:22PM +0200, Gregory CLEMENT wrote: > Hi Russell, > > On 28/04/2015 18:54, Russell King - ARM Linux wrote: > > On Tue, Apr 28, 2015 at 06:41:41PM +0200, Gregory CLEMENT wrote: > >> Hi Valentin, > >> > >> On 28/04/2015 18:02, Valentin Rothberg wrote: > >>> ARM_ERRATA_753970 is not defined in Kconfig, so that both selects turn > >>> out to be nops. Hence, we can safely remove them. > >> > >> It was already pointed by Paul Bolle a few months ago: > >> http://thread.gmane.org/gmane.linux.kernel/1868817 > >> > >> and I thought it was applied. > >> > >> He pointed that the original intent was to select > >> PL310_ERRATA_753970. Initially I was not sure if we needed it. In the > >> meantime I didn't get any answer from the hardware designers but this > >> errata affects the r3p0 version and according to the Cache ID register > >> the PL310 used on these two SoCs were the r3p3. > > > > It's probably something I need to look at when I'm in a more relaxed > > state, and when I have more time to deal with the dreaded email > > backlog... > > Do you see any mistake in my reasoning? No, it's just that I didn't have the time and mental capacity to provide the following kind of answer... There is no impact when enabling errata 753970 on a platform which doesn't need it, so I think we might as well default the errata to always being enabled, and remove the select statements everywhere. The workaround for this errata is merely to direct the sync register writes elsewhere in the register space - and that's only done when we detect a PL310 which needs the workaround applied. Disabling this option effectively removes this code: if (IS_ENABLED(CONFIG_PL310_ERRATA_753970) && revision == L310_CACHE_ID_RTL_R3P0) { sync_reg_offset = L2X0_DUMMY_REG; errata[n++] = "753970"; } The reason you'd want to disable it is if you had a PL310 r3p0 in your SoC which you had applied a hardware fix to. So, I'd suggest this patch instead: arch/arm/mach-mvebu/Kconfig | 2 -- arch/arm/mach-sti/Kconfig | 1 - arch/arm/mach-ux500/Kconfig | 1 - arch/arm/mach-vexpress/Kconfig | 1 - arch/arm/mm/Kconfig | 1 + 5 files changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/mach-mvebu/Kconfig b/arch/arm/mach-mvebu/Kconfig index c1e4567a5ab3..e8e5fa25121c 100644 --- a/arch/arm/mach-mvebu/Kconfig +++ b/arch/arm/mach-mvebu/Kconfig @@ -37,7 +37,6 @@ config MACH_ARMADA_370 config MACH_ARMADA_375 bool "Marvell Armada 375 boards" if ARCH_MULTI_V7 select ARM_ERRATA_720789 - select ARM_ERRATA_753970 select ARM_GIC select ARMADA_375_CLK select HAVE_ARM_SCU @@ -52,7 +51,6 @@ config MACH_ARMADA_375 config MACH_ARMADA_38X bool "Marvell Armada 380/385 boards" if ARCH_MULTI_V7 select ARM_ERRATA_720789 - select ARM_ERRATA_753970 select ARM_GIC select ARMADA_38X_CLK select HAVE_ARM_SCU diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig index 3b1ac463a494..a36a1f145cf4 100644 --- a/arch/arm/mach-sti/Kconfig +++ b/arch/arm/mach-sti/Kconfig @@ -11,7 +11,6 @@ menuconfig ARCH_STI select ARM_ERRATA_754322 select ARM_ERRATA_764369 if SMP select ARM_ERRATA_775420 - select PL310_ERRATA_753970 if CACHE_L2X0 select PL310_ERRATA_769419 if CACHE_L2X0 select RESET_CONTROLLER help diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig index c9ac19b24e5a..59d3f80e602e 100644 --- a/arch/arm/mach-ux500/Kconfig +++ b/arch/arm/mach-ux500/Kconfig @@ -15,7 +15,6 @@ menuconfig ARCH_U8500 select PINCTRL select PINCTRL_ABX500 select PINCTRL_NOMADIK - select PL310_ERRATA_753970 if CACHE_L2X0 help Support for ST-Ericsson's Ux500 architecture diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index 4be537977040..80d34b3f36e7 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig @@ -44,7 +44,6 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA default y select ARM_ERRATA_643719 if SMP select ARM_ERRATA_720789 - select PL310_ERRATA_753970 if CACHE_L2X0 help Provides common dependencies for Versatile Express platforms based on Cortex-A5 and Cortex-A9 processors. In order to diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index b4f92b9a13ac..2a9d30db169a 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig @@ -931,6 +931,7 @@ config PL310_ERRATA_727915 config PL310_ERRATA_753970 bool "PL310 errata: cache sync operation may be faulty" + default y help This option enables the workaround for the 753970 PL310 (r3p0) erratum. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/