Lines Matching defs:sec_cam
12 struct rtw89_sec_cam_entry *sec_cam,
30 key32[i] = FIELD_PREP(GENMASK(7, 0), sec_cam->key[j + 0]) |
31 FIELD_PREP(GENMASK(15, 8), sec_cam->key[j + 1]) |
32 FIELD_PREP(GENMASK(23, 16), sec_cam->key[j + 2]) |
33 FIELD_PREP(GENMASK(31, 24), sec_cam->key[j + 3]);
37 RTW89_SET_FWCMD_SEC_IDX(cmd, sec_cam->sec_cam_idx + (ext_key ? 1 : 0));
38 RTW89_SET_FWCMD_SEC_OFFSET(cmd, sec_cam->offset);
39 RTW89_SET_FWCMD_SEC_LEN(cmd, sec_cam->len);
40 RTW89_SET_FWCMD_SEC_TYPE(cmd, sec_cam->type);
42 RTW89_SET_FWCMD_SEC_SPP_MODE(cmd, sec_cam->spp_mode);
52 struct rtw89_sec_cam_entry *sec_cam)
57 skb = rtw89_cam_get_sec_key_cmd(rtwdev, sec_cam, false);
76 if (!sec_cam->ext_key)
79 ext_skb = rtw89_cam_get_sec_key_cmd(rtwdev, sec_cam, true);
138 struct rtw89_sec_cam_entry *sec_cam,
160 if (sec_cam->type == RTW89_SEC_KEY_TYPE_BIP_CCMP128) {
186 if (sec_cam->type == RTW89_SEC_KEY_TYPE_BIP_CCMP128) {
217 const struct rtw89_sec_cam_entry *sec_cam,
235 if (addr_cam->sec_ent[i] != sec_cam->sec_cam_idx)
258 struct rtw89_sec_cam_entry *sec_cam)
278 ret = rtw89_cam_get_addr_cam_key_idx(addr_cam, sec_cam, key, &key_idx);
281 addr_cam->sec_ent_mode, sec_cam->type);
286 addr_cam->sec_ent[key_idx] = sec_cam->sec_cam_idx;
311 struct rtw89_sec_cam_entry *sec_cam = NULL;
329 sec_cam = kzalloc(sizeof(*sec_cam), GFP_KERNEL);
330 if (!sec_cam) {
336 cam_info->sec_entries[sec_cam_idx] = sec_cam;
338 sec_cam->sec_cam_idx = sec_cam_idx;
339 sec_cam->type = hw_key_type;
340 sec_cam->len = RTW89_SEC_CAM_LEN;
341 sec_cam->ext_key = ext_key;
342 memcpy(sec_cam->key, key->key, key->keylen);
343 ret = rtw89_cam_send_sec_key_cmd(rtwdev, sec_cam);
350 ret = rtw89_cam_attach_sec_cam(rtwdev, vif, sta, key, sec_cam);
360 kfree(sec_cam);
431 const struct rtw89_sec_cam_entry *sec_cam;
436 sec_cam = cam_info->sec_entries[sec_cam_idx];
437 if (!sec_cam)
440 ret = rtw89_cam_detach_sec_cam(rtwdev, vif, sta, sec_cam, inform_fw);
447 if (sec_cam->ext_key)
450 kfree(sec_cam);