#
83841fe1 |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: rename cache_wait_way()
cache_wait_way() is actually used to wait for a particular mask to report clear; it's not really got much to do with cache ways at all. Indeed, it gets used to wait
ARM: l2c: rename cache_wait_way()
cache_wait_way() is actually used to wait for a particular mask to report clear; it's not really got much to do with cache ways at all. Indeed, it gets used to wait for the C bit to clear on older caches. Rename this with a more generic function name which better reflects its purpose: l2c_wait_mask().
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
df5dd4c6 |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: provide generic helper for way-based operations
Provide a generic helper function for way based operations. These are always background operations, and thus have to be waited for before a
ARM: l2c: provide generic helper for way-based operations
Provide a generic helper function for way based operations. These are always background operations, and thus have to be waited for before a new operation is commenced. This helper extracts that requirement from several locations in the code.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
37abcdb9 |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: split out cache unlock code
Split the cache unlock code out of l2x0_unlock(). We want to be able to re-use this functionality later.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org
ARM: l2c: split out cache unlock code
Split the cache unlock code out of l2x0_unlock(). We want to be able to re-use this functionality later.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
2b2a87a1 |
| 16-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: provide generic function for calling set_debug method
Provide a generic function which always calls the set_debug method. This will be used later in the series as some work-arounds require
ARM: l2c: provide generic function for calling set_debug method
Provide a generic function which always calls the set_debug method. This will be used later in the series as some work-arounds require that the debug register be written.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
c02642bc |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: rename OF specific things, making l2x0_of_data available to all
Rename a few things to help distinguish their function(s): l2x0_of_data -> l2c_init_data setup -> of_parse add of_ prefix
ARM: l2c: rename OF specific things, making l2x0_of_data available to all
Rename a few things to help distinguish their function(s): l2x0_of_data -> l2c_init_data setup -> of_parse add of_ prefix to OF specific data
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
ce841303 |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: tidy up l2x0_of_data declarations
Remove NULL initialisers, make these all __initconst structures, and order their members in the same order as the structure declaration.
Signed-off-by: R
ARM: l2c: tidy up l2x0_of_data declarations
Remove NULL initialisers, make these all __initconst structures, and order their members in the same order as the structure declaration.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
a65bb925 |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: add helper for L2 cache controller DT IDs
Make it easier to declare L2 cache controller DT IDs by using a macro.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
#
265c271c |
| 15-Mar-2014 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: l2c: remove outer_inv_all() method
No one ever calls this function anywhere in the kernel, so let's completely remove it from the outer cache API and turn it into an internal-only thing.
Signe
ARM: l2c: remove outer_inv_all() method
No one ever calls this function anywhere in the kernel, so let's completely remove it from the outer cache API and turn it into an internal-only thing.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.14-rc6, v3.14-rc5, v3.14-rc4, v3.14-rc3, v3.14-rc2, v3.14-rc1, v3.13, v3.13-rc8, v3.13-rc7, v3.13-rc6, v3.13-rc5, v3.13-rc4 |
|
#
e68f31f4 |
| 13-Dec-2013 |
Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> |
ARM: 7922/1: l2x0: add Marvell Tauros3 support
This adds support for the Marvell Tauros3 cache controller which is compatible with pl310 cache controller but broadcasts L1 cache operations to L2 cac
ARM: 7922/1: l2x0: add Marvell Tauros3 support
This adds support for the Marvell Tauros3 cache controller which is compatible with pl310 cache controller but broadcasts L1 cache operations to L2 cache. While updating the binding documentation, clean up the list of possible compatibles. Also reorder driver compatibles to allow non-ARM derivated to be compatible to ARM cache controller compatibles.
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.13-rc3, v3.13-rc2, v3.13-rc1, v3.12, v3.12-rc7, v3.12-rc6, v3.12-rc5, v3.12-rc4, v3.12-rc3, v3.12-rc2, v3.12-rc1, v3.11, v3.11-rc7 |
|
#
505caa66 |
| 19-Aug-2013 |
Christian Daudt <csd@broadcom.com> |
ARM: 7821/1: DT: binding fixup to align with vendor-prefixes.txt
[ this is a follow-up to this discussion: http://archive.arm.linux.org.uk/lurker/message/20130730.230827.a1ceb12a.en.html ] This patc
ARM: 7821/1: DT: binding fixup to align with vendor-prefixes.txt
[ this is a follow-up to this discussion: http://archive.arm.linux.org.uk/lurker/message/20130730.230827.a1ceb12a.en.html ] This patchset renames all uses of "bcm," name bindings to "brcm," as they were done prior to knowing that brcm had already been standardized as Broadcom vendor prefix (in Documentation/devicetree/bindings/vendor-prefixes.txt). This will not cause any churn on devices because none of these bindings have made it into production yet.
Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Christian Daudt <csd@broadcom.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.11-rc6 |
|
#
c477b8db |
| 16-Aug-2013 |
Fabio Estevam <festevam@gmail.com> |
ARM: 7820/1: mm: cache-l2x0: Print the cache size in kB
Currently we have the following output from cache-l2x0:
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B
Using
ARM: 7820/1: mm: cache-l2x0: Print the cache size in kB
Currently we have the following output from cache-l2x0:
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1048576 B
Using kB for the cache size can improve readability a bit:
l2x0: 16 ways, CACHE_ID 0x410000c7, AUX_CTRL 0x32070000, Cache size: 1024 kB
While at it use pr_info.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.11-rc5, v3.11-rc4, v3.11-rc3, v3.11-rc2, v3.11-rc1, v3.10, v3.10-rc7, v3.10-rc6 |
|
#
9781aa8a |
| 12-Jun-2013 |
Will Deacon <will.deacon@arm.com> |
ARM: l2x0: use -st dsb option for ordering writel_relaxed with unlock
writel_relaxed and spin_unlock are both store operations, so we only need to enforce store ordering in the dsb.
Signed-off-by:
ARM: l2x0: use -st dsb option for ordering writel_relaxed with unlock
writel_relaxed and spin_unlock are both store operations, so we only need to enforce store ordering in the dsb.
Signed-off-by: Will Deacon <will.deacon@arm.com>
show more ...
|
Revision tags: v3.10-rc5, v3.10-rc4, v3.10-rc3, v3.10-rc2, v3.10-rc1 |
|
#
3b656fed |
| 09-May-2013 |
Christian Daudt <csd@broadcom.com> |
ARM: 7716/1: bcm281xx: Add L2 support for Rev A2 chips
Rev A2 SoCs have an unorthodox memory re-mapping and this needs to be reflected in the cache operations. This patch adds new outer cache functi
ARM: 7716/1: bcm281xx: Add L2 support for Rev A2 chips
Rev A2 SoCs have an unorthodox memory re-mapping and this needs to be reflected in the cache operations. This patch adds new outer cache functions for the l2x0 driver to support this SoC revision. It also adds a new compatible value for the cache to enable this functionality.
Updates from V1: - remove section 1 altogether and note that in comments - simplify section selection caused by section 1 removal - BUG_ON just in case section 1 shows up
Signed-off-by: Christian Daudt <csd@broadcom.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Acked-by: Olof Johansson <olof@lixom.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.9, v3.9-rc8, v3.9-rc7, v3.9-rc6, v3.9-rc5 |
|
#
6e7aceeb |
| 25-Mar-2013 |
Rob Herring <rob.herring@calxeda.com> |
ARM: 7682/1: cache-l2x0: fix masking of RTL revision numbering and set_debug init
Commit b8db6b8 (ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl) moved the masking of the part ID whic
ARM: 7682/1: cache-l2x0: fix masking of RTL revision numbering and set_debug init
Commit b8db6b8 (ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl) moved the masking of the part ID which caused the RTL version to be lost. Commit 6248d06 (ARM: 7545/1: cache-l2x0: make outer_cache_fns a field of l2x0_of_data) changed how .set_debug is initialized. Both commits break commit 74ddcdb (ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier) which uses the RTL version to conditionally set .set_debug function pointer. Commit b8db6b8 also caused the printed cache ID to be missing the version information.
Fix this by reverting how the part number is masked so the RTL version info is maintained. The cache-id-part DT property does not set the RTL bits so masking them should have no effect. Also, re-arrange the order of the function pointer init so the .set_debug function can be overridden.
Reported-by: Paolo Pisati <paolo.pisati@canonical.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com> Cc: Gregory CLEMENT <gregory.clement@free-electrons.com> Cc: Yehuda Yitschak <yehuday@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.9-rc4, v3.9-rc3, v3.9-rc2, v3.9-rc1, v3.8, v3.8-rc7, v3.8-rc6, v3.8-rc5, v3.8-rc4, v3.8-rc3 |
|
#
8a3a180d |
| 07-Jan-2013 |
Gregory CLEMENT <gregory.clement@free-electrons.com> |
ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel
The use of writel instead of writel_relaxed lead to deadlock in some situation (SMP on Armada 370 for instance). The use of writ
ARM: 7616/1: cache-l2x0: aurora: Use writel_relaxed instead of writel
The use of writel instead of writel_relaxed lead to deadlock in some situation (SMP on Armada 370 for instance). The use of writel_relaxed as it was done in the rest of this driver fixes this bug.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
8b827c60 |
| 07-Jan-2013 |
Gregory CLEMENT <gregory.clement@free-electrons.com> |
ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT enable
This patch fixes a bug for Aurora L2 cache controller when the write-through mode is enable. For the clean operation
ARM: 7615/1: cache-l2x0: aurora: Invalidate during clean operation with WT enable
This patch fixes a bug for Aurora L2 cache controller when the write-through mode is enable. For the clean operation even if we don't have to flush the lines we still need to invalidate them.
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Jason Cooper <jason@lakedaemon.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.8-rc2, v3.8-rc1 |
|
#
74ddcdb8 |
| 21-Dec-2012 |
Rob Herring <rob.herring@calxeda.com> |
ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier
PL310 errata work-arounds using .set_debug function are only needed on r3p0 and earlier, so check the rev and only set .set_debug on
ARM: 7608/1: l2x0: Only set .set_debug on PL310 r3p0 and earlier
PL310 errata work-arounds using .set_debug function are only needed on r3p0 and earlier, so check the rev and only set .set_debug on older revs.
Avoiding debug register accesses fixes aborts on non-secure platforms like highbank. It is assumed that non-secure platforms needing these work-arounds have already implemented .set_debug with secure monitor calls.
Signed-off-by: Rob Herring <rob.herring@calxeda.com> Acked-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.7, v3.7-rc8, v3.7-rc7, v3.7-rc6, v3.7-rc5 |
|
#
b8db6b88 |
| 05-Nov-2012 |
Gregory CLEMENT <gregory.clement@free-electrons.com> |
ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl
Aurora Cache Controller was designed to be compatible with the ARM L2 Cache Controller. It comes with some difference or improvement suc
ARM: 7547/4: cache-l2x0: add support for Aurora L2 cache ctrl
Aurora Cache Controller was designed to be compatible with the ARM L2 Cache Controller. It comes with some difference or improvement such as: - no cache id part number available through hardware (need to get it by the DT). - always write through mode available. - two flavors of the controller outer cache and system cache (meaning maintenance operations on L1 are broadcasted to the L2 and L2 performs the same operation). - in outer cache mode, the cache maintenance operations are improved and can be done on a range inside a page and are not limited to a cache line.
Tested-and-Reviewed-by: Lior Amsalem <alior@marvell.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Yehuda Yitschak <yehuday@marvell.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.7-rc4, v3.7-rc3, v3.7-rc2, v3.7-rc1 |
|
#
6248d060 |
| 01-Oct-2012 |
Gregory CLEMENT <gregory.clement@free-electrons.com> |
ARM: 7545/1: cache-l2x0: make outer_cache_fns a field of l2x0_of_data
Instead of having multiple functions belonging to outer_cache and filling this structure on the fly, use a outer_cache_fns field
ARM: 7545/1: cache-l2x0: make outer_cache_fns a field of l2x0_of_data
Instead of having multiple functions belonging to outer_cache and filling this structure on the fly, use a outer_cache_fns field inside l2x0_of_data and just memcopy it into outer_cache depending of the type of the l2x0 cache. For non DT case, the former code was kept.
[rmk: fixed a style issue]
Tested-and-Reviewed-by: Yehuda Yitschak <yehuday@marvell.com> Tested-and-Reviewed-by: Lior Amsalem <alior@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.6, v3.6-rc7, v3.6-rc6, v3.6-rc5 |
|
#
9d4876f0 |
| 03-Sep-2012 |
Yilu Mao <ylmao@marvell.com> |
ARM: 7507/1: cache-l2x0.c: save the final aux ctrl value for resuming
There is a bug if l2x0 controller has been enabled when calling l2x0_init, the aux ctrl register will not be saved in l2x0_saved
ARM: 7507/1: cache-l2x0.c: save the final aux ctrl value for resuming
There is a bug if l2x0 controller has been enabled when calling l2x0_init, the aux ctrl register will not be saved in l2x0_saved_regs. Therefore we will use uninitialized l2x0_saved_regs.aux_ctrl for resuming later.
In this patch, the aux ctrl value is read and saved after it is initialized. So we have the real value being set for resuming.
Link: http://lkml.kernel.org/r/1336046857-24133-1-git-send-email-ylmao@marvell.com
Signed-off-by: Yilu Mao <ylmao@marvell.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.6-rc4, v3.6-rc3, v3.6-rc2, v3.6-rc1, v3.5, v3.5-rc7, v3.5-rc6, v3.5-rc5, v3.5-rc4, v3.5-rc3, v3.5-rc2, v3.5-rc1 |
|
#
e5b5d020 |
| 21-May-2012 |
Uwe Kleine-König <u.kleine-koenig@pengutronix.de> |
ARM: cache-l2x0: add a const qualifier
This prepares *of_device_id.data becoming const. Without this change the following warning would occur:
arch/arm/mm/cache-l2x0.c: In function 'l2x0_of_init':
ARM: cache-l2x0: add a const qualifier
This prepares *of_device_id.data becoming const. Without this change the following warning would occur:
arch/arm/mm/cache-l2x0.c: In function 'l2x0_of_init': arch/arm/mm/cache-l2x0.c:573:7: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
though.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
show more ...
|
Revision tags: v3.4, v3.4-rc7, v3.4-rc6, v3.4-rc5, v3.4-rc4 |
|
#
ab4d5368 |
| 20-Apr-2012 |
Will Deacon <will.deacon@arm.com> |
ARM: 7398/1: l2x0: only write to debug registers on PL310
PL310 errata #588369 and #727915 require writes to the debug registers of the cache controller to work around known problems. Writing these
ARM: 7398/1: l2x0: only write to debug registers on PL310
PL310 errata #588369 and #727915 require writes to the debug registers of the cache controller to work around known problems. Writing these registers on L220 may cause deadlock, so ensure that we only perform this operation when we identify a PL310 at probe time.
Cc: stable@vger.kernel.org Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
f154fe9b |
| 20-Apr-2012 |
Will Deacon <will.deacon@arm.com> |
ARM: 7397/1: l2x0: only apply workaround for erratum #753970 on PL310
The workaround for PL310 erratum #753970 can lead to deadlock on systems with an L220 cache controller.
This patch makes the wo
ARM: 7397/1: l2x0: only apply workaround for erratum #753970 on PL310
The workaround for PL310 erratum #753970 can lead to deadlock on systems with an L220 cache controller.
This patch makes the workaround effective only when the cache controller is identified as a PL310 at probe time.
Cc: stable@vger.kernel.org Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
Revision tags: v3.4-rc3, v3.4-rc2, v3.4-rc1, v3.3, v3.3-rc7, v3.3-rc6, v3.3-rc5, v3.3-rc4, v3.3-rc3, v3.3-rc2, v3.3-rc1, v3.2, v3.2-rc7, v3.2-rc6, v3.2-rc5, v3.2-rc4, v3.2-rc3, v3.2-rc2, v3.2-rc1, v3.1, v3.1-rc10, v3.1-rc9, v3.1-rc8, v3.1-rc7 |
|
#
3e175ca4 |
| 18-Sep-2011 |
Russell King <rmk+kernel@arm.linux.org.uk> |
ARM: cache-l2x0.c: consistently use u32
__u32 exists to avoid namespace clashes with userspace programs. It should not be used outside header files, so convert to use u32 instead. Also, don't mix u
ARM: cache-l2x0.c: consistently use u32
__u32 exists to avoid namespace clashes with userspace programs. It should not be used outside header files, so convert to use u32 instead. Also, don't mix uint32_t and __u32 - use the same type throughout the file for consistency.
Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|
#
fa0ce403 |
| 14-Nov-2011 |
Will Deacon <will.deacon@arm.com> |
ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
The Kconfig options for the PL310 errata workarounds do not use a consistent naming scheme for either the config option or t
ARM: 7162/1: errata: tidy up Kconfig options for PL310 errata workarounds
The Kconfig options for the PL310 errata workarounds do not use a consistent naming scheme for either the config option or the bool description.
This patch tidies up the options by ensuring that the bool descriptions are prefixed with "PL310 errata:" and the config options are prefixed with PL310_ERRATA_, making it much clearer in menuconfig as to what the workarounds are for.
Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
show more ...
|