1. 06 9月, 2019 3 次提交
  2. 29 6月, 2019 4 次提交
  3. 01 6月, 2019 1 次提交
  4. 29 4月, 2019 1 次提交
  5. 22 3月, 2019 2 次提交
  6. 14 2月, 2019 1 次提交
  7. 26 1月, 2019 1 次提交
    • S
      iwlwifi: mvm: support mac80211 TXQs model · cfbc6c4c
      Sara Sharon 提交于
      Move to use the new mac80211 TXQs implementation. This has
      quite a few benefits for us. We can get rid of the awkward
      mapping of DQA to mac80211 queues. We can stop buffering
      traffic while waiting for the queue to be allocated. We can
      also use mac80211 AMSDUs instead of building it ourselves.
      
      The usage is pretty simple:
      Each ieee80211_txq contains iwl_mvm_txq. There is such a
      queue for each TID, and one for management frames. We keep
      having static AP queues for probes and non-bufferable MMPDUs,
      along with broadcast and multicast queues. Those are being
      used from the "old" TX invocation path - iwl_mvm_mac_tx.
      
      When there is a new frame in a TXQ, iwl_mvm_mac_wake_tx is
      being called, and either invokes the TX path, or allocates
      the queue if it does not exist.
      
      Most of the TX path is left untouched, although we can consider
      cleaning it up some more, for example get rid of the duplication
      of txq_id in both iwl_mvm_txq and iwl_mvm_dqa_txq_info.
      Signed-off-by: NSara Sharon <sara.sharon@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      cfbc6c4c
  8. 20 12月, 2018 1 次提交
  9. 11 11月, 2018 1 次提交
  10. 08 10月, 2018 2 次提交
  11. 28 9月, 2018 3 次提交
  12. 31 8月, 2018 4 次提交
  13. 02 8月, 2018 1 次提交
  14. 26 4月, 2018 1 次提交
    • E
      iwlwifi: mvm: set wakeup filters for wowlan "any" configuration · d3a6f7fb
      Eliad Peller 提交于
      In case of "any" wowlan trigger is configured, no valid wakeup filter
      was configured.
      
      Moreover, the fw assumes there's no connection when there are no configured
      wakeup filters.
      This leads to the station info not being updated on D3 command, causing
      rate_n_flags to be 0 when the offloading code sends tx frame (triggering
      SYSASSERT_102C due to invalid antenna param)
      
      Note: "any" trigger is currently assumed to only be used when entering
      d0i3 (which has a different flow). However, we still reach this code
      when using d3_test.
      Signed-off-by: NEliad Peller <eliadx.peller@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      d3a6f7fb
  15. 20 4月, 2018 1 次提交
  16. 02 3月, 2018 1 次提交
  17. 25 11月, 2017 1 次提交
  18. 06 10月, 2017 1 次提交
  19. 08 9月, 2017 1 次提交
    • M
      iwlwifi: mvm: fix wowlan resume failed to load INIT ucode · 59cd827f
      Matt Chen 提交于
      If we set disconnect on wowlan and run suspend/resume, will run
      into:
      ...snipped
      iwlwifi 0000:01:00.0: Failed to load firmware chunk!
      iwlwifi 0000:01:00.0: Could not load the [0] uCode section
      iwlwifi 0000:01:00.0: Failed to start INIT ucode: -110
      iwlwifi 0000:01:00.0: Failed to run INIT ucode: -110
      iwlwifi 0000:01:00.0: Failed to start RT ucode: -110
      
      It is because we still keep IWL_MVM_STATUS_IN_HW_RESTART in
      __iwl_mvm_resume.  When mac80211 starts the device as
      __iwl_mvm_mac_start(), we will miss iwl_mvm_restart_cleanup(mvm).
      Signed-off-by: NMatt Chen <matt.chen@intel.com>
      Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
      59cd827f
  20. 29 6月, 2017 1 次提交
  21. 23 6月, 2017 3 次提交
  22. 16 6月, 2017 1 次提交
    • J
      networking: introduce and use skb_put_data() · 59ae1d12
      Johannes Berg 提交于
      A common pattern with skb_put() is to just want to memcpy()
      some data into the new space, introduce skb_put_data() for
      this.
      
      An spatch similar to the one for skb_put_zero() converts many
      of the places using it:
      
          @@
          identifier p, p2;
          expression len, skb, data;
          type t, t2;
          @@
          (
          -p = skb_put(skb, len);
          +p = skb_put_data(skb, data, len);
          |
          -p = (t)skb_put(skb, len);
          +p = skb_put_data(skb, data, len);
          )
          (
          p2 = (t2)p;
          -memcpy(p2, data, len);
          |
          -memcpy(p, data, len);
          )
      
          @@
          type t, t2;
          identifier p, p2;
          expression skb, data;
          @@
          t *p;
          ...
          (
          -p = skb_put(skb, sizeof(t));
          +p = skb_put_data(skb, data, sizeof(t));
          |
          -p = (t *)skb_put(skb, sizeof(t));
          +p = skb_put_data(skb, data, sizeof(t));
          )
          (
          p2 = (t2)p;
          -memcpy(p2, data, sizeof(*p));
          |
          -memcpy(p, data, sizeof(*p));
          )
      
          @@
          expression skb, len, data;
          @@
          -memcpy(skb_put(skb, len), data, len);
          +skb_put_data(skb, data, len);
      
      (again, manually post-processed to retain some comments)
      Reviewed-by: NStephen Hemminger <stephen@networkplumber.org>
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      59ae1d12
  23. 20 4月, 2017 2 次提交
  24. 11 4月, 2017 2 次提交