1. 24 Apr, 2020 1 commit
  2. 23 Mar, 2020 1 commit
  3. 15 Nov, 2019 1 commit
  4. 06 Sep, 2019 1 commit
    • Gil Adam's avatar
      iwlwifi: support per-platform antenna gain · 6ce1e5c0
      Gil Adam authored
      
      TX power limits as defined in the OTP assume the worst case scenario
      in terms of the platform's atenna gain, but most platforms are below
      that value so they can use more TX power without passing the regulatory
      limit. If the platform indicates in the BIOS that it indeed has lower
      gain, and the geographic location allows it, higher TX power can be
      used. The driver reads the PPAG (Per-Platform Antenna Gain) data from
      BIOS (if it exists), validates it and sends the appropriate command to
      the FW. This flow happens once at FW init, in case of suspend/resume
      there is no need to read again from BIOS as we save those values during
      init, so just send the PPAG command again to FW.
      Signed-off-by: default avatarGil Adam <gil.adam@intel.com>
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      6ce1e5c0
  5. 29 Jun, 2019 1 commit
    • Haim Dreyfuss's avatar
      iwlwifi: Add support for SAR South Korea limitation · 0c3d7282
      Haim Dreyfuss authored
      
      South Korea is adding a more strict SAR limit called "Limb SAR".
      Currently, WGDS SAR offset group 3 is not used (not mapped to any country).
      In order to be able to comply with South Korea new restriction:
      - OEM will use WGDS SAR offset group 3 to South Korea limitation.
      - OEM will change WGDS revision to 1 (currently latest revision is 0)
      	to notify that Korea Limb SAR applied.
      - Driver will read the WGDS table and pass the values to FW (as usual)
      - Driver will pass to FW an indication that Korea Limb SAR is applied
      	in case table revision is 1.
      Signed-off-by: default avatarHaim Dreyfuss <haim.dreyfuss@intel.com>
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      0c3d7282
  6. 14 Feb, 2019 1 commit
    • Haim Dreyfuss's avatar
      iwlwifi: mvm: add support for 32kHz external clock indication · 48e775e6
      Haim Dreyfuss authored
      
      In low power modes, the chip clock source for platform integrated
      devices is 32kHz. It is generated internally and supplied by a crystal
      oscillator. However using a 32kHz sourced from crystal oscillator
      has high power penalty.
      
      There is an option to get an external 32kHz clock from the platform. Past
      experience shows that the reliability is platform dependent,
      i.e. on some platforms it works good and on other it doesn’t.
      
      Working from external clock will save 0.5 mW in sleep state, from overall
      1.8mW that we have today, i.e. almost 30%.
      
      Each OEM can enable or disable the use of the external 32kHz clock by
      setting a BIOS configuration. In case the OEM configured to use 32kHz
      external clock the driver will pass this indication to the FW.
      Signed-off-by: default avatarHaim Dreyfuss <haim.dreyfuss@intel.com>
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      48e775e6
  7. 15 Nov, 2018 1 commit
    • Matt Chen's avatar
      iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE · 66e83903
      Matt Chen authored
      From coreboot/BIOS:
      Name ("WGDS", Package() {
       Revision,
       Package() {
           DomainType,                         // 0x7:WiFi ==> We miss this one.
           WgdsWiFiSarDeltaGroup1PowerMax1,    // Group 1 FCC 2400 Max
           WgdsWiFiSarDeltaGroup1PowerChainA1, // Group 1 FCC 2400 A Offset
           WgdsWiFiSarDeltaGroup1PowerChainB1, // Group 1 FCC 2400 B Offset
           WgdsWiFiSarDeltaGroup1PowerMax2,    // Group 1 FCC 5200 Max
           WgdsWiFiSarDeltaGroup1PowerChainA2, // Group 1 FCC 5200 A Offset
           WgdsWiFiSarDeltaGroup1PowerChainB2, // Group 1 FCC 5200 B Offset
           WgdsWiFiSarDeltaGroup2PowerMax1,    // Group 2 EC Jap 2400 Max
           WgdsWiFiSarDeltaGroup2PowerChainA1, // Group 2 EC Jap 2400 A Offset
           WgdsWiFiSarDeltaGroup2PowerChainB1, // Group 2 EC Jap 2400 B Offset
           WgdsWiFiSarDeltaGroup2PowerMax2,    // Group 2 EC Jap 5200 Max
           WgdsWiFiSarDeltaGroup2PowerChainA2, // Group 2 EC Jap 5200 A Offset
           WgdsWiFiSarDeltaGroup2PowerChainB2, // Group 2 EC Jap 5200 B Offset
           WgdsWiFiSarDeltaGroup3PowerMax1,    // Group 3 ROW 2400 Max
           WgdsWiFiSarDeltaGroup3PowerChainA1, // Group 3 ROW 2400 A Offset
           WgdsWiFiSarDeltaGroup3PowerChainB1, // Group 3 ROW 2400 B Offset
           WgdsWiFiSarDeltaGroup3PowerMax2,    // Group 3 ROW 5200 Max
           WgdsWiFiSarDeltaGroup3PowerChainA2, // Group 3 ROW 5200 A Offset
           WgdsWiFiSarDeltaGroup3PowerChainB2, // Group 3 ROW 5200 B Offset
       }
      })
      
      When read the ACPI data to find out the WGDS, the DATA_SIZE is never
      matched.
      From the above format, it gives 19 numbers, but our driver is hardcode
      as 18.
      Fix it to pass then can parse the data into our wgds table.
      Then we will see:
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init Sending GEO_TX_POWER_LIMIT
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
      Band[0]: chain A = 68 chain B = 69 max_tx_power = 54
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
      Band[1]: chain A = 48 chain B = 49 max_tx_power = 70
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
      Band[0]: chain A = 51 chain B = 67 max_tx_power = 50
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
      Band[1]: chain A = 69 chain B = 70 max_tx_power = 68
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
      Band[0]: chain A = 49 chain B = 50 max_tx_power = 48
      iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
      Band[1]: chain A = 52 chain B = 53 max_tx_power = 51
      
      Cc: stable@vger.kernel.org # 4.12+
      Fixes: a6bff3cb
      
       ("iwlwifi: mvm: add GEO_TX_POWER_LIMIT cmd for geographic tx power table")
      Signed-off-by: default avatarMatt Chen <matt.chen@intel.com>
      Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
      66e83903
  8. 31 Aug, 2018 1 commit
  9. 06 Oct, 2017 8 commits
  10. 01 Dec, 2015 1 commit
  11. 18 Nov, 2015 1 commit
  12. 31 Dec, 2013 1 commit
  13. 06 Mar, 2013 1 commit
  14. 24 Jan, 2013 1 commit
  15. 06 Jun, 2012 2 commits
  16. 23 Apr, 2012 1 commit
  17. 24 Jan, 2012 1 commit
  18. 06 Jan, 2012 1 commit
  19. 08 Dec, 2011 1 commit
  20. 28 Nov, 2011 1 commit
  21. 25 Nov, 2011 1 commit
  22. 11 Jul, 2011 1 commit
  23. 08 Apr, 2011 1 commit
    • Johannes Berg's avatar
      iwlagn: clean up & autodetect statistics · 0da0e5bf
      Johannes Berg authored
      
      There's no need to keep both normal and BT statistics
      versions around all the time in memory when we only
      use a subset of both. So keep only the subsets that
      we need in memory, depending on the debug config).
      
      Also, in doing so, we can remove all the calls to
      iwl_bt_statistics() in the driver as we'll just
      access the copied statistics now.
      
      Finally, also remove this call from the one place
      where it might still be needed and automatically
      detect what kind of statistics the device is sending
      based on their size. This way, we don't need to keep
      track of which devices do what any more, which is
      good since this is subject to change based on the
      ucode version (as some ucode even for non-BT devices
      will in fact use BT statistics).
      
      Warn upon encountering a statistics command from the
      ucode that isn't known, so we will find such issues
      earlier in the future.
      Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
      Tested-by: default avatarDon Fry <donald.h.fry@intel.com>
      Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
      0da0e5bf
  24. 07 Apr, 2011 1 commit
  25. 07 Oct, 2010 1 commit
  26. 23 Jul, 2010 1 commit
  27. 19 Jan, 2010 1 commit
  28. 29 Jan, 2009 1 commit
  29. 12 Dec, 2008 1 commit
  30. 30 Jun, 2008 1 commit
  31. 14 Jun, 2008 2 commits