提交 a641f3a6 编写于 作者: R Russell King

ARM: l2c: fix dependencies on PL310 errata symbols

A number of configurations spit out warnings similar to:

warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_588369 which has unmet direct dependencies (CACHE_L2X0)
warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_727915 which has unmet direct dependencies (CACHE_L2X0)

Clean up the dependencies here:
* PL310 symbols should only be selected when CACHE_L2X0 is enabled.
* Since the cache-l2x0 code detects PL310 presence at runtime, and we will
  eventually get rid of CACHE_PL310, surround these errata options with an
  if CACHE_L2X0 conditional rather than repeating the dependency against
  each.
Acked-by: NArnd Bergmann <arnd@arndb.de>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 870cbe8c
...@@ -738,9 +738,9 @@ config SOC_IMX6 ...@@ -738,9 +738,9 @@ config SOC_IMX6
select HAVE_IMX_MMDC select HAVE_IMX_MMDC
select HAVE_IMX_SRC select HAVE_IMX_SRC
select MFD_SYSCON select MFD_SYSCON
select PL310_ERRATA_588369 if CACHE_PL310 select PL310_ERRATA_588369 if CACHE_L2X0
select PL310_ERRATA_727915 if CACHE_PL310 select PL310_ERRATA_727915 if CACHE_L2X0
select PL310_ERRATA_769419 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_L2X0
config SOC_IMX6Q config SOC_IMX6Q
bool "i.MX6 Quad/DualLite support" bool "i.MX6 Quad/DualLite support"
...@@ -775,9 +775,9 @@ config SOC_VF610 ...@@ -775,9 +775,9 @@ config SOC_VF610
select ARM_GIC select ARM_GIC
select PINCTRL_VF610 select PINCTRL_VF610
select VF_PIT_TIMER select VF_PIT_TIMER
select PL310_ERRATA_588369 if CACHE_PL310 select PL310_ERRATA_588369 if CACHE_L2X0
select PL310_ERRATA_727915 if CACHE_PL310 select PL310_ERRATA_727915 if CACHE_L2X0
select PL310_ERRATA_769419 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_L2X0
help help
This enable support for Freescale Vybrid VF610 processor. This enable support for Freescale Vybrid VF610 processor.
......
...@@ -32,8 +32,8 @@ config ARCH_OMAP4 ...@@ -32,8 +32,8 @@ config ARCH_OMAP4
select HAVE_ARM_SCU if SMP select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if SMP select HAVE_ARM_TWD if SMP
select OMAP_INTERCONNECT select OMAP_INTERCONNECT
select PL310_ERRATA_588369 select PL310_ERRATA_588369 if CACHE_L2X0
select PL310_ERRATA_727915 select PL310_ERRATA_727915 if CACHE_L2X0
select PM_OPP if PM select PM_OPP if PM
select PM_RUNTIME if CPU_IDLE select PM_RUNTIME if CPU_IDLE
select ARM_ERRATA_754322 select ARM_ERRATA_754322
......
...@@ -11,8 +11,8 @@ menuconfig ARCH_STI ...@@ -11,8 +11,8 @@ menuconfig ARCH_STI
select ARM_ERRATA_754322 select ARM_ERRATA_754322
select ARM_ERRATA_764369 if SMP select ARM_ERRATA_764369 if SMP
select ARM_ERRATA_775420 select ARM_ERRATA_775420
select PL310_ERRATA_753970 if CACHE_PL310 select PL310_ERRATA_753970 if CACHE_L2X0
select PL310_ERRATA_769419 if CACHE_PL310 select PL310_ERRATA_769419 if CACHE_L2X0
help help
Include support for STiH41x SOCs like STiH415/416 using the device tree Include support for STiH41x SOCs like STiH415/416 using the device tree
for discovery for discovery
......
...@@ -16,7 +16,7 @@ config ARCH_U8500 ...@@ -16,7 +16,7 @@ config ARCH_U8500
select PINCTRL select PINCTRL
select PINCTRL_ABX500 select PINCTRL_ABX500
select PINCTRL_NOMADIK select PINCTRL_NOMADIK
select PL310_ERRATA_753970 if CACHE_PL310 select PL310_ERRATA_753970 if CACHE_L2X0
help help
Support for ST-Ericsson's Ux500 architecture Support for ST-Ericsson's Ux500 architecture
......
...@@ -44,7 +44,7 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA ...@@ -44,7 +44,7 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA
bool "Enable A5 and A9 only errata work-arounds" bool "Enable A5 and A9 only errata work-arounds"
default y default y
select ARM_ERRATA_720789 select ARM_ERRATA_720789
select PL310_ERRATA_753970 if CACHE_PL310 select PL310_ERRATA_753970 if CACHE_L2X0
help help
Provides common dependencies for Versatile Express platforms Provides common dependencies for Versatile Express platforms
based on Cortex-A5 and Cortex-A9 processors. In order to based on Cortex-A5 and Cortex-A9 processors. In order to
......
...@@ -889,9 +889,10 @@ config CACHE_L2X0 ...@@ -889,9 +889,10 @@ config CACHE_L2X0
help help
This option enables the L2x0 PrimeCell. This option enables the L2x0 PrimeCell.
if CACHE_L2X0
config CACHE_PL310 config CACHE_PL310
bool bool
depends on CACHE_L2X0
default y if CPU_V7 && !(CPU_V6 || CPU_V6K) default y if CPU_V7 && !(CPU_V6 || CPU_V6K)
help help
This option enables optimisations for the PL310 cache This option enables optimisations for the PL310 cache
...@@ -899,7 +900,6 @@ config CACHE_PL310 ...@@ -899,7 +900,6 @@ config CACHE_PL310
config PL310_ERRATA_588369 config PL310_ERRATA_588369
bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines"
depends on CACHE_L2X0
help help
The PL310 L2 cache controller implements three types of Clean & The PL310 L2 cache controller implements three types of Clean &
Invalidate maintenance operations: by Physical Address Invalidate maintenance operations: by Physical Address
...@@ -912,7 +912,6 @@ config PL310_ERRATA_588369 ...@@ -912,7 +912,6 @@ config PL310_ERRATA_588369
config PL310_ERRATA_727915 config PL310_ERRATA_727915
bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption"
depends on CACHE_L2X0
help help
PL310 implements the Clean & Invalidate by Way L2 cache maintenance PL310 implements the Clean & Invalidate by Way L2 cache maintenance
operation (offset 0x7FC). This operation runs in background so that operation (offset 0x7FC). This operation runs in background so that
...@@ -923,7 +922,6 @@ config PL310_ERRATA_727915 ...@@ -923,7 +922,6 @@ config PL310_ERRATA_727915
config PL310_ERRATA_753970 config PL310_ERRATA_753970
bool "PL310 errata: cache sync operation may be faulty" bool "PL310 errata: cache sync operation may be faulty"
depends on CACHE_PL310
help help
This option enables the workaround for the 753970 PL310 (r3p0) erratum. This option enables the workaround for the 753970 PL310 (r3p0) erratum.
...@@ -938,7 +936,6 @@ config PL310_ERRATA_753970 ...@@ -938,7 +936,6 @@ config PL310_ERRATA_753970
config PL310_ERRATA_769419 config PL310_ERRATA_769419
bool "PL310 errata: no automatic Store Buffer drain" bool "PL310 errata: no automatic Store Buffer drain"
depends on CACHE_L2X0
help help
On revisions of the PL310 prior to r3p2, the Store Buffer does On revisions of the PL310 prior to r3p2, the Store Buffer does
not automatically drain. This can cause normal, non-cacheable not automatically drain. This can cause normal, non-cacheable
...@@ -948,6 +945,8 @@ config PL310_ERRATA_769419 ...@@ -948,6 +945,8 @@ config PL310_ERRATA_769419
on systems with an outer cache, the store buffer is drained on systems with an outer cache, the store buffer is drained
explicitly. explicitly.
endif
config CACHE_TAUROS2 config CACHE_TAUROS2
bool "Enable the Tauros2 L2 cache controller" bool "Enable the Tauros2 L2 cache controller"
depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册