From patchwork Sun May 21 19:59:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Erik Stromdahl X-Patchwork-Id: 9739251 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id A59F060326 for ; Sun, 21 May 2017 20:01:43 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9505828598 for ; Sun, 21 May 2017 20:01:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8882528680; Sun, 21 May 2017 20:01:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2C87D28598 for ; Sun, 21 May 2017 20:01:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932143AbdEUUBd (ORCPT ); Sun, 21 May 2017 16:01:33 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:33984 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932083AbdEUUBb (ORCPT ); Sun, 21 May 2017 16:01:31 -0400 Received: by mail-lf0-f68.google.com with SMTP id q24so3696081lfb.1 for ; Sun, 21 May 2017 13:01:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=MTz/kSSRakhVPXlbbNhsNHTay3h3XmT1Hb0mxQl2sV0=; b=ReQIHA/FxBC/ayt6OQwafvl6nOBEps8M+l2ALzlJ84A5CesVhjYtynFBACHVxtzfjz Malw61TRpN8HXIYXmVHficW3yIhE8eRDJ1eSD6TpGhlFuBUvzOjI1+VpJXG00MCzc2rU etMJ3R4GMswPtehsxpfNKKYbC+5EG9XndcnBEFP5s6CB4jl3pD8NhbD5zCZQtqLXt0Wd NsM6PfPN8iAJwhsXHdbF7MrqJWtMb95yH9uTWMPfbsNolIRsPEOZ6DE3s2Qi4frwAOf1 VX163+LGq1nOKDIZ5ZY88J9m8xEZolarKlTICaU3jz1lBC6Syu8JrNv6svnNgEg94R8m DROQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=MTz/kSSRakhVPXlbbNhsNHTay3h3XmT1Hb0mxQl2sV0=; b=KWfWiKJIpYyMbHkkvo6PLrR/BOOx2eHa9Zf/ngZxJIc2yctRC5tXxpS0YlIxxp5CoZ lWwLc+jGQoZ16Ml/6YuPJB9cUPdUVd6V5h1dbScXOVrPCGvANUt8Z/mZiFmqRi+EaiG+ DTB85l4FPuPhiYN1h3H73KPK7s5A++nFU7okShXOjLpbzvmxod0Pas8h0yC48V1pQOGM nJwteh2LOot9cDV0E2IjYbuz3XCmWpBHnhAWMAWV7km/NmUaH7BBaH/w+WofHwsO2bFD VuR5wyyF6qvcSNZw1/ereWijiHvo5NRXPAu7+hUipUgokWo9322X0jUWTeodBDCiJGZr pB2Q== X-Gm-Message-State: AODbwcB2QY9PD0o/VNK/ailXKOKtmcLUjU1HDnuBlknHPOwVF1zby9dC F2Z3CH01X9hA9HITjP0= X-Received: by 10.46.69.212 with SMTP id s203mr4867674lja.8.1495396879611; Sun, 21 May 2017 13:01:19 -0700 (PDT) Received: from erik-mate-1604.lan (90-227-62-61-no75.tbcn.telia.com. [90.227.62.61]) by smtp.gmail.com with ESMTPSA id 17sm1821544ljo.56.2017.05.21.13.01.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 21 May 2017 13:01:19 -0700 (PDT) From: Erik Stromdahl To: kvalo@qca.qualcomm.com, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: Erik Stromdahl Subject: [RFC 1/9] ath10k: high_latency detection Date: Sun, 21 May 2017 21:59:03 +0200 Message-Id: <1495396751-4805-2-git-send-email-erik.stromdahl@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495396751-4805-1-git-send-email-erik.stromdahl@gmail.com> References: <1495396751-4805-1-git-send-email-erik.stromdahl@gmail.com> Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP The setup of high latency chips (USB and SDIO) is sometimes different than for chips using low latency interfaces. The bus type is used to determine if the interface is a high latency interface. Signed-off-by: Erik Stromdahl --- drivers/net/wireless/ath/ath10k/core.c | 1 + drivers/net/wireless/ath/ath10k/core.h | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c index 46ce263..627954e 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -2445,6 +2445,7 @@ struct ath10k *ath10k_core_create(size_t priv_size, struct device *dev, ar->hw_rev = hw_rev; ar->hif.ops = hif_ops; ar->hif.bus = bus; + ar->is_high_latency = ath10k_is_high_latency(bus); switch (hw_rev) { case ATH10K_HW_QCA988X: diff --git a/drivers/net/wireless/ath/ath10k/core.h b/drivers/net/wireless/ath/ath10k/core.h index 1efe0a1..90069b8 100644 --- a/drivers/net/wireless/ath/ath10k/core.h +++ b/drivers/net/wireless/ath/ath10k/core.h @@ -789,6 +789,8 @@ struct ath10k { bool p2p; + bool is_high_latency; + struct { enum ath10k_bus bus; const struct ath10k_hif_ops *ops; @@ -1008,6 +1010,11 @@ static inline bool ath10k_peer_stats_enabled(struct ath10k *ar) return false; } +static inline bool ath10k_is_high_latency(enum ath10k_bus bus) +{ + return ((bus == ATH10K_BUS_SDIO) || (bus == ATH10K_BUS_USB)); +} + struct ath10k *ath10k_core_create(size_t priv_size, struct device *dev, enum ath10k_bus bus, enum ath10k_hw_rev hw_rev,