|
@@ -41,11 +41,12 @@ mt7601u_rf_wr(struct mt7601u_dev *dev, u8 bank, u8 offset, u8 value)
|
|
goto out;
|
|
goto out;
|
|
}
|
|
}
|
|
|
|
|
|
- mt7601u_wr(dev, MT_RF_CSR_CFG, MT76_SET(MT_RF_CSR_CFG_DATA, value) |
|
|
|
|
- MT76_SET(MT_RF_CSR_CFG_REG_BANK, bank) |
|
|
|
|
- MT76_SET(MT_RF_CSR_CFG_REG_ID, offset) |
|
|
|
|
- MT_RF_CSR_CFG_WR |
|
|
|
|
- MT_RF_CSR_CFG_KICK);
|
|
|
|
|
|
+ mt7601u_wr(dev, MT_RF_CSR_CFG,
|
|
|
|
+ FIELD_PREP(MT_RF_CSR_CFG_DATA, value) |
|
|
|
|
+ FIELD_PREP(MT_RF_CSR_CFG_REG_BANK, bank) |
|
|
|
|
+ FIELD_PREP(MT_RF_CSR_CFG_REG_ID, offset) |
|
|
|
|
+ MT_RF_CSR_CFG_WR |
|
|
|
|
+ MT_RF_CSR_CFG_KICK);
|
|
trace_rf_write(dev, bank, offset, value);
|
|
trace_rf_write(dev, bank, offset, value);
|
|
out:
|
|
out:
|
|
mutex_unlock(&dev->reg_atomic_mutex);
|
|
mutex_unlock(&dev->reg_atomic_mutex);
|
|
@@ -74,17 +75,18 @@ mt7601u_rf_rr(struct mt7601u_dev *dev, u8 bank, u8 offset)
|
|
if (!mt76_poll(dev, MT_RF_CSR_CFG, MT_RF_CSR_CFG_KICK, 0, 100))
|
|
if (!mt76_poll(dev, MT_RF_CSR_CFG, MT_RF_CSR_CFG_KICK, 0, 100))
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
- mt7601u_wr(dev, MT_RF_CSR_CFG, MT76_SET(MT_RF_CSR_CFG_REG_BANK, bank) |
|
|
|
|
- MT76_SET(MT_RF_CSR_CFG_REG_ID, offset) |
|
|
|
|
- MT_RF_CSR_CFG_KICK);
|
|
|
|
|
|
+ mt7601u_wr(dev, MT_RF_CSR_CFG,
|
|
|
|
+ FIELD_PREP(MT_RF_CSR_CFG_REG_BANK, bank) |
|
|
|
|
+ FIELD_PREP(MT_RF_CSR_CFG_REG_ID, offset) |
|
|
|
|
+ MT_RF_CSR_CFG_KICK);
|
|
|
|
|
|
if (!mt76_poll(dev, MT_RF_CSR_CFG, MT_RF_CSR_CFG_KICK, 0, 100))
|
|
if (!mt76_poll(dev, MT_RF_CSR_CFG, MT_RF_CSR_CFG_KICK, 0, 100))
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
val = mt7601u_rr(dev, MT_RF_CSR_CFG);
|
|
val = mt7601u_rr(dev, MT_RF_CSR_CFG);
|
|
- if (MT76_GET(MT_RF_CSR_CFG_REG_ID, val) == offset &&
|
|
|
|
- MT76_GET(MT_RF_CSR_CFG_REG_BANK, val) == bank) {
|
|
|
|
- ret = MT76_GET(MT_RF_CSR_CFG_DATA, val);
|
|
|
|
|
|
+ if (FIELD_GET(MT_RF_CSR_CFG_REG_ID, val) == offset &&
|
|
|
|
+ FIELD_GET(MT_RF_CSR_CFG_REG_BANK, val) == bank) {
|
|
|
|
+ ret = FIELD_GET(MT_RF_CSR_CFG_DATA, val);
|
|
trace_rf_read(dev, bank, offset, ret);
|
|
trace_rf_read(dev, bank, offset, ret);
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
@@ -139,8 +141,8 @@ static void mt7601u_bbp_wr(struct mt7601u_dev *dev, u8 offset, u8 val)
|
|
}
|
|
}
|
|
|
|
|
|
mt7601u_wr(dev, MT_BBP_CSR_CFG,
|
|
mt7601u_wr(dev, MT_BBP_CSR_CFG,
|
|
- MT76_SET(MT_BBP_CSR_CFG_VAL, val) |
|
|
|
|
- MT76_SET(MT_BBP_CSR_CFG_REG_NUM, offset) |
|
|
|
|
|
|
+ FIELD_PREP(MT_BBP_CSR_CFG_VAL, val) |
|
|
|
|
+ FIELD_PREP(MT_BBP_CSR_CFG_REG_NUM, offset) |
|
|
MT_BBP_CSR_CFG_RW_MODE | MT_BBP_CSR_CFG_BUSY);
|
|
MT_BBP_CSR_CFG_RW_MODE | MT_BBP_CSR_CFG_BUSY);
|
|
trace_bbp_write(dev, offset, val);
|
|
trace_bbp_write(dev, offset, val);
|
|
out:
|
|
out:
|
|
@@ -163,7 +165,7 @@ static int mt7601u_bbp_rr(struct mt7601u_dev *dev, u8 offset)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
mt7601u_wr(dev, MT_BBP_CSR_CFG,
|
|
mt7601u_wr(dev, MT_BBP_CSR_CFG,
|
|
- MT76_SET(MT_BBP_CSR_CFG_REG_NUM, offset) |
|
|
|
|
|
|
+ FIELD_PREP(MT_BBP_CSR_CFG_REG_NUM, offset) |
|
|
MT_BBP_CSR_CFG_RW_MODE | MT_BBP_CSR_CFG_BUSY |
|
|
MT_BBP_CSR_CFG_RW_MODE | MT_BBP_CSR_CFG_BUSY |
|
|
MT_BBP_CSR_CFG_READ);
|
|
MT_BBP_CSR_CFG_READ);
|
|
|
|
|
|
@@ -171,8 +173,8 @@ static int mt7601u_bbp_rr(struct mt7601u_dev *dev, u8 offset)
|
|
goto out;
|
|
goto out;
|
|
|
|
|
|
val = mt7601u_rr(dev, MT_BBP_CSR_CFG);
|
|
val = mt7601u_rr(dev, MT_BBP_CSR_CFG);
|
|
- if (MT76_GET(MT_BBP_CSR_CFG_REG_NUM, val) == offset) {
|
|
|
|
- ret = MT76_GET(MT_BBP_CSR_CFG_VAL, val);
|
|
|
|
|
|
+ if (FIELD_GET(MT_BBP_CSR_CFG_REG_NUM, val) == offset) {
|
|
|
|
+ ret = FIELD_GET(MT_BBP_CSR_CFG_VAL, val);
|
|
trace_bbp_read(dev, offset, ret);
|
|
trace_bbp_read(dev, offset, ret);
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
@@ -249,9 +251,9 @@ int mt7601u_phy_get_rssi(struct mt7601u_dev *dev,
|
|
/* bw40 */ { -2, 16, 34 }
|
|
/* bw40 */ { -2, 16, 34 }
|
|
}
|
|
}
|
|
};
|
|
};
|
|
- int bw = MT76_GET(MT_RXWI_RATE_BW, rate);
|
|
|
|
- int aux_lna = MT76_GET(MT_RXWI_ANT_AUX_LNA, rxwi->ant);
|
|
|
|
- int lna_id = MT76_GET(MT_RXWI_GAIN_RSSI_LNA_ID, rxwi->gain);
|
|
|
|
|
|
+ int bw = FIELD_GET(MT_RXWI_RATE_BW, rate);
|
|
|
|
+ int aux_lna = FIELD_GET(MT_RXWI_ANT_AUX_LNA, rxwi->ant);
|
|
|
|
+ int lna_id = FIELD_GET(MT_RXWI_GAIN_RSSI_LNA_ID, rxwi->gain);
|
|
int val;
|
|
int val;
|
|
|
|
|
|
if (lna_id) /* LNA id can be 0, 2, 3. */
|
|
if (lna_id) /* LNA id can be 0, 2, 3. */
|
|
@@ -259,7 +261,7 @@ int mt7601u_phy_get_rssi(struct mt7601u_dev *dev,
|
|
|
|
|
|
val = 8;
|
|
val = 8;
|
|
val -= lna[aux_lna][bw][lna_id];
|
|
val -= lna[aux_lna][bw][lna_id];
|
|
- val -= MT76_GET(MT_RXWI_GAIN_RSSI_VAL, rxwi->gain);
|
|
|
|
|
|
+ val -= FIELD_GET(MT_RXWI_GAIN_RSSI_VAL, rxwi->gain);
|
|
val -= dev->ee->lna_gain;
|
|
val -= dev->ee->lna_gain;
|
|
val -= dev->ee->rssi_offset[0];
|
|
val -= dev->ee->rssi_offset[0];
|
|
|
|
|
|
@@ -939,7 +941,7 @@ static int mt7601u_tssi_cal(struct mt7601u_dev *dev)
|
|
dev_dbg(dev->dev, "final diff: %08x\n", diff_pwr);
|
|
dev_dbg(dev->dev, "final diff: %08x\n", diff_pwr);
|
|
|
|
|
|
val = mt7601u_rr(dev, MT_TX_ALC_CFG_1);
|
|
val = mt7601u_rr(dev, MT_TX_ALC_CFG_1);
|
|
- curr_pwr = s6_to_int(MT76_GET(MT_TX_ALC_CFG_1_TEMP_COMP, val));
|
|
|
|
|
|
+ curr_pwr = s6_to_int(FIELD_GET(MT_TX_ALC_CFG_1_TEMP_COMP, val));
|
|
diff_pwr += curr_pwr;
|
|
diff_pwr += curr_pwr;
|
|
val = (val & ~MT_TX_ALC_CFG_1_TEMP_COMP) | int_to_s6(diff_pwr);
|
|
val = (val & ~MT_TX_ALC_CFG_1_TEMP_COMP) | int_to_s6(diff_pwr);
|
|
mt7601u_wr(dev, MT_TX_ALC_CFG_1, val);
|
|
mt7601u_wr(dev, MT_TX_ALC_CFG_1, val);
|