[PATCH] mmc: mxs-mmc: add support for pre_req and post_req

Per Forlin per.forlin at linaro.org
Thu Apr 21 05:47:19 EDT 2011


On 21 April 2011 11:11, Shawn Guo <shawn.guo at freescale.com> wrote:
> On Thu, Apr 21, 2011 at 10:46:18AM +0200, Per Forlin wrote:
>> On 21 April 2011 08:29, Shawn Guo <shawn.guo at freescale.com> wrote:
>> > On Wed, Apr 20, 2011 at 05:30:22PM +0200, Per Forlin wrote:
>> > [...]
>> >> Remove dma_map and dma_unmap from your host driver and run the tests
>> >> (obviously nonblocking and blocking will have the same results). If
>> >> there is still no performance gain the cache penalty is very small on
>> >> your platform and therefore nonblocking doesn't improve things much.
>> >> Please let me know the result.
>> >>
>> > Sorry, I could not understand.  What's the point to run the test when
>> > the driver is even broken.  The removal of  dma_map_sg and
>> > dma_unmap_sg makes mxs-mmc host driver broken.
>> The point is only to get a measurement of the cost of handling
>> dma_map_sg and dma_unmap_sg, this is the maximum time mmc nonblocking
>> can save.
>> The nonblocking mmc_test should save the total time of dma_map_sg and
>> dma_unmap_sg, if the pre_req and post_req hooks are implemented
>> correctly.
>> Running without dma_map_sg and dma_unmap_sg will confirm if the
>> pre_req and post_req hooks are implemented correctly.
>>
> With dma_map_sg and dma_unmap_sg removed, the mmc_test gave very low
> numbers, though blocking and non-blocking numbers are same.  Is it
> an indication that pre_req and post_req hooks are not implemented
> correctly?
I think you could get the same numbers for the nonblocking with
dma_map and dma_unmap in place.

>  If yes, can you please help to catch the mistakes?
I will take a look.

> --
> Regards,
> Shawn
>
>
Regards,
Per



More information about the linux-arm-kernel mailing list