linux-stable/drivers
Kai-Heng Feng 001828fb30 drm/amdgpu: Ensure HDA function is suspended before ASIC reset
commit 887f75cfd0 upstream.

DP/HDMI audio on AMD PRO VII stops working after S3:
[  149.450391] amdgpu 0000:63:00.0: amdgpu: MODE1 reset
[  149.450395] amdgpu 0000:63:00.0: amdgpu: GPU mode1 reset
[  149.450494] amdgpu 0000:63:00.0: amdgpu: GPU psp mode1 reset
[  149.983693] snd_hda_intel 0000:63:00.1: refused to change power state from D0 to D3hot
[  150.003439] amdgpu 0000:63:00.0: refused to change power state from D0 to D3hot
...
[  155.432975] snd_hda_intel 0000:63:00.1: CORB reset timeout#2, CORBRP = 65535

The offending commit is daf8de0874 ("drm/amdgpu: always reset the asic in
suspend (v2)"). Commit 34452ac303 ("drm/amdgpu: don't use BACO for
reset in S3 ") doesn't help, so the issue is something different.

Assuming that to make HDA resume to D0 fully realized, it needs to be
successfully put to D3 first. And this guesswork proves working, by
moving amdgpu_asic_reset() to noirq callback, so it's called after HDA
function is in D3.

Fixes: daf8de0874 ("drm/amdgpu: always reset the asic in suspend (v2)")
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-04-20 09:36:07 +02:00
..
accessibility
acpi ACPI: processor idle: Check for architectural support for LPI 2022-04-20 09:36:06 +02:00
amba
android
ata ata: sata_dwc_460ex: Fix crash due to OOB write 2022-04-13 19:27:38 +02:00
atm
auxdisplay
base PM: core: keep irq flags in device_pm_check_callbacks() 2022-04-08 13:58:38 +02:00
bcma
block drbd: fix an invalid memory access caused by incorrect use of list iterator 2022-04-13 19:27:37 +02:00
bluetooth Bluetooth: mediatek: fix the conflict between mtk and msft vendor event 2022-04-13 19:27:19 +02:00
bus mips: cdmm: Fix refcount leak in mips_cdmm_phys_base 2022-04-08 13:58:17 +02:00
cdrom
char virtio_console: eliminate anonymous module_init & module_exit 2022-04-13 19:27:26 +02:00
clk clk: Enforce that disjoints limits are invalid 2022-04-13 19:27:25 +02:00
clocksource
comedi
connector
counter
cpufreq cpufreq: CPPC: Fix performance/frequency conversion 2022-04-13 19:27:24 +02:00
cpuidle cpuidle: qcom-spm: Check if any CPU is managed by SPM 2022-04-08 13:57:46 +02:00
crypto crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3 2022-04-08 13:58:36 +02:00
cxl cxl/port: Hold port reference until decoder release 2022-04-08 13:58:07 +02:00
dax dax: make sure inodes are flushed before destroy cache 2022-04-08 13:58:07 +02:00
dca
devfreq
dio
dma dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" 2022-04-13 19:27:41 +02:00
dma-buf udmabuf: validate ubuf->pagecount 2022-04-08 13:57:56 +02:00
edac
eisa
extcon
firewire
firmware firmware: google: Properly state IOMEM dependency 2022-04-08 13:58:30 +02:00
fpga
fsi fsi: Aspeed: Fix a potential double free 2022-04-08 13:58:24 +02:00
gnss
gpio gpio: Restrict usage of GPIO chip irq members before initialization 2022-04-13 19:27:38 +02:00
gpu drm/amdgpu: Ensure HDA function is suspended before ASIC reset 2022-04-20 09:36:07 +02:00
greybus
hid HID: apple: Report Magic Keyboard 2021 with fingerprint reader battery over USB 2022-04-13 19:27:15 +02:00
hsi
hv Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() 2022-04-13 19:27:41 +02:00
hwmon
hwspinlock
hwtracing
i2c i2c: mux: demux-pinctrl: do not deactivate a master that is not active 2022-04-08 13:58:21 +02:00
i3c
idle
iio iio: adc: Add check for devm_request_threaded_irq 2022-04-08 13:58:26 +02:00
infiniband RDMA/hfi1: Fix use-after-free bug for mm struct 2022-04-13 19:27:37 +02:00
input
interconnect
iommu iommu/omap: Fix regression in probe for NULL pointer dereference 2022-04-13 19:27:34 +02:00
ipack
irqchip irqchip/gic, gic-v3: Prevent GSI to SGI translations 2022-04-13 19:27:42 +02:00
isdn
leds
macintosh
mailbox mailbox: imx: fix wakeup failure from freeze mode 2022-04-08 13:58:55 +02:00
mcb
md dm: requeue IO if mapping table not yet available 2022-04-13 19:27:17 +02:00
media media: si2157: unknown chip version Si2147-A30 ROM 0x50 2022-04-20 09:36:06 +02:00
memory memory: emif: check the pointer temp in get_device_details() 2022-04-08 13:57:50 +02:00
memstick memstick/mspro_block: fix handling of read-only devices 2022-04-08 13:58:36 +02:00
message
mfd mfd: asic3: Add missing iounmap() on error asic3_mfd_probe 2022-04-08 13:58:22 +02:00
misc habanalabs/gaudi: handle axi errors from NIC engines 2022-04-13 19:27:25 +02:00
mmc mmc: core: Fixup support for writeback-cache for eMMC and SD 2022-04-13 19:27:35 +02:00
most
mtd ubi: fastmap: Return error code if memory allocation fails in add_aeb() 2022-04-08 13:59:02 +02:00
mux
net net: dsa: realtek: make interface drivers depend on OF 2022-04-20 09:36:06 +02:00
nfc
ntb
nubus
nvdimm nvdimm/region: Fix default alignment for small regions 2022-04-08 13:58:27 +02:00
nvme nvme: fix the read-only state for zoned namespaces with unsupposed features 2022-04-08 13:58:53 +02:00
nvmem
of
opp opp: Expose of-node's name in debugfs 2022-04-13 19:27:24 +02:00
parisc parisc: Fix CPU affinity for Lasi, WAX and Dino chips 2022-04-13 19:27:26 +02:00
parport
pci PCI: endpoint: Fix misused goto label 2022-04-13 19:27:20 +02:00
pcmcia
perf perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator 2022-04-13 19:27:38 +02:00
phy phy: amlogic: meson8b-usb2: fix shared reset control use 2022-04-13 19:27:23 +02:00
pinctrl pinctrl: canonical rsel resistance selection property 2022-04-08 13:59:02 +02:00
platform platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls 2022-04-13 19:27:21 +02:00
pnp
power power: supply: axp288_fuel_gauge: Use acpi_quirk_skip_acpi_ac_and_battery() 2022-04-13 19:27:18 +02:00
powercap powercap/dtpm_cpu: Reset per_cpu variable in the release function 2022-04-08 13:58:37 +02:00
pps pps: clients: gpio: Propagate return value from pps_gpio_probe 2022-04-08 13:58:24 +02:00
ps3
ptp ptp: replace snprintf with sysfs_emit 2022-04-13 19:27:09 +02:00
pwm pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add() 2022-04-08 13:58:23 +02:00
rapidio
ras
regulator regulator: atc260x: Fix missing active_discharge_on setting 2022-04-13 19:27:30 +02:00
remoteproc remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region 2022-04-08 13:58:27 +02:00
reset
rpmsg
rtc rtc: wm8350: Handle error for wm8350_register_irq 2022-04-13 19:27:06 +02:00
s390
sbus
scsi scsi: ufs: ufs-pci: Add support for Intel MTL 2022-04-13 19:27:34 +02:00
sh
siox
slimbus
soc soc: mediatek: pm-domains: Add wakeup capacity support in power domain 2022-04-08 13:57:49 +02:00
soundwire ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" 2022-04-08 13:58:45 +02:00
spi spi: core: add dma_map_dev for __spi_unmap_msg() 2022-04-13 19:27:37 +02:00
spmi
ssb
staging staging: wfx: fix an error handling in wfx_init_common() 2022-04-13 19:27:24 +02:00
target
tc
tee
thermal
thunderbolt
tty serial: samsung_tty: do not unlock port->lock for uart_write_wakeup() 2022-04-13 19:27:26 +02:00
uio
usb xen/usb: harden xen_hcd against malicious backends 2022-04-13 19:27:21 +02:00
vdpa vdpa: mlx5: prevent cvq work from hogging CPU 2022-04-13 19:27:28 +02:00
vfio vfio/pci: Stub vfio_pci_vga_rw when !CONFIG_VFIO_PCI_VGA 2022-04-13 19:27:17 +02:00
vhost tuntap: add sanity checks about msg_controllen in sendmsg 2022-04-13 19:27:19 +02:00
video fbdev: Fix unregistering of framebuffers without device 2022-04-13 19:27:38 +02:00
virt virt: acrn: fix a memory leak in acrn_dev_ioctl() 2022-04-08 13:58:30 +02:00
virtio virtio: use virtio_device_ready() in virtio_device_restore() 2022-04-08 13:58:57 +02:00
visorbus
vlynq
vme
w1 w1: w1_therm: fixes w1_seq for ds28ea00 sensors 2022-04-13 19:27:24 +02:00
watchdog watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function 2022-04-08 13:58:56 +02:00
xen
zorro
Kconfig
Makefile