Commit bde15e9
FROMGIT: ASoC: SOF: Intel: hda: release display power at link_power
The i915 display power is requested both by controller (for init
and link reset) as well as by codec driver (for codec control).
There's an additional constraint that on some platforms frequent changes
to display power state may cause visible flicker. To avoid this, the SOF
hda controller requests display power whenever it is active and only
releases it when runtime suspended.
This patch utilizes the new hdac_bus link_power op to plug
into HDA link state changes. By monitoring link state changes,
we can keep the controller side display power wakeref until
the codec driver has completed its work, and only release
the wakeref when codec driver is suspended.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Chintan Patel <chintan.m.patel@intel.com>
(cherry picked from commit c99fafd
https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next)
BUG=b:176942010
TEST=Enabling Google Assistant meets Power KPI
Change-Id: I7ceb6c44653c99725fdea251c2858c07680c0707
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2679471
Reviewed-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Curtis Malainey <cujomalainey@chromium.org>
Tested-by: Jairaj Arava <jairaj.arava@intel.corp-partner.google.com>
Commit-Queue: Curtis Malainey <cujomalainey@chromium.org>1 parent 5ee1197 commit bde15e9
2 files changed
Lines changed: 26 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
23 | 46 | | |
24 | 47 | | |
25 | 48 | | |
26 | | - | |
| 49 | + | |
27 | 50 | | |
28 | 51 | | |
29 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
388 | 388 | | |
389 | 389 | | |
390 | 390 | | |
391 | | - | |
| 391 | + | |
| 392 | + | |
392 | 393 | | |
393 | 394 | | |
394 | 395 | | |
| |||
0 commit comments