[PATCH 0/2] Configuring DMA threshold value for DW-MMC controllers

From: Kaustabh Chakraborty

Date: Sat Apr 11 2026 - 15:43:38 EST


In Samsung Exynos 7870 devices with Broadcom Wi-Fi, it has been observed
that small sized DMA transfers are unreliable and are not written
properly, which renders the cache incoherent.

Experimental observations say that DMA transfer sizes of somewhere
around 64 to 512 are intolerable. We must thus implement a mechanism to
fall back to PIO transfer in this case. One such approach, which this
series implements is allowing the DMA transfer threshold, which is
already defined in the driver, to be configurable.

Note that this patch is likely to be labelled as a workaround. These
smaller transfers seem to be successful from downstream kernels,
however efforts to figure out how so went in vain. It is also very
possible that the downstream Broadcom Wi-Fi SDIO driver uses PIO
transfers as well.

Signed-off-by: Kaustabh Chakraborty <kauschluss@xxxxxxxxxxx>
---
Kaustabh Chakraborty (2):
dt-bindings: mmc: dw-mshc-common: add option for configuring DMA threshold
mmc: dw_mmc: implement option for configuring DMA threshold

.../devicetree/bindings/mmc/synopsys-dw-mshc-common.yaml | 8 ++++++++
drivers/mmc/host/dw_mmc.c | 6 ++++--
drivers/mmc/host/dw_mmc.h | 1 +
3 files changed, 13 insertions(+), 2 deletions(-)
---
base-commit: 66672af7a095d89f082c5327f3b15bc2f93d558e
change-id: 20260412-dwmmc-dma-thr-1090d8285ea7

Best regards,
--
Kaustabh Chakraborty <kauschluss@xxxxxxxxxxx>