1. 15 1月, 2015 6 次提交
    • V
      wil6210: fix max. MPDU size · c44690a1
      Vladimir Kondratiev 提交于
      When configuring Tx/Rx VRING's, driver need to specify max. MPDU size
      It should take into account all overhead introduced by 802.3->208.11
      transformation.
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      c44690a1
    • V
      wil6210: delba for responder · 26a359d9
      Vladimir Kondratiev 提交于
      Implement delba flow for the responder (Rx) side
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      26a359d9
    • V
      wil6210: control AMSDU on Tx side of Block Ack · cbcf5866
      Vladimir Kondratiev 提交于
      When establishing Block Ack as originator (Tx), control
      AMSDU flag when sending ADDBA and update status upon
      establishment flow completion. To be used in AMSDU flows
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      cbcf5866
    • 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 4 次提交
  3. 31 10月, 2014 3 次提交
  4. 03 10月, 2014 2 次提交
  5. 29 9月, 2014 1 次提交
  6. 27 9月, 2014 1 次提交
  7. 16 9月, 2014 1 次提交
    • V
      fixup! wil6210: fix usage of print_hex_dump_debug · a43b5142
      Vladimir Kondratiev 提交于
      Use empty inline functions instead of empty #define. Fix for "unused variable"
      as reported below:
      
      tree:   git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master
      head:   167bf96d
      commit: 871d8c4b [45/62] wil6210: fix usage of print_hex_dump_debug
      config: i386-allyesconfig
      reproduce:
        git checkout 871d8c4b
        make ARCH=i386  allyesconfig
        make ARCH=i386
      
      All warnings:
      
         drivers/net/wireless/ath/wil6210/wmi.c: In function 'wmi_evt_rx_mgmt':
      
      >> drivers/net/wireless/ath/wil6210/wmi.c:341:10: warning: unused variable 'ie_len' [-Wunused-variable]
            size_t ie_len = d_len - offsetof(struct ieee80211_mgmt,
                   ^
      
      >> drivers/net/wireless/ath/wil6210/wmi.c:340:13: warning: unused variable 'ie_buf' [-Wunused-variable]
            const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable;
                      ^
      
      vim +/ie_len +341 drivers/net/wireless/ath/wil6210/wmi.c
      
      2be7d22f Vladimir Kondratiev 2012-12-20  334
      2be7d22f Vladimir Kondratiev 2012-12-20  335    if (ieee80211_is_beacon(fc) || ieee80211_is_probe_resp(fc)) {
      2be7d22f Vladimir Kondratiev 2012-12-20  336            struct cfg80211_bss *bss;
      8eea944a Vladimir Kondratiev 2014-06-16  337            u64 tsf = le64_to_cpu(rx_mgmt_frame->u.beacon.timestamp);
      8eea944a Vladimir Kondratiev 2014-06-16  338            u16 cap = le16_to_cpu(rx_mgmt_frame->u.beacon.capab_info);
      8eea944a Vladimir Kondratiev 2014-06-16  339            u16 bi = le16_to_cpu(rx_mgmt_frame->u.beacon.beacon_int);
      8eea944a Vladimir Kondratiev 2014-06-16  340            const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable;
      8eea944a Vladimir Kondratiev 2014-06-16  341            size_t ie_len = d_len - offsetof(struct ieee80211_mgmt,
      8eea944a Vladimir Kondratiev 2014-06-16  342                                             u.beacon.variable);
      8eea944a Vladimir Kondratiev 2014-06-16  343            wil_dbg_wmi(wil, "Capability info : 0x%04x\n", cap);
      8eea944a Vladimir Kondratiev 2014-06-16  344            wil_dbg_wmi(wil, "TSF : 0x%016llx\n", tsf);
      
      :::::: The code at line 341 was first introduced by commit
      :::::: 8eea944a wil6210: print more info about BSS found
      Signed-off-by: NVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a43b5142
  8. 12 9月, 2014 8 次提交
  9. 26 8月, 2014 3 次提交
  10. 19 7月, 2014 4 次提交
  11. 20 6月, 2014 5 次提交
  12. 30 5月, 2014 2 次提交