wil6210: run-time PM when interface down
Allow run-time suspend when interface is down, keep card alive when interface is up. If driver is in wmi only or debug_fw mode run-time PM won't suspend. Signed-off-by: Lazar Alexei <qca_ailizaro@qca.qualcomm.com> Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Esse commit está contido em:
@@ -616,6 +616,16 @@ struct blink_on_off_time {
|
||||
u32 off_ms;
|
||||
};
|
||||
|
||||
struct wil_debugfs_iomem_data {
|
||||
void *offset;
|
||||
struct wil6210_priv *wil;
|
||||
};
|
||||
|
||||
struct wil_debugfs_data {
|
||||
struct wil_debugfs_iomem_data *data_arr;
|
||||
int iomem_data_count;
|
||||
};
|
||||
|
||||
extern struct blink_on_off_time led_blink_time[WIL_LED_TIME_LAST];
|
||||
extern u8 led_id;
|
||||
extern u8 led_polarity;
|
||||
@@ -708,6 +718,7 @@ struct wil6210_priv {
|
||||
u8 abft_len;
|
||||
u8 wakeup_trigger;
|
||||
struct wil_suspend_stats suspend_stats;
|
||||
struct wil_debugfs_data dbg_data;
|
||||
|
||||
void *platform_handle;
|
||||
struct wil_platform_ops platform_ops;
|
||||
@@ -732,9 +743,7 @@ struct wil6210_priv {
|
||||
int fw_calib_result;
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
struct notifier_block pm_notify;
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
#endif /* CONFIG_PM */
|
||||
|
||||
bool suspend_resp_rcvd;
|
||||
@@ -999,6 +1008,11 @@ int wil_request_firmware(struct wil6210_priv *wil, const char *name,
|
||||
bool load);
|
||||
bool wil_fw_verify_file_exists(struct wil6210_priv *wil, const char *name);
|
||||
|
||||
void wil_pm_runtime_allow(struct wil6210_priv *wil);
|
||||
void wil_pm_runtime_forbid(struct wil6210_priv *wil);
|
||||
int wil_pm_runtime_get(struct wil6210_priv *wil);
|
||||
void wil_pm_runtime_put(struct wil6210_priv *wil);
|
||||
|
||||
int wil_can_suspend(struct wil6210_priv *wil, bool is_runtime);
|
||||
int wil_suspend(struct wil6210_priv *wil, bool is_runtime);
|
||||
int wil_resume(struct wil6210_priv *wil, bool is_runtime);
|
||||
|
Referência em uma nova issue
Block a user