• Heiner Kallweit's avatar
    mmc: meson-gx: add support for descriptor chain mode · 79ed05e3
    Heiner Kallweit authored
    So far a bounce buffer is used to serialize the scatterlist(s).
    This overhead can be avoided by switching to descriptor chain mode.
    As result the performance is drastically improved. On a Odroid-C2 with
    a 128 GB eMMC module raw reads reach 140 MB/s.
    
    Prerequisite for descriptor chain mode is that all scatterlist buffers
    are 8 byte aligned for 64-bit DMA. That's not always the case, at least
    the brcmfmac SDIO WiFi driver is known to cause problems.
    
    Therefore, for each request, check upfront whether all scatterlist
    buffers are 8 byte aligned and fall back to bounce buffer mode if
    that's not the case.
    Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    79ed05e3
meson-gx-mmc.c 27.3 KB