linux-amlogic.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] mmc: meson-gx: add ddr-access-quirk support
@ 2019-05-13  9:15 Neil Armstrong
  2019-05-13  9:15 ` [PATCH 1/3] dt-bindings: mmc: meson-gx: add ddr-access-quirk property Neil Armstrong
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Neil Armstrong @ 2019-05-13  9:15 UTC (permalink / raw)
  To: ulf.hansson, khilman
  Cc: Neil Armstrong, baylibre-upstreaming, linux-mmc, linux-kernel,
	linux-amlogic, linux-arm-kernel

On the Amlogic G12A SoC family, (only) the SDIO controller fails to access
the data from DDR, leading to a broken controller.

Add the amlogic,ddr-access-quirk property so signal this particular
controller has this bug and needs a quirk to work properly.

But each MMC controller has 1,5KiB of SRAM after the registers, that can
be used as bounce buffer to avoid direct DDR access from the integrated
DMAs (this SRAM may be used by the boot ROM when DDR is not yet initialized).

The quirk is to disable the chained descriptor for this controller, and
use this SRAM memory zone as buffer for the bounce buffer fallback mode.

The performance hit hasn't been evaluated, but the fix has been tested
using a WiFi AP6398S SDIO module, and the iperf3 Bandwidth measurement gave
55.2 Mbits/sec over a 63 Hours long test, with the SDIO ios set as High-Speed
at 50MHz clock. It gave around 170 Mbits/sec as SDR104 and 200MHz clock.

Neil Armstrong (3):
  dt-bindings: mmc: meson-gx: add ddr-access-quirk property
  mmc: meson-gx: add ddr-access-quirk
  arm64: dts: meson-g12a: add ddr-access-quirk property to SDIO
    controller

 .../bindings/mmc/amlogic,meson-gx.txt         |  4 ++
 arch/arm64/boot/dts/amlogic/meson-g12a.dtsi   |  1 +
 drivers/mmc/host/meson-gx-mmc.c               | 65 +++++++++++++++----
 3 files changed, 57 insertions(+), 13 deletions(-)

-- 
2.21.0


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2019-05-16  9:10 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-13  9:15 [PATCH 0/3] mmc: meson-gx: add ddr-access-quirk support Neil Armstrong
2019-05-13  9:15 ` [PATCH 1/3] dt-bindings: mmc: meson-gx: add ddr-access-quirk property Neil Armstrong
2019-05-14 17:50   ` Martin Blumenstingl
2019-05-15 12:43     ` Neil Armstrong
2019-05-15 11:37   ` Ulf Hansson
2019-05-15 12:43     ` Neil Armstrong
2019-05-13  9:15 ` [PATCH 2/3] mmc: meson-gx: add ddr-access-quirk Neil Armstrong
2019-05-13 17:47   ` Kevin Hilman
2019-05-14 17:58   ` Martin Blumenstingl
2019-05-15 12:45     ` Neil Armstrong
2019-05-15 21:18       ` Martin Blumenstingl
2019-05-16  9:09         ` Neil Armstrong
2019-05-15 11:34   ` Ulf Hansson
2019-05-15 12:51     ` Neil Armstrong
2019-05-13  9:15 ` [PATCH 3/3] arm64: dts: meson-g12a: add ddr-access-quirk property to SDIO controller Neil Armstrong
2019-05-14 17:51   ` Martin Blumenstingl
2019-05-13  9:58 ` [PATCH 0/3] mmc: meson-gx: add ddr-access-quirk support Jerome Brunet
2019-05-13 11:28   ` Jerome Brunet
2019-05-14  9:14 ` [baylibre-upstreaming] " guillaume La Roque

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).