Skip to content
  • Vladimir Kondratiev's avatar
    wil6210: add advanced interrupt moderation · 78366f69
    Vladimir Kondratiev authored
    
    
    Add advanced interrupt moderation support available since "Sparrow B0".
    Legacy interrupt moderation used only one counter to moderate tx, rx,
    and misc interrupts.
    Advanced interrupt moderation bypasses misc, and handles separately tx
    and rx interrupts. In addition it has two timers for each interrupt type.
    Max burst duration timer which defines how long to postpone interrupt after
    first event (receive event for rx and tx complete event for tx), and
    interframe timeout which defines how to determine the end of the burst and
    issue interrupt even if the first timer still pending.
    Capabilities flags in wil_priv is set on initialization according to
    HW. The rest of the code checks for advanced interrupt capability bit
    in capabilities flags field.
    Debugfs is split accordingly: "legacy" interrupt moderation remains
    unchanged, new debugs files added for advanced interrupt moderation
    support.
    Module params are aligned to support advanced interrupt moderation
    (tx & rx). When not available (for legacy interrupt moderation) will
    use only rx configuration; Tx configuration will be ignored in this
    case.
    
    Signed-off-by: default avatarVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    78366f69