Lines Matching refs:pn
71 u8 *iv, u64 pn, u8 key_idx)
75 iv[0] = u64_get_bits(pn, RTW89_KEY_PN_1);
76 iv[1] = (u64_get_bits(pn, RTW89_KEY_PN_1) | 0x20) & 0x7f;
77 iv[2] = u64_get_bits(pn, RTW89_KEY_PN_0);
83 iv[0] = u64_get_bits(pn, RTW89_KEY_PN_0);
84 iv[1] = u64_get_bits(pn, RTW89_KEY_PN_1);
92 iv[4] = u64_get_bits(pn, RTW89_KEY_PN_2);
93 iv[5] = u64_get_bits(pn, RTW89_KEY_PN_3);
94 iv[6] = u64_get_bits(pn, RTW89_KEY_PN_4);
95 iv[7] = u64_get_bits(pn, RTW89_KEY_PN_5);
106 u64 pn;
110 /* seq.ccmp.pn[] is BE order array */
111 pn = u64_encode_bits(seq.ccmp.pn[0], RTW89_KEY_PN_5) |
112 u64_encode_bits(seq.ccmp.pn[1], RTW89_KEY_PN_4) |
113 u64_encode_bits(seq.ccmp.pn[2], RTW89_KEY_PN_3) |
114 u64_encode_bits(seq.ccmp.pn[3], RTW89_KEY_PN_2) |
115 u64_encode_bits(seq.ccmp.pn[4], RTW89_KEY_PN_1) |
116 u64_encode_bits(seq.ccmp.pn[5], RTW89_KEY_PN_0);
118 err = _pn_to_iv(rtwdev, key, iv, pn, key->keyidx);
123 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%llx to iv-%*ph\n",
124 __func__, key->keyidx, pn, 8, iv);
126 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%jx to iv-%*ph\n",
127 __func__, key->keyidx, (uintmax_t)pn, 8, iv);
138 u64 pn;
140 pn = atomic64_inc_return(&key->tx_pn);
141 err = _pn_to_iv(rtwdev, key, iv, pn, key->keyidx);
146 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%llx to iv-%*ph\n",
147 __func__, key->keyidx, pn, 8, iv);
149 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%jx to iv-%*ph\n",
150 __func__, key->keyidx, (uintmax_t)pn, 8, iv);
156 static int _iv_to_pn(struct rtw89_dev *rtwdev, u8 *iv, u64 *pn, u8 *key_id,
161 *pn = u64_encode_bits(iv[2], RTW89_KEY_PN_0) |
168 *pn = u64_encode_bits(iv[0], RTW89_KEY_PN_0) |
175 *pn |= u64_encode_bits(iv[4], RTW89_KEY_PN_2) |
192 u64 pn;
194 err = _iv_to_pn(rtwdev, iv, &pn, NULL, key);
198 /* seq.ccmp.pn[] is BE order array */
199 seq.ccmp.pn[0] = u64_get_bits(pn, RTW89_KEY_PN_5);
200 seq.ccmp.pn[1] = u64_get_bits(pn, RTW89_KEY_PN_4);
201 seq.ccmp.pn[2] = u64_get_bits(pn, RTW89_KEY_PN_3);
202 seq.ccmp.pn[3] = u64_get_bits(pn, RTW89_KEY_PN_2);
203 seq.ccmp.pn[4] = u64_get_bits(pn, RTW89_KEY_PN_1);
204 seq.ccmp.pn[5] = u64_get_bits(pn, RTW89_KEY_PN_0);
207 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d iv-%*ph to pn-%*ph\n",
208 __func__, key->keyidx, 8, iv, 6, seq.ccmp.pn);
218 u64 pn;
220 err = _iv_to_pn(rtwdev, iv, &pn, NULL, key);
224 atomic64_set(&key->tx_pn, pn);
226 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d iv-%*ph to pn-%llx\n",
227 __func__, key->keyidx, 8, iv, pn);
229 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d iv-%*ph to pn-%jx\n",
230 __func__, key->keyidx, 8, iv, (uintmax_t)pn);
241 u64 pn;
252 /* seq.ccmp.pn[] is BE order array */
253 pn = u64_encode_bits(seq.ccmp.pn[0], RTW89_KEY_PN_5) |
254 u64_encode_bits(seq.ccmp.pn[1], RTW89_KEY_PN_4) |
255 u64_encode_bits(seq.ccmp.pn[2], RTW89_KEY_PN_3) |
256 u64_encode_bits(seq.ccmp.pn[3], RTW89_KEY_PN_2) |
257 u64_encode_bits(seq.ccmp.pn[4], RTW89_KEY_PN_1) |
258 u64_encode_bits(seq.ccmp.pn[5], RTW89_KEY_PN_0);
259 gtk_info->ipn = cpu_to_le64(pn);
262 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%llx\n",
263 __func__, key->keyidx, pn);
265 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%jx\n",
266 __func__, key->keyidx, (uintmax_t)pn);
274 u64 pn)
283 /* seq.ccmp.pn[] is BE order array */
284 seq.ccmp.pn[0] = u64_get_bits(pn, RTW89_KEY_PN_5);
285 seq.ccmp.pn[1] = u64_get_bits(pn, RTW89_KEY_PN_4);
286 seq.ccmp.pn[2] = u64_get_bits(pn, RTW89_KEY_PN_3);
287 seq.ccmp.pn[3] = u64_get_bits(pn, RTW89_KEY_PN_2);
288 seq.ccmp.pn[4] = u64_get_bits(pn, RTW89_KEY_PN_1);
289 seq.ccmp.pn[5] = u64_get_bits(pn, RTW89_KEY_PN_0);
292 rtw89_debug(rtwdev, RTW89_DBG_WOW, "%s key %d pn-%*ph\n",
293 __func__, key->keyidx, 6, seq.ccmp.pn);