On Wed, Apr 20, 2011 at 10:01:22AM +0200, Per Forlin wrote:
On 17 April 2011 18:48, Shawn Guo shawn.guo@freescale.com wrote:
On Mon, Apr 18, 2011 at 12:33:30AM +0800, Shawn Guo wrote:
pre_req() runs dma_map_sg() post_req() runs dma_unmap_sg. If not calling pre_req() before mxs_mmc_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@linaro.org
drivers/mmc/host/mxs-mmc.c | 75 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 3 deletions(-)
Here is the result of mmc_test case 37 ~ 40, which are designed to see the performance improvement introduced by non-blocking changes.
Honestly, the improvement is not so impressive. Not sure if the patch for mxs-mmc pre_req and post_req support was correctly produced. So please help review ...
My guess is that dma_unmap is not run in parallel with transfer. Please look at my patch reply.
Got it fixed in v2 posted just now. Please take another look. Unfortunately, I do not see noticeable difference than v1 in terms of mmc_test result.
Do you have omap_hsmmc and mmci mmc_test result data to share?