[PATCH 1/2] sdio: add function to enable and disable sdio_single_irq optimization
Per Forlin
per.forlin at linaro.org
Wed Jun 1 03:39:09 EDT 2011
On 1 June 2011 09:30, Linus Walleij <linus.walleij at linaro.org> wrote:
> 2011/5/31 Per Forlin <per.forlin at linaro.org>:
>
>> +/**
>> + * sdio_single_irq_enable - enable or disable SDIO single IRQ function
>> + * @card: card to enable SDIO single irq
>> + * @value: true to enable SDIO single irq function, false to disable
>> + *
>> + * If there is only 1 function interrupt registered and SDIO single IRQ
>> + * is enable, the irq handler is called directly without reading
>> + * the CCCR registers
>> + */
>> +void sdio_single_irq_enable(struct mmc_card *card, bool value)
>> +{
>> + card->sdio_single_irq_en = value;
>> +}
>> +EXPORT_SYMBOL_GPL(sdio_single_irq_enable);
>
> Can we use a quirk for implementing this for the specific problematic
> card instead?
>
Yes, quirks is the thing I should use.
I'll remove this function and replace it with a quirk. The default
state could then be sdio_single_irq enable and for all none supported
hardware (device ID) sdio_single_irq will be disable.
> Daniel, do you have the vendor and device ID for the problematic
> Libertas card you're working on so this can be quirked explicitly
> in drivers/mmc/core/quirks.c?
>
Even if Daniel fix this issue in libertas it is still good to have a
sdio_single_irq quirk in place for other SDIO devices with the same
hardware issue.
> Yours,
> Linus Walleij
>
Thanks,
Per
More information about the linux-arm-kernel
mailing list