ARM: dts: dra7xx: Enable NAND dma prefetch by default
authorFranklin S Cooper Jr <fcooper@ti.com>
Wed, 26 Jul 2017 02:15:52 +0000 (21:15 -0500)
committerTony Lindgren <tony@atomide.com>
Mon, 14 Aug 2017 18:34:24 +0000 (11:34 -0700)
Currently the default method of prefetch polled shows the highest
possible read and write speed when minimal non NAND background
activity is being done. But it is also very CPU intensive to reach
these high speeds (CPU load of 99% via mtd performance tests). While
DMA prefetch only uses 50% of the CPU to achieve around 23% less in
top read and write performance.

However, as the non NAND CPU load increases the read and write
performance takes a large hit when using polled prefetch. Therefore,
prefetch dma mode ends up outperforming prefetch polled in general
"system level" test. So switch to using dma prefetch by default since
it is likely what most users would prefer.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/dts/dra7-evm.dts
arch/arm/boot/dts/dra72-evm-common.dtsi

index 343872acdd291f9b34b5af6158c4d2e9d9663914..ee04d8d7abab28facee3df7a686d8a79013b49c4 100644 (file)
                interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
                             <1 IRQ_TYPE_NONE>; /* termcount */
                rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
+               ti,nand-xfer-type = "prefetch-dma";
                ti,nand-ecc-opt = "bch8";
                ti,elm-id = <&elm>;
                nand-bus-width = <16>;
index 4ef2d67b3914fff02c074454680ecbea99c595a5..05d5408394340f63f08acac63ed6fde0a67958c8 100644 (file)
                interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
                             <1 IRQ_TYPE_NONE>; /* termcount */
                rb-gpios = <&gpmc 0 GPIO_ACTIVE_HIGH>; /* gpmc_wait0 pin */
+               ti,nand-xfer-type = "prefetch-dma";
                ti,nand-ecc-opt = "bch8";
                ti,elm-id = <&elm>;
                nand-bus-width = <16>;