PXA168 + 88W8686 SDIO interrupt troubles
James Cameron
quozl at laptop.org
Fri Jun 10 23:19:44 PDT 2022
On Fri, Jun 10, 2022 at 11:12:02PM -0700, Doug Brown wrote:
> Well, I got it working well enough that I'm satisfied!
Yay! Well done.
> On 6/9/2022 2:49 PM, Doug Brown wrote:
>
> > 2) The sd8xxx driver's IRQ handler increments a counter and wakes the
> > main thread to do the work, so the SDHC host controller's interrupt
> > gets unmasked quickly, whereas libertas does more handling in the IRQ
> > handler before returning and allowing the interrupt to be unmasked.
>
> Hacking the libertas driver to acknowledge the interrupt in the host
> controller immediately after clearing the 88W8686's interrupt register
> definitely helped, but I still ran into missing interrupts when there
> was a lot of activity, like downloading a big file.
>
> After lots of experimentation, I also changed the libertas driver to re-read
> the interrupt status register from the 88W8686 after re-enabling
> the interrupts in the host controller. That caused it to stop missing
> interrupts, which makes no sense, but it fixed it. [...]
That sounds familiar, but hard to be sure given the elapsed time.
We certainly found a few situations where (how shall I put it) vendor
drivers may have driven the testing of the silicon. We had the
advantage of being able to ask the vendor about it, but no longer.
More information about the libertas-dev
mailing list