Re: [PATCH 1/3] dw_mmc: set fixed burst in BMOD register

Will Newton
2011-03-17T20:28:04Z

On Thu, Mar 17, 2011 at 6:24 PM, Chris Ball <cjb@laptop.org> wrote:
> Hi Will,
>
> On Thu, Feb 24 2011, Jaehoon Chung wrote:
>> This patch is applied fixed burst.
>> If use internal DMA controller, i think that need to set this bit.
>>
>> I tested when set this bit or not. I found that increase performance with IDMAC
>>
>> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
>> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
>> ---
>>  drivers/mmc/host/dw_mmc.c |    4 ++--
>>  1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c
>> index 58476c1..46e5a89 100644
>> --- a/drivers/mmc/host/dw_mmc.c
>> +++ b/drivers/mmc/host/dw_mmc.c
>> @@ -315,7 +315,7 @@ static void dw_mci_idmac_stop_dma(struct dw_mci *host)
>>
>>       /* Stop the IDMAC running */
>>       temp = mci_readl(host, BMOD);
>> -     temp &= ~SDMMC_IDMAC_ENABLE;
>> +     temp &= ~(SDMMC_IDMAC_ENABLE | SDMMC_IDMAC_FB);
>>       mci_writel(host, BMOD, temp);
>>  }
>>
>> @@ -384,7 +384,7 @@ static void dw_mci_idmac_start_dma(struct dw_mci *host, unsigned int sg_len)
>>
>>       /* Enable the IDMAC */
>>       temp = mci_readl(host, BMOD);
>> -     temp |= SDMMC_IDMAC_ENABLE;
>> +     temp |= SDMMC_IDMAC_ENABLE | SDMMC_IDMAC_FB;
>>       mci_writel(host, BMOD, temp);
>>
>>       /* Start it running */
>
> Any thoughts on this patch?

From the documentation I have it's not clear what this bit does. I
have very limited access to hardware with internal DMA support, so I
can't really test it either. I'm willing to believe the patch improves
things but I can't really say one way or the other.