[rt2x00-users] rt2800pci: interrupt handling and tx status handling
Ivo Van Doorn
ivdoorn at gmail.com
Tue Sep 7 13:41:51 UTC 2010
Hi,
> I'd like to prepare a patch for rt2800pci to improve tx status reporting (no
> lost status reports anymore ;) ). At the moment the interrupt handling is as
> follows:
Well as always, I am a bit skeptical about the "no lost status reports
anymore". ;)
> So, I just switched to using a tasklet (just for tx status processing) as
> a tasklet can be scheduled multiple times. So the code would look like the
> following:
tasklets, nice, remember the problems I had with rt2800usb when I
switched them to tasklets?
> rt2800pci_interrupt
> if tx status interrupt
> read TX_STA_FIFO and copy to kfifo
> schedule tx status tasklet
> return handled
> else
> copy isrvalue
> disable interrupt in device except tx status interrupt
> return wake_thread
>
> rt2800pci_interrupt_thread
> process isrvalue
> enable_interrupts in device
> return
>
> rt2800pci_tx_status_tasklet
> process tx status kfifo
>
> At least with that approach I don't lose any status anymore resulting in much
> better rate selection and also no watchdog would be needed anymore ;)
>
> Would the approach described above be fine with you both? I mean we would have
> the interrupt thread for generic processing and the tx status tasklet just
> for tx status processing (and maybe only on rt2800pci, not sure bout rt61pci).
Well if you can manage to get tasklets working, then I would be
interested in having
those back again for rt2800usb again as well. That way rt2x00usb and
rt2x00pci can
have a similar interrupt management. :)
Ivo
More information about the users
mailing list