1. 15 1月, 2015 3 次提交
    • V
      wil6210: allow to configure ADDBA request · 3a3def8d
      Vladimir Kondratiev 提交于
      For manual ADDBA configuration, allow to set desired window size or
      disable automatic mechanism.
      
      Introduce module parameter (int) agg_wsize. It can be changed on run time,
      will be taken into account on the next connect. Interpretation:
      - <0 - disable automatic ADDBA; intended for manual testing through debugfs
      - 0 - use automatically calculated window size
      - >0 - use this for window size. Clipped by maximum supported by the hardware
      with current environment.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      3a3def8d
    • V
      wil6210: simple ADDBA on originator (Tx) side · 3a124ed6
      Vladimir Kondratiev 提交于
      Upon Tx vring creation, initiate BACK establishment
      with maximum possible window size.
      
      When establishing secure connection, there is EAPOL data exchange
      between connection itself and "data port open", where security
      is done and non-EAPOL data may be transferred. It is better to
      send EAPOL frames using normal ACK because of firmware considerations.
      
      send ADDBA only is 2 conditions met:
      - data port open for the corresponded STA
      - vring created
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      3a124ed6
    • V
      wil6210: ADDBA/DELBA flows · 3277213f
      Vladimir Kondratiev 提交于
      Introduce BACK establishment procedures; decision logic is not implemented
      yet; debugfs entry 'addba' used to manually trigger addba/delba for ringid 0.
      
      debugfs usage:
      to establish BACK with agg_wsize 16:
        echo 16 > /sys/kernel/debug/ieee80211/phy0/wil6210/addba
      to delete BACK:
        echo 0 > /sys/kernel/debug/ieee80211/phy0/wil6210/addba
      to change agg_wsize, one need to delete BACK and establish it anew
      
      ADDBA flow for:
      
      - originator
      
      Tx side (initiator) sends WMI_VRING_BA_EN_CMDID providing
      agg_wsize and timeout parameters.
      Eventually, it gets event confirming BACK agreement - WMI_BA_STATUS_EVENTID
      with negotiated parameters. On this event, update Tx vring data
      (struct vring_tx_data) and display BACK parameters on debugfs
      
      - recipient
      
      Rx side (recipient) firmware informs driver about ADDBA with
      WMI_RCP_ADDBA_REQ_EVENTID, driver process it in service work
      queue wq_service. It adjusts parameters and sends response
      with WMI_RCP_ADDBA_RESP_CMDID, and final confirmation provided
      by firmware with WMI_ADDBA_RESP_SENT_EVENTID. In case of success,
      driver updates Rx BACK reorder buffer.
      
      policy for BACK parameters:
      - aggregation size (agg_wsize * MPDUsize)) to not exceed 64Kbytes
      
      DELBA flow for:
      
      - originator
      
      driver decides to terminate BACK, it sends WMI_VRING_BA_DIS_CMDID
      and updates struct vring_tx_data associated with vring; ignore
      WMI_DELBA_EVENTID.
      
      - recipient
      
      firmware informs driver with WMI_DELBA_EVENTID,
      driver deletes correspondent reorder buffer
      
      ADDBA request processing requires sending WMI command, therefore
      it is processed in work queue context. Same work queue used as for
      connect, it get renamed to wq_service
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      3277213f
  2. 02 12月, 2014 3 次提交
  3. 31 10月, 2014 1 次提交
  4. 12 9月, 2014 4 次提交
  5. 26 8月, 2014 2 次提交
  6. 19 7月, 2014 1 次提交
  7. 20 6月, 2014 5 次提交
  8. 30 5月, 2014 2 次提交
  9. 18 3月, 2014 8 次提交
  10. 01 3月, 2014 6 次提交
  11. 17 1月, 2014 1 次提交
  12. 09 1月, 2014 2 次提交
  13. 16 8月, 2013 1 次提交
  14. 23 7月, 2013 1 次提交