diff --git a/hif/inc/hif.h b/hif/inc/hif.h index 67c902b4abc4..654f0466af1e 100644 --- a/hif/inc/hif.h +++ b/hif/inc/hif.h @@ -652,6 +652,7 @@ void hif_display_stats(struct hif_opaque_softc *hif_ctx); void hif_clear_stats(struct hif_opaque_softc *hif_ctx); #ifdef FEATURE_RUNTIME_PM struct hif_pm_runtime_lock; +void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx); int hif_pm_runtime_get(struct hif_opaque_softc *hif_ctx); void hif_pm_runtime_get_noresume(struct hif_opaque_softc *hif_ctx); int hif_pm_runtime_put(struct hif_opaque_softc *hif_ctx); @@ -668,7 +669,7 @@ int hif_pm_runtime_prevent_suspend_timeout(struct hif_opaque_softc *ol_sc, struct hif_pm_runtime_lock { const char *name; }; - +static inline void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx) {} static inline void hif_pm_runtime_get_noresume(struct hif_opaque_softc *hif_ctx) {} diff --git a/hif/src/pcie/if_pci.c b/hif/src/pcie/if_pci.c index 83d2af0eca02..f8680480e2d0 100644 --- a/hif/src/pcie/if_pci.c +++ b/hif/src/pcie/if_pci.c @@ -3114,7 +3114,6 @@ bus_resume: return errno; } -#ifdef WLAN_FEATURE_FASTPATH /** * hif_fastpath_resume() - resume fastpath for runtimepm * @@ -3122,7 +3121,7 @@ bus_resume: * since runtime pm may cause ce_send_fast to skip the register * write. */ -static void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx) +void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx) { struct hif_softc *scn = HIF_GET_SOFTC(hif_ctx); struct CE_state *ce_state; @@ -3144,9 +3143,6 @@ static void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx) Q_TARGET_ACCESS_END(scn); } } -#else -static void hif_fastpath_resume(struct hif_opaque_softc *hif_ctx) {} -#endif /** * hif_runtime_resume() - do the bus resume part of a runtime resume @@ -3160,8 +3156,6 @@ int hif_runtime_resume(struct hif_opaque_softc *hif_ctx) QDF_BUG(!hif_bus_resume_noirq(hif_ctx)); QDF_BUG(!hif_apps_irqs_enable(hif_ctx)); QDF_BUG(!hif_bus_resume(hif_ctx)); - hif_fastpath_resume(hif_ctx); - return 0; } #endif /* #ifdef FEATURE_RUNTIME_PM */ diff --git a/htc/htc_send.c b/htc/htc_send.c index 64c38ae76701..b792b5c6d2cd 100644 --- a/htc/htc_send.c +++ b/htc/htc_send.c @@ -2009,6 +2009,8 @@ void htc_kick_queues(void *context) htc_try_send(target, endpoint, NULL); } + + hif_fastpath_resume(target->hif_dev); } #endif