wil6210: remove HALP for Talyn devices
authorMaya Erez <merez@codeaurora.org>
Fri, 26 Apr 2019 15:43:37 +0000 (18:43 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 3 May 2019 05:04:59 +0000 (08:04 +0300)
In Talyn the HW is responsible for power management enter / exit
flow, hence the deep sleep exit latency is significantly shorter than
in Sparrow.
In such a case HALP feature, that is meant to prevent long PCIe blocking
accesses, is no longer needed and can be removed for Talyn.

Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/main.c

index efdb6e137c1698c9f624fe426d091c6bd1bd83e8..3c30076efb64405720298809348f7637f80c5a61 100644 (file)
@@ -1940,6 +1940,9 @@ void wil_halp_vote(struct wil6210_priv *wil)
        unsigned long rc;
        unsigned long to_jiffies = msecs_to_jiffies(WAIT_FOR_HALP_VOTE_MS);
 
+       if (wil->hw_version >= HW_VER_TALYN_MB)
+               return;
+
        mutex_lock(&wil->halp.lock);
 
        wil_dbg_irq(wil, "halp_vote: start, HALP ref_cnt (%d)\n",
@@ -1971,6 +1974,9 @@ void wil_halp_vote(struct wil6210_priv *wil)
 
 void wil_halp_unvote(struct wil6210_priv *wil)
 {
+       if (wil->hw_version >= HW_VER_TALYN_MB)
+               return;
+
        WARN_ON(wil->halp.ref_cnt == 0);
 
        mutex_lock(&wil->halp.lock);