qcacmn: Add runtime pm apis to record last dp rx busy mark
Add runtime pm apis to record last busy mark set by data path during dp rx process. Currently for mcl in some scenerios runtime sync suspend is issued which puts the link in low power state with out waiting for link inactivity timeout. This leads to throughput degradation in case of rx direction as in rx processing data path extends the timer by marking last busy to avoid immediate runtime suspend. But runtime sync suspend does not take in to account of the link idle timeout value before suspending the link. So using this apis, before issuing runtime sync suspend check the duration since last busy mark by data path rx process. If the duration is less than run time delay just do runtime put. Change-Id: I694ef6ddec8f11fed44bf3b9e5ae18ad93b6ec24 CRs-Fixed: 2512326
This commit is contained in:

committed by
nshrivas

parent
7ee0677954
commit
b96e5072de
@@ -865,6 +865,9 @@ bool hif_pm_runtime_is_suspended(struct hif_opaque_softc *hif_ctx);
|
||||
int hif_pm_runtime_get_monitor_wake_intr(struct hif_opaque_softc *hif_ctx);
|
||||
void hif_pm_runtime_set_monitor_wake_intr(struct hif_opaque_softc *hif_ctx,
|
||||
int val);
|
||||
void hif_pm_runtime_mark_dp_rx_busy(struct hif_opaque_softc *hif_ctx);
|
||||
int hif_pm_runtime_is_dp_rx_busy(struct hif_opaque_softc *hif_ctx);
|
||||
qdf_time_t hif_pm_runtime_get_dp_rx_busy_mark(struct hif_opaque_softc *hif_ctx);
|
||||
#else
|
||||
struct hif_pm_runtime_lock {
|
||||
const char *name;
|
||||
@@ -912,6 +915,14 @@ hif_pm_runtime_get_monitor_wake_intr(struct hif_opaque_softc *hif_ctx)
|
||||
static inline void
|
||||
hif_pm_runtime_set_monitor_wake_intr(struct hif_opaque_softc *hif_ctx, int val)
|
||||
{ return; }
|
||||
static inline void
|
||||
hif_pm_runtime_mark_dp_rx_busy(struct hif_opaque_softc *hif_ctx) {};
|
||||
static inline int
|
||||
hif_pm_runtime_is_dp_rx_busy(struct hif_opaque_softc *hif_ctx)
|
||||
{ return 0; }
|
||||
static inline qdf_time_t
|
||||
hif_pm_runtime_get_dp_rx_busy_mark(struct hif_opaque_softc *hif_ctx)
|
||||
{ return 0; }
|
||||
#endif
|
||||
|
||||
void hif_enable_power_management(struct hif_opaque_softc *hif_ctx,
|
||||
|
Reference in New Issue
Block a user