diff options
author | Maya Erez <merez@codeaurora.org> | 2017-05-15 16:57:46 +0300 |
---|---|---|
committer | Maya Erez <merez@codeaurora.org> | 2017-05-15 16:57:46 +0300 |
commit | 36fc0ea2edfd0fbc810b01635ba87ad4ddbff773 (patch) | |
tree | 57e16924b51fe9a44fee258b13a6a5a500fd1365 /drivers/platform | |
parent | c6d1c1699e7dcc7ec170baae48be94814061d0b7 (diff) |
wil6210: add support for PCIe D3hot in system suspend
In order to preserve the connection in suspend/resume flow,
wil6210 host allows going to PCIe D3hot state in suspend,
instead of performing a full wil6210 device reset. This
requires the platform ability to initiate wakeup in case of
RX data. To check that, a new platform API is added.
In addition, add cfg80211 suspend/resume callbacks
implementation.
Change-Id: I3846eaaa8d6e9ecbe5adbb0c04c7574865d5af5e
Signed-off-by: Maya Erez <merez@codeaurora.org>
Diffstat (limited to 'drivers/platform')
-rw-r--r-- | drivers/platform/msm/msm_11ad/msm_11ad.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/platform/msm/msm_11ad/msm_11ad.c b/drivers/platform/msm/msm_11ad/msm_11ad.c index f1e348969c7b..f00cc69aa0d5 100644 --- a/drivers/platform/msm/msm_11ad/msm_11ad.c +++ b/drivers/platform/msm/msm_11ad/msm_11ad.c @@ -523,7 +523,7 @@ int msm_11ad_ctrl_aspm_l1(struct msm11ad_ctx *ctx, bool enable) return rc; } -static int ops_suspend(void *handle) +static int ops_suspend(void *handle, bool keep_device_power) { int rc; struct msm11ad_ctx *ctx = handle; @@ -560,7 +560,7 @@ static int ops_suspend(void *handle) return rc; } -static int ops_resume(void *handle) +static int ops_resume(void *handle, bool device_powered_on) { int rc; struct msm11ad_ctx *ctx = handle; @@ -906,7 +906,7 @@ out_rc: static void msm_11ad_init_cpu_boost(struct msm11ad_ctx *ctx) { unsigned int minfreq = 0, maxfreq = 0, freq; - int i, boost_cpu; + int i, boost_cpu = 0; for_each_possible_cpu(i) { freq = cpufreq_quick_get_max(i); @@ -1147,7 +1147,7 @@ static int msm_11ad_probe(struct platform_device *pdev) device_disable_async_suspend(&pcidev->dev); list_add_tail(&ctx->list, &dev_list); - ops_suspend(ctx); + ops_suspend(ctx, false); return 0; out_rc: @@ -1315,7 +1315,7 @@ static void ops_uninit(void *handle) memset(&ctx->rops, 0, sizeof(ctx->rops)); ctx->wil_handle = NULL; - ops_suspend(ctx); + ops_suspend(ctx, false); } static int msm_11ad_notify_crash(struct msm11ad_ctx *ctx) @@ -1440,7 +1440,7 @@ int msm_11ad_modinit(void) ctx->subsys_handle = subsystem_get(ctx->subsysdesc.name); - return ops_resume(ctx); + return ops_resume(ctx, false); } EXPORT_SYMBOL(msm_11ad_modinit); |