mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
wifi: rtw89: correct user macid mask of RX info for RTL8922D
The user MAC ID mask of RX info in MAC PPDU for RTL8922A and RTL8922D is different, correct it accordingly. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20251114060128.35363-15-pkshih@realtek.com
This commit is contained in:
committed by
Ping-Ke Shih
parent
9dab26b9fa
commit
09afd209a8
@@ -1834,9 +1834,13 @@ static int rtw89_core_rx_process_mac_ppdu(struct rtw89_dev *rtwdev,
|
||||
/* For WiFi 7 chips, RXWD.mac_id of PPDU status is not set
|
||||
* by hardware, so update mac_id by rxinfo_user[].mac_id.
|
||||
*/
|
||||
if (chip_gen == RTW89_CHIP_BE)
|
||||
if (chip->chip_id == RTL8922A)
|
||||
phy_ppdu->mac_id =
|
||||
le32_get_bits(user->w0, RTW89_RXINFO_USER_MACID);
|
||||
else if (chip->chip_id == RTL8922D)
|
||||
phy_ppdu->mac_id =
|
||||
le32_get_bits(user->w0, RTW89_RXINFO_USER_MACID_V1);
|
||||
|
||||
phy_ppdu->has_data =
|
||||
le32_get_bits(user->w0, RTW89_RXINFO_USER_DATA);
|
||||
phy_ppdu->has_bcn =
|
||||
|
||||
@@ -155,6 +155,7 @@ enum rtw89_core_chip_id {
|
||||
RTL8852C,
|
||||
RTL8851B,
|
||||
RTL8922A,
|
||||
RTL8922D,
|
||||
};
|
||||
|
||||
enum rtw89_chip_gen {
|
||||
|
||||
@@ -421,6 +421,7 @@ struct rtw89_rxinfo_user {
|
||||
#define RTW89_RXINFO_USER_MGMT BIT(3)
|
||||
#define RTW89_RXINFO_USER_BCN BIT(4)
|
||||
#define RTW89_RXINFO_USER_MACID GENMASK(15, 8)
|
||||
#define RTW89_RXINFO_USER_MACID_V1 GENMASK(31, 20)
|
||||
|
||||
struct rtw89_rxinfo {
|
||||
__le32 w0;
|
||||
|
||||
Reference in New Issue
Block a user