mt76: mt7915: fix eeprom DBDC band selection
authorFelix Fietkau <nbd@nbd.name>
Wed, 13 Jan 2021 18:35:59 +0000 (19:35 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 27 Jan 2021 16:30:01 +0000 (17:30 +0100)
When the EEPROM band fields contain default values, assign 2.4 GHz to the
first band and 5 GHz to the second.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c
drivers/net/wireless/mediatek/mt76/mt7915/eeprom.h

index 291a781..660398a 100644 (file)
@@ -54,11 +54,14 @@ void mt7915_eeprom_parse_band_config(struct mt7915_phy *phy)
 
        val = mt7915_eeprom_read(dev, MT_EE_WIFI_CONF + ext_phy);
        val = FIELD_GET(MT_EE_WIFI_CONF0_BAND_SEL, val);
+       if (val == MT_EE_BAND_SEL_DEFAULT && dev->dbdc_support)
+               val = ext_phy ? MT_EE_BAND_SEL_5GHZ : MT_EE_BAND_SEL_2GHZ;
+
        switch (val) {
-       case MT_EE_5GHZ:
+       case MT_EE_BAND_SEL_5GHZ:
                phy->mt76->cap.has_5ghz = true;
                break;
-       case MT_EE_2GHZ:
+       case MT_EE_BAND_SEL_2GHZ:
                phy->mt76->cap.has_2ghz = true;
                break;
        default:
index 7999e95..3ee8c27 100644 (file)
@@ -35,10 +35,10 @@ enum mt7915_eeprom_field {
 #define MT_EE_WIFI_CONF7_TSSI1_5G              BIT(4)
 
 enum mt7915_eeprom_band {
-       MT_EE_DUAL_BAND,
-       MT_EE_5GHZ,
-       MT_EE_2GHZ,
-       MT_EE_DBDC,
+       MT_EE_BAND_SEL_DEFAULT,
+       MT_EE_BAND_SEL_5GHZ,
+       MT_EE_BAND_SEL_2GHZ,
+       MT_EE_BAND_SEL_DUAL,
 };
 
 #define SKU_DELTA_VAL          GENMASK(5, 0)