1
0
Fork 0
alistair23-linux/drivers/gpu/drm
Dennis Li 644baa95db drm/amdgpu: fix a GPU hang issue when remove device
[ Upstream commit 88e21af1b3 ]

When GFXOFF is enabled and GPU is idle, driver will fail to access some
registers. Therefore change to disable power gating before all access
registers with MMIO.

Dmesg log is as following:
amdgpu 0000:03:00.0: amdgpu: amdgpu: finishing device.
amdgpu: cp queue pipe 4 queue 0 preemption failed
amdgpu 0000:03:00.0: amdgpu: failed to write reg 2890 wait reg 28a2
amdgpu 0000:03:00.0: amdgpu: failed to write reg 1a6f4 wait reg 1a706
amdgpu 0000:03:00.0: amdgpu: failed to write reg 2890 wait reg 28a2
amdgpu 0000:03:00.0: amdgpu: failed to write reg 1a6f4 wait reg 1a706

Signed-off-by: Dennis Li <Dennis.Li@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-19 18:26:16 +01:00
..
amd drm/amdgpu: fix a GPU hang issue when remove device 2021-01-19 18:26:16 +01:00
arc drm/arc: Drop drm_gem_prime_export/import 2019-06-21 20:02:10 +02:00
arm drm/arm: fix unintentional integer overflow on left shift 2020-08-19 08:16:07 +02:00
armada drm/armada: drop use of drmP.h 2019-08-14 18:31:10 +02:00
aspeed drm/aspeed: Fix Kconfig warning & subsequent build errors 2020-12-30 11:51:01 +01:00
ast drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
atmel-hlcdc drm: atmel-hlcdc: prefer a lower pixel-clock than requested 2020-02-11 04:35:36 -08:00
bochs drm/drm_fb_helper: fix fbdev with sparc64 2020-08-11 15:33:37 +02:00
bridge drm/bridge/synopsys: dsi: add support for non-continuous HS clock 2020-11-05 11:43:16 +01:00
cirrus drm/prime: Actually remove DRIVER_PRIME everywhere 2019-06-21 17:30:32 +02:00
etnaviv drm/etnaviv: fix TS cache flushing on GPUs with BLT engine 2020-09-05 11:22:50 +02:00
exynos drm/exynos: dsi: Remove bridge node reference in error handling path in probe function 2020-10-01 13:18:01 +02:00
fsl-dcu drm/fsl-dcu: fix opencoded use of drm_panel_* 2019-08-10 15:41:48 +02:00
gma500 drm/gma500: fix double free of gma_connector 2020-12-30 11:51:00 +01:00
hisilicon drm: kirin: Revert "Fix for hikey620 display offset problem" 2020-03-12 13:00:26 +01:00
i2c drm/i2c/tda998x: drop use of drmP.h 2019-08-14 18:30:52 +02:00
i810 drm/i810: Prevent underflow in ioctl 2019-12-13 08:42:56 +01:00
i915 drm/i915/backlight: fix CPU mode backlight takeover on LPT 2021-01-19 18:26:13 +01:00
imx drm/imx: imx-ldb: Disable both channels for split mode in enc->disable() 2020-08-21 13:05:29 +02:00
ingenic drm/ingenic: Fix incorrect assumption about plane->index 2020-09-03 11:26:52 +02:00
lib
lima drm main pull for 5.4-rc1 2019-09-19 16:24:24 -07:00
mcde drm/mcde: Fix handling of platform_get_irq() error 2020-12-30 11:51:01 +01:00
mediatek drm/mediatek: avoid dereferencing a null hdmi_phy on an error message 2020-12-30 11:51:21 +01:00
meson drm/meson: vclk: use the correct G12A frac max value 2019-12-31 16:43:09 +01:00
mga drm/mga: drop use of drmP.h 2019-06-30 09:48:05 +02:00
mgag200 drm/mgag200: Flag all G200 SE A machines as broken wrt <startadd> 2019-12-21 11:04:54 +01:00
msm drm/msm/dsi_pll_10nm: restore VCO rate during restore_state 2020-12-30 11:51:04 +01:00
mxsfb drm: mxsfb: check framebuffer pitch 2020-10-29 09:57:40 +01:00
nouveau drm/nouveau/gem: fix "refcount_t: underflow; use-after-free" 2020-11-10 12:37:31 +01:00
omapdrm drm/omap: dmm_tiler: fix return error code in omap_dmm_probe() 2020-12-30 11:51:09 +01:00
panel drm: panel: Fix bpc for OrtusTech COM43H4M85ULC panel 2020-10-29 09:57:37 +01:00
panfrost drm/panfrost: Fix a deadlock between the shrinker and madvise path 2020-11-10 12:37:33 +01:00
pl111 drm/pl111: Support grayscale 2019-08-09 09:15:05 +02:00
qxl drm/qxl: Use correct notify port address when creating cursor ring 2020-06-24 17:50:48 +02:00
r128 drm/r128: drop use of drmP.h 2019-07-17 12:52:55 +02:00
radeon PCI: Use ioremap(), not phys_to_virt() for platform ROM 2020-10-01 13:17:51 +02:00
rcar-du drm: rcar-du: Fix build error 2020-06-30 15:37:11 -04:00
rockchip drm/bridge: analogix_dp: Split bind() into probe() and real bind() 2020-05-10 10:31:22 +02:00
savage drm/savage: drop use of drmP.h 2019-06-05 20:31:04 +02:00
scheduler drm/scheduler: Avoid accessing freed bad job. 2020-10-01 13:17:25 +02:00
selftests drm/modes: Make sure to parse valid rotation value from cmdline 2020-03-12 13:00:11 +01:00
shmobile drm/shmobile: drop use of drmP.h 2019-07-15 18:11:31 +02:00
sis drm/sis: drop drmP.h use 2019-06-05 20:29:57 +02:00
sti drm/sti: fix opencoded use of drm_panel_* 2019-08-07 13:54:17 +02:00
stm drm/stm: repair runtime power management 2020-08-19 08:16:11 +02:00
sun4i drm/sun4i: dw-hdmi: fix error return code in sun8i_dw_hdmi_bind() 2020-11-24 13:29:07 +01:00
tdfx drm/tdfx: drop use of drmP.h 2019-07-17 12:52:55 +02:00
tegra drm/tegra: sor: Disable clocks on error in tegra_sor_init() 2020-12-30 11:50:56 +01:00
tilcdc drm/tilcdc: fix leak & null ref in panel_connector_get_modes 2020-08-19 08:15:59 +02:00
tiny drm/tiny: Kconfig: Remove always-y THERMAL dep. from TINYDRM_REPAPER 2019-10-10 15:15:51 +02:00
ttm drm/ttm: fix eviction valuable range check. 2020-11-05 11:43:35 +01:00
tve200 drm/tve200: Fix handling of platform_get_irq() error 2020-12-30 11:51:01 +01:00
udl drm/udl: drop use of drmP.h 2019-07-17 12:52:55 +02:00
v3d drm/v3d: Fix memory leak in v3d_submit_cl_ioctl 2019-10-23 20:57:05 +02:00
vboxvideo drm/vboxvideo: Make structure vbox_fb_helper_funcs constant 2019-08-18 12:52:52 +02:00
vc4 drm/vc4: drv: Add error handding for bind 2020-11-10 12:37:31 +01:00
vgem drm/vgem: Replace opencoded version of drm_gem_dumb_map_offset() 2020-08-26 10:40:47 +02:00
via drivers/gpu/drm/via: convert put_page() to put_user_page*() 2019-09-24 15:54:08 -07:00
virtio Fix use after free in get_capset_info callback. 2020-10-29 09:58:07 +01:00
vkms drm/vkms: fix xrgb on compute crc 2020-10-29 09:57:34 +01:00
vmwgfx drm/vmwgfx: Fix two list_for_each loop exit tests 2020-08-21 13:05:36 +02:00
xen drm/xen-front: Fix misused IS_ERR_OR_NULL checks 2020-09-03 11:26:50 +02:00
zte Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
Kconfig drm-misc-next for 5.4: 2019-08-09 16:04:31 +10:00
Makefile drm/amd: remove meaningless descending into amd/amdkfd/ 2019-08-27 10:09:12 -05:00
ati_pcigart.c drm/ati_pcigart: drop dependency on drm_os_linux.h 2019-07-19 23:24:16 +02:00
drm_agpsupport.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_atomic.c drm: Free the writeback_job when it with an empty fb 2019-09-23 15:31:53 +08:00
drm_atomic_helper.c drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_atomic_state_helper.c drm/atomic: Rename crtc_state->pageflip_flags to async_flip 2019-09-18 18:43:36 +02:00
drm_atomic_uapi.c drm/atomic: Reject FLIP_ASYNC unconditionally 2019-09-18 18:42:57 +02:00
drm_auth.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_blend.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_bridge.c drm: Add atomic variants for bridge enable/disable 2019-06-13 13:00:29 -04:00
drm_bufs.c drm main pull request for v5.3-rc1 (sans mm changes) 2019-07-15 19:04:27 -07:00
drm_cache.c
drm_client.c drm/fb-helper: Map DRM client buffer only when required 2019-08-01 15:01:29 +02:00
drm_client_modeset.c Revert "drm/fbdev: Fallback to non tiled mode if all tiles not present" 2020-03-25 08:25:50 +01:00
drm_color_mgmt.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_connector.c drm/connector: notify userspace on hotplug after register complete 2020-06-24 17:50:50 +02:00
drm_context.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_crtc.c drm: no need to check return value of debugfs_create functions 2019-06-13 16:39:16 +02:00
drm_crtc_helper.c drm: Remove bridge support from legacy helpers 2019-08-16 15:50:27 +03:00
drm_crtc_helper_internal.h
drm_crtc_internal.h drm/atomic: Move __drm_atomic_helper_disable_plane/set_config() 2019-06-08 16:46:37 +02:00
drm_damage_helper.c drm: damage_helper: Fix race checking plane->state->fb 2019-12-13 08:42:55 +01:00
drm_debugfs.c drm/debugfs: fix plain echo to connector "force" attribute 2020-08-19 08:16:02 +02:00
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-10-29 09:57:37 +01:00
drm_dma.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_dp_aux_dev.c drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() 2020-12-30 11:51:41 +01:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c drm: Make the bw/link rate calculations more forgiving 2019-07-17 12:45:30 -04:00
drm_dp_mst_topology.c drm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi 2020-08-21 13:05:39 +02:00
drm_drv.c drm/kms: Duct-tape for mode object lifetime checks 2019-09-18 11:27:18 +02:00
drm_dsc.c
drm_dumb_buffers.c Revert "drm/gem: Rename drm_gem_dumb_map_offset() to drm_gem_map_offset()" 2019-08-07 11:56:48 -04:00
drm_edid.c drm/edid: Add Oculus Rift S to non-desktop list 2020-06-07 13:18:51 +02:00
drm_edid_load.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-28 09:39:08 +02:00
drm_encoder.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_encoder_slave.c drm: encoder_slave: fix refcouting error for modules 2020-06-24 17:50:47 +02:00
drm_fb_cma_helper.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
drm_fb_helper.c drm/drm_fb_helper: fix fbdev with sparc64 2020-08-11 15:33:37 +02:00
drm_file.c drm/prime: Unconditionally set up the prime file private 2019-06-21 11:48:09 +02:00
drm_flip_work.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_format_helper.c
drm_fourcc.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_framebuffer.c drm: silence variable 'conn' set but not used 2019-07-22 16:04:53 -04:00
drm_gem.c drm/gem: Fix a leak in drm_gem_objects_lookup() 2020-08-19 08:16:05 +02:00
drm_gem_cma_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_gem_framebuffer_helper.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
drm_gem_shmem_helper.c drm/shmem: Use mutex_trylock in drm_gem_shmem_purge 2019-08-28 10:02:39 -05:00
drm_gem_vram_helper.c drm/ttm: use gem vma_node 2019-08-06 08:21:54 +02:00
drm_hashtab.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_hdcp.c drm/hdcp: reference for srm file format 2019-08-06 13:18:42 +05:30
drm_internal.h drm/gem: Unexport drm_gem_(un)pin/v(un)map 2019-06-17 17:37:01 +02:00
drm_ioc32.c Linus 5.3-rc1 2019-07-22 21:24:10 +02:00
drm_ioctl.c drm/atomic: Take the atomic toys away from X 2019-09-18 18:42:21 +02:00
drm_irq.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_kms_helper_common.c drm: fix module name in edid_firmware log message 2019-08-22 10:41:06 +03:00
drm_lease.c drm/lease: fix WARNING in idr_destroy 2020-03-25 08:25:56 +01:00
drm_legacy.h drm: make drm_legacy.h self-contained 2019-05-27 18:06:47 +02:00
drm_legacy_misc.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_lock.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_memory.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_mipi_dbi.c drm/dbi: Fix SPI Type 1 (9-bit) transfer 2020-08-05 09:59:44 +02:00
drm_mipi_dsi.c drm/mipi: use dcs write for mipi_dsi_dcs_set_tear_scanline 2020-08-19 08:16:08 +02:00
drm_mm.c drm: Allow range of 0 for drm_mm_insert_node_in_range() 2019-06-26 21:13:12 +01:00
drm_mode_config.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_mode_object.c drm/kms: Duct-tape for mode object lifetime checks 2019-09-18 11:27:18 +02:00
drm_modes.c drm/modes: Make sure to parse valid rotation value from cmdline 2020-03-12 13:00:11 +01:00
drm_modeset_helper.c
drm_modeset_lock.c docs conversion for v5.3-rc1 2019-07-16 12:21:41 -07:00
drm_of.c Merge remote-tracking branch 'drm/drm-next' into drm-misc-next 2019-05-28 09:39:08 +02:00
drm_panel.c drm/panel: drop return code from drm_panel_detach() 2019-08-10 15:41:48 +02:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for ASUS tablet model T103HAF 2020-08-21 13:05:39 +02:00
drm_pci.c drm: Remove PageReserved manipulation from drm_pci_alloc 2020-04-17 10:50:20 +02:00
drm_plane.c
drm_plane_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_prime.c drm/prime: Ditch gem_prime_res_obj hook 2019-07-31 10:19:23 +02:00
drm_print.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_probe_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_property.c drm: limit to INT_MAX in create_blob ioctl 2020-01-04 19:18:43 +01:00
drm_rect.c drm/rect: Avoid division by zero 2020-02-11 04:35:36 -08:00
drm_scatter.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_scdc_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_self_refresh_helper.c drm/atomic: fix self-refresh helpers crtc state dereference 2019-11-06 13:00:21 -05:00
drm_simple_kms_helper.c Linux 5.2-rc5 2019-06-19 12:07:29 +02:00
drm_syncobj.c drm/syncobj: Add better overview documentation for syncobj (v2) 2019-08-12 16:58:52 +02:00
drm_sysfs.c drm/connector: notify userspace on hotplug after register complete 2020-06-24 17:50:50 +02:00
drm_trace.h drm: make drm_trace.h self-contained 2019-05-27 18:06:54 +02:00
drm_trace_points.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_vblank.c drm/drm_vblank: Change EINVAL by the correct errno 2019-12-31 16:43:50 +01:00
drm_vm.c gpu/drm: fix a few kernel-doc "/**" mark warnings 2019-07-16 11:25:02 +02:00
drm_vma_manager.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_vram_helper_common.c
drm_vram_mm_helper.c drm: drop use of drmP.h in drm/* 2019-05-27 18:07:03 +02:00
drm_writeback.c drm: Clear the fence pointer when writeback job signaled 2019-09-23 15:32:53 +08:00