On Mon, Jan 22, 2024 at 10:26:30AM +0100, Arnd Bergmann wrote: > > A better indicator might be the use of page_address in the I/O path, > > which usually comes in the form of using the sg_virt() helper. > > For drivers/mmc/ that seems to be: davinci_mmc, moxart-mmc, mvsdio, > > mxcmmc, omap, sdhci-esdhc-mcf and sh_mmcif. > > Out of these, I think only the mvsdio one is actually use > on boards with highmem: davinci, moxart, mcx (imx3) and omap2 > are old enough to never have had more than 256MB or so of RAM, > and mcf (m68k) and sh can't even be built with CONFIG_HIGHMEM. It would be good to fix the one or two that could use highmem and add a depends on !HIGHMEM for the others and then kill the bounce setup in mmc. It turn out in addition to the one legacy ISA SCSI driver and the two parport SCSI driver usb-storage actually also sets this flag, which might be a road blocker, but at this point I'm getting ready to just pull the plug if it doesn't break using embedded platforms using mmc entirely.