[PATCH] mmc: sdhci: add support for pre_req and post_req
andreiw at motorola.com
Sat Apr 16 23:06:00 UTC 2011
On Sat, Apr 16, 2011 at 11:48 AM, Shawn Guo <shawn.guo at linaro.org> wrote:
> pre_req() runs dma_map_sg() post_req() runs dma_unmap_sg.
> If not calling pre_req() before sdhci_request(), request()
> will prepare the cache just like it did it before.
> It is optional to use pre_req() and post_req().
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> I worked out the patch by referring to Per's patch below.
> omap_hsmmc: add support for pre_req and post_req
> It adds pre_req and post_req support for sdhci based host drivers to
> work with Per's non-blocking optimization. But I only have imx esdhc
> based hardware to test. Unfortunately, I can not measure the
> performance gain using mmc_test, because the current esdhc driver on
> mainline fails on the test. So I just did a quick test using 'dd',
> but sadly, I did not see noticeable performance gain here. The
> followings are possible reasons I can think of right away.
> * The patch did not add pre_req and post_req correctly. Please help
> review to catch the mistakes if any.
> * The imx esdhc driver uses SDHCI_SDMA (max_segs is 1) than SDHCI_ADAM
> (max_segs is 128), due to the broken ADMA support on imx esdhc. So
> can people holding other sdhci based hardware give a try on the
> Hopefully, I can find some time to have a close look at the mmc_test
> failure and the broken ADMA with imx esdhc.
I'll try it out...
More information about the linaro-kernel