Return-path: Received: from mail-lf0-f68.google.com ([209.85.215.68]:33708 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751352AbdIQTkZ (ORCPT ); Sun, 17 Sep 2017 15:40:25 -0400 Received: by mail-lf0-f68.google.com with SMTP id y15so3543518lfd.0 for ; Sun, 17 Sep 2017 12:40:24 -0700 (PDT) From: Erik Stromdahl To: kvalo@qca.qualcomm.com, linux-wireless@vger.kernel.org, ath10k@lists.infradead.org Cc: Erik Stromdahl Subject: [RFC v3 01/11] ath10k: high_latency detection Date: Sun, 17 Sep 2017 21:40:03 +0200 Message-Id: <20170917194013.8658-2-erik.stromdahl@gmail.com> (sfid-20170917_214029_876599_B4690506) In-Reply-To: <20170917194013.8658-1-erik.stromdahl@gmail.com> References: <20170917194013.8658-1-erik.stromdahl@gmail.com> Sender: linux-wireless-owner@vger.kernel.org List-ID: 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 a4f635820f35..f1924c974a12 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -2496,6 +2496,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 949ebb3e967b..dc9ecf773d51 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; @@ -1013,6 +1015,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, -- 2.14.1