[PATCH] ARM: mvebu: use DT properties to fine-tune the L2 configuration

Gregory CLEMENT gregory.clement at free-electrons.com
Wed Jun 17 07:28:22 PDT 2015


Hi Thomas,

On 11/06/2015 13:51, Thomas Petazzoni wrote:
> In order to optimize the L2 cache performance, this commit adjusts the
> configuration of the L2 on the Cortex-A9 based Marvell EBU processors
> (Armada 375, 38x and 39x), using the appropriate DT properties.
> 
> We enable double linefill, incr double linefill, data prefetch and
> disable double linefill on wrap. This matches the configuration that
> was fine tuned in the Marvell BSP.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>

Acked-by: Gregory CLEMENT <gregory.clement at free-electrons.com>


applied on mvebu/dt-4.3

Thanks,

Gregory

> ---
> Enabling the data prefetching depends on a patch from "Hauke Mehrtens
> <hauke at hauke-m.de>", [PATCH v4] ARM: l2c: add options to overwrite
> prefetching behavior, which has been applied by Russell (see
> http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=8391/1)
> but does not appear yet in his for-next branch.
> ---
>  arch/arm/boot/dts/armada-375.dtsi | 4 ++++
>  arch/arm/boot/dts/armada-38x.dtsi | 4 ++++
>  arch/arm/boot/dts/armada-39x.dtsi | 4 ++++
>  3 files changed, 12 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
> index f076ff8..4d4964b 100644
> --- a/arch/arm/boot/dts/armada-375.dtsi
> +++ b/arch/arm/boot/dts/armada-375.dtsi
> @@ -176,6 +176,10 @@
>  				reg = <0x8000 0x1000>;
>  				cache-unified;
>  				cache-level = <2>;
> +				arm,double-linefill-incr = <1>;
> +				arm,double-linefill-wrap = <0>;
> +				arm,double-linefill = <1>;
> +				prefetch-data = <1>;
>  			};
>  
>  			scu at c000 {
> diff --git a/arch/arm/boot/dts/armada-38x.dtsi b/arch/arm/boot/dts/armada-38x.dtsi
> index 218a2ac..a86d1dc 100644
> --- a/arch/arm/boot/dts/armada-38x.dtsi
> +++ b/arch/arm/boot/dts/armada-38x.dtsi
> @@ -143,6 +143,10 @@
>  				reg = <0x8000 0x1000>;
>  				cache-unified;
>  				cache-level = <2>;
> +				arm,double-linefill-incr = <1>;
> +				arm,double-linefill-wrap = <0>;
> +				arm,double-linefill = <1>;
> +				prefetch-data = <1>;
>  			};
>  
>  			scu at c000 {
> diff --git a/arch/arm/boot/dts/armada-39x.dtsi b/arch/arm/boot/dts/armada-39x.dtsi
> index ecd1318..06d9cc5 100644
> --- a/arch/arm/boot/dts/armada-39x.dtsi
> +++ b/arch/arm/boot/dts/armada-39x.dtsi
> @@ -104,6 +104,10 @@
>  				reg = <0x8000 0x1000>;
>  				cache-unified;
>  				cache-level = <2>;
> +				arm,double-linefill-incr = <1>;
> +				arm,double-linefill-wrap = <0>;
> +				arm,double-linefill = <1>;
> +				prefetch-data = <1>;
>  			};
>  
>  			scu at c000 {
> 


-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the linux-arm-kernel mailing list