]> git.dujemihanovic.xyz Git - u-boot.git/commit
mmc: Support 32-bit only ADMA on 64-bit platforms
authorGreg Malysa <greg.malysa@timesys.com>
Tue, 26 Mar 2024 02:28:08 +0000 (22:28 -0400)
committerJaehoon Chung <jh80.chung@samsung.com>
Fri, 26 Apr 2024 06:31:11 +0000 (15:31 +0900)
commit5359cd1135d069a3033bda65d3e72a3c4a76160d
tree750c7da4bfb8a9e56e536208bcdd4edd69a4dcae
parent5f0714496869b95e57a8b72192089e7df18c94cf
mmc: Support 32-bit only ADMA on 64-bit platforms

Some arm64 platforms may include SDIO host controllers that
only support 32-bit ADMA. While the Linux kernel detects which
size is supported and adjusts the descriptor size used dynamically,
the previous u-boot implementation statically selected between the
two depending on whether DMA_ADDR_T_64BIT was defined. Because the
static selection is already in place and effective for most platforms,
this patch logically separates "64 bit addresses are used for DMA on
this platform" and "64 bit addresses are used by the SDIO host
controller for ADMA" in order to support the small number of platforms
where these statements are not equivalent.

Using 32 bits is opt-in and existing 64 bit platforms should be
unaffected by this change.

Co-developed-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Signed-off-by: Nathan Barrett-Morrison <nathan.morrison@timesys.com>
Co-developed-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Ian Roberts <ian.roberts@timesys.com>
Signed-off-by: Greg Malysa <greg.malysa@timesys.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/Kconfig
drivers/mmc/sdhci-adma.c
drivers/mmc/sdhci.c
include/sdhci.h