summaryrefslogtreecommitdiff
path: root/drivers/usb/dwc3/dwc3-msm.c
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-25 15:51:42 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-25 15:51:41 -0700
commit3b0f0430c6fa1a63ff7cf0db652e543ee6d489e4 (patch)
tree3cf3551a6ea7f19b93d782a35da01f71c75a2b00 /drivers/usb/dwc3/dwc3-msm.c
parentc1a961ce2fb4bf74bc051a46d911b99fa9e56d92 (diff)
parent5980a4dca56a22cda56e99f4a1b9e4c7e5b59f46 (diff)
Merge "ARM: dts: msm: Add USB2 device node for SDM660"
Diffstat (limited to 'drivers/usb/dwc3/dwc3-msm.c')
-rw-r--r--drivers/usb/dwc3/dwc3-msm.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c
index ad9d6cc4e23f..4ed46d9ca279 100644
--- a/drivers/usb/dwc3/dwc3-msm.c
+++ b/drivers/usb/dwc3/dwc3-msm.c
@@ -3321,16 +3321,19 @@ static void msm_dwc3_perf_vote_work(struct work_struct *w)
struct dwc3_msm *mdwc = container_of(w, struct dwc3_msm,
perf_vote_work.work);
struct dwc3 *dwc = platform_get_drvdata(mdwc->dwc3);
- static unsigned long last_irq_cnt;
bool in_perf_mode = false;
+ int latency = mdwc->pm_qos_latency;
+
+ if (!latency)
+ return;
- if (dwc->irq_cnt - last_irq_cnt >= PM_QOS_THRESHOLD)
+ if (dwc->irq_cnt - dwc->last_irq_cnt >= PM_QOS_THRESHOLD)
in_perf_mode = true;
pr_debug("%s: in_perf_mode:%u, interrupts in last sample:%lu\n",
- __func__, in_perf_mode, (dwc->irq_cnt - last_irq_cnt));
+ __func__, in_perf_mode, (dwc->irq_cnt - dwc->last_irq_cnt));
- last_irq_cnt = dwc->irq_cnt;
+ dwc->last_irq_cnt = dwc->irq_cnt;
msm_dwc3_perf_vote_update(mdwc, in_perf_mode);
schedule_delayed_work(&mdwc->perf_vote_work,
msecs_to_jiffies(1000 * PM_QOS_SAMPLE_SEC));