• 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
fw.c 33.7 KB