Merge "soc: swr-mstr: Avoid handling redundant swr wakeup events"

Этот коммит содержится в:
Linux Build Service Account
2018-10-08 23:04:27 -07:00
коммит произвёл Gerrit - the friendly Code Review server
родитель 38db822619 cd61c6ef14
Коммит 6f9a94c8ee
2 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@@ -1506,8 +1506,10 @@ static int swrm_event_notify(struct notifier_block *self,
schedule_work(&(swrm->dc_presence_work));
break;
case SWR_WAKE_IRQ_EVENT:
if (swrm->wakeup_req)
if (swrm->wakeup_req && !swrm->wakeup_triggered) {
swrm->wakeup_triggered = true;
schedule_work(&swrm->wakeup_work);
}
break;
default:
dev_err(swrm->dev, "%s: invalid event type: %lu\n",
@@ -1935,9 +1937,11 @@ static int swrm_runtime_suspend(struct device *dev)
swrm_cmd_fifo_wr_cmd(swrm, 0x2, 0xF, 0xF,
SWRS_SCP_CONTROL);
usleep_range(100, 105);
if (swrm->wakeup_req)
if (swrm->wakeup_req) {
msm_aud_evt_blocking_notifier_call_chain(
SWR_WAKE_IRQ_REGISTER, (void *)swrm);
swrm->wakeup_triggered = false;
}
}
swrm_clk_request(swrm, false);
}