Skip to content

Commit 97c75e1

Browse files
saschahauerKalle Valo
authored andcommitted
wifi: rtw88: set pkg_type correctly for specific rtw8821c variants
According to the vendor driver the pkg_type has to be set to '1' for some rtw8821c variants. As the pkg_type has been hardcoded to '0', add a field for it in struct rtw_hal and set this correctly in the rtw8821c part. With this parsing of a rtw_table is influenced and check_positive() in phy.c returns true for some cases here. The same is done in the vendor driver. However, this has no visible effect on the driver here. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20230417140358.2240429-4-s.hauer@pengutronix.de
1 parent 14705f9 commit 97c75e1

3 files changed

Lines changed: 5 additions & 1 deletion

File tree

drivers/net/wireless/realtek/rtw88/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2008,7 +2008,7 @@ static int rtw_chip_board_info_setup(struct rtw_dev *rtwdev)
20082008
if (!rfe_def)
20092009
return -ENODEV;
20102010

2011-
rtw_phy_setup_phy_cond(rtwdev, 0);
2011+
rtw_phy_setup_phy_cond(rtwdev, hal->pkg_type);
20122012

20132013
rtw_phy_init_tx_power(rtwdev);
20142014
if (rfe_def->agc_btg_tbl)

drivers/net/wireless/realtek/rtw88/main.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1900,6 +1900,7 @@ struct rtw_hal {
19001900
u8 cut_version;
19011901
u8 mp_chip;
19021902
u8 oem_id;
1903+
u8 pkg_type;
19031904
struct rtw_phy_cond phy_cond;
19041905

19051906
u8 ps_mode;

drivers/net/wireless/realtek/rtw88/rtw8821c.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ enum rtw8821ce_rf_set {
4747

4848
static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
4949
{
50+
struct rtw_hal *hal = &rtwdev->hal;
5051
struct rtw_efuse *efuse = &rtwdev->efuse;
5152
struct rtw8821c_efuse *map;
5253
int i;
@@ -70,6 +71,8 @@ static int rtw8821c_read_efuse(struct rtw_dev *rtwdev, u8 *log_map)
7071
efuse->tx_bb_swing_setting_2g = map->tx_bb_swing_setting_2g;
7172
efuse->tx_bb_swing_setting_5g = map->tx_bb_swing_setting_5g;
7273

74+
hal->pkg_type = map->rfe_option & BIT(5) ? 1 : 0;
75+
7376
for (i = 0; i < 4; i++)
7477
efuse->txpwr_idx_table[i] = map->txpwr_idx_table[i];
7578

0 commit comments

Comments
 (0)