• Helmut Schaa's avatar
    rt2x00: Convert rt2800pci to use tasklets · a9d61e9e
    Helmut Schaa authored
    Fix interrupt processing on slow machines by using individual tasklets
    for each different device interrupt. This ensures that while a RX or TX
    status tasklet is scheduled only the according device interrupt is
    masked and other interrupts such as TBTT can still be processed.
    
    Also, this allows us to use tasklet_hi_schedule for TBTT and PRETBTT
    processing which is required to not send out beacons with a wrong DTIM
    count (due to delayed periodic beacon updates). Furthermore, this
    improves the latency between the TBTT and sending out buffered multi-
    and broadcast traffic.
    
    As a nice bonus, the interrupt handling overhead is reduced such that
    rt2800pci gains around 25% more throuhput on a rt3052 MIPS board.
    Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
    Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
    Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    a9d61e9e
rt2800pci.c 35.5 KB