summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/realtek/rtw89/wow.h
diff options
context:
space:
mode:
authorChih-Kang Chang <gary.chang@realtek.com>2024-05-02 05:25:03 +0300
committerPing-Ke Shih <pkshih@realtek.com>2024-05-04 03:05:15 +0300
commit940cd99625de8c75209b1169e6cd5698075c0a37 (patch)
treeef8cc2fd0254e307bec5e53ba6ea772e79d4fdc8 /drivers/net/wireless/realtek/rtw89/wow.h
parentff53fce5c78ba27ec7eb0baff7ef9648fde7ad8e (diff)
downloadlinux-940cd99625de8c75209b1169e6cd5698075c0a37.tar.xz
wifi: rtw89: wow: support 802.11w PMF IGTK rekey
Once we connect to AP with 802.11w enabled, IGTK rekey happen during GTK happen. We get IGTK IPN from mac80211 and set to firmware, and get latest IGTK IPN from AOAC report then update to mac80211 after resume. When rekey happen, also update new IGTK key info to mac80211. Furthermore, We construct SA query reply packet to firmware. If firmware received SA query request from AP can transmit reply back when suspend. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://msgid.link/20240502022505.28966-11-pkshih@realtek.com
Diffstat (limited to 'drivers/net/wireless/realtek/rtw89/wow.h')
-rw-r--r--drivers/net/wireless/realtek/rtw89/wow.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/wow.h b/drivers/net/wireless/realtek/rtw89/wow.h
index 16d18074f909..e595aee0196d 100644
--- a/drivers/net/wireless/realtek/rtw89/wow.h
+++ b/drivers/net/wireless/realtek/rtw89/wow.h
@@ -12,6 +12,15 @@
#define RTW89_KEY_PN_4 GENMASK_ULL(39, 32)
#define RTW89_KEY_PN_5 GENMASK_ULL(47, 40)
+#define RTW89_IGTK_IPN_0 GENMASK_ULL(7, 0)
+#define RTW89_IGTK_IPN_1 GENMASK_ULL(15, 8)
+#define RTW89_IGTK_IPN_2 GENMASK_ULL(23, 16)
+#define RTW89_IGTK_IPN_3 GENMASK_ULL(31, 24)
+#define RTW89_IGTK_IPN_4 GENMASK_ULL(39, 32)
+#define RTW89_IGTK_IPN_5 GENMASK_ULL(47, 40)
+#define RTW89_IGTK_IPN_6 GENMASK_ULL(55, 48)
+#define RTW89_IGTK_IPN_7 GENMASK_ULL(63, 56)
+
#define RTW89_WOW_VALID_CHECK 0xDD
#define RTW89_WOW_SYMBOL_CHK_PTK BIT(0)
#define RTW89_WOW_SYMBOL_CHK_GTK BIT(1)
@@ -50,6 +59,7 @@ struct rtw89_cipher_info {
struct rtw89_set_key_info_iter_data {
u32 gtk_cipher;
+ u32 igtk_cipher;
bool rx_ready;
bool error;
};