linux_dsm_epyc7002/include
Takashi Iwai 4d024fe8f8 ALSA: hda: Apply aligned MMIO access only conditionally
It turned out that the recent simplification of HD-audio bus access
helpers caused a regression on the virtual HD-audio device on QEMU
with ARM platforms.  The driver got a CORB/RIRB timeout and couldn't
probe any codecs.

The essential difference that caused a problem was the enforced
aligned MMIO accesses by simplification.  Since snd-hda-tegra driver
is enabled on ARM, it enables CONFIG_SND_HDA_ALIGNED_MMIO, which makes
the all HD-audio drivers using the aligned MMIO accesses.  While this
is mandatory for snd-hda-tegra, it seems that snd-hda-intel on ARM
gets broken by this access pattern.

For addressing the regression, this patch introduces a new flag,
aligned_mmio, to hdac_bus object, and applies the aligned MMIO only
when this flag is set.  This change affects only platforms with
CONFIG_SND_HDA_ALIGNED_MMIO set, i.e. mostly only for ARM platforms.

Unfortunately the patch became a big bigger than it should be, just
because the former calls didn't take hdac_bus object in the argument,
hence we had to extend the call patterns.

Fixes: 19abfefd4c ("ALSA: hda: Direct MMIO accesses")
BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1161152
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200120104127.28985-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2020-01-20 11:42:15 +01:00
..
acpi
asm-generic
clocksource
crypto
drm Merge branch 'asoc-5.5' into asoc-next 2019-11-22 19:56:02 +00:00
dt-bindings
keys
kvm
linux ASoC: More updates for v5.5 2019-11-25 14:27:41 +01:00
math-emu
media
misc
net devlink: disallow reload operation during device cleanup 2019-11-09 19:38:36 -08:00
pcmcia
ras
rdma
scsi
soc
sound ALSA: hda: Apply aligned MMIO access only conditionally 2020-01-20 11:42:15 +01:00
target
trace tcp: remove redundant new line from tcp_event_sk_skb 2019-11-09 19:41:50 -08:00
uapi Merge branch 'asoc-5.5' into asoc-next 2019-11-22 19:56:02 +00:00
vdso
video
xen
Kbuild