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 <erik.stromd...@gmail.com>
---
 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 e34c734..e985316 100644
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -2294,6 +2294,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 3f865c0..c58250c 100644
--- a/drivers/net/wireless/ath/ath10k/core.h
+++ b/drivers/net/wireless/ath/ath10k/core.h
@@ -751,6 +751,8 @@ struct ath10k {
 
        bool p2p;
 
+       bool is_high_latency;
+
        struct {
                enum ath10k_bus bus;
                const struct ath10k_hif_ops *ops;
@@ -967,6 +969,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.7.4

Reply via email to