mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
rtw88: 8723d: Set IG register for CCK rate
DIG sets only one IG register for most chips, but 8723D need to set additional register for CCK rate. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20200504105010.10780-8-yhchuang@realtek.com
This commit is contained in:
parent
439d4a978d
commit
fc637a860a
@ -1101,6 +1101,7 @@ struct rtw_chip_info {
|
||||
const struct rtw_intf_phy_para_table *intf_table;
|
||||
|
||||
const struct rtw_hw_reg *dig;
|
||||
const struct rtw_hw_reg *dig_cck;
|
||||
u32 rf_base_addr[2];
|
||||
u32 rf_sipi_addr[2];
|
||||
const struct rtw_rf_sipi_addr *rf_sipi_read_addr;
|
||||
|
@ -140,9 +140,13 @@ void rtw_phy_dig_write(struct rtw_dev *rtwdev, u8 igi)
|
||||
{
|
||||
struct rtw_chip_info *chip = rtwdev->chip;
|
||||
struct rtw_hal *hal = &rtwdev->hal;
|
||||
const struct rtw_hw_reg *dig_cck = &chip->dig_cck[0];
|
||||
u32 addr, mask;
|
||||
u8 path;
|
||||
|
||||
if (dig_cck)
|
||||
rtw_write32_mask(rtwdev, dig_cck->addr, dig_cck->mask, igi >> 1);
|
||||
|
||||
for (path = 0; path < hal->rf_path_num; path++) {
|
||||
addr = chip->dig[path].addr;
|
||||
mask = chip->dig[path].mask;
|
||||
|
@ -1053,6 +1053,10 @@ static const struct rtw_hw_reg rtw8723d_dig[] = {
|
||||
[1] = { .addr = 0xc50, .mask = 0x7f },
|
||||
};
|
||||
|
||||
static const struct rtw_hw_reg rtw8723d_dig_cck[] = {
|
||||
[0] = { .addr = 0xa0c, .mask = 0x3f00 },
|
||||
};
|
||||
|
||||
static const struct rtw_rf_sipi_addr rtw8723d_rf_sipi_addr[] = {
|
||||
[RF_PATH_A] = { .hssi_1 = 0x820, .lssi_read = 0x8a0,
|
||||
.hssi_2 = 0x824, .lssi_read_pi = 0x8b8},
|
||||
@ -1095,6 +1099,7 @@ struct rtw_chip_info rtw8723d_hw_spec = {
|
||||
.page_table = page_table_8723d,
|
||||
.rqpn_table = rqpn_table_8723d,
|
||||
.dig = rtw8723d_dig,
|
||||
.dig_cck = rtw8723d_dig_cck,
|
||||
.rf_sipi_addr = {0x840, 0x844},
|
||||
.rf_sipi_read_addr = rtw8723d_rf_sipi_addr,
|
||||
.fix_rf_phy_num = 2,
|
||||
|
@ -2435,6 +2435,7 @@ struct rtw_chip_info rtw8822b_hw_spec = {
|
||||
.rqpn_table = rqpn_table_8822b,
|
||||
.intf_table = &phy_para_table_8822b,
|
||||
.dig = rtw8822b_dig,
|
||||
.dig_cck = NULL,
|
||||
.rf_base_addr = {0x2800, 0x2c00},
|
||||
.rf_sipi_addr = {0xc90, 0xe90},
|
||||
.mac_tbl = &rtw8822b_mac_tbl,
|
||||
|
@ -4297,6 +4297,7 @@ struct rtw_chip_info rtw8822c_hw_spec = {
|
||||
.rqpn_table = rqpn_table_8822c,
|
||||
.intf_table = &phy_para_table_8822c,
|
||||
.dig = rtw8822c_dig,
|
||||
.dig_cck = NULL,
|
||||
.rf_base_addr = {0x3c00, 0x4c00},
|
||||
.rf_sipi_addr = {0x1808, 0x4108},
|
||||
.mac_tbl = &rtw8822c_mac_tbl,
|
||||
|
Loading…
Reference in New Issue
Block a user