From 3f1705d7770d6ff42f369ff7856fb047c8b78e42 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 12 May 2016 17:54:14 +0200 Subject: bcm53xx: delete old kernel versions Signed-off-by: Felix Fietkau --- ...-support-for-the-arm-shared-override-prop.patch | 81 ---------------------- 1 file changed, 81 deletions(-) delete mode 100644 target/linux/bcm53xx/patches-4.1/077-ARM-l2c-Add-support-for-the-arm-shared-override-prop.patch (limited to 'target/linux/bcm53xx/patches-4.1/077-ARM-l2c-Add-support-for-the-arm-shared-override-prop.patch') diff --git a/target/linux/bcm53xx/patches-4.1/077-ARM-l2c-Add-support-for-the-arm-shared-override-prop.patch b/target/linux/bcm53xx/patches-4.1/077-ARM-l2c-Add-support-for-the-arm-shared-override-prop.patch deleted file mode 100644 index cac4c0c9c9..0000000000 --- a/target/linux/bcm53xx/patches-4.1/077-ARM-l2c-Add-support-for-the-arm-shared-override-prop.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 1bc7c02e7f37ddfa09cb0db330ee8cd4034d6410 Mon Sep 17 00:00:00 2001 -From: Geert Uytterhoeven -Date: Thu, 7 May 2015 11:27:11 +0200 -Subject: [PATCH 1/4] ARM: l2c: Add support for the "arm, shared-override" - property - -"CoreLink Level 2 Cache Controller L2C-310", p. 2-15, section 2.3.2 -Shareable attribute" states: - - "The default behavior of the cache controller with respect to the - shareable attribute is to transform Normal Memory Non-cacheable - transactions into: - - cacheable no allocate for reads - - write through no write allocate for writes." - -Depending on the system architecture, this may cause memory corruption -in the presence of bus mastering devices (e.g. OHCI). To avoid such -corruption, the default behavior can be disabled by setting the Shared -Override bit in the Auxiliary Control register. - -Currently the Shared Override bit can be set only using C code: - - by calling l2x0_init() directly, which is deprecated, - - by setting/clearing the bit in the machine_desc.l2c_aux_val/mask - fields, but using values differing from 0/~0 is also deprecated. - -Hence add support for an "arm,shared-override" device tree property for -the l2c device node. By specifying this property, affected systems can -indicate that non-cacheable transactions must not be transformed. -Then, it's up to the OS to decide. The current behavior is to set the -"shared attribute override enable" bit, as there may exist kernel linear -mappings and cacheable aliases for the DMA buffers, even if CMA is -enabled. - -See also commit 1a8e41cd672f894b ("ARM: 6395/1: VExpress: Set bit 22 in -the PL310 (cache controller) AuxCtlr register"): - - "Clearing bit 22 in the PL310 Auxiliary Control register (shared - attribute override enable) has the side effect of transforming - Normal Shared Non-cacheable reads into Cacheable no-allocate reads. - - Coherent DMA buffers in Linux always have a Cacheable alias via the - kernel linear mapping and the processor can speculatively load - cache lines into the PL310 controller. With bit 22 cleared, - Non-cacheable reads would unexpectedly hit such cache lines leading - to buffer corruption." - -Signed-off-by: Geert Uytterhoeven ---- - Documentation/devicetree/bindings/arm/l2cc.txt | 6 ++++++ - arch/arm/mm/cache-l2x0.c | 5 +++++ - 2 files changed, 11 insertions(+) - ---- a/Documentation/devicetree/bindings/arm/l2cc.txt -+++ b/Documentation/devicetree/bindings/arm/l2cc.txt -@@ -72,6 +72,12 @@ Optional properties: - - prefetch-instr : Instruction prefetch. Value: <0> (forcibly disable), - <1> (forcibly enable), property absent (retain settings set by - firmware) -+- arm,shared-override : The default behavior of the pl310 cache controller with -+ respect to the shareable attribute is to transform "normal memory -+ non-cacheable transactions" into "cacheable no allocate" (for reads) or -+ "write through no write allocate" (for writes). -+ On systems where this may cause DMA buffer corruption, this property must be -+ specified to indicate that such transforms are precluded. - - Example: - ---- a/arch/arm/mm/cache-l2x0.c -+++ b/arch/arm/mm/cache-l2x0.c -@@ -1171,6 +1171,11 @@ static void __init l2c310_of_parse(const - } - } - -+ if (of_property_read_bool(np, "arm,shared-override")) { -+ *aux_val |= L2C_AUX_CTRL_SHARED_OVERRIDE; -+ *aux_mask &= ~L2C_AUX_CTRL_SHARED_OVERRIDE; -+ } -+ - prefetch = l2x0_saved_regs.prefetch_ctrl; - - ret = of_property_read_u32(np, "arm,double-linefill", &val); -- cgit v1.2.3