From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 0B96A381B0A for ; Thu, 18 Jun 2026 09:13:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781774015; cv=none; b=CdzPw2B7jnwPzWWDzdRxGI8uzOWh/j672Mtk0rlySwg1Lxqt/9OH5bjV/M/5qOeFjO5GRIneHEy2iHyaghVdI4rOJ1vwi/sWIgErxxskqNKLRY1gjkeisUX+iCNG+ri52htS7TKnXsMPCkHMHj0M9WHWga9WnwBY4GQXwurVsDY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781774015; c=relaxed/simple; bh=/w4CB7GcvIWDyJS0PapK7N/e3QhIIIP/17Q08eJ8NHs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=MgYEKqNR9cefh8E8I0SeM6sYH8glMBPB7QWWpCQjSzL/FyrSx+dCWRRB+vfbS9nKM4XCcTjuGISXdx0S5cVx5ICK2aaovQGA5SFBx+SCS3em80sHP+Dfqsq6GItMHyf6O0QuZnM74WCNuwE/F2TpSnbWl+DnLYBkTAzLBN3Jth4= 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=nkPtvtMu; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=K5qQ1BNf; arc=none smtp.client-ip=205.220.180.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="nkPtvtMu"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="K5qQ1BNf" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65I8G1xh1157416 for ; Thu, 18 Jun 2026 09:13:33 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= Pp3Uk0k/hYv7bLf1WuLS440HbLEWQGU3+m2R2+M1BZI=; b=nkPtvtMuwab0Ggeq DnQD5qI3a2BJYOf2E7FkGsb15asBARDWV+rLqOGCf3jF45rLpU3I4ZQqw/IOmE7h 0hfJwzUzVf+tnrjMbS2pHHazAthB5ghgdCu60AW+2vTUWbseTsleOPgdPtB9pp3M 16Lm8GxVyrJf8xfYpE4PY4ZSubPtiOWGGFsw2WWcRLN8nrjULtqmZzoFQdj8r8gc hIAs09g0e51WBmMAuNHrMZJ1EligUvKDwPrE7sTVRqfOPjThdTAWpylw46e/kF8X D/X0orsqF8gwKYp/gBF3OhTNcbOgSftRKlnctWe81qcOwO9zTC8Cf6ColyyIw77S tpFOLw== Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ev19a2ppu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 18 Jun 2026 09:13:32 +0000 (GMT) Received: by mail-pl1-f200.google.com with SMTP id d9443c01a7336-2c0c36f1cc0so16751055ad.3 for ; Thu, 18 Jun 2026 02:13:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781774012; x=1782378812; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=Pp3Uk0k/hYv7bLf1WuLS440HbLEWQGU3+m2R2+M1BZI=; b=K5qQ1BNf4pw5cDxdn7NWbXPk31jhYa7/slW1/GkKeF2uerAajxcyjQ8o9koRvHALVc lqu/ye/3tDzY8zj+Z3DbcnBrGPbHwM92YLf70GluwkkHX0IIYeUIsw1V1k5FU6t5l/ev hRUZUgF2GvnOPYD1aMZ8x2Ek6cijrrULGssVJd+7RxVkUMG06RQyqB+VWkv8LP/QnX/V biSt7v8PCSDiO3QNZIZgyX4LNKea4EzWmRmlufi1LLuUL+9J08WuTVNQvUM7ESmndI9q mF+fEaMnQ+UfYUR+lFHkvei0yjEfLKfD2V7xR1qM12equ23jtp5ruas/x25Oa5nEvoEX Ta0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781774012; x=1782378812; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=Pp3Uk0k/hYv7bLf1WuLS440HbLEWQGU3+m2R2+M1BZI=; b=j+MbrxMNq03TKh07NY/t1434URa8RorNe6XIqfQPZ+9Zio6RkqhZ828QOEbyjXdvh+ YB6/BdvIs/bBkyAAnVQoNsaEIXih2Q0lxvMZucf+AK+pXb6GCMqadLA9i9Qk6JEfh1Td HD836FD5X2HnhVb1C45cjubpDWbbL3koE2MwdWjO6k7XbonKz/YCbhmwN9EedQ6Za8Fg eQaEM9YbZsuk9TLsaXYGgrgiw7jS5nOZnZEV6JQIM46c5Ig5+yfD5A8m46QUQsNYHc5R /ogFpSs94/lelfjN6CFYDIjfHh3rnw1pxgu/HWNeQQcwFA+2Onl49imrd/b3VgbRaWOK CTgQ== X-Forwarded-Encrypted: i=1; AFNElJ/j+UbVbg6gWnZUY9fBLp9Uv3V7izuDeKHU5GR20QsoyCrUeEIYgA0RNaW8ANRNJotq4AV/FWB/6rlw2iY=@vger.kernel.org X-Gm-Message-State: AOJu0Yxs4YZ9qIwlF1nYwLEVLYxCaIamZ5OmYCuWUWpTRKtBSgsVNAWl engRsrhrKyi4S5e9oeoxJfG/vkqHT9EyJwVgGi2iU0lZZ+6rPE1hAVqzNX7qVFCR3X/6NbBMyb2 r9eYfK6+F9A12XlGbgUn0Cp9NC/foZbd2ucnDA8uRmiLIaM7lDhLMOON/g5g66dwB4s0= X-Gm-Gg: AfdE7clGqtHzy/ehY/h6Ie9j6MBcyjuWCJcDTYJZhwXiWzk4lD3QUu3F/67E6s/mW9S 13GfmyfegTS5cljFZQ99JHmRrIVoUl6p0NtXxovWZPRsuQ+ab7duCbrGzMgas/RqVGd2+zW7/HA vzoFc486CuuqCbprgC1jbpJ4DZglLJpnYupGz7h0kCrDaT/AFWL+vmGrAVvqjMPtUSDybjDyCDv ivYDN+j44hQYOO2quzi8OIptCgSr0zg/ZO8NyBqGZy/d1Hik58YSWZYiU5aUQW2K8bedRjx9QFC 9McKVjZko9vQO0cky1B49iqu1Sov2rk+B1wAJmur0rpupL0ifH2WQb+DKlZx2MoW3ERJJrH7D7+ a7wISJ2WewQS94HapPG3SNu2BGkA2l4matF3TgpqL7EaejDjYmps90Ha+JLo= X-Received: by 2002:a17:902:ef43:b0:2c6:d5da:838d with SMTP id d9443c01a7336-2c6d5da84cdmr48324695ad.33.1781774011883; Thu, 18 Jun 2026 02:13:31 -0700 (PDT) X-Received: by 2002:a17:902:ef43:b0:2c6:d5da:838d with SMTP id d9443c01a7336-2c6d5da84cdmr48324355ad.33.1781774011395; Thu, 18 Jun 2026 02:13:31 -0700 (PDT) Received: from [10.137.71.130] ([106.197.93.34]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2c432f77479sm191501365ad.63.2026.06.18.02.13.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 18 Jun 2026 02:13:31 -0700 (PDT) Message-ID: Date: Thu, 18 Jun 2026 14:43:26 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH ath-next 3/5] wifi: ath12k: add HAL ops for monitor TLV header decode and alignment To: Miaoqing Pan , jjohnson@kernel.org Cc: ath12k@lists.infradead.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260509025819.1641630-1-miaoqing.pan@oss.qualcomm.com> <20260509025819.1641630-4-miaoqing.pan@oss.qualcomm.com> Content-Language: en-US From: Vasanthakumar Thiagarajan In-Reply-To: <20260509025819.1641630-4-miaoqing.pan@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=YbmNIQRf c=1 sm=1 tr=0 ts=6a33b6bc cx=c_pps a=IZJwPbhc+fLeJZngyXXI0A==:117 a=wlpA7Av3g41Jdys7FXR3eg==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=T2WGhnzAuiY_ZRgizcIA:9 a=QEXdDO2ut3YA:10 a=uG9DUKGECoFWVXl0Dc02:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE4MDA4NSBTYWx0ZWRfXw7nX5VvNF58K G5JmWYZSlBN6SeSOecApMQeRY+mavqkMJk3ydhrR3vRb0OqM0mWR0c932es3XZo/+BadZPfblRI 2f3SY6+VYQwRvkVB+IXEgRuy8wDjC80= X-Proofpoint-GUID: G9LtK_-wsCnYFP_k32CknGsU6UOQcJOl X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE4MDA4NSBTYWx0ZWRfX00lA2qz1tEz5 ToHV4A3o6EQzQL5Wx/fA9M16/2HYCoDILchM7Be67W7aW2Q8DAZZvWXRyPpXXmXHSQ0nMTBGaXu f+KhdrHjLC9zv/a42PS4m12iOwJ3XaL+u1f4yj0icij3M5YgmzrMZtBX4UTF8crOtbr3o/tgWj3 AhDTIZvoszeAH0XFve/mS19oCJFcx6L29+b/sWvYMUTclBzQoEVa8C6jy1ygDLGWyUKMRLxFlMG lawtIU9QGLNbGi8wRuIuGNGzu/5SbL0w2QcjhouYP83WWCPHKpjkItOAFzoYa6z7ASW1T6ArsQ6 wtMBQe2Fw+xiCdxXdUyc4BzJXHzFPaF+rdyzdpX/NekWVeOaKlKY6umxk/rDMUMHgtrK8mfaZE8 ZVsJfIkajF8Mo+aTgSMikZ+z3S8+Mw0b//WbQeWs5PIf59MQPt/hS6QPIrBBAq4LkjqWE7qocZ4 q02BKFAwneKGh7oVujw== X-Proofpoint-ORIG-GUID: G9LtK_-wsCnYFP_k32CknGsU6UOQcJOl X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-18_01,2026-06-17_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 clxscore=1015 impostorscore=0 spamscore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606180085 On 5/9/2026 8:28 AM, Miaoqing Pan wrote: > Wi-Fi 7 monitor RX status TLV parsing needs to decode TLV headers and > advance the pointer with the correct header alignment. Different targets > use different TLV header layouts (32-bit vs 64-bit), but the HAL ops for > dp_mon RX status header decode and header alignment were not populated > for all wifi7 targets. > > Add dp_mon RX status TLV header decode callbacks and TLV header alignment > helpers to the wifi7 HAL ops for QCC2072, QCN9274 and WCN7850. Export > helpers to query the required TLV header alignment for 32-bit and 64-bit > TLV headers so the caller can align the TLV walk correctly across targets. > > Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00068-QCACOLSWPL_V1_TO_SILICONZ-1 > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 > > Signed-off-by: Miaoqing Pan > --- > drivers/net/wireless/ath/ath12k/hal.c | 12 ++++++++++++ > drivers/net/wireless/ath/ath12k/hal.h | 4 ++++ > drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c | 2 ++ > drivers/net/wireless/ath/ath12k/wifi7/hal_qcn9274.c | 2 ++ > drivers/net/wireless/ath/ath12k/wifi7/hal_wcn7850.c | 2 ++ > 5 files changed, 22 insertions(+) > > diff --git a/drivers/net/wireless/ath/ath12k/hal.c b/drivers/net/wireless/ath/ath12k/hal.c > index d940f83cd92f..c0c3d2f047ef 100644 > --- a/drivers/net/wireless/ath/ath12k/hal.c > +++ b/drivers/net/wireless/ath/ath12k/hal.c > @@ -875,3 +875,15 @@ void *ath12k_hal_decode_tlv32_hdr(void *tlv, u16 *tag, u16 *len, u16 *usrid) > return tlv32->value; > } > EXPORT_SYMBOL(ath12k_hal_decode_tlv32_hdr); > + > +u32 ath12k_hal_get_tlv64_hdr_align(void) > +{ > + return HAL_TLV_64_ALIGN; > +} > +EXPORT_SYMBOL(ath12k_hal_get_tlv64_hdr_align); > + > +u32 ath12k_hal_get_tlv32_hdr_align(void) > +{ > + return HAL_TLV_ALIGN; > +} > +EXPORT_SYMBOL(ath12k_hal_get_tlv32_hdr_align); > diff --git a/drivers/net/wireless/ath/ath12k/hal.h b/drivers/net/wireless/ath/ath12k/hal.h > index 3158c1881c76..312993d3d5d4 100644 > --- a/drivers/net/wireless/ath/ath12k/hal.h > +++ b/drivers/net/wireless/ath/ath12k/hal.h > @@ -1439,6 +1439,8 @@ struct hal_ops { > u8 *rbm, u32 *msdu_cnt); > void *(*reo_cmd_enc_tlv_hdr)(void *tlv, u64 tag, u64 len); > u16 (*reo_status_dec_tlv_hdr)(void *tlv, void **desc); > + void *(*mon_rx_status_dec_tlv_hdr)(void *tlv, u16 *tag, u16 *len, u16 *usrid); > + u32 (*get_tlv_hdr_align)(void); > }; > > #define HAL_TLV_HDR_TAG GENMASK(9, 1) > @@ -1553,4 +1555,6 @@ void *ath12k_hal_encode_tlv64_hdr(void *tlv, u64 tag, u64 len); > void *ath12k_hal_encode_tlv32_hdr(void *tlv, u64 tag, u64 len); > void *ath12k_hal_decode_tlv64_hdr(void *tlv, u16 *tag, u16 *len, u16 *usrid); > void *ath12k_hal_decode_tlv32_hdr(void *tlv, u16 *tag, u16 *len, u16 *usrid); > +u32 ath12k_hal_get_tlv64_hdr_align(void); > +u32 ath12k_hal_get_tlv32_hdr_align(void); > #endif > diff --git a/drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c b/drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c > index c0583c3a2191..80ffadc47d48 100644 > --- a/drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c > +++ b/drivers/net/wireless/ath/ath12k/wifi7/hal_qcc2072.c > @@ -490,6 +490,8 @@ const struct hal_ops hal_qcc2072_ops = { > .rx_reo_ent_buf_paddr_get = ath12k_wifi7_hal_rx_reo_ent_buf_paddr_get, > .reo_cmd_enc_tlv_hdr = ath12k_hal_encode_tlv32_hdr, > .reo_status_dec_tlv_hdr = ath12k_hal_reo_status_dec_tlv_hdr_qcc2072, > + .mon_rx_status_dec_tlv_hdr = ath12k_hal_decode_tlv32_hdr, > + .get_tlv_hdr_align = ath12k_hal_get_tlv32_hdr_align, ops get_tlv_hdr_align() seems unused, may be patch 4/5 is supposed to used this ops instead of removing the alignment? Vasanth