From nobody Wed Oct 8 10:00:54 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80A26137932 for ; Mon, 30 Jun 2025 04:15:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751256942; cv=none; b=B9BroY6aZABKPHmm2/MeFLK/nOhtNaPw2yCD0RMJQQFgGkcA7InDEdqFcs+9od+ZWKbHSqLzjtYgNRxXhBDbJPQuud7el5zEwY4IM0bD7YHcnSO1ZS3GpHFBPiFmcCJcd+ajwQoKfoSXUc9aNhJnuz8vY+Bh3gjHfl95pWzK0sk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751256942; c=relaxed/simple; bh=gId2u+fplwARN3H2Gx3Mt3u/2TqgZ8s8QJu0KktFhqs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=R+W+q5KwWguibFhUQYXaz+s+VHOVNa3kKyhY3LrLHSLJcvl4vmTykgTLMXHi4qEmlJ/CwcBlaDTKqsQnUatpxTKyYUq/wLxFUZSU/dMx3bnuRqkdWPA1ygoC/vKVxnMCfElvWxhjcekGkROIwQAJVfwxIr3O9V0NWJib/hcOEPI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=P7fj5ShU; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="P7fj5ShU" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55TMqkIX009065 for ; Mon, 30 Jun 2025 04:15:40 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= UdTye510OYDYG62A1JsNtJ9LFBEkO+WKF1r4hc3opg0=; b=P7fj5ShUWJgFqBXy DgGTo17iR+d6NhJrBlx99DEI25Zd6h0Vrfheqbgkc/YqkCtsXV2SJf0jkdiCLRam V6NYPtVEYge2UnfWHBP7ThZzPrej7HuhH8fceFToBn62UOgeasMeRCAaprUlmWkv /BD6iSmJp7Zkt08hWkAarBNwus5KnqScnOOu6EtN26Ue9g9AhCJAm7LE0S+9OFT4 oPdFFJ348mKY4HZEQBI2aVH4jEMcllmzVL6e3L0p44B8Pne6yx1rVGVjXgh7sURN o/DLVhGem3f7AwRM5rO0j9tJ0EDPLBHN1grN5WknzhQRePUUtHq+e5/JaqZeV0LG 8ckh9Q== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47j9jpu6du-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 30 Jun 2025 04:15:39 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-235e3f93687so25470815ad.2 for ; Sun, 29 Jun 2025 21:15:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751256939; x=1751861739; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UdTye510OYDYG62A1JsNtJ9LFBEkO+WKF1r4hc3opg0=; b=rbwqoByZo1ZehkbQv/8kuvAlImvE/cjUnyzKaY9K9p4MVuOcotS5V9/jZbE9d4F9mJ BkyWb4uNtbyUgCTxEGgXhUVVg7Vy+oTu4wKO+mbio0jVaq8wnOTnm4mL8QlfJBf+KBAy w1ISaxAYt6uOOKzA7hDk3nvEbMFJeP0TIVJv8xRmw/a+5lq9WCOIyWU4goSr/OJbSfEf pccj34Wp25HKkREmiP1wjARdDlERHZUoMHmcOM47Kwhw9ARzWUHBwkld9FVhEJOZVyQ7 TKf8X44Lni6Wc/t5joIZ/x3TVSS5OXi8HLtCfluUJfgPbpQGpCb8+W5zepNayavdIf3E RJqg== X-Forwarded-Encrypted: i=1; AJvYcCXoLh3D4JNFHaPeGotr5aD8a9lgBCWZB0RdbRNoQzfaIsZkuQCs1L6qIxx0XdYwfGUPAMVZlCsnzCbhbTw=@vger.kernel.org X-Gm-Message-State: AOJu0YxzTohzqloxLXDJKZNOm6M2+JbG/C6aiEfDBL+HI4AzbmIYcdm5 liQ8h4U5UNStXCoE7PO26aX7cT9dc4Wd8+M+3ikAPujQXNFfYGuV7/VzHQubZrJ8RThhJT9Cn5S 9dMDyI5zIVLhNPwWJZo+vG/cXZeGY5ZBzFDWcPf4hZg276jZB8o8gtmCc7HbeiEkkJc8= X-Gm-Gg: ASbGncsJ21tA1Ywo6fOgtORbaSClMo0oEENWZFfcHT/asxXizdzdb8I2THbp9d8MLhI 6NTRvJqa3xcJABt0ZXYxRqmF4NSd/byiw82RB97WFFadoTQEKMQSkha0bwpQH/xIYiCywIpSCV6 SGin02oT8cCFUkUTFnCiOBSf/bc8ntKbHeh3A876OyVBdH+JvxgrWluvyh+5ZJVI8d7OksZA/3o m9zJsA6yJNxb//heb5iwysWz0wzanJXTp+YNd3NDLh0iyKiX4Wup32cwjfZTbgDObQTaUjreouE bnI9hS469qs9FbIvl3XN2CDJ4ED+MF7QVvlUf6HSa8nAdhzWT8mP6axvEo1+EIUI1s7KpZvIlM+ IqoxHIoXrLy1najXR8P+cwHeGEjo+NfLdLTmedZKxCdVOJ/s= X-Received: by 2002:a17:902:ea0e:b0:21f:617a:f1b2 with SMTP id d9443c01a7336-23ac46580damr170504895ad.46.1751256938709; Sun, 29 Jun 2025 21:15:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG9G96ApR0eBbaENnYeG1mS8KI5XaYp1Xqu3Vniu/Rg1UqzEY9srtAkAlTndfRFWKHOFEgZNA== X-Received: by 2002:a17:902:ea0e:b0:21f:617a:f1b2 with SMTP id d9443c01a7336-23ac46580damr170504535ad.46.1751256938319; Sun, 29 Jun 2025 21:15:38 -0700 (PDT) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23acb2f069csm69366955ad.59.2025.06.29.21.15.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Jun 2025 21:15:38 -0700 (PDT) From: Aditya Kumar Singh Date: Mon, 30 Jun 2025 09:45:15 +0530 Subject: [PATCH ath-next 1/2] wifi: ath12k: add support for Tx Power insertion in RRM action frame Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250630-support-for-tx-power-insertion-v1-1-77f45484d5bb@oss.qualcomm.com> References: <20250630-support-for-tx-power-insertion-v1-0-77f45484d5bb@oss.qualcomm.com> In-Reply-To: <20250630-support-for-tx-power-insertion-v1-0-77f45484d5bb@oss.qualcomm.com> To: Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjMwMDAzMiBTYWx0ZWRfX7ZGdoMTqBfXS MD4eikA/V1Tjof62GLAhVwJErjsI2UjwzAlYfmq42rVRqGjf4Iy2tk3bM5fW4J+Xiv2Qk/SLTCu ij2/ANXtxpxGAgjHT+D3s86Fd/k2ZVWaPl4ae2rqRI1Do3UbB/l6hYSFCi18FDHZOhFxWsjCle5 5lJol8a0xoziyqybjbjYHKxk/QxTNbjYRarvUmJhuA7QO5aU+V75UDWws3fVQrEEq2mnW6YYL7g OceJR7EdE+tX1r/XcwzOL22bjeRXxNm0b6hmMSoic4q5aVUXjaEkppD0c7zQ0OI6iElKm6ooxdD r6QALe5gPVHoDoYJcscROZXSPuqzOFBmB6MHO5KidarQaKmE4kY+j1PU42I1NnxnRojBbpcgDUv en356PngFE20AxSXjVQLrZnYT2L96QvdjQz/IJiLLBi0uRv31L3GtuCNX84B+SITYHa6JK97 X-Proofpoint-ORIG-GUID: ESOQXzd4O-dpzkDnEo9dER2nbdlAfYc8 X-Authority-Analysis: v=2.4 cv=Tq7mhCXh c=1 sm=1 tr=0 ts=68620f6b cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=U2OQ5zEU71Qse62bi5cA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-GUID: ESOQXzd4O-dpzkDnEo9dER2nbdlAfYc8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_05,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 impostorscore=0 phishscore=0 mlxscore=0 spamscore=0 bulkscore=0 suspectscore=0 malwarescore=0 mlxlogscore=999 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506300032 For certain action frames like the TPC Report IE in the spectrum management TPC Report action frame, and in the Radio Measurement Link Measurement Report action frame there is a requirement to fill in the current and max Tx power of the device in the packet. Add support to populate these fields in the relevant packets. In software-encrypted cases such as PMF, skip insertion since the packets are already encrypted and cannot be modified. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 Signed-off-by: Aditya Kumar Singh Reviewed-by: Vasanthakumar Thiagarajan --- drivers/net/wireless/ath/ath12k/mac.c | 182 ++++++++++++++++++++++++++++++= ++++ 1 file changed, 182 insertions(+) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 71e07c546a2dfce62101770ea54948df5db35060..241f11bd8c4051db4873d1109ac= bafa1aa9815c2 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -7807,6 +7807,174 @@ static void ath12k_mgmt_over_wmi_tx_purge(struct at= h12k *ar) ath12k_mgmt_over_wmi_tx_drop(ar, skb); } =20 +static int ath12k_mac_mgmt_action_frame_fill_elem_data(struct ath12k_link_= vif *arvif, + struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr =3D (struct ieee80211_hdr *)skb->data; + u8 category, *buf, iv_len, action_code, dialog_token; + struct ieee80211_bss_conf *link_conf; + struct ieee80211_chanctx_conf *conf; + int cur_tx_power, max_tx_power; + struct ath12k *ar =3D arvif->ar; + struct ieee80211_hw *hw =3D ath12k_ar_to_hw(ar); + struct wiphy *wiphy =3D hw->wiphy; + struct ath12k_skb_cb *skb_cb; + struct ieee80211_mgmt *mgmt; + unsigned int remaining_len; + bool has_protected; + + lockdep_assert_wiphy(wiphy); + + /* make sure category field is present */ + if (skb->len < IEEE80211_MIN_ACTION_SIZE) + return -EINVAL; + + remaining_len =3D skb->len - IEEE80211_MIN_ACTION_SIZE; + has_protected =3D ieee80211_has_protected(hdr->frame_control); + + /* In case of SW crypto and hdr protected (PMF), packet will already be e= ncrypted, + * we can't put in data in this case + */ + if (test_bit(ATH12K_FLAG_HW_CRYPTO_DISABLED, &ar->ab->dev_flags) && + has_protected) + return 0; + + mgmt =3D (struct ieee80211_mgmt *)hdr; + buf =3D (u8 *)&mgmt->u.action; + + /* FCTL_PROTECTED frame might have extra space added for HDR_LEN. Offset = that + * many bytes if it is there + */ + if (has_protected) { + skb_cb =3D ATH12K_SKB_CB(skb); + + switch (skb_cb->cipher) { + /* Cipher suite having flag %IEEE80211_KEY_FLAG_GENERATE_IV_MGMT set in + * key needs to be processed. See ath12k_install_key() + */ + case WLAN_CIPHER_SUITE_CCMP: + case WLAN_CIPHER_SUITE_CCMP_256: + case WLAN_CIPHER_SUITE_GCMP: + case WLAN_CIPHER_SUITE_GCMP_256: + iv_len =3D IEEE80211_CCMP_HDR_LEN; + break; + case WLAN_CIPHER_SUITE_TKIP: + iv_len =3D 0; + break; + default: + return -EINVAL; + } + + if (remaining_len < iv_len) + return -EINVAL; + + buf +=3D iv_len; + remaining_len -=3D iv_len; + } + + category =3D *buf++; + /* category code is already taken care in %IEEE80211_MIN_ACTION_SIZE hence + * no need to adjust remaining_len + */ + + switch (category) { + case WLAN_CATEGORY_RADIO_MEASUREMENT: + /* need action code and dialog token */ + if (remaining_len < 2) + return -EINVAL; + + /* Packet Format: + * Action Code | Dialog Token | Variable Len (based on Action Code) + */ + action_code =3D *buf++; + dialog_token =3D *buf++; + remaining_len -=3D 2; + + link_conf =3D ath12k_mac_get_link_bss_conf(arvif); + if (!link_conf) { + ath12k_warn(ar->ab, + "failed to get bss link conf for vdev %d in RM handling\n", + arvif->vdev_id); + return -EINVAL; + } + + conf =3D wiphy_dereference(wiphy, link_conf->chanctx_conf); + if (!conf) + return -ENOENT; + + cur_tx_power =3D link_conf->txpower; + max_tx_power =3D min(conf->def.chan->max_reg_power, + (int)ar->max_tx_power / 2); + + ath12k_mac_op_get_txpower(hw, arvif->ahvif->vif, arvif->link_id, + &cur_tx_power); + + switch (action_code) { + case WLAN_RM_ACTION_LINK_MEASUREMENT_REQUEST: + /* need variable fields to be present in len */ + if (remaining_len < 2) + return -EINVAL; + + /* Variable length format as defined in IEEE 802.11-2024, + * Figure 9-1187-Link Measurement Request frame Action field + * format. + * Transmit Power | Max Tx Power + * We fill both of these. + */ + *buf++ =3D cur_tx_power; + *buf =3D max_tx_power; + + ath12k_dbg(ar->ab, ATH12K_DBG_MAC, + "RRM: Link Measurement Req dialog_token %u cur_tx_power %d max_tx_p= ower %d\n", + dialog_token, cur_tx_power, max_tx_power); + break; + case WLAN_RM_ACTION_LINK_MEASUREMENT_REPORT: + /* need variable fields to be present in len */ + if (remaining_len < 3) + return -EINVAL; + + /* Variable length format as defined in IEEE 802.11-2024, + * Figure 9-1188-Link Measurement Report frame Action field format + * TPC Report | Variable Fields + * + * TPC Report Format: + * Element ID | Len | Tx Power | Link Margin + * + * We fill Tx power in the TPC Report (2nd index) + */ + buf[2] =3D cur_tx_power; + + /* TODO: At present, Link margin data is not present so can't + * really fill it now. Once it is available, it can be added + * here + */ + ath12k_dbg(ar->ab, ATH12K_DBG_MAC, + "RRM: Link Measurement Report dialog_token %u cur_tx_power %d\n", + dialog_token, cur_tx_power); + break; + default: + return -EINVAL; + } + break; + default: + /* nothing to fill */ + return 0; + } + + return 0; +} + +static int ath12k_mac_mgmt_frame_fill_elem_data(struct ath12k_link_vif *ar= vif, + struct sk_buff *skb) +{ + struct ieee80211_hdr *hdr =3D (struct ieee80211_hdr *)skb->data; + + if (!ieee80211_is_action(hdr->frame_control)) + return 0; + + return ath12k_mac_mgmt_action_frame_fill_elem_data(arvif, skb); +} + static void ath12k_mgmt_over_wmi_tx_work(struct wiphy *wiphy, struct wiphy= _work *work) { struct ath12k *ar =3D container_of(work, struct ath12k, wmi_mgmt_tx_work); @@ -7838,6 +8006,20 @@ static void ath12k_mgmt_over_wmi_tx_work(struct wiph= y *wiphy, struct wiphy_work =20 arvif =3D wiphy_dereference(ah->hw->wiphy, ahvif->link[skb_cb->link_id]); if (ar->allocated_vdev_map & (1LL << arvif->vdev_id)) { + /* Fill in the data which is required to be filled by the driver + * For example: Max Tx power in Link Measurement Request/Report + */ + ret =3D ath12k_mac_mgmt_frame_fill_elem_data(arvif, skb); + if (ret) { + /* If we couldn't fill the data due to any reason, + * let's not discard transmitting the packet. + * For example: Software crypto and PMF case + */ + ath12k_dbg(ar->ab, ATH12K_DBG_MAC, + "Failed to fill the required data for the mgmt packet err %d\n", + ret); + } + ret =3D ath12k_mac_mgmt_tx_wmi(ar, arvif, skb); if (ret) { ath12k_warn(ar->ab, "failed to tx mgmt frame, vdev_id %d :%d\n", --=20 2.34.1 From nobody Wed Oct 8 10:00:54 2025 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E8A81A9B53 for ; Mon, 30 Jun 2025 04:15:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751256943; cv=none; b=ehc32S10HW4e8sT6xR+86ruCVK8VRUKmeoiJuIOu0hFgbZtvC9m70jhksYZYa+nDJ+8MY2KTJmVhJpQqVFfeqUFfDEDqVsd3JZPYeip5YvNsQxiW3KDMydcQuqsGtBscjP/0en1b+ZPUl7Yyk7/WF3yOzQbwhJIfzEEvjbeT75g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751256943; c=relaxed/simple; bh=RwToH/cGCZH+YJlEXJRY3Lb9zN50RXZwi+WeP0de+ts=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A6J6t8dm/XPMb6dz65hoI5p6HxWmdsY9PVf9XxQ8x+JviFSBQkK35w/XyROIUyE1bDBZjgSRu3Dd7QBEEzqq4Ca6Xdii+bsCY7p6227mI6tV0VfkKDaTkfORBIU1jZK+EqR3AjHyao22KdnsSu9h16JQ5BxMOS/CQzO0JYrj4u0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=cRJTVUzG; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="cRJTVUzG" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 55TNUJT2010612 for ; Mon, 30 Jun 2025 04:15:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= 6zlwIaUvtBdKmWYrvQBftvSATw4E35AAP8krPXhnxFc=; b=cRJTVUzGg9n8pYoY tkBd0SntV2ekvMA7U74iOhbFFEq/CUfnRTVpiXMfYuE5cpBF331Ogc3ESCtjQLwQ j9LNfpppygkqS5iqCmpDYbs1QRwS6aqZ+uK5Y4nizTJV8PW1o5eN5TcuIjOg7kON H8XhHtfhTc+B65MxfrtYfggJR+6YsXkRsBDHWDe7fEvT4w39VatumbZ9hnFm3TGC VU0gsadP52JwdNPwaPUg2qHGNBwPBmmqrSSKH3sU8fTxa4PMfWqMSa6oh44lG52F VIYr1YWwg8lLZj609I1yHW8vwdl5iKCFKNotk2i9xhUNeeIA5ONR0rRlwxCeT4L0 RGCO/w== Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 47j7bvkceb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT) for ; Mon, 30 Jun 2025 04:15:41 +0000 (GMT) Received: by mail-pl1-f198.google.com with SMTP id d9443c01a7336-235089528a0so39990215ad.1 for ; Sun, 29 Jun 2025 21:15:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751256941; x=1751861741; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=6zlwIaUvtBdKmWYrvQBftvSATw4E35AAP8krPXhnxFc=; b=KnbeUMjmvWsI9WBV9ZBmycrSN0nZcwY0UJdplZTnZjNraiedwREAETIdFVmqSVDNlJ 3Az9iPO1bjoRX91mnPzkBxYgUGFVsRI/h9ZkujreNkBDFTOi3FTG1yTBk8009O7Z136+ oG9uhXpUW4adK7iv3hrDIpstACqzz+bAuY1V/uCIyU5uQiVauixXX9MXTDm/Bbq0c20v LJM7bgoZFUO/1ErrFMphA05K5bvRisBQvLgSya/0mI4UY+XolxFLc6SKtA/kn8Pz8d2g nXRDYfk5Zk8lnPCFO6ScPcVzKPYQVRHBKk2ljxEllFubyGxccmqj4I4fjvrj7IUrMwxP hgUQ== X-Forwarded-Encrypted: i=1; AJvYcCXP38CUTeOCH6S5vcH1Ud/0yaD5ljgzKIOeRkp2Tkp9Q2ptwC1ICWmBVQXHoX9RUPO0yDLwbO7HXUvjpCY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz0YP6jgo2GcFmnbNeQa+nGMiUz1AOPT4O/9VNajo0wMNdFhCbb E4LyweUFqOfHYs1/cQPY0pI+NdWx6nkodgjfmYpeYmxm/57l6JgZjLTpnYbK32YoFlfd/teroQf S4jZZ7RY0EEzebM7lZ3SCdAyH+FGnIPAG690HuL6uQBiKGPB0Aaq9/dOLIo5JcmS5Qic= X-Gm-Gg: ASbGnctp8y7PNHh7I8mQFkSTKvh+XNwdN8aGlwQ/pg8ACVEBHDQ/+cmDyA3QdpXv+NH 4Rs0bvOMtwg0nfE3F2CfnUYLVHyy4IfkAAOQFHqWRPpX/2XNVAlEkt/4jos+tiPLtwZUm9B+6LC NVwPdJseGSoXs03WTfi+F47exFyKZRkGMaXKilj/Un6XIIMkzGATZZAeNQ+EzG6SWm5aEnEa1oW q/y+sOoU36QsNT9QUpLdCuUpYaO1Z1ypArkIQbzOmeJGsHNY4HzsIosMBpBh+WOjnTaO2IjIY22 VDaiZ6bQumPVnW2iOBW7lYvkXVP96R7RdIqnC5EKzgk+pXerdnP5VrgTRQWmEfBf7tb9hVtHiup 2C6oOn2p7gJOyUsG9XxOfJ2IWn8azdfhxTjDQQepU2ETGj+I= X-Received: by 2002:a17:902:f60c:b0:235:e1d6:2ac0 with SMTP id d9443c01a7336-2390a54cd4emr229127135ad.24.1751256940762; Sun, 29 Jun 2025 21:15:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEQ4EKBLyFvklT/nNxN/0BCu32hBk9XzR7iL2Rmh9tkeKSzTTpmxpJFvoPr4pnVeNNd+SHgyw== X-Received: by 2002:a17:902:f60c:b0:235:e1d6:2ac0 with SMTP id d9443c01a7336-2390a54cd4emr229126815ad.24.1751256940322; Sun, 29 Jun 2025 21:15:40 -0700 (PDT) Received: from hu-adisi-blr.qualcomm.com (blr-bdr-fw-01_GlobalNAT_AllZones-Outside.qualcomm.com. [103.229.18.19]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-23acb2f069csm69366955ad.59.2025.06.29.21.15.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 29 Jun 2025 21:15:40 -0700 (PDT) From: Aditya Kumar Singh Date: Mon, 30 Jun 2025 09:45:16 +0530 Subject: [PATCH ath-next 2/2] wifi: ath12k: advertise NL80211_FEATURE_TX_POWER_INSERTION support Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250630-support-for-tx-power-insertion-v1-2-77f45484d5bb@oss.qualcomm.com> References: <20250630-support-for-tx-power-insertion-v1-0-77f45484d5bb@oss.qualcomm.com> In-Reply-To: <20250630-support-for-tx-power-insertion-v1-0-77f45484d5bb@oss.qualcomm.com> To: Jeff Johnson Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org, Aditya Kumar Singh X-Mailer: b4 0.14.2 X-Proofpoint-GUID: wcJRpv3UUQ0Aw6TW8GSEP8XQJXGs96GA X-Authority-Analysis: v=2.4 cv=RJCzH5i+ c=1 sm=1 tr=0 ts=68620f6d cx=c_pps a=MTSHoo12Qbhz2p7MsH1ifg==:117 a=Ou0eQOY4+eZoSc0qltEV5Q==:17 a=IkcTkHD0fZMA:10 a=6IFa9wvqVegA:10 a=EUspDBNiAAAA:8 a=xmVKpWhJFmdleDmdprIA:9 a=QEXdDO2ut3YA:10 a=GvdueXVYPmCkWapjIL-Q:22 X-Proofpoint-ORIG-GUID: wcJRpv3UUQ0Aw6TW8GSEP8XQJXGs96GA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjMwMDAzMiBTYWx0ZWRfX0Rw7NtqSkIgN g/bnYwdf5biRgrIAaAh26sZsWWQh2GjV4fpZMDlaoi2041YIHmYtxIAofU/Eh9W4OTx5yGWnmJZ 1aT7y3xvWeBNQZsdeiMItxX7mElqR/5rbxXuouuYJ/1nQZq6hpc9VUk3Rq2ieNFGhl5d649kg/G QwuciBRqbivdVvHT2N+gmqKB8r5lVjwCfDRLAjGAaAIzsarLY5hk0DKWcfArsrswr2P/74CbWP5 IjD89M6a74BLQmDTbyRp5nL6hsAhRdpgQDTwLg95dlKtkNHs3Ifn/f/uT9U9pX630yNY7wwL5/I MaYLQYbHLEbAVlz3YyvzgHqlIsw6TwtnA8AeyYucBAtnZiz8hK7JDw5luborQ2zHrqDidTG1MMb 8gmYQ/wrGzycwa3ulyL4li3hqiahZiRm92Rq/cIelu07TNXXLdwlBOpfb0j7sJfCmMyvFgDR X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.1.7,FMLib:17.12.80.40 definitions=2025-06-27_05,2025-06-27_01,2025-03-28_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 impostorscore=0 priorityscore=1501 mlxlogscore=999 adultscore=0 malwarescore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 phishscore=0 bulkscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2505280000 definitions=main-2506300032 Now that driver is capable of inserting Tx power, advertise the support for the same to upper layers. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1 Signed-off-by: Aditya Kumar Singh Reviewed-by: Vasanthakumar Thiagarajan --- drivers/net/wireless/ath/ath12k/mac.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/a= th/ath12k/mac.c index 241f11bd8c4051db4873d1109acbafa1aa9815c2..318b651c6d8e60102317f05549f= 7cb2da6a05620 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -12894,6 +12894,8 @@ static int ath12k_mac_hw_register(struct ath12k_hw = *ah) wiphy->features |=3D NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE | NL80211_FEATURE_AP_SCAN; =20 + wiphy->features |=3D NL80211_FEATURE_TX_POWER_INSERTION; + /* MLO is not yet supported so disable Wireless Extensions for now * to make sure ath12k users don't use it. This flag can be removed * once WIPHY_FLAG_SUPPORTS_MLO is enabled. --=20 2.34.1