linux/sound/pci
Mengdong Lin a07187c992 ALSA: hda - restore BCLK M/N values when resuming HSW/BDW display controller
For Intel Haswell/Broadwell display HD-A controller, the 24MHz HD-A link BCLK
is converted from Core Display Clock (CDCLK): BCLK = CDCLK * M / N
And there are two registers EM4 and EM5 to program M, N value respectively.
The EM4/EM5 values will be lost and when the display power well is disabled.

BIOS programs CDCLK selected by OEM and EM4/EM5, but BIOS has no idea about
display power well on/off at runtime. So the M/N can be wrong if non-default
CDCLK is used when the audio controller resumes, which results in an invalid
BCLK and abnormal audio playback rate. So this patch saves and restores valid
M/N values on controller suspend/resume.

And 'struct hda_intel' is defined to contain standard HD-A 'struct azx' and
Intel specific fields, as Takashi suggested.

Signed-off-by: Mengdong Lin <mengdong.lin@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2014-06-26 15:47:42 +02:00
..
ac97 ALSA: ac97: Use standard printk helpers 2014-02-26 16:45:23 +01:00
ali5451 ALSA: ali5451: Use standard printk helpers 2014-02-26 16:45:23 +01:00
asihpi ALSA: asihpi: fix some indenting in snd_card_asihpi_pcm_new() 2014-03-31 10:46:47 +02:00
au88x0 ALSA: pci: Convert to snd_card_new() with a device pointer 2014-02-12 11:17:52 +01:00
aw2 ALSA: aw2: Use standard printk helpers 2014-02-26 16:45:24 +01:00
ca0106 ALSA: ca0106: Use standard printk helpers 2014-02-26 16:45:24 +01:00
cs46xx ALSA: cs46xx: Use standard printk helpers 2014-02-26 16:45:25 +01:00
cs5535audio ALSA: cs5535audio: Use standard printk helpers 2014-02-26 16:45:25 +01:00
ctxfi ALSA: pci: Convert to snd_card_new() with a device pointer 2014-02-12 11:17:52 +01:00
echoaudio ALSA: echoaudio: use after free on error 2014-03-05 12:11:54 +01:00
emu10k1 ALSA: emu10k1: Fix possible NULL dereference 2014-03-05 12:15:56 +01:00
hda ALSA: hda - restore BCLK M/N values when resuming HSW/BDW display controller 2014-06-26 15:47:42 +02:00
ice1712 ALSA: ice1712: Fix boundary checks in PCM pointer ops 2014-04-08 16:58:34 +02:00
korg1212 ALSA: pci: Convert to snd_card_new() with a device pointer 2014-02-12 11:17:52 +01:00
lola ALSA: lola: fix format type mismatch in sound/pci/lola/lola_proc.c 2014-05-21 11:12:15 +02:00
lx6464es ALSA: lx_core: Translate comments from french to english 2014-04-18 09:57:03 +02:00
mixart ALSA: mixart: Use standard printk helpers 2014-02-26 16:45:29 +01:00
nm256 ALSA: nm256: Use standard printk helpers 2014-02-26 16:45:29 +01:00
oxygen Merge branch 'for-next' into for-linus 2014-03-31 12:16:31 +02:00
pcxhr ALSA: pcxhr: Use standard printk helpers 2014-02-26 16:45:30 +01:00
riptide ALSA: pci: Convert to snd_card_new() with a device pointer 2014-02-12 11:17:52 +01:00
rme9652 ALSA: rme9652: Use standard printk helpers 2014-02-26 16:45:32 +01:00
trident ALSA: trident: Use standard printk helpers 2014-02-26 16:45:32 +01:00
vx222 ALSA: vx222: Use standard printk helpers 2014-02-26 16:45:33 +01:00
ymfpci ALSA: ymfpci: Use standard printk helpers 2014-02-26 16:45:33 +01:00
ad1889.c ALSA: ad1889: Use standard printk helpers 2014-02-26 16:45:10 +01:00
ad1889.h
ak4531_codec.c ALSA: pci: remove __dev* attributes 2012-12-07 07:20:55 +01:00
als300.c ALSA: als300: Use standard printk helpers 2014-02-26 16:45:11 +01:00
als4000.c ALSA: als4000: Use standard printk helpers 2014-02-26 16:45:12 +01:00
atiixp_modem.c ALSA: atiixp-modem: Use standard printk helpers 2014-02-26 16:45:13 +01:00
atiixp.c ALSA: atiixp: Use standard printk helpers 2014-02-26 16:45:12 +01:00
azt3328.c ALSA: azt3328: Use standard printk helpers 2014-02-26 16:45:14 +01:00
azt3328.h ALSA: azt3328: fix previous breakage, improve suspend, cleanups 2009-07-15 12:03:26 +02:00
bt87x.c arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00
cmipci.c ALSA: cmipci: Use standard printk helpers 2014-02-26 16:45:15 +01:00
cs4281.c ALSA: cs4281: Use standard printk helpers 2014-02-26 16:45:15 +01:00
cs5530.c ALSA: cs5530: Use standard printk helpers 2014-02-26 16:45:16 +01:00
ens1370.c ALSA: ens137x: Use standard printk helpers 2014-02-26 16:45:16 +01:00
ens1371.c
es1938.c ALSA: es1938: Use standard printk helpers 2014-02-26 16:45:17 +01:00
es1968.c ALSA: es1968: Use standard printk helpers 2014-02-26 16:45:17 +01:00
fm801.c ALSA: fm801: convert struct description to kernel-doc 2014-05-19 14:33:36 +02:00
intel8x0.c ALSA: intel8x0: Use ktime and ktime_get() 2014-06-12 12:58:41 +02:00
intel8x0m.c ALSA: intel8x0m: Use standard printk helpers 2014-02-26 16:45:19 +01:00
Kconfig Kconfig: rename HAS_IOPORT to HAS_IOPORT_MAP 2014-04-07 16:36:11 -07:00
maestro3.c ALSA: maestro3: Use standard printk helpers 2014-02-26 16:45:19 +01:00
Makefile ALSA: Add the driver for Digigram Lola PCI-e boards 2011-05-03 16:31:05 +02:00
rme32.c ALSA: rme32: Use standard printk helpers 2014-02-26 16:45:20 +01:00
rme96.c ALSA: rme96: Use standard printk helpers 2014-02-26 16:45:20 +01:00
sis7019.c ALSA: pci: Convert to snd_card_new() with a device pointer 2014-02-12 11:17:52 +01:00
sis7019.h trivial: fix typos s/paramter/parameter/ and s/excute/execute/ in documentation and source comments. 2009-06-12 18:01:46 +02:00
sonicvibes.c ALSA: sonicvibes: Use standard printk helpers 2014-02-26 16:45:21 +01:00
via82xx_modem.c ALSA: via82xx_modem: Use standard printk helpers 2014-02-26 16:45:22 +01:00
via82xx.c ALSA: via82xx: Use standard printk helpers 2014-02-26 16:45:21 +01:00