Libertas driver performance on Samsung platform

Jacky Lam jackylam.gsl at gmail.com
Sun Nov 22 20:40:53 EST 2009


Dear Ravi,

	The problem we have met is our platform driver use polling when dealing
SDIO interrupt. The solution is provided by tommy. I will describe the
solution as follows:

	1) Your mmc host capability need to enable MMC_CAP_SDIO_IRQ.
	2) In mmc host operations (struct mmc_host_ops), you have to implement
the callback enable_sdio_irq.

	Also, the firmware version we are using is v9 as Dan said.

	Hope this help.

Br,
Jacky

Ravi Mahadevappa 提到:
> Hi Dan, Jacky,
>
> We are facing the same problem. Could you please elaborate a bit on this
> issue.
> What is the firmware version and the driver version I should use?
> Where do I look to verify that the interrupt support is enabled?
>
> Thanks,
> Ravi
>
> On 11/15/2009 10:43 PM, Jacky Lam wrote:
>> Dear Dan,
>>
>> 	I just talk to tommy and find that the problem really happened in the
>> interrupt support as you said. Thanks for all advice from you.
>>
>> BR,
>> Jacky
>>
>> Dan Williams 提到:
>>
>>> On Mon, 2009-11-16 at 09:43 +0800, Jacky Lam wrote:
>>>
>>>> Dan Williams 提到:
>>>>
>>>>> On Fri, 2009-11-13 at 13:12 +0800, Jacky Lam wrote:
>>>>>
>>>>>> Dear all,
>>>>>>
>>>>>> 	I have read the previous mail about the low performance of Samsung
>>>>>> BSP's SDIO platform driver when working with Libertas. I want to know if
>>>>>> anyone have tried the kernel mainstream's Samsung driver and have any
>>>>>> improvement on that?
>>>>>>
>>>>> Does the Samsung SDHC have quirks or limitations with respect to DMA,
>>>>> block size, transfer width, etc?
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>> Dear Dan,
>>>>
>>>> 	I look through the source code and can't find any "special" limitation
>>>> for the DMA, block size, transfer width.....Maybe I am not familiar
>>>> enough with Linux MMC stack. Could you tell me if there is any
>>>> requirement for the MMC stack on the host's DMA, block size, transfer
>>>> width..etc? So, I can pinpoint my investigation?
>>>>
>>> There's no requirement in the stack, but the libertas driver and
>>> firmware expect multi-block transfer ability and interrupt support.  The
>>> libertas firmware will fail to load if if the host controller doesn't
>>> support multi-block, which we just found to be a limitation of one of
>>> the i.MX platform for example.
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> libertas-dev mailing list
>> libertas-dev at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/libertas-dev
>>



More information about the libertas-dev mailing list