wmi.c (90a9fb5b6618ae070c94b2141ec5de6a2a207eae) | wmi.c (afba35d7d12514aa1122fdfb4ca5459417656813) |
---|---|
1// SPDX-License-Identifier: BSD-3-Clause-Clear 2/* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. All rights reserved. 5 */ 6#include <linux/skbuff.h> 7#include <linux/ctype.h> 8#include <net/mac80211.h> --- 3167 unchanged lines hidden (view full) --- 3176 cmd->add_sta_slot_interval = params->add_sta_slot_interval; 3177 cmd->remove_sta_slot_interval = params->remove_sta_slot_interval; 3178 cmd->mbss_support = params->mbss_support; 3179 3180 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_ENABLE_CMDID); 3181 if (ret) { 3182 ath11k_warn(ab, "Failed to send WMI_TWT_ENABLE_CMDID"); 3183 dev_kfree_skb(skb); | 1// SPDX-License-Identifier: BSD-3-Clause-Clear 2/* 3 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 4 * Copyright (c) 2021, 2023 Qualcomm Innovation Center, Inc. All rights reserved. 5 */ 6#include <linux/skbuff.h> 7#include <linux/ctype.h> 8#include <net/mac80211.h> --- 3167 unchanged lines hidden (view full) --- 3176 cmd->add_sta_slot_interval = params->add_sta_slot_interval; 3177 cmd->remove_sta_slot_interval = params->remove_sta_slot_interval; 3178 cmd->mbss_support = params->mbss_support; 3179 3180 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_ENABLE_CMDID); 3181 if (ret) { 3182 ath11k_warn(ab, "Failed to send WMI_TWT_ENABLE_CMDID"); 3183 dev_kfree_skb(skb); |
3184 } else { 3185 ar->twt_enabled = 1; | 3184 return ret; |
3186 } | 3185 } |
3187 return ret; | 3186 3187 ar->twt_enabled = 1; 3188 3189 return 0; |
3188} 3189 3190int 3191ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id) 3192{ 3193 struct ath11k_pdev_wmi *wmi = ar->wmi; 3194 struct ath11k_base *ab = wmi->wmi_ab->ab; 3195 struct wmi_twt_disable_params_cmd *cmd; --- 10 unchanged lines hidden (view full) --- 3206 cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_TWT_DISABLE_CMD) | 3207 FIELD_PREP(WMI_TLV_LEN, len - TLV_HDR_SIZE); 3208 cmd->pdev_id = pdev_id; 3209 3210 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_DISABLE_CMDID); 3211 if (ret) { 3212 ath11k_warn(ab, "Failed to send WMI_TWT_DISABLE_CMDID"); 3213 dev_kfree_skb(skb); | 3190} 3191 3192int 3193ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id) 3194{ 3195 struct ath11k_pdev_wmi *wmi = ar->wmi; 3196 struct ath11k_base *ab = wmi->wmi_ab->ab; 3197 struct wmi_twt_disable_params_cmd *cmd; --- 10 unchanged lines hidden (view full) --- 3208 cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_TWT_DISABLE_CMD) | 3209 FIELD_PREP(WMI_TLV_LEN, len - TLV_HDR_SIZE); 3210 cmd->pdev_id = pdev_id; 3211 3212 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_DISABLE_CMDID); 3213 if (ret) { 3214 ath11k_warn(ab, "Failed to send WMI_TWT_DISABLE_CMDID"); 3215 dev_kfree_skb(skb); |
3214 } else { 3215 ar->twt_enabled = 0; | 3216 return ret; |
3216 } | 3217 } |
3217 return ret; | 3218 3219 ar->twt_enabled = 0; 3220 3221 return 0; |
3218} 3219 3220int ath11k_wmi_send_twt_add_dialog_cmd(struct ath11k *ar, 3221 struct wmi_twt_add_dialog_params *params) 3222{ 3223 struct ath11k_pdev_wmi *wmi = ar->wmi; 3224 struct ath11k_base *ab = wmi->wmi_ab->ab; 3225 struct wmi_twt_add_dialog_params_cmd *cmd; --- 35 unchanged lines hidden (view full) --- 3261 3262 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_ADD_DIALOG_CMDID); 3263 3264 if (ret) { 3265 ath11k_warn(ab, 3266 "failed to send wmi command to add twt dialog: %d", 3267 ret); 3268 dev_kfree_skb(skb); | 3222} 3223 3224int ath11k_wmi_send_twt_add_dialog_cmd(struct ath11k *ar, 3225 struct wmi_twt_add_dialog_params *params) 3226{ 3227 struct ath11k_pdev_wmi *wmi = ar->wmi; 3228 struct ath11k_base *ab = wmi->wmi_ab->ab; 3229 struct wmi_twt_add_dialog_params_cmd *cmd; --- 35 unchanged lines hidden (view full) --- 3265 3266 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_ADD_DIALOG_CMDID); 3267 3268 if (ret) { 3269 ath11k_warn(ab, 3270 "failed to send wmi command to add twt dialog: %d", 3271 ret); 3272 dev_kfree_skb(skb); |
3273 return ret; |
|
3269 } | 3274 } |
3270 return ret; | 3275 3276 return 0; |
3271} 3272 3273int ath11k_wmi_send_twt_del_dialog_cmd(struct ath11k *ar, 3274 struct wmi_twt_del_dialog_params *params) 3275{ 3276 struct ath11k_pdev_wmi *wmi = ar->wmi; 3277 struct ath11k_base *ab = wmi->wmi_ab->ab; 3278 struct wmi_twt_del_dialog_params_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3298 cmd->vdev_id, cmd->dialog_id); 3299 3300 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_DEL_DIALOG_CMDID); 3301 if (ret) { 3302 ath11k_warn(ab, 3303 "failed to send wmi command to delete twt dialog: %d", 3304 ret); 3305 dev_kfree_skb(skb); | 3277} 3278 3279int ath11k_wmi_send_twt_del_dialog_cmd(struct ath11k *ar, 3280 struct wmi_twt_del_dialog_params *params) 3281{ 3282 struct ath11k_pdev_wmi *wmi = ar->wmi; 3283 struct ath11k_base *ab = wmi->wmi_ab->ab; 3284 struct wmi_twt_del_dialog_params_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3304 cmd->vdev_id, cmd->dialog_id); 3305 3306 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_DEL_DIALOG_CMDID); 3307 if (ret) { 3308 ath11k_warn(ab, 3309 "failed to send wmi command to delete twt dialog: %d", 3310 ret); 3311 dev_kfree_skb(skb); |
3312 return ret; |
|
3306 } | 3313 } |
3307 return ret; | 3314 3315 return 0; |
3308} 3309 3310int ath11k_wmi_send_twt_pause_dialog_cmd(struct ath11k *ar, 3311 struct wmi_twt_pause_dialog_params *params) 3312{ 3313 struct ath11k_pdev_wmi *wmi = ar->wmi; 3314 struct ath11k_base *ab = wmi->wmi_ab->ab; 3315 struct wmi_twt_pause_dialog_params_cmd *cmd; --- 20 unchanged lines hidden (view full) --- 3336 cmd->vdev_id, cmd->dialog_id); 3337 3338 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_PAUSE_DIALOG_CMDID); 3339 if (ret) { 3340 ath11k_warn(ab, 3341 "failed to send wmi command to pause twt dialog: %d", 3342 ret); 3343 dev_kfree_skb(skb); | 3316} 3317 3318int ath11k_wmi_send_twt_pause_dialog_cmd(struct ath11k *ar, 3319 struct wmi_twt_pause_dialog_params *params) 3320{ 3321 struct ath11k_pdev_wmi *wmi = ar->wmi; 3322 struct ath11k_base *ab = wmi->wmi_ab->ab; 3323 struct wmi_twt_pause_dialog_params_cmd *cmd; --- 20 unchanged lines hidden (view full) --- 3344 cmd->vdev_id, cmd->dialog_id); 3345 3346 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_PAUSE_DIALOG_CMDID); 3347 if (ret) { 3348 ath11k_warn(ab, 3349 "failed to send wmi command to pause twt dialog: %d", 3350 ret); 3351 dev_kfree_skb(skb); |
3352 return ret; |
|
3344 } | 3353 } |
3345 return ret; | 3354 3355 return 0; |
3346} 3347 3348int ath11k_wmi_send_twt_resume_dialog_cmd(struct ath11k *ar, 3349 struct wmi_twt_resume_dialog_params *params) 3350{ 3351 struct ath11k_pdev_wmi *wmi = ar->wmi; 3352 struct ath11k_base *ab = wmi->wmi_ab->ab; 3353 struct wmi_twt_resume_dialog_params_cmd *cmd; --- 23 unchanged lines hidden (view full) --- 3377 cmd->next_twt_size); 3378 3379 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_RESUME_DIALOG_CMDID); 3380 if (ret) { 3381 ath11k_warn(ab, 3382 "failed to send wmi command to resume twt dialog: %d", 3383 ret); 3384 dev_kfree_skb(skb); | 3356} 3357 3358int ath11k_wmi_send_twt_resume_dialog_cmd(struct ath11k *ar, 3359 struct wmi_twt_resume_dialog_params *params) 3360{ 3361 struct ath11k_pdev_wmi *wmi = ar->wmi; 3362 struct ath11k_base *ab = wmi->wmi_ab->ab; 3363 struct wmi_twt_resume_dialog_params_cmd *cmd; --- 23 unchanged lines hidden (view full) --- 3387 cmd->next_twt_size); 3388 3389 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_TWT_RESUME_DIALOG_CMDID); 3390 if (ret) { 3391 ath11k_warn(ab, 3392 "failed to send wmi command to resume twt dialog: %d", 3393 ret); 3394 dev_kfree_skb(skb); |
3395 return ret; |
|
3385 } | 3396 } |
3386 return ret; | 3397 3398 return 0; |
3387} 3388 3389int 3390ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, u32 vdev_id, 3391 struct ieee80211_he_obss_pd *he_obss_pd) 3392{ 3393 struct ath11k_pdev_wmi *wmi = ar->wmi; 3394 struct ath11k_base *ab = wmi->wmi_ab->ab; --- 17 unchanged lines hidden (view full) --- 3412 cmd->obss_max = he_obss_pd->max_offset; 3413 3414 ret = ath11k_wmi_cmd_send(wmi, skb, 3415 WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID); 3416 if (ret) { 3417 ath11k_warn(ab, 3418 "Failed to send WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID"); 3419 dev_kfree_skb(skb); | 3399} 3400 3401int 3402ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, u32 vdev_id, 3403 struct ieee80211_he_obss_pd *he_obss_pd) 3404{ 3405 struct ath11k_pdev_wmi *wmi = ar->wmi; 3406 struct ath11k_base *ab = wmi->wmi_ab->ab; --- 17 unchanged lines hidden (view full) --- 3424 cmd->obss_max = he_obss_pd->max_offset; 3425 3426 ret = ath11k_wmi_cmd_send(wmi, skb, 3427 WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID); 3428 if (ret) { 3429 ath11k_warn(ab, 3430 "Failed to send WMI_PDEV_OBSS_PD_SPATIAL_REUSE_CMDID"); 3431 dev_kfree_skb(skb); |
3432 return ret; |
|
3420 } | 3433 } |
3421 return ret; | 3434 3435 return 0; |
3422} 3423 3424int 3425ath11k_wmi_pdev_set_srg_bss_color_bitmap(struct ath11k *ar, u32 *bitmap) 3426{ 3427 struct ath11k_pdev_wmi *wmi = ar->wmi; 3428 struct ath11k_base *ab = wmi->wmi_ab->ab; 3429 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 18 unchanged lines hidden (view full) --- 3448 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3449 3450 ret = ath11k_wmi_cmd_send(wmi, skb, 3451 WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID); 3452 if (ret) { 3453 ath11k_warn(ab, 3454 "failed to send WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID"); 3455 dev_kfree_skb(skb); | 3436} 3437 3438int 3439ath11k_wmi_pdev_set_srg_bss_color_bitmap(struct ath11k *ar, u32 *bitmap) 3440{ 3441 struct ath11k_pdev_wmi *wmi = ar->wmi; 3442 struct ath11k_base *ab = wmi->wmi_ab->ab; 3443 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 18 unchanged lines hidden (view full) --- 3462 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3463 3464 ret = ath11k_wmi_cmd_send(wmi, skb, 3465 WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID); 3466 if (ret) { 3467 ath11k_warn(ab, 3468 "failed to send WMI_PDEV_SET_SRG_BSS_COLOR_BITMAP_CMDID"); 3469 dev_kfree_skb(skb); |
3470 return ret; |
|
3456 } 3457 | 3471 } 3472 |
3458 return ret; | 3473 return 0; |
3459} 3460 3461int 3462ath11k_wmi_pdev_set_srg_patial_bssid_bitmap(struct ath11k *ar, u32 *bitmap) 3463{ 3464 struct ath11k_pdev_wmi *wmi = ar->wmi; 3465 struct ath11k_base *ab = wmi->wmi_ab->ab; 3466 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3486 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3487 3488 ret = ath11k_wmi_cmd_send(wmi, skb, 3489 WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); 3490 if (ret) { 3491 ath11k_warn(ab, 3492 "failed to send WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID"); 3493 dev_kfree_skb(skb); | 3474} 3475 3476int 3477ath11k_wmi_pdev_set_srg_patial_bssid_bitmap(struct ath11k *ar, u32 *bitmap) 3478{ 3479 struct ath11k_pdev_wmi *wmi = ar->wmi; 3480 struct ath11k_base *ab = wmi->wmi_ab->ab; 3481 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3501 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3502 3503 ret = ath11k_wmi_cmd_send(wmi, skb, 3504 WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); 3505 if (ret) { 3506 ath11k_warn(ab, 3507 "failed to send WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID"); 3508 dev_kfree_skb(skb); |
3509 return ret; |
|
3494 } 3495 | 3510 } 3511 |
3496 return ret; | 3512 return 0; |
3497} 3498 3499int 3500ath11k_wmi_pdev_srg_obss_color_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3501{ 3502 struct ath11k_pdev_wmi *wmi = ar->wmi; 3503 struct ath11k_base *ab = wmi->wmi_ab->ab; 3504 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3524 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3525 3526 ret = ath11k_wmi_cmd_send(wmi, skb, 3527 WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); 3528 if (ret) { 3529 ath11k_warn(ab, 3530 "failed to send WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID"); 3531 dev_kfree_skb(skb); | 3513} 3514 3515int 3516ath11k_wmi_pdev_srg_obss_color_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3517{ 3518 struct ath11k_pdev_wmi *wmi = ar->wmi; 3519 struct ath11k_base *ab = wmi->wmi_ab->ab; 3520 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3540 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3541 3542 ret = ath11k_wmi_cmd_send(wmi, skb, 3543 WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); 3544 if (ret) { 3545 ath11k_warn(ab, 3546 "failed to send WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID"); 3547 dev_kfree_skb(skb); |
3548 return ret; |
|
3532 } 3533 | 3549 } 3550 |
3534 return ret; | 3551 return 0; |
3535} 3536 3537int 3538ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3539{ 3540 struct ath11k_pdev_wmi *wmi = ar->wmi; 3541 struct ath11k_base *ab = wmi->wmi_ab->ab; 3542 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3562 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3563 3564 ret = ath11k_wmi_cmd_send(wmi, skb, 3565 WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); 3566 if (ret) { 3567 ath11k_warn(ab, 3568 "failed to send WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID"); 3569 dev_kfree_skb(skb); | 3552} 3553 3554int 3555ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3556{ 3557 struct ath11k_pdev_wmi *wmi = ar->wmi; 3558 struct ath11k_base *ab = wmi->wmi_ab->ab; 3559 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3579 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3580 3581 ret = ath11k_wmi_cmd_send(wmi, skb, 3582 WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); 3583 if (ret) { 3584 ath11k_warn(ab, 3585 "failed to send WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID"); 3586 dev_kfree_skb(skb); |
3587 return ret; |
|
3570 } 3571 | 3588 } 3589 |
3572 return ret; | 3590 return 0; |
3573} 3574 3575int 3576ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3577{ 3578 struct ath11k_pdev_wmi *wmi = ar->wmi; 3579 struct ath11k_base *ab = wmi->wmi_ab->ab; 3580 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3600 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3601 3602 ret = ath11k_wmi_cmd_send(wmi, skb, 3603 WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); 3604 if (ret) { 3605 ath11k_warn(ab, 3606 "failed to send WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID"); 3607 dev_kfree_skb(skb); | 3591} 3592 3593int 3594ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3595{ 3596 struct ath11k_pdev_wmi *wmi = ar->wmi; 3597 struct ath11k_base *ab = wmi->wmi_ab->ab; 3598 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3618 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3619 3620 ret = ath11k_wmi_cmd_send(wmi, skb, 3621 WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID); 3622 if (ret) { 3623 ath11k_warn(ab, 3624 "failed to send WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID"); 3625 dev_kfree_skb(skb); |
3626 return ret; |
|
3608 } 3609 | 3627 } 3628 |
3610 return ret; | 3629 return 0; |
3611} 3612 3613int 3614ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3615{ 3616 struct ath11k_pdev_wmi *wmi = ar->wmi; 3617 struct ath11k_base *ab = wmi->wmi_ab->ab; 3618 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3638 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3639 3640 ret = ath11k_wmi_cmd_send(wmi, skb, 3641 WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); 3642 if (ret) { 3643 ath11k_warn(ab, 3644 "failed to send WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID"); 3645 dev_kfree_skb(skb); | 3630} 3631 3632int 3633ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap(struct ath11k *ar, u32 *bitmap) 3634{ 3635 struct ath11k_pdev_wmi *wmi = ar->wmi; 3636 struct ath11k_base *ab = wmi->wmi_ab->ab; 3637 struct wmi_pdev_obss_pd_bitmap_cmd *cmd; --- 19 unchanged lines hidden (view full) --- 3657 cmd->pdev_id, cmd->bitmap[0], cmd->bitmap[1]); 3658 3659 ret = ath11k_wmi_cmd_send(wmi, skb, 3660 WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID); 3661 if (ret) { 3662 ath11k_warn(ab, 3663 "failed to send WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID"); 3664 dev_kfree_skb(skb); |
3665 return ret; |
|
3646 } 3647 | 3666 } 3667 |
3648 return ret; | 3668 return 0; |
3649} 3650 3651int 3652ath11k_wmi_send_obss_color_collision_cfg_cmd(struct ath11k *ar, u32 vdev_id, 3653 u8 bss_color, u32 period, 3654 bool enable) 3655{ 3656 struct ath11k_pdev_wmi *wmi = ar->wmi; --- 26 unchanged lines hidden (view full) --- 3683 cmd->vdev_id, cmd->evt_type, cmd->current_bss_color, 3684 cmd->detection_period_ms, cmd->scan_period_ms); 3685 3686 ret = ath11k_wmi_cmd_send(wmi, skb, 3687 WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID); 3688 if (ret) { 3689 ath11k_warn(ab, "Failed to send WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID"); 3690 dev_kfree_skb(skb); | 3669} 3670 3671int 3672ath11k_wmi_send_obss_color_collision_cfg_cmd(struct ath11k *ar, u32 vdev_id, 3673 u8 bss_color, u32 period, 3674 bool enable) 3675{ 3676 struct ath11k_pdev_wmi *wmi = ar->wmi; --- 26 unchanged lines hidden (view full) --- 3703 cmd->vdev_id, cmd->evt_type, cmd->current_bss_color, 3704 cmd->detection_period_ms, cmd->scan_period_ms); 3705 3706 ret = ath11k_wmi_cmd_send(wmi, skb, 3707 WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID); 3708 if (ret) { 3709 ath11k_warn(ab, "Failed to send WMI_OBSS_COLOR_COLLISION_DET_CONFIG_CMDID"); 3710 dev_kfree_skb(skb); |
3711 return ret; |
|
3691 } | 3712 } |
3692 return ret; | 3713 3714 return 0; |
3693} 3694 3695int ath11k_wmi_send_bss_color_change_enable_cmd(struct ath11k *ar, u32 vdev_id, 3696 bool enable) 3697{ 3698 struct ath11k_pdev_wmi *wmi = ar->wmi; 3699 struct ath11k_base *ab = wmi->wmi_ab->ab; 3700 struct wmi_bss_color_change_enable_params_cmd *cmd; --- 16 unchanged lines hidden (view full) --- 3717 "wmi_send_bss_color_change_enable id %d enable %d\n", 3718 cmd->vdev_id, cmd->enable); 3719 3720 ret = ath11k_wmi_cmd_send(wmi, skb, 3721 WMI_BSS_COLOR_CHANGE_ENABLE_CMDID); 3722 if (ret) { 3723 ath11k_warn(ab, "Failed to send WMI_BSS_COLOR_CHANGE_ENABLE_CMDID"); 3724 dev_kfree_skb(skb); | 3715} 3716 3717int ath11k_wmi_send_bss_color_change_enable_cmd(struct ath11k *ar, u32 vdev_id, 3718 bool enable) 3719{ 3720 struct ath11k_pdev_wmi *wmi = ar->wmi; 3721 struct ath11k_base *ab = wmi->wmi_ab->ab; 3722 struct wmi_bss_color_change_enable_params_cmd *cmd; --- 16 unchanged lines hidden (view full) --- 3739 "wmi_send_bss_color_change_enable id %d enable %d\n", 3740 cmd->vdev_id, cmd->enable); 3741 3742 ret = ath11k_wmi_cmd_send(wmi, skb, 3743 WMI_BSS_COLOR_CHANGE_ENABLE_CMDID); 3744 if (ret) { 3745 ath11k_warn(ab, "Failed to send WMI_BSS_COLOR_CHANGE_ENABLE_CMDID"); 3746 dev_kfree_skb(skb); |
3747 return ret; |
|
3725 } | 3748 } |
3726 return ret; | 3749 3750 return 0; |
3727} 3728 3729int ath11k_wmi_fils_discovery_tmpl(struct ath11k *ar, u32 vdev_id, 3730 struct sk_buff *tmpl) 3731{ 3732 struct wmi_tlv *tlv; 3733 struct sk_buff *skb; 3734 void *ptr; --- 25 unchanged lines hidden (view full) --- 3760 memcpy(tlv->value, tmpl->data, tmpl->len); 3761 3762 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_FILS_DISCOVERY_TMPL_CMDID); 3763 if (ret) { 3764 ath11k_warn(ar->ab, 3765 "WMI vdev %i failed to send FILS discovery template command\n", 3766 vdev_id); 3767 dev_kfree_skb(skb); | 3751} 3752 3753int ath11k_wmi_fils_discovery_tmpl(struct ath11k *ar, u32 vdev_id, 3754 struct sk_buff *tmpl) 3755{ 3756 struct wmi_tlv *tlv; 3757 struct sk_buff *skb; 3758 void *ptr; --- 25 unchanged lines hidden (view full) --- 3784 memcpy(tlv->value, tmpl->data, tmpl->len); 3785 3786 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_FILS_DISCOVERY_TMPL_CMDID); 3787 if (ret) { 3788 ath11k_warn(ar->ab, 3789 "WMI vdev %i failed to send FILS discovery template command\n", 3790 vdev_id); 3791 dev_kfree_skb(skb); |
3792 return ret; |
|
3768 } | 3793 } |
3769 return ret; | 3794 3795 return 0; |
3770} 3771 3772int ath11k_wmi_probe_resp_tmpl(struct ath11k *ar, u32 vdev_id, 3773 struct sk_buff *tmpl) 3774{ 3775 struct wmi_probe_tmpl_cmd *cmd; 3776 struct wmi_bcn_prb_info *probe_info; 3777 struct wmi_tlv *tlv; --- 35 unchanged lines hidden (view full) --- 3813 memcpy(tlv->value, tmpl->data, tmpl->len); 3814 3815 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_PRB_TMPL_CMDID); 3816 if (ret) { 3817 ath11k_warn(ar->ab, 3818 "WMI vdev %i failed to send probe response template command\n", 3819 vdev_id); 3820 dev_kfree_skb(skb); | 3796} 3797 3798int ath11k_wmi_probe_resp_tmpl(struct ath11k *ar, u32 vdev_id, 3799 struct sk_buff *tmpl) 3800{ 3801 struct wmi_probe_tmpl_cmd *cmd; 3802 struct wmi_bcn_prb_info *probe_info; 3803 struct wmi_tlv *tlv; --- 35 unchanged lines hidden (view full) --- 3839 memcpy(tlv->value, tmpl->data, tmpl->len); 3840 3841 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_PRB_TMPL_CMDID); 3842 if (ret) { 3843 ath11k_warn(ar->ab, 3844 "WMI vdev %i failed to send probe response template command\n", 3845 vdev_id); 3846 dev_kfree_skb(skb); |
3847 return ret; |
|
3821 } | 3848 } |
3822 return ret; | 3849 3850 return 0; |
3823} 3824 3825int ath11k_wmi_fils_discovery(struct ath11k *ar, u32 vdev_id, u32 interval, 3826 bool unsol_bcast_probe_resp_enabled) 3827{ 3828 struct sk_buff *skb; 3829 int ret, len; 3830 struct wmi_fils_discovery_cmd *cmd; --- 17 unchanged lines hidden (view full) --- 3848 cmd->config = unsol_bcast_probe_resp_enabled; 3849 3850 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_ENABLE_FILS_CMDID); 3851 if (ret) { 3852 ath11k_warn(ar->ab, 3853 "WMI vdev %i failed to send FILS discovery enable/disable command\n", 3854 vdev_id); 3855 dev_kfree_skb(skb); | 3851} 3852 3853int ath11k_wmi_fils_discovery(struct ath11k *ar, u32 vdev_id, u32 interval, 3854 bool unsol_bcast_probe_resp_enabled) 3855{ 3856 struct sk_buff *skb; 3857 int ret, len; 3858 struct wmi_fils_discovery_cmd *cmd; --- 17 unchanged lines hidden (view full) --- 3876 cmd->config = unsol_bcast_probe_resp_enabled; 3877 3878 ret = ath11k_wmi_cmd_send(ar->wmi, skb, WMI_ENABLE_FILS_CMDID); 3879 if (ret) { 3880 ath11k_warn(ar->ab, 3881 "WMI vdev %i failed to send FILS discovery enable/disable command\n", 3882 vdev_id); 3883 dev_kfree_skb(skb); |
3884 return ret; |
|
3856 } | 3885 } |
3857 return ret; | 3886 3887 return 0; |
3858} 3859 3860static void 3861ath11k_wmi_obss_color_collision_event(struct ath11k_base *ab, struct sk_buff *skb) 3862{ 3863 const void **tb; 3864 const struct wmi_obss_color_collision_event *ev; 3865 struct ath11k_vif *arvif; --- 251 unchanged lines hidden (view full) --- 4117 ptr += sizeof(*band_to_mac); 4118 } 4119 } 4120 4121 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_INIT_CMDID); 4122 if (ret) { 4123 ath11k_warn(ab, "failed to send WMI_INIT_CMDID\n"); 4124 dev_kfree_skb(skb); | 3888} 3889 3890static void 3891ath11k_wmi_obss_color_collision_event(struct ath11k_base *ab, struct sk_buff *skb) 3892{ 3893 const void **tb; 3894 const struct wmi_obss_color_collision_event *ev; 3895 struct ath11k_vif *arvif; --- 251 unchanged lines hidden (view full) --- 4147 ptr += sizeof(*band_to_mac); 4148 } 4149 } 4150 4151 ret = ath11k_wmi_cmd_send(wmi, skb, WMI_INIT_CMDID); 4152 if (ret) { 4153 ath11k_warn(ab, "failed to send WMI_INIT_CMDID\n"); 4154 dev_kfree_skb(skb); |
4155 return ret; |
|
4125 } 4126 | 4156 } 4157 |
4127 return ret; | 4158 return 0; |
4128} 4129 4130int ath11k_wmi_pdev_lro_cfg(struct ath11k *ar, 4131 int pdev_id) 4132{ 4133 struct ath11k_wmi_pdev_lro_config_cmd *cmd; 4134 struct sk_buff *skb; 4135 int ret; --- 72 unchanged lines hidden (view full) --- 4208 4209 cmd->pdev_id = WMI_PDEV_ID_SOC; 4210 cmd->hw_mode_index = mode; 4211 4212 ret = ath11k_wmi_cmd_send(&wmi_ab->wmi[0], skb, WMI_PDEV_SET_HW_MODE_CMDID); 4213 if (ret) { 4214 ath11k_warn(ab, "failed to send WMI_PDEV_SET_HW_MODE_CMDID\n"); 4215 dev_kfree_skb(skb); | 4159} 4160 4161int ath11k_wmi_pdev_lro_cfg(struct ath11k *ar, 4162 int pdev_id) 4163{ 4164 struct ath11k_wmi_pdev_lro_config_cmd *cmd; 4165 struct sk_buff *skb; 4166 int ret; --- 72 unchanged lines hidden (view full) --- 4239 4240 cmd->pdev_id = WMI_PDEV_ID_SOC; 4241 cmd->hw_mode_index = mode; 4242 4243 ret = ath11k_wmi_cmd_send(&wmi_ab->wmi[0], skb, WMI_PDEV_SET_HW_MODE_CMDID); 4244 if (ret) { 4245 ath11k_warn(ab, "failed to send WMI_PDEV_SET_HW_MODE_CMDID\n"); 4246 dev_kfree_skb(skb); |
4247 return ret; |
|
4216 } 4217 | 4248 } 4249 |
4218 return ret; | 4250 return 0; |
4219} 4220 4221int ath11k_wmi_cmd_init(struct ath11k_base *ab) 4222{ 4223 struct ath11k_wmi_base *wmi_sc = &ab->wmi_ab; 4224 struct wmi_init_cmd_param init_param; 4225 struct target_resource_config config; 4226 --- 5480 unchanged lines hidden --- | 4251} 4252 4253int ath11k_wmi_cmd_init(struct ath11k_base *ab) 4254{ 4255 struct ath11k_wmi_base *wmi_sc = &ab->wmi_ab; 4256 struct wmi_init_cmd_param init_param; 4257 struct target_resource_config config; 4258 --- 5480 unchanged lines hidden --- |