From patchwork Fri Dec 20 03:28:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Huang X-Patchwork-Id: 11304681 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 5F2D913A4 for ; Fri, 20 Dec 2019 03:29:09 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2EA9E24680 for ; Fri, 20 Dec 2019 03:29:09 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="uWVFKxNP"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=mg.codeaurora.org header.i=@mg.codeaurora.org header.b="W9AUSmHh" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2EA9E24680 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=ath11k-bounces+patchwork-ath11k=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:List-Subscribe:List-Help: List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date:Subject:To: From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=JxZwla9nRMkjErlBG5aECK48WhX+n3Xm/vxjbLfxOhU=; b=uWVFKxNPNcdTvV nzK7qHc1G7BfAYb87nskvuEohICcqFYJreZw9cOb/sWi9vuwB4x3hPmngDj5UnRY/2LQAyAew85u0 dUKlCBKrGicBsJDHFOCCuTJP+UjCN7J5bIFTQ6NBuWjVElH77aNgE3yIJ8/OaG137tucXp6cSqiEX p/ZceSp/oa8og2K4w8ThZYonoTMNKfhS3/fCI3uSVUr4PF8Hn8mlfw7lPLtYvhTne1aDhM+NAMNeU GLwl8m01pmRkULrDCo3S0SZXnITew9L2e5wcYUs9cYB7P0Rd8ZX9KIGmYPhqazoVPVG23D2CrNs0+ PWazN2lHfPw/Zvq1WaGA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1ii8yQ-0004Rp-Lz; Fri, 20 Dec 2019 03:29:06 +0000 Received: from mail25.static.mailgun.info ([104.130.122.25]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1ii8yN-0004RQ-TQ for ath11k@lists.infradead.org; Fri, 20 Dec 2019 03:29:05 +0000 DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1576812542; h=Message-Id: Date: Subject: To: From: Sender; bh=6mW5TFTTsAZ3xQmTYnrR6p3wIiZali45rHVG9CIMbPw=; b=W9AUSmHhP3eePqM42SRg5ez+7MX+6ngohO7HgeEfyR9KHQYRJVKgLii9P0cJyMnnxGAwBHdS 0BhlHROksCcddRyYYcxEE+z9argT5dTPuMmR6hCY4vN+USiJSrbH9TXfx3T5EVHIKnjeBHgJ Casr3KfThE+FG1m9F2wxWc+PB9M= X-Mailgun-Sending-Ip: 104.130.122.25 X-Mailgun-Sid: WyJmOGQ2ZiIsICJhdGgxMWtAbGlzdHMuaW5mcmFkZWFkLm9yZyIsICJiZTllNGEiXQ== Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by mxa.mailgun.org with ESMTP id 5dfc3ff7.7f771c4bdce0-smtp-out-n01; Fri, 20 Dec 2019 03:28:55 -0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 1001) id 8C795C43383; Fri, 20 Dec 2019 03:28:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=2.0 tests=ALL_TRUSTED,SPF_NONE, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from cjhuang-station.qca.qualcomm.com (unknown [180.166.53.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: cjhuang) by smtp.codeaurora.org (Postfix) with ESMTPSA id 9D844C433CB for ; Fri, 20 Dec 2019 03:28:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 9D844C433CB Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: aws-us-west-2-caf-mail-1.web.codeaurora.org; spf=none smtp.mailfrom=cjhuang@codeaurora.org From: Carl Huang To: ath11k@lists.infradead.org Subject: [PATCH qca6390-bringup] ath11k: enable internal sleep clock Date: Fri, 20 Dec 2019 11:28:48 +0800 Message-Id: <1576812528-24979-1-git-send-email-cjhuang@codeaurora.org> X-Mailer: git-send-email 2.7.4 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191219_192904_013159_25D8795D X-CRM114-Status: UNSURE ( 8.41 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.0 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.0 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, no trust [104.130.122.25 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 RCVD_IN_MSPIKE_H2 RBL: Average reputation (+2) [104.130.122.25 listed in wl.mailspike.net] -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: ath11k@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "ath11k" Errors-To: ath11k-bounces+patchwork-ath11k=patchwork.kernel.org@lists.infradead.org For QCA6390 on x86 and non-qcom platfrom, host need explicitly tell firmware to use internal sleep clock. Some QCA6390 modules have OTP burnt with external sleep clock selected, and these moduesl usually can't work normally on these platforms unless firmware selects internal sleep clock. Signed-off-by: Carl Huang --- drivers/net/wireless/ath/ath11k/qmi.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c index d96446c..6612637 100644 --- a/drivers/net/wireless/ath/ath11k/qmi.c +++ b/drivers/net/wireless/ath/ath11k/qmi.c @@ -14,6 +14,8 @@ #define BDF_FILE_NAME_PREFIX "bdwlan" #define MAX_M3_FILE_NAME_LENGTH 13 #define DEFAULT_M3_FILE_NAME "m3.bin" +#define SLEEP_CLOCK_SELECT_INTERNAL_BIT 0x02 +#define HOST_CSTATE_BIT 0x04 static struct qmi_elem_info qmi_wlanfw_host_cap_req_msg_v01_ei[] = { { @@ -1537,6 +1539,15 @@ static int ath11k_qmi_host_cap_send(struct ath11k_base *ab) req.cal_done_valid = 1; req.cal_done = ab->qmi.cal_done; + req.nm_modem_valid = 1; + /*notify firmware that os is X86*/ + req.nm_modem |= HOST_CSTATE_BIT; + /* notify firmware about the sleep clock selection, + * discussed with firmware, nm_modem_bit[1] used for this purpose + * x86 host driver should select internal sleep clock. + */ + req.nm_modem |= SLEEP_CLOCK_SELECT_INTERNAL_BIT; + ret = qmi_txn_init(&ab->qmi.handle, &txn, qmi_wlanfw_host_cap_resp_msg_v01_ei, &resp); if (ret < 0)