[PATCH v3 00/11] mmc: sdhci: code clean-up and fix cache coherency problem
Masahiro Yamada
yamada.masahiro at socionext.com
Fri Feb 14 08:40:16 CET 2020
My main motivation of this series is the last patch
"mmc: sdhci: fix missing cache invalidation after reading by DMA".
Currently, read data are occasionally corrupted due to the
missing cache invalidation.
To fix it nicely (adds dma_unmap_single(), which follows the
Linux coding style), I did some cleaups first.
Patch 01-04 tidies up the DMA helpers.
Patch 05-10 are code clean-ups.
Patch 11 fixes the bug.
Masahiro Yamada (11):
dma-mapping: fix the prototype of dma_map_single()
dma-mapping: fix the prototype of dma_unmap_single()
dma-mapping: move dma_map_(un)single() to <linux/dma-mapping.h>
dma-mapping: add <asm/dma-mapping.h> for all architectures
mmc: sdhci: put the aligned buffer pointer to struct sdhci_host
mmc: sdhci: reduce code duplication for aligned buffer
mmc: sdhci: use lower_32_bit2() and upper_32_bits() for setting
adma_addr
mmc: sdhci: remove unneeded casts
mmc: add mmc_get_dma_dir() helper
mmc: sdhci: use dma_map_single() instead of flush_cache() before DMA
mmc: sdhci: fix missing cache invalidation after reading by DMA
arch/arc/include/asm/dma-mapping.h | 1 +
arch/arm/include/asm/dma-mapping.h | 29 +------
arch/m68k/include/asm/dma-mapping.h | 1 +
arch/microblaze/include/asm/dma-mapping.h | 1 +
arch/mips/include/asm/dma-mapping.h | 1 +
arch/nds32/include/asm/dma-mapping.h | 27 +------
arch/nios2/include/asm/dma-mapping.h | 25 +-----
arch/powerpc/include/asm/dma-mapping.h | 1 +
arch/riscv/include/asm/dma-mapping.h | 29 +------
arch/sandbox/include/asm/dma-mapping.h | 1 +
arch/sh/include/asm/dma-mapping.h | 1 +
arch/x86/include/asm/dma-mapping.h | 29 +------
arch/xtensa/include/asm/dma-mapping.h | 1 +
drivers/dma/ti/k3-udma.c | 2 +-
drivers/mmc/sdhci.c | 96 +++++++++++------------
drivers/mmc/tmio-common.c | 5 +-
drivers/mtd/nand/raw/denali.c | 5 +-
drivers/net/altera_tse.c | 2 +-
drivers/net/ftmac110.c | 2 +-
drivers/net/macb.c | 4 +-
drivers/soc/ti/k3-navss-ringacc.c | 2 +-
drivers/ufs/ufs.c | 2 +-
drivers/usb/cdns3/gadget.c | 2 +-
drivers/usb/dwc3/core.c | 8 +-
drivers/usb/dwc3/gadget.c | 2 +-
drivers/usb/gadget/udc/udc-core.c | 4 +-
include/linux/dma-mapping.h | 63 +++++++++++++++
include/mmc.h | 6 ++
include/sdhci.h | 3 +
29 files changed, 150 insertions(+), 205 deletions(-)
create mode 100644 arch/arc/include/asm/dma-mapping.h
create mode 100644 arch/m68k/include/asm/dma-mapping.h
create mode 100644 arch/microblaze/include/asm/dma-mapping.h
create mode 100644 arch/mips/include/asm/dma-mapping.h
create mode 100644 arch/powerpc/include/asm/dma-mapping.h
create mode 100644 arch/sandbox/include/asm/dma-mapping.h
create mode 100644 arch/sh/include/asm/dma-mapping.h
create mode 100644 arch/xtensa/include/asm/dma-mapping.h
create mode 100644 include/linux/dma-mapping.h
--
2.17.1
More information about the U-Boot
mailing list