1. 11 12月, 2012 10 次提交
    • A
      wlcore: use separate HW queue for each AC in each vif · 1c33db78
      Arik Nemtsov 提交于
      Start using the new hw_queue mechanism in mac80211 and give each AC in
      each vif its own hw_queue number. This allows us to stop an AC in a vif
      independently from other vifs.
      
      Change the Tx watermark handling functions to count packets per AC in
      vif. From now on fast links should not be able to hurt the throughput
      of slow links on the same AC but on different vifs.
      
      Change internal queue mgmt functions to operate per vif, to support the
      new Tx watermark granularity. Make the global versions of the queue
      stop/start functions to use the global mac80211 API for queue mgmt. This
      helps in situations where the driver currently doesn't know all the vifs
      that reside in mac80211. Recovery is a good example for such a case.
      
      [Moved hw_base_queue addition into the wlcore_tx_get_mac80211_queue()
      function; changed WARN_ONs to WARN_ON_ONCEs; simplified for loops;
      fixed new checkpatch warnings. -- Luca]
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      1c33db78
    • A
      wlcore: use link count for single-STA-PSM optimization · 9a100968
      Arik Nemtsov 提交于
      Only allow a PSM STA to congest FW memory when it is the single active
      link. Being a single STA doesn't imply a single link - there might be
      other links on other roles.
      
      [Changed WARN_ON to WARN_ON_ONCE -- Luca]
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      9a100968
    • A
      wl18xx: limit Tx for the AP single-STA-in-PSM case · 98323895
      Arik Nemtsov 提交于
      Treat a single connected STA in PSM as a slow link and regulate Tx speed
      according to slow link priority/stop thresholds.
      This allows us to avoid flooding the FW, while delivering decent
      throughput to a peer in forced-PSM.
      
      [Small simplification of the if statements -- Luca]
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      98323895
    • A
      wlcore/wl18xx: change priority calculations for links · f1626fd8
      Arik Nemtsov 提交于
      Update the 18xx FW status private part to include Tx related link
      priorities. Introduce new HW ops to determine link priority per chip
      family.
      
      For 18xx the changes are:
      - Suspended links are at most low priority and Tx for them is stopped
        beyond the suspend threshold.
      - Active links now get their thresholds directly from FW
      - There's a new "stop" threshold for active links, at which point a link
        stops receiving new packets.
      
      Update the min 18xx FW version required to make sure suspended links
      bitmap is advertised by the FW.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      f1626fd8
    • Y
      wl18xx: fix a bug in wl->num_rx_desc initialization · c91ec5f3
      Yair Shapira 提交于
      wl->num_rx_desc was mistakenly initialized with WL18XX_NUM_TX_DESCRIPTORS
      but it should use WL18XX_NUM_RX_DESCRIPTORS instead.
      
      This bug was passed unnoticed because currently both RX and TX descriptors
      are initialized to the same value (32).
      Signed-off-by: NYair Shapira <yair.shapira@ti.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      c91ec5f3
    • A
      wlcore: set 5Ghz probe-req template for DFS channels · c23280eb
      Arik Nemtsov 提交于
      Even passive scans on DFS channels require us to send probe requests, so
      configure the probe-req in this case.
      
      Also use this opportunity to prevent the code from crashing in case no
      SSIDs are sent from above. This will likely happen in the DFS case
      introduced. Even a passive scan might need the probe request configured
      because of DFS channels.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      c23280eb
    • A
      wlcore: improve handling for Rx errors · 387116b8
      Arik Nemtsov 提交于
      Treat Rx error code as a bitmask. This allows sending MIC failures
      when other error bit are on.
      
      Align Rx descriptor status mask to the FW definition.
      
      Ease debugging in case FW reports failure to decrypt on packets.
      
      Discard corrupted packets early in Rx path to avoid reporting other
      abnormalities with corrupted packets that also have other failure bytes on.
      Namely - we don't want to get a MIC failure on a corrupted packet.
      This is mandated by the WiFi specification - see
      section 11.4.2.4.1 in 802.11-2012.
      Signed-off-by: NEyal Shapira <eyal@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      387116b8
    • E
      wlcore: increase scan dwell times if no activity · 5d3a1603
      Eyal Shapira 提交于
      There's a limit on scan dwell times of max 30ms in order
      to avoid degrading voip traffic which could be going on
      while scanning. However these dwell times increase the
      chance of missing out on nearby APs leading to partial
      scan results. Allow configuration of longer dwell times
      in case there no active interface (i.e. no STA associated
      or AP up).
      
      [Arik - count started vifs using an in-driver function]
      
      [Fixed some new checkpatch warnings regarding comments in the
      networking subsystem. -- Luca]
      Signed-off-by: NEyal Shapira <eyal@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      5d3a1603
    • A
      wlcore: remove support for injected Tx · f4d02007
      Arik Nemtsov 提交于
      Require each incoming packet to have a valid vif. The injected Tx code
      path was buggy (and unused), so disallow it altogether.
      
      Cleanup a few places and add a warning so we can better discover
      anomalies (corrupted skbs?) masquerading as injected Tx.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      f4d02007
    • E
      wlcore: add ACX_PEER_CAP command · 530abe19
      Eliad Peller 提交于
      ACX_PEER_CAP command is just ACX_PEER_HT_CAP, but allows
      configuring the peer's support rates as well.
      
      this is needed because we start the station role when
      the remote rates are not known yet.
      
      the two commands should be unified in future fw versions,
      but for now add a new set_peer_cap per-hw op, that will
      use ACX_PEER_CAP for 18xx, and ACX_PEER_HT_CAP for 12xx.
      Signed-off-by: NEliad Peller <eliad@wizery.com>
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      530abe19
  2. 05 12月, 2012 10 次提交
  3. 04 12月, 2012 20 次提交