[REGRESSION 4.10] dw_mmc: failures on Rockchip rk3288 veyron boards

Doug Anderson dianders at google.com
Wed Apr 12 09:12:24 PDT 2017


On Tue, Apr 11, 2017 at 5:54 PM, Shawn Lin <shawn.lin at rock-chips.com> wrote:
>> This doesn't surprise me at all.  What surprises me, though, is that
>> nobody else seems to be able to reproduce this.
>> On veyron, WiFi is connected via SDIO.  For good speed, it uses SDIO
>> Interrupts.  See this bit in the device tree:
>>   cap-sdio-irq;
> all of *my* boards are using side-band interrupt, so there are no
> "cap-sdio-irq".

They are all using side-band interrupt?  What WiFi device do you have connected?

If you're truly using a side-band interrupt using the dedicated SDIO
interrupt pin on your SoC, I'm pretty sure you still need to define
cap-sdio-irq in order for things to work properly.  If you don't do
that, you'll get "polling mode" for SDIO Interrupts.  See
sdio_irq_thread() where you can see that the kernel will poll your
device every 10 ms if MMC_CAP_SDIO_IRQ isn't set.

Maybe you should try defining cap-sdio-irq and see if you get a big
performance boost?

More information about the Linux-rockchip mailing list