• Arik Nemtsov's avatar
    wlcore: add stop reason bitmap for waking/starting queues · 66396114
    Arik Nemtsov authored
    Allow the driver to wake/stop the queues for multiple reasons. A queue
    is started when no stop-reasons exist.
    
    Convert all wake/stop queue calls to use the new API.
    
    Before, a stopped queue was almost synonymous a high-watermark on Tx.
    Remove a bit of code in wl12xx_tx_reset() that relied on it.
    
    Internal packets arriving from mac80211 are also discarded when a queue
    is stopped. A notable exception to this is the watermark reason, which
    is a "soft"-stop reason. We allow traffic to gradually come to a halt,
    but we don't mind spurious packets here and there. This is merely a flow
    regulation mechanism.
    
    Based on a similar patch by Eliad Peller <eliadWizery.com>.
    Signed-off-by: default avatarArik Nemtsov <arik@wizery.com>
    Signed-off-by: default avatarLuciano Coelho <coelho@ti.com>
    66396114
main.c 134 KB