summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-20 01:37:13 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-20 01:37:13 -0700
commitd4f03a30aca10e0e456fdf9fdfb0c83191d0081b (patch)
treec8117bb941ec90d2243822ffd9d5b98724fbaeca /drivers
parent49ccf3da5bd285822f09e114a52127363fc9a3a0 (diff)
parent9e94fb237b65595f5e5ee71abbabe1d24053356b (diff)
Merge "msm_11ad: clear affinity hint upon low bus request"
Diffstat (limited to 'drivers')
-rw-r--r--drivers/platform/msm/msm_11ad/msm_11ad.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/platform/msm/msm_11ad/msm_11ad.c b/drivers/platform/msm/msm_11ad/msm_11ad.c
index b1989f8741f5..4d4aad84b9d7 100644
--- a/drivers/platform/msm/msm_11ad/msm_11ad.c
+++ b/drivers/platform/msm/msm_11ad/msm_11ad.c
@@ -1336,6 +1336,17 @@ static void msm_11ad_set_boost_affinity(struct msm11ad_ctx *ctx)
dev_warn(ctx->dev, "failed to set CPU boost affinity\n");
}
+static void msm_11ad_clear_boost_affinity(struct msm11ad_ctx *ctx)
+{
+ int rc;
+
+ irq_modify_status(ctx->pcidev->irq, IRQ_NO_BALANCING, 0);
+ rc = irq_set_affinity_hint(ctx->pcidev->irq, NULL);
+ if (rc)
+ dev_warn(ctx->dev,
+ "Failed clear affinity, rc=%d\n", rc);
+}
+
/* hooks for the wil6210 driver */
static int ops_bus_request(void *handle, u32 kbps /* KBytes/Sec */)
{
@@ -1385,8 +1396,7 @@ static int ops_bus_request(void *handle, u32 kbps /* KBytes/Sec */)
dev_err(ctx->dev,
"Failed disable boost rc=%d\n",
rc);
- irq_modify_status(ctx->pcidev->irq,
- IRQ_NO_BALANCING, 0);
+ msm_11ad_clear_boost_affinity(ctx);
dev_dbg(ctx->dev, "CPU boost disabled\n");
}
ctx->is_cpu_boosted = needs_boost;