From: Kalle Valo <kvalo@kernel.org>
To: Wen Gong <quic_wgong@quicinc.com>
Cc: <ath11k@lists.infradead.org>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 14/15] ath11k: add handler for WMI_VDEV_SET_TPC_POWER_CMDID
Date: Thu, 09 Dec 2021 19:40:51 +0200 [thread overview]
Message-ID: <87pmq5vfq4.fsf@codeaurora.org> (raw)
In-Reply-To: <20211026111913.7346-15-quic_wgong@quicinc.com> (Wen Gong's message of "Tue, 26 Oct 2021 07:19:12 -0400")
Wen Gong <quic_wgong@quicinc.com> writes:
> Add the handler for WMI_VDEV_SET_TPC_POWER_CMDID, it is for 6 GHz band.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>
> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
> ---
> drivers/net/wireless/ath/ath11k/wmi.c | 63 +++++++++++++++++++++++++++
> drivers/net/wireless/ath/ath11k/wmi.h | 61 ++++++++++++++++++++++++++
> 2 files changed, 124 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
> index 985035fab744..603a4373af57 100644
> --- a/drivers/net/wireless/ath/ath11k/wmi.c
> +++ b/drivers/net/wireless/ath/ath11k/wmi.c
> @@ -2225,6 +2225,69 @@ int ath11k_wmi_send_scan_start_cmd(struct ath11k *ar,
> return ret;
> }
>
> +int ath11k_wmi_send_vdev_set_tpc_power(struct ath11k *ar,
> + u32 vdev_id,
> + struct ath11k_reg_tpc_power_info *param)
> +{
> + struct ath11k_pdev_wmi *wmi = ar->wmi;
> + struct wmi_vdev_set_tpc_power_cmd *cmd;
> + struct wmi_vdev_ch_power_info *ch;
> + struct sk_buff *skb;
> + struct wmi_tlv *tlv;
> + u8 *ptr;
> + int i, ret, len;
> +
> + len = sizeof(*cmd) + TLV_HDR_SIZE;
> + len += (sizeof(struct wmi_vdev_ch_power_info) * param->num_pwr_levels);
> +
> + skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
> + if (!skb)
> + return -ENOMEM;
> +
> + ptr = skb->data;
> +
> + cmd = (struct wmi_vdev_set_tpc_power_cmd *)ptr;
> + cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_VDEV_SET_TPC_POWER_CMD) |
> + FIELD_PREP(WMI_TLV_LEN, sizeof(*cmd) - TLV_HDR_SIZE);
> + cmd->vdev_id = vdev_id;
> + cmd->psd_power = param->is_psd_power;
> + cmd->eirp_power = param->eirp_power;
> + cmd->power_type_6ghz = param->power_type_6g;
> + ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
> + "wmi TPC vdev_id: %d is_psd_power: %d eirp_power: %d power_type_6g: %d\n",
> + vdev_id, param->is_psd_power, param->eirp_power, param->power_type_6g);
"wmi tpc vdev_id %d is_psd_power %d eirp_power %d power_type_6g %d\n"
> +
> + ptr += sizeof(*cmd);
> + tlv = (struct wmi_tlv *)ptr;
> + tlv->header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_ARRAY_STRUCT) |
> + FIELD_PREP(WMI_TLV_LEN, param->num_pwr_levels * sizeof(*ch));
> +
> + ptr += TLV_HDR_SIZE;
> + ch = (struct wmi_vdev_ch_power_info *)ptr;
> +
> + for (i = 0; i < param->num_pwr_levels; i++, ch++) {
> + ch->tlv_header = FIELD_PREP(WMI_TLV_TAG,
> + WMI_TAG_VDEV_CH_POWER_INFO) |
> + FIELD_PREP(WMI_TLV_LEN,
> + sizeof(*ch) - TLV_HDR_SIZE);
> +
> + ch->chan_cfreq = param->chan_power_info[i].chan_cfreq;
> + ch->tx_power = param->chan_power_info[i].tx_power;
> +
> + ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
> + "wmi TPC chan_cfreq: %d , tx_power: %d\n",
> + ch->chan_cfreq, ch->tx_power);
"wmi tpc chan_cfreq %d tx_power %d\n"
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
--
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
WARNING: multiple messages have this Message-ID (diff)
From: Kalle Valo <kvalo@kernel.org>
To: Wen Gong <quic_wgong@quicinc.com>
Cc: <ath11k@lists.infradead.org>, <linux-wireless@vger.kernel.org>
Subject: Re: [PATCH 14/15] ath11k: add handler for WMI_VDEV_SET_TPC_POWER_CMDID
Date: Thu, 09 Dec 2021 19:40:51 +0200 [thread overview]
Message-ID: <87pmq5vfq4.fsf@codeaurora.org> (raw)
In-Reply-To: <20211026111913.7346-15-quic_wgong@quicinc.com> (Wen Gong's message of "Tue, 26 Oct 2021 07:19:12 -0400")
Wen Gong <quic_wgong@quicinc.com> writes:
> Add the handler for WMI_VDEV_SET_TPC_POWER_CMDID, it is for 6 GHz band.
>
> Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
>
> Signed-off-by: Wen Gong <quic_wgong@quicinc.com>
> ---
> drivers/net/wireless/ath/ath11k/wmi.c | 63 +++++++++++++++++++++++++++
> drivers/net/wireless/ath/ath11k/wmi.h | 61 ++++++++++++++++++++++++++
> 2 files changed, 124 insertions(+)
>
> diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c
> index 985035fab744..603a4373af57 100644
> --- a/drivers/net/wireless/ath/ath11k/wmi.c
> +++ b/drivers/net/wireless/ath/ath11k/wmi.c
> @@ -2225,6 +2225,69 @@ int ath11k_wmi_send_scan_start_cmd(struct ath11k *ar,
> return ret;
> }
>
> +int ath11k_wmi_send_vdev_set_tpc_power(struct ath11k *ar,
> + u32 vdev_id,
> + struct ath11k_reg_tpc_power_info *param)
> +{
> + struct ath11k_pdev_wmi *wmi = ar->wmi;
> + struct wmi_vdev_set_tpc_power_cmd *cmd;
> + struct wmi_vdev_ch_power_info *ch;
> + struct sk_buff *skb;
> + struct wmi_tlv *tlv;
> + u8 *ptr;
> + int i, ret, len;
> +
> + len = sizeof(*cmd) + TLV_HDR_SIZE;
> + len += (sizeof(struct wmi_vdev_ch_power_info) * param->num_pwr_levels);
> +
> + skb = ath11k_wmi_alloc_skb(wmi->wmi_ab, len);
> + if (!skb)
> + return -ENOMEM;
> +
> + ptr = skb->data;
> +
> + cmd = (struct wmi_vdev_set_tpc_power_cmd *)ptr;
> + cmd->tlv_header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_VDEV_SET_TPC_POWER_CMD) |
> + FIELD_PREP(WMI_TLV_LEN, sizeof(*cmd) - TLV_HDR_SIZE);
> + cmd->vdev_id = vdev_id;
> + cmd->psd_power = param->is_psd_power;
> + cmd->eirp_power = param->eirp_power;
> + cmd->power_type_6ghz = param->power_type_6g;
> + ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
> + "wmi TPC vdev_id: %d is_psd_power: %d eirp_power: %d power_type_6g: %d\n",
> + vdev_id, param->is_psd_power, param->eirp_power, param->power_type_6g);
"wmi tpc vdev_id %d is_psd_power %d eirp_power %d power_type_6g %d\n"
> +
> + ptr += sizeof(*cmd);
> + tlv = (struct wmi_tlv *)ptr;
> + tlv->header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_ARRAY_STRUCT) |
> + FIELD_PREP(WMI_TLV_LEN, param->num_pwr_levels * sizeof(*ch));
> +
> + ptr += TLV_HDR_SIZE;
> + ch = (struct wmi_vdev_ch_power_info *)ptr;
> +
> + for (i = 0; i < param->num_pwr_levels; i++, ch++) {
> + ch->tlv_header = FIELD_PREP(WMI_TLV_TAG,
> + WMI_TAG_VDEV_CH_POWER_INFO) |
> + FIELD_PREP(WMI_TLV_LEN,
> + sizeof(*ch) - TLV_HDR_SIZE);
> +
> + ch->chan_cfreq = param->chan_power_info[i].chan_cfreq;
> + ch->tx_power = param->chan_power_info[i].tx_power;
> +
> + ath11k_dbg(ar->ab, ATH11K_DBG_WMI,
> + "wmi TPC chan_cfreq: %d , tx_power: %d\n",
> + ch->chan_cfreq, ch->tx_power);
"wmi tpc chan_cfreq %d tx_power %d\n"
--
https://patchwork.kernel.org/project/linux-wireless/list/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
next prev parent reply other threads:[~2021-12-09 17:43 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-26 11:18 [PATCH 00/15] ath11k: add support for 6 GHz station for various modes : LPI, SP and VLP Wen Gong
2021-10-26 11:18 ` Wen Gong
2021-10-26 11:18 ` [PATCH 01/15] ath11k: add support for extended wmi service bit Wen Gong
2021-10-26 11:18 ` Wen Gong
2021-12-09 16:16 ` Kalle Valo
2021-12-09 16:16 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 02/15] ath11k: Add support to parse new wmi event for 6 GHz regulatory Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:21 ` Kalle Valo
2021-12-09 17:21 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 03/15] ath11k: add support to select 6 GHz Regulatory type Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 04/15] ath11k: allow only one interface up simultaneously for WCN6855 Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:24 ` Kalle Valo
2021-12-09 17:24 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 05/15] ath11k: store cur_regulatory_info for each radio Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:31 ` Kalle Valo
2021-12-09 17:31 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 06/15] ath11k: update regulatory rules when interface added Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 07/15] ath11k: update regulatory rules when connect to AP on 6 GHz band for station Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 08/15] ath11k: save power spectral density(psd) of regulatory rule Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 09/15] ath11k: add parse of transmit power envelope element Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:35 ` Kalle Valo
2021-12-09 17:35 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 10/15] ath11k: save max tx power in vdev start response event from firmware Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 11/15] ath11k: fill parameters for vdev_set_tpc_power wmi command Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 12/15] ath11k: add WMI_TLV_SERVICE_EXT_TPC_REG_SUPPORT service bit Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-10-26 11:19 ` [PATCH 13/15] ath11k: discard BSS_CHANGED_TXPOWER when EXT_TPC_REG_SUPPORT for 6 GHz Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:38 ` Kalle Valo
2021-12-09 17:38 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 14/15] ath11k: add handler for WMI_VDEV_SET_TPC_POWER_CMDID Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:40 ` Kalle Valo [this message]
2021-12-09 17:40 ` Kalle Valo
2021-10-26 11:19 ` [PATCH 15/15] ath11k: send TPC power to firmware for 6 GHz station Wen Gong
2021-10-26 11:19 ` Wen Gong
2021-12-09 17:43 ` [PATCH 00/15] ath11k: add support for 6 GHz station for various modes : LPI, SP and VLP Kalle Valo
2021-12-09 17:43 ` Kalle Valo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pmq5vfq4.fsf@codeaurora.org \
--to=kvalo@kernel.org \
--cc=ath11k@lists.infradead.org \
--cc=linux-wireless@vger.kernel.org \
--cc=quic_wgong@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.