• Tudor Ambarus's avatar
    spi: atmel-quadspi: Use optimezed memcpy_fromio()/memcpy_toio() · b780c3f3
    Tudor Ambarus authored
    Optimezed mem*io operations are defined for LE platforms, use them.
    
    The ARM and !ARCH_EBSA110 dependencies for COMPILE_TEST were added
    only for the _memcpy_fromio()/_memcpy_toio() functions. Drop these
    dependencies.
    
    Tested unaligned accesses on both sama5d2 and sam9x60 QSPI controllers
    using SPI NOR flashes, everything works ok. The following performance
    improvement can be seen when running mtd_speedtest:
    
    sama5d2_xplained (mx25l25635e)
    - before:
    	mtd_speedtest: eraseblock write speed is 983 KiB/s
    	mtd_speedtest: eraseblock read speed is 6150 KiB/s
    - after:
    	mtd_speedtest: eraseblock write speed is 1055 KiB/s
    	mtd_speedtest: eraseblock read speed is 20144 KiB/s
    
    sam9x60ek (sst26vf064b)
    - before:
    	mtd_speedtest: eraseblock write speed is 4770 KiB/s
    	mtd_speedtest: eraseblock read speed is 8062 KiB/s
    - after:
    	mtd_speedtest: eraseblock write speed is 4524 KiB/s
    	mtd_speedtest: eraseblock read speed is 21186 KiB/s
    Signed-off-by: default avatarTudor Ambarus <tudor.ambarus@microchip.com>
    Link: https://lore.kernel.org/r/20200716043139.565734-1-tudor.ambarus@microchip.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
    b780c3f3
atmel-quadspi.c 19.6 KB