mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 17:13:52 +02:00
wifi: rtw89: Fix P2P behavior for WiFi 7 chips
Previously we used CCK rate when scanning for P2P on WiFi 7 chips. Fix this by explicitly setting the rate to OFDM 6Mbps. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://msgid.link/20240522024531.11401-1-pkshih@realtek.com
This commit is contained in:
parent
85e02a0aee
commit
e88c1714b2
|
|
@ -4850,6 +4850,7 @@ int rtw89_fw_h2c_scan_offload_be(struct rtw89_dev *rtwdev,
|
|||
{
|
||||
struct rtw89_hw_scan_info *scan_info = &rtwdev->scan_info;
|
||||
struct rtw89_wait_info *wait = &rtwdev->mac.fw_ofld_wait;
|
||||
struct cfg80211_scan_request *req = rtwvif->scan_req;
|
||||
struct rtw89_h2c_scanofld_be_macc_role *macc_role;
|
||||
struct rtw89_chan *op = &scan_info->op_chan;
|
||||
struct rtw89_h2c_scanofld_be_opch *opch;
|
||||
|
|
@ -4923,6 +4924,15 @@ int rtw89_fw_h2c_scan_offload_be(struct rtw89_dev *rtwdev,
|
|||
RTW89_H2C_SCANOFLD_BE_W6_CHAN_PROHIB_LOW);
|
||||
h2c->w7 = le32_encode_bits(option->prohib_chan >> 32,
|
||||
RTW89_H2C_SCANOFLD_BE_W7_CHAN_PROHIB_HIGH);
|
||||
if (req->no_cck) {
|
||||
h2c->w0 |= le32_encode_bits(true, RTW89_H2C_SCANOFLD_BE_W0_PROBE_WITH_RATE);
|
||||
h2c->w8 = le32_encode_bits(RTW89_HW_RATE_OFDM6,
|
||||
RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_2GHZ) |
|
||||
le32_encode_bits(RTW89_HW_RATE_OFDM6,
|
||||
RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_5GHZ) |
|
||||
le32_encode_bits(RTW89_HW_RATE_OFDM6,
|
||||
RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_6GHZ);
|
||||
}
|
||||
ptr += sizeof(*h2c);
|
||||
|
||||
for (i = 0; i < option->num_macc_role; i++) {
|
||||
|
|
|
|||
|
|
@ -2722,6 +2722,7 @@ struct rtw89_h2c_scanofld_be {
|
|||
#define RTW89_H2C_SCANOFLD_BE_W0_MACID GENMASK(23, 8)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W0_PORT GENMASK(26, 24)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W0_BAND GENMASK(28, 27)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W0_PROBE_WITH_RATE BIT(29)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W1_NUM_MACC_ROLE GENMASK(7, 0)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W1_NUM_OP GENMASK(15, 8)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W1_NORM_PD GENMASK(31, 16)
|
||||
|
|
@ -2738,6 +2739,9 @@ struct rtw89_h2c_scanofld_be {
|
|||
#define RTW89_H2C_SCANOFLD_BE_W5_MLO_MODE GENMASK(31, 0)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W6_CHAN_PROHIB_LOW GENMASK(31, 0)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W7_CHAN_PROHIB_HIGH GENMASK(31, 0)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_2GHZ GENMASK(7, 0)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_5GHZ GENMASK(15, 8)
|
||||
#define RTW89_H2C_SCANOFLD_BE_W8_PROBE_RATE_6GHZ GENMASK(23, 16)
|
||||
|
||||
static inline void RTW89_SET_FWCMD_P2P_MACID(void *cmd, u32 val)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user