From patchwork Tue Jan 31 14:03:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Youghandhar Chintala X-Patchwork-Id: 50884 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2772610wrn; Tue, 31 Jan 2023 06:13:02 -0800 (PST) X-Google-Smtp-Source: AK7set8gEgsV/KZ9HO8fczt4kNbqfWrVWMhBcZy0MoCvBeiEFBu+6xYog89CiyojSYgUkQ5gd8GA X-Received: by 2002:a05:6a21:900c:b0:be:f077:9dc with SMTP id tq12-20020a056a21900c00b000bef07709dcmr1404220pzb.19.1675174382619; Tue, 31 Jan 2023 06:13:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675174382; cv=none; d=google.com; s=arc-20160816; b=WLAx7P/2Mj3IIMkwh6yAxNzZVpUTEJ99SuTYhuxK+1GaTplcK0p2mKIjckr8f66q1d xaRt3zuzek9eE+SwcmkR72Adu51/w9dQmzXU6+omPOWAq0cSnRGM3ODDF+tEnl5Ec9nu NRRBGJL+2Mqws9NJVKX4gFrKRte/mhuVTxP1yb2CgN0sHMXOt5lEvISJnn5OM/KuIWAD gJG9ShWhXG+ti5p1W4Ky+ljh6GyH0eHn9vxJXZ0jQ+Air6B3Ut9W2PpC8D3AMrSgjoiv LV/TbGVKla409ow55+v2WQwnvnHI7uusMBMMWETRN9qJV0wJPjMbJZqn3jQxiZ/6lMJN 4X+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Egmllpt2UyN9IAHOZOSTcs5pT7E8UwSPc2rT9k6nNbI=; b=z0SyI/XhWXb2EniWghRMJPXYPSlRwoyYY6xiuDYH1HEWsVVesaKh198U/Wc0zHWwaj 8XBIKENmCpo1klG6xhjIk1K+eAQ2NH8DuA2KItZmg4ULv74/whCUYeywyxofeY/gjKkZ RiioNrXMtF0SSzDpin3ImwutONCOsCyAMNCzYEahcgmbQX5GMRMxWXDJQ4hlM435cPNa TqhL+yChuKvrXTLBX0wu+3O5ySLxaadv35JuzeHyA4J4rd/lQiKkIe5AX5tSQ5Oxk8DX nbxcHlRNvRLddjfawib7GffmzypMwzuI67ck8o11XnEAoezUSigZgBYCBH+6CrE/eo03 dC1Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=n03l1Vym; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i4-20020a17090332c400b001930a5bccfcsi4686888plr.610.2023.01.31.06.12.50; Tue, 31 Jan 2023 06:13:02 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=n03l1Vym; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231600AbjAaOE6 (ORCPT + 99 others); Tue, 31 Jan 2023 09:04:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41536 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231890AbjAaOEs (ORCPT ); Tue, 31 Jan 2023 09:04:48 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8BB1CDD1; Tue, 31 Jan 2023 06:04:47 -0800 (PST) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30V3TB3D023273; Tue, 31 Jan 2023 14:04:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=Egmllpt2UyN9IAHOZOSTcs5pT7E8UwSPc2rT9k6nNbI=; b=n03l1VymAdkpKScHfbfU3hsjXE+2jWZ2IdOz7YxCfgEULTO6CtyyPSLBX6CeLYjAHutz BEjQJg2ZAPcCBMVJxg9tgDY+ZPXLhnO7v2L5nBMFtlqrlPlFkEnpgV4YbBDqAHcDLe1H +joj3gNn2VfB4W733HYlOEVV70xOyRU5FwP2ATGT/jaPceHHTO/By0vylmio8z0dEkpf sQGx2RFhyLMs3+e6wnKbREU0Awrit5/R5rqM4vuDNtTSOJ4jl2gGvq5GaUQhQHQ2R36d T8AYgFquzx0O1g5GWSILXTrIEnymII+JCZJYLtNZjDWV4Bqpn4QSu9yq1ZyUlsN+pfnz Nw== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3nefmftvs0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Jan 2023 14:04:36 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 30VE4ZVO028576 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Jan 2023 14:04:35 GMT Received: from youghand-linux.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 06:04:31 -0800 From: Youghandhar Chintala To: , , , , , , CC: , , , , , Youghandhar Chintala Subject: [PATCH v2 1/2] dt: bindings: add dt entry for XO calibration support Date: Tue, 31 Jan 2023 19:33:44 +0530 Message-ID: <20230131140345.6193-2-quic_youghand@quicinc.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20230131140345.6193-1-quic_youghand@quicinc.com> References: <20230131140345.6193-1-quic_youghand@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: O5TDsiFlv2MK4Mi4x9dankAqYx7aUTt3 X-Proofpoint-GUID: O5TDsiFlv2MK4Mi4x9dankAqYx7aUTt3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-31_08,2023-01-31_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 priorityscore=1501 mlxlogscore=999 suspectscore=0 bulkscore=0 mlxscore=0 impostorscore=0 phishscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301310125 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756547490619547496?= X-GMAIL-MSGID: =?utf-8?q?1756547653636655403?= Add dt binding to get XO calibration data support for Wi-Fi RF clock. Signed-off-by: Youghandhar Chintala --- .../devicetree/bindings/net/wireless/qcom,ath11k.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml index f7cf135aa37f..205ee949daba 100644 --- a/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath11k.yaml @@ -41,6 +41,10 @@ properties: * reg * reg-names + xo-cal-data: + description: + XO cal offset to be configured in XO trim register + qcom,ath11k-calibration-variant: $ref: /schemas/types.yaml#/definitions/string description: From patchwork Tue Jan 31 14:03:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Youghandhar Chintala X-Patchwork-Id: 50883 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp2771102wrn; Tue, 31 Jan 2023 06:10:29 -0800 (PST) X-Google-Smtp-Source: AK7set8CknPg8SzKKp9LR1u46MeCR9AFBisLQ9SH7CRo9HwC7ms4plAGDAaokjvSAa6wR9tTUhoV X-Received: by 2002:a17:90b:4d8b:b0:22b:f622:56ae with SMTP id oj11-20020a17090b4d8b00b0022bf62256aemr28693010pjb.23.1675174229647; Tue, 31 Jan 2023 06:10:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675174229; cv=none; d=google.com; s=arc-20160816; b=wQUskGFm7SBdPYHx6lSfr/Kg89Va5Mx+N9gwj3VlZ4kHm4l17vgr0iiNpP/2lxpP6L 37+ZrEaUmRWCjbYNk9PmVnVO4czWXrnUxBYso3ZX2AFlysAP0zZF+8ScKfQUB9m1J33B MsPVhvMeYlnRLzbmvqN2hnsBf6B0gXwC3z2k5uxNVZL5kO/WL+oUnntKsafgGv7o72y1 h+DOwYAunY39+a0V4Sjf2LFHNvPdP2bCn86KwkxEdDMQUGmBFwP7B1OD6pub/hC/wuK4 Y8xE8iKTVewg6W71l7BvF2vJIqFoCOJGZytN+ObFzV/hkVue8HlfhxwLKUSuYeLBVTL8 E8Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=E/fAdF/zkHo45BBMEQJvly0JrNdpGoTOtqVn/he4rmM=; b=kEfjMXl1meJnm8g1Nkt5PI5tcvIiPoOKUQIYHkVxVue1TgivkTCQrPLmOgwQFBROK8 THOJVH6HJL0vbWvDrbWjOhVj8ULLocLNkCvHv9RPwcHAMyod1DzCVvrQt22DrdCV2qLC 7XG1aIWRJGtS86a8HvIEGOWJlkvx3YxmNIZKxNacAhVpOH9uQrz7JKdtItkhdoNHEOGB wMzxzIo8wFKT7/7CBJ04+WRu+PkBthOJwe7gQMsJJ46xEqtCaq2P/Cc3ZWkM/yJ6e0ol 1hvxepVMGRjpwQ6u84ZIdf7vov92nx3YTuV1ZAjFT7HfcBED90hukebo1Kz7MFzEDBg2 ktvQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=S7LEfyBs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id me15-20020a17090b17cf00b00226ddf6b7ddsi19862928pjb.181.2023.01.31.06.10.06; Tue, 31 Jan 2023 06:10:29 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=S7LEfyBs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232518AbjAaOFI (ORCPT + 99 others); Tue, 31 Jan 2023 09:05:08 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41558 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232482AbjAaOEz (ORCPT ); Tue, 31 Jan 2023 09:04:55 -0500 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67B3335B3; Tue, 31 Jan 2023 06:04:54 -0800 (PST) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30VE13V9027139; Tue, 31 Jan 2023 14:04:45 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=qcppdkim1; bh=E/fAdF/zkHo45BBMEQJvly0JrNdpGoTOtqVn/he4rmM=; b=S7LEfyBsUvS9xFsWfGI9C+K1dhogN4AL8Nz8uzxS2hYPC/lBXpQivAYvoNS4nl6rC5xN t3Bgh3b1+kovf1Qqug0osl1F4pVAxZHfBLlM7IqIK/RbiOjXEzM7B6qkZDONGMJwZrC4 4vQrSQjni9XlcPmB2Tb38yJ2ubklRUgKHIuTPna3Hw0MqnLrK0IuOG1AdhuwqTIqZ858 M8x/4Rs4edHut73yu5ICJ3p0QJsdqNJA6p4dAlq0xRe1lw4n8F9oXHLfalTIlW/P+6Cf Msin70EvhyIV3+bCxRr+TGWYF5oJS0E4KWK4apz83q57Z2B6OnG3g3SpsQm0z1O9CXFU Ww== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3new3u980f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Jan 2023 14:04:44 +0000 Received: from nalasex01a.na.qualcomm.com (nalasex01a.na.qualcomm.com [10.47.209.196]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 30VE4h5N012301 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 31 Jan 2023 14:04:43 GMT Received: from youghand-linux.qualcomm.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Tue, 31 Jan 2023 06:04:39 -0800 From: Youghandhar Chintala To: , , , , , , CC: , , , , , Youghandhar Chintala Subject: [PATCH v2 2/2] wifi: ath11k: PMIC XO cal data support Date: Tue, 31 Jan 2023 19:33:45 +0530 Message-ID: <20230131140345.6193-3-quic_youghand@quicinc.com> X-Mailer: git-send-email 2.38.0 In-Reply-To: <20230131140345.6193-1-quic_youghand@quicinc.com> References: <20230131140345.6193-1-quic_youghand@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: MI8SnSJM_t216eBmqmuHicvttJ7NGjEs X-Proofpoint-ORIG-GUID: MI8SnSJM_t216eBmqmuHicvttJ7NGjEs X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.930,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-31_08,2023-01-31_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 clxscore=1015 suspectscore=0 mlxscore=0 mlxlogscore=999 impostorscore=0 adultscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2301310125 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1756547492909512141?= X-GMAIL-MSGID: =?utf-8?q?1756547492909512141?= PMIC XO is the clock source for Wi-Fi RF clock in integrated Wi-Fi chipset ex: WCN6750. Due to board layout errors XO frequency drifts can cause Wi-Fi RF clock inaccuracy. XO calibration test tree in Factory Test Mode is used to find the best frequency offset(for example +/-2 KHz )by programming XO trim register. This ensure system clock stays within required 20 ppm WLAN RF clock. Retrieve the XO trim offset via system firmware (e.g., device tree), especially in the case where the device doesn't have a useful EEPROM on which to store the calibrated XO offset (e.g., for integrated Wi-Fi). Calibrated XO offset is sent to firmware, which compensate the clock drift by programing the XO trim register. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.1.0.1-00887-QCAMSLSWPLZ-1 Signed-off-by: Youghandhar Chintala --- drivers/net/wireless/ath/ath11k/ahb.c | 8 ++++++++ drivers/net/wireless/ath/ath11k/core.h | 3 +++ drivers/net/wireless/ath/ath11k/qmi.c | 24 ++++++++++++++++++++++++ drivers/net/wireless/ath/ath11k/qmi.h | 4 +++- 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c index d34a4d6325b2..89580b4e47a9 100644 --- a/drivers/net/wireless/ath/ath11k/ahb.c +++ b/drivers/net/wireless/ath/ath11k/ahb.c @@ -1039,6 +1039,14 @@ static int ath11k_ahb_fw_resources_init(struct ath11k_base *ab) ab_ahb->fw.iommu_domain = iommu_dom; of_node_put(node); + ret = of_property_read_u32(pdev->dev.of_node, "xo-cal-data", &ab->xo_cal_data); + if (ret) { + ath11k_dbg(ab, ATH11K_DBG_AHB, "failed to get xo-cal-data property\n"); + return 0; + } + ab->xo_cal_supported = true; + ath11k_dbg(ab, ATH11K_DBG_AHB, "xo cal data 0x%x\n", ab->xo_cal_data); + return 0; err_iommu_unmap: diff --git a/drivers/net/wireless/ath/ath11k/core.h b/drivers/net/wireless/ath/ath11k/core.h index 22460b0abf03..783398e98915 100644 --- a/drivers/net/wireless/ath/ath11k/core.h +++ b/drivers/net/wireless/ath/ath11k/core.h @@ -969,6 +969,9 @@ struct ath11k_base { const struct ath11k_pci_ops *ops; } pci; + bool xo_cal_supported; + u32 xo_cal_data; + /* must be last */ u8 drv_priv[] __aligned(sizeof(void *)); }; diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c index 145f20a681bd..67f386b001ab 100644 --- a/drivers/net/wireless/ath/ath11k/qmi.c +++ b/drivers/net/wireless/ath/ath11k/qmi.c @@ -1451,6 +1451,24 @@ static struct qmi_elem_info qmi_wlanfw_wlan_mode_req_msg_v01_ei[] = { .offset = offsetof(struct qmi_wlanfw_wlan_mode_req_msg_v01, hw_debug), }, + { + .data_type = QMI_OPT_FLAG, + .elem_len = 1, + .elem_size = sizeof(u8), + .array_type = NO_ARRAY, + .tlv_type = 0x11, + .offset = offsetof(struct qmi_wlanfw_wlan_mode_req_msg_v01, + xo_cal_data_valid), + }, + { + .data_type = QMI_UNSIGNED_1_BYTE, + .elem_len = 1, + .elem_size = sizeof(u8), + .array_type = NO_ARRAY, + .tlv_type = 0x11, + .offset = offsetof(struct qmi_wlanfw_wlan_mode_req_msg_v01, + xo_cal_data), + }, { .data_type = QMI_EOTI, .array_type = NO_ARRAY, @@ -2610,6 +2628,12 @@ static int ath11k_qmi_wlanfw_mode_send(struct ath11k_base *ab, req.hw_debug_valid = 1; req.hw_debug = 0; + if (ab->xo_cal_supported) { + req.xo_cal_data_valid = 1; + req.xo_cal_data = ab->xo_cal_data; + } + ath11k_dbg(ab, ATH11K_DBG_QMI, "xo_cal_supported %d\n", ab->xo_cal_supported); + ret = qmi_txn_init(&ab->qmi.handle, &txn, qmi_wlanfw_wlan_mode_resp_msg_v01_ei, &resp); if (ret < 0) diff --git a/drivers/net/wireless/ath/ath11k/qmi.h b/drivers/net/wireless/ath/ath11k/qmi.h index 2ec56a34fa81..db61ce0d5689 100644 --- a/drivers/net/wireless/ath/ath11k/qmi.h +++ b/drivers/net/wireless/ath/ath11k/qmi.h @@ -450,7 +450,7 @@ struct qmi_wlanfw_m3_info_resp_msg_v01 { struct qmi_response_type_v01 resp; }; -#define QMI_WLANFW_WLAN_MODE_REQ_MSG_V01_MAX_LEN 11 +#define QMI_WLANFW_WLAN_MODE_REQ_MSG_V01_MAX_LEN 17 #define QMI_WLANFW_WLAN_MODE_RESP_MSG_V01_MAX_LEN 7 #define QMI_WLANFW_WLAN_CFG_REQ_MSG_V01_MAX_LEN 803 #define QMI_WLANFW_WLAN_CFG_RESP_MSG_V01_MAX_LEN 7 @@ -470,6 +470,8 @@ struct qmi_wlanfw_wlan_mode_req_msg_v01 { u32 mode; u8 hw_debug_valid; u8 hw_debug; + u8 xo_cal_data_valid; + u8 xo_cal_data; }; struct qmi_wlanfw_wlan_mode_resp_msg_v01 {