linux/drivers/gpu/drm/radeon
Jérôme Glisse 6dfd197283 drm/radeon: fix freeze for laptop with Turks/Thames GPU.
Laptop with Turks/Thames GPU will freeze if dpm is enabled. It seems
the SMC engine is relying on some state inside the CP engine. CP needs
to chew at least one packet for it to get in good state for dynamic
power management.

This patch simply disabled and re-enable DPM after the ring test which
is enough to avoid the freeze.

Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-06-11 10:26:42 -04:00
..
reg_srcs drm/radeon: allow geom rings to be setup on r600/r700 (v2) 2014-02-06 12:13:52 +10:00
.gitignore
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon: add locking around atombios scratch space usage 2014-11-11 17:22:26 -05:00
atom.h drm/radeon: add locking around atombios scratch space usage 2014-11-11 17:22:26 -05:00
atombios_crtc.c drm/radeon: don't share plls if monitors differ in audio support 2015-05-26 22:25:59 -04:00
atombios_dp.c drm/radeon: retry dcpd fetch 2015-05-21 12:43:21 -04:00
atombios_encoders.c drm/radeon: only enable audio streams if the monitor supports it 2015-04-27 09:54:56 -04:00
atombios_i2c.c drm/radeon: add locking around atombios scratch space usage 2014-11-11 17:22:26 -05:00
atombios.h drm/radeon: atombios.h updates for hawaii 2013-11-08 12:33:45 -05:00
avivod.h
btc_dpm.c drm/radeon: remove some rv7xx leftovers from btc dpm code 2015-03-19 12:26:31 -04:00
btc_dpm.h Revert "drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table" 2014-10-13 11:34:13 -04:00
btcd.h drm/radeon/dpm: use the driver state for dpm debugfs 2014-02-06 12:22:46 -05:00
cayman_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
cayman_blit_shaders.h
ci_dpm.c drm/radeon/ci: implement get_current_sclk/mclk 2015-03-19 12:26:34 -04:00
ci_dpm.h drm/radeon: bind fan control on CI cards to hwmon interface (v2) 2015-01-22 10:38:48 -05:00
ci_smc.c drm/radeon: comment out some currently unused ci dpm code 2015-01-22 10:38:53 -05:00
cik_blit_shaders.c drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_blit_shaders.h drm/radeon: Add CP init for CIK (v7) 2013-06-25 17:50:28 -04:00
cik_reg.h drm/radeon: Implement SDMA interface functions 2015-01-09 22:26:04 +02:00
cik_sdma.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux into drm-next 2015-01-29 11:45:31 +10:00
cik.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
cikd.h imx-drm limit fixes 2015-04-08 11:19:24 +10:00
clearstate_cayman.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_ci.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
clearstate_defs.h drm/radeon: properly set up the RLC on ON/LN/TN (v3) 2013-06-27 10:49:18 -04:00
clearstate_evergreen.h drm/radeon: convert SI,CIK to use sumo_rlc functions 2013-08-30 16:30:08 -04:00
clearstate_si.h drm/radeon: use NULL instead of zero in clearstate headers 2014-06-02 10:25:07 -04:00
cypress_dpm.c drm/radeon: comment out some currently unused eg dpm code 2015-01-22 10:38:58 -05:00
cypress_dpm.h drm/radeon/dpm: add pre/post_set_power_state callback (BTC) 2013-06-27 19:16:19 -04:00
dce3_1_afmt.c drm/radeon: use proper ACR regisiter for DCE3.2 2015-06-01 23:16:22 -04:00
dce6_afmt.c drm/radeon: drop dce6_dp_enable 2015-04-27 09:54:53 -04:00
drm_buffer.c drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
drm_buffer.h drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
evergreen_blit_shaders.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon: evergreen/cayman indirect draw support (v2) 2015-01-22 10:38:46 -05:00
evergreen_dma.c drm/radeon: split semaphore and sync object handling v2 2014-11-20 13:00:16 -05:00
evergreen_hdmi.c drm/radeon/audio: make sure connector is valid in hotplug case 2015-05-27 13:14:59 -04:00
evergreen_reg.h radeon/audio: enable DP audio 2015-01-22 10:42:19 -05:00
evergreen_smc.h drm/radeon/dpm: fix typo in EVERGREEN_SMC_FIRMWARE_HEADER_softRegisters 2014-03-06 16:46:58 -05:00
evergreen.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
evergreend.h drm/radeon: add get_allowed_info_register for EG/BTC 2015-03-19 12:26:39 -04:00
Kconfig drm/radeon: add userptr config option 2015-04-13 11:17:58 -04:00
kv_dpm.c drm/radeon/kv: implement get_current_sclk/mclk 2015-03-19 12:26:36 -04:00
kv_dpm.h drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
kv_smc.c drm/radeon/dpm: handle bapm on kb/kv 2013-09-11 11:44:38 -04:00
Makefile drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
mkregtable.c Replace mentions of "list_struct" to "list_head" 2014-11-20 14:45:15 +01:00
ni_dma.c drm/radeon: Remove rdev->gart.pages_addr array 2015-01-22 11:48:03 -05:00
ni_dpm.c drm/radeon/ni: implement get_current_sclk/mclk 2015-03-19 12:26:32 -04:00
ni_dpm.h drm/radeon/dpm: implement vblank_too_short callback for si 2013-07-08 17:41:11 -04:00
ni_reg.h drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
ni.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
nid.h drm/radeon: program auxch directly (v2) 2015-03-19 12:26:44 -04:00
nislands_smc.h drm/radeon/kms: add dpm support for cayman (v5) 2013-06-27 19:16:10 -04:00
ObjectID.h drm/radeon: upstream ObjectID.h updates (v2) 2013-06-26 16:11:34 -04:00
ppsmc.h drm/radeon/dpm: add thermal dpm support for CI 2014-11-20 13:00:10 -05:00
pptable.h drm/radeon/dpm: add smc fan control for CI (v2) 2014-11-20 13:00:10 -05:00
r100_track.h drm/radeon: use common next_reloc function 2013-01-31 16:24:45 -05:00
r100.c drm/radeon: do a posting read in r100_set_irq 2015-03-03 17:28:26 -05:00
r100d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r200.c drm/radeon: rename radeon_cs_reloc to radeon_bo_list 2014-12-03 14:26:47 -05:00
r300_cmdbuf.c drm/radeon: move drm_buffer to drm/radeon/ 2014-09-10 17:11:21 +10:00
r300_reg.h
r300.c drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entry 2015-01-22 11:46:17 -05:00
r300d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
r420.c drm/radeon: Only flush HDP cache for indirect buffers from userspace 2014-08-18 17:09:44 -04:00
r420d.h
r500_reg.h drm/radeon: Bypass hw lut's for > 8 bpc framebuffer scanout. 2014-06-13 12:22:30 -04:00
r520.c drm/radeon: resume old pm late 2014-03-06 16:46:56 -05:00
r520d.h
r600_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
r600_blit_shaders.h drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_blit.c drm/radeon/kms: remove r6xx+ blit copy routines 2013-08-30 16:29:57 -04:00
r600_cp.c drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
r600_cs.c drm/radeon: use pointers instead of indexes for CS chunks 2014-12-03 18:26:53 -05:00
r600_dma.c Linux 3.18-rc7 2014-12-02 10:58:33 +10:00
r600_dpm.c drm/radeon: use drm_mode_vrefresh() rather than mode->vrefresh 2015-02-25 16:06:05 -05:00
r600_dpm.h drm/radeon/dpm: add smc fan control for SI (v2) 2014-11-20 13:00:09 -05:00
r600_hdmi.c drm/radeon: fix ordering of AVI packet setup 2015-04-27 09:54:52 -04:00
r600_reg.h drm/radeon: add indirect accessors for UVD CTX registers 2013-06-27 19:16:30 -04:00
r600.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
r600d.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2014-10-14 09:39:08 +02:00
radeon_acpi.c ACPI: Clean up inclusions of ACPI header files 2013-12-07 01:03:14 +01:00
radeon_acpi.h drm/radeon: implement handler for ACPI event 2012-09-20 13:10:36 -04:00
radeon_agp.c radeon: Remove useless quirk for zx1/FireGL X1 combo introduced with fdo #7770 2014-06-02 10:25:08 -04:00
radeon_asic.c drm/radeon: disable semaphores for UVD V1 (v2) 2015-05-04 15:03:56 -04:00
radeon_asic.h drm/radeon: disable semaphores for UVD V1 (v2) 2015-05-04 15:03:56 -04:00
radeon_atombios.c drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
radeon_atpx_handler.c ACPIPHP / radeon / nouveau: Remove acpi_bus_no_hotplug() 2014-09-15 13:15:34 -06:00
radeon_audio.c Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)" 2015-05-27 12:08:29 -04:00
radeon_audio.h radeon/audio: applied audio_dpms() and audio_mode_set() calls 2015-01-22 10:42:17 -05:00
radeon_benchmark.c drm/radeon: fix the crash in benchmark functions 2015-02-02 11:39:35 -05:00
radeon_bios.c radeon: Do not directly dereference pointers to BIOS area. 2015-03-27 10:17:42 -04:00
radeon_clocks.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
radeon_combios.c drm/radeon/combios: declare legacy_connector_convert as static 2014-10-01 09:00:08 -04:00
radeon_connectors.c Revert "drm/radeon: only mark audio as connected if the monitor supports it (v3)" 2015-05-27 12:08:29 -04:00
radeon_cp.c drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> 2014-09-12 15:28:12 +02:00
radeon_cs.c drm/radeon: Use drm_calloc_ab for CS relocs 2015-04-27 09:54:50 -04:00
radeon_cursor.c drm/radeon: Move hotspot handling out of radeon_set_cursor 2014-12-03 14:26:44 -05:00
radeon_device.c drm/radeon: fix freeze for laptop with Turks/Thames GPU. 2015-06-11 10:26:42 -04:00
radeon_display.c drm/radeon: implement output csc property for DCE5+ 2015-03-19 12:26:25 -04:00
radeon_dp_auxch.c drm/radeon: fix error flag checking in native aux path 2015-05-21 12:43:21 -04:00
radeon_dp_mst.c drm/radeon: don't do mst probing if MST isn't enabled. 2015-05-14 11:46:47 -04:00
radeon_drv.c drm/radeon: add video usability info support for VCE 2015-04-08 18:03:48 -04:00
radeon_drv.h drm: Create drm legacy driver header 2014-09-12 11:08:55 +02:00
radeon_encoders.c drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
radeon_family.h drm/radeon: add Mullins chip family 2014-05-06 12:19:57 +02:00
radeon_fb.c radeon/fb: add wrapper functions around fb connector add/remove 2015-03-19 12:26:48 -04:00
radeon_fence.c drm/radeon: fix wait to actually occur after the signaling callback 2015-03-11 08:30:35 -04:00
radeon_gart.c drm/radeon: Remove rdev->gart.pages_addr array 2015-01-22 11:48:03 -05:00
radeon_gem.c drm/radeon: don't init gpuvm if accel is disabled (v3) 2015-02-02 11:39:33 -05:00
radeon_i2c.c drm/radeon/radeon_i2c: Remove unused function 2015-01-22 10:38:51 -05:00
radeon_ib.c drm/radeon: track VM update fences separately 2014-11-20 13:00:17 -05:00
radeon_ioc32.c drm: Remove DRM_ARRAY_SIZE() for ARRAY_SIZE() 2014-06-10 09:36:17 +10:00
radeon_irq_kms.c drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
radeon_irq.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_kfd.c Merge tag 'drm-intel-next-2015-03-27-merge' of git://anongit.freedesktop.org/drm-intel into drm-next 2015-04-01 08:21:46 +10:00
radeon_kfd.h drm/radeon: Don't use relative paths in #include 2015-01-02 23:32:49 +02:00
radeon_kms.c drm/radeon: add support for read reg query from radeon info ioctl 2015-03-19 12:26:42 -04:00
radeon_legacy_crtc.c drm/radeon: Re-show the cursor after a modeset 2014-12-03 14:26:44 -05:00
radeon_legacy_encoders.c drm/radeon: constify all struct drm_*_helper funcs pointers 2015-04-07 17:06:42 +02:00
radeon_legacy_tv.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
radeon_mem.c drm: Kill DRM_COPY_(TO|FROM)_USER 2013-12-18 11:35:01 +10:00
radeon_mn.c drm/radeon: fix userptr lockup 2015-05-07 11:00:15 -04:00
radeon_mode.h drm/radeon: add DisplayPort MST support (v2) 2015-03-19 12:26:51 -04:00
radeon_object.c drm/radeon: drop ttm two ended allocation 2015-03-18 09:53:40 -04:00
radeon_object.h gpu: drm: radeon: radeon_object: Remove unused function 2015-01-22 10:38:52 -05:00
radeon_pm.c drm/radeon/dpm: fix 120hz handling harder 2015-03-27 10:17:42 -04:00
radeon_prime.c drm/radeon: export reservation_object from dmabuf to ttm 2014-10-03 09:19:17 -04:00
radeon_reg.h drm/radeon/cik: add hw cursor support (v2) 2013-06-26 16:11:38 -04:00
radeon_ring.c drm/radeon: always dump the ring content if it's available 2015-03-27 10:17:43 -04:00
radeon_sa.c drm/radeon: export reservation_object from dmabuf to ttm 2014-10-03 09:19:17 -04:00
radeon_semaphore.c drm/radeon: split semaphore and sync object handling v2 2014-11-20 13:00:16 -05:00
radeon_state.c drm/radeon: integer underflow in radeon_cp_dispatch_texture() 2015-01-05 12:10:08 -05:00
radeon_sync.c drm/radeon: track VM update fences separately 2014-11-20 13:00:17 -05:00
radeon_test.c drm/radeon: fix the crash in test functions 2015-02-02 11:39:36 -05:00
radeon_trace_points.c UAPI: (Scripted) Convert #include "..." to #include <path/...> in drivers/gpu/ 2012-10-02 18:01:07 +01:00
radeon_trace.h tracing/drm: Remove unused TRACE_SYSTEM_STRING define 2015-04-07 12:29:23 -04:00
radeon_ttm.c drm/radeon: fix userptr BO unpin bug v3 2015-05-07 11:00:15 -04:00
radeon_ucode.c drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_ucode.h drm/radeon: add new firmware header definitions (v3) 2014-08-05 08:53:22 -04:00
radeon_uvd.c drm/radeon: stop trying to suspend UVD sessions 2015-05-07 11:00:18 -04:00
radeon_vce.c drm/radeon: make VCE handle check more strict 2015-05-07 11:00:16 -04:00
radeon_vm.c drm/radeon: check new address before removing old one 2015-04-27 11:29:56 -04:00
radeon.h drm/radeon: stop trying to suspend UVD sessions 2015-05-07 11:00:18 -04:00
rs100d.h
rs400.c drm/radeon: Split off gart_get_page_entry ASIC hook from set_page_entry 2015-01-22 11:46:17 -05:00
rs400d.h
rs600.c drm/radeon: do a posting read in rs600_set_irq 2015-03-03 17:28:27 -05:00
rs600d.h drm/radeon/kms: add register definitions for audio 2012-04-24 09:50:13 +01:00
rs690.c radeon/audio: consolidate audio_fini() functions 2015-01-22 10:42:09 -05:00
rs690d.h drm/radeon: Use direct mapping for fast fb access on RS690 2013-04-09 10:31:31 -04:00
rs780_dpm.c drm/radeon/rs780: implement get_current_sclk/mclk 2015-03-19 12:26:29 -04:00
rs780_dpm.h drm/radeon/kms: add dpm support for rs780/rs880 2013-06-27 10:49:25 -04:00
rs780d.h drm/radeon/dpm: add debugfs support for RS780/RS880 (v3) 2013-07-17 16:47:52 -04:00
rv6xx_dpm.c drm/radeon/rv6xx: implement get_current_sclk/mclk 2015-03-19 12:26:29 -04:00
rv6xx_dpm.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv6xxd.h drm/radeon/kms: add dpm support for rv6xx (v3) 2013-06-27 10:50:08 -04:00
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: make sure mode init is complete in bandwidth_update 2014-11-06 15:42:44 -05:00
rv515d.h drm/radeon: consolidate redundant macros and constants 2013-01-31 16:24:46 -05:00
rv730_dpm.c drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv730d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv740_dpm.c drm/radeon/dpm/rv7xx: restructure code 2013-06-27 19:16:12 -04:00
rv740d.h drm/radeon/kms: add dpm support for rv7xx (v4) 2013-06-27 19:14:59 -04:00
rv770_dma.c drm/radeon: split semaphore and sync object handling v2 2014-11-20 13:00:16 -05:00
rv770_dpm.c drm/radeon/rv7xx/eg: implement get_current_sclk/mclk 2015-03-19 12:26:30 -04:00
rv770_dpm.h drm/radeon: comment out some currently unused 7xx dpm code 2015-01-22 10:38:58 -05:00
rv770_smc.c drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770_smc.h drm/radeon: protect concurrent smc register access with a spinlock 2013-09-11 11:44:28 -04:00
rv770.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
rv770d.h drm/radeon: disable semaphores for UVD V1 (v2) 2015-05-04 15:03:56 -04:00
si_blit_shaders.c The following text was taken from the original review request: 2012-03-24 10:08:39 -07:00
si_blit_shaders.h drm/radeon/kms: add support for CP setup on SI 2012-03-21 06:55:54 +00:00
si_dma.c drm/radeon: Remove rdev->gart.pages_addr array 2015-01-22 11:48:03 -05:00
si_dpm.c drm/radeon: add SI DPM quirk for Sapphire R9 270 Dual-X 2G GDDR5 2015-04-27 09:54:58 -04:00
si_dpm.h drm/radeon: bind fan control on SI cards to hwmon interface 2015-01-22 10:38:48 -05:00
si_reg.h drm/radeon: SI tiling fixes for display 2012-06-20 19:55:56 +01:00
si_smc.c drm/radeon/si: Add support for new ucode format (v3) 2014-08-05 08:53:23 -04:00
si.c drm/radeon: partially revert "fix VM_CONTEXT*_PAGE_TABLE_END_ADDR handling" 2015-05-28 09:54:43 -04:00
sid.h drm/radeon: add get_allowed_info_register for SI 2015-03-19 12:26:40 -04:00
sislands_smc.h drm/radeon/dpm: add smc fan control for SI (v2) 2014-11-20 13:00:09 -05:00
smu7_discrete.h drm/radeon/dpm: add smc fan control for CI (v2) 2014-11-20 13:00:10 -05:00
smu7_fusion.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
smu7.h drm/radeon/kms: add dpm support for KB/KV 2013-08-30 16:30:28 -04:00
sumo_dpm.c drm/radeon/sumo: implement get_current_sclk/mclk 2015-03-19 12:26:34 -04:00
sumo_dpm.h drm/radeon: comment out some currently unused sumo dpm code 2015-01-22 10:38:57 -05:00
sumo_smc.c drm/radeon/dpm: make some functions static for sumo 2014-01-07 12:55:50 -05:00
sumod.h drm/radeon: add dpm UVD handling for sumo asics 2013-06-27 19:15:48 -04:00
trinity_dpm.c drm/radeon/tn: implement get_current_sclk/mclk 2015-03-19 12:26:35 -04:00
trinity_dpm.h drm/radeon/dpm: add bapm callback for trinity 2013-09-11 11:44:39 -04:00
trinity_smc.c drm/radeon/dpm: make some functions static for TN 2014-01-07 12:55:57 -05:00
trinityd.h drm/radeon: add dpm UVD handling for TN asics (v2) 2013-06-27 19:15:48 -04:00
uvd_v1_0.c drm/radeon: disable semaphores for UVD V1 (v2) 2015-05-04 15:03:56 -04:00
uvd_v2_2.c drm/radeon: disable semaphores for UVD V1 (v2) 2015-05-04 15:03:56 -04:00
uvd_v3_1.c drm/radeon: allow semaphore emission to fail 2013-11-15 15:56:09 -05:00
uvd_v4_2.c drm/radeon: split out radeon_uvd_resume from uvd_v4_2_resume 2013-08-30 16:31:12 -04:00
vce_v1_0.c drm/radeon: drop drivers copy of the rptr 2014-02-18 17:49:19 +01:00
vce_v2_0.c drm/radeon: programm the VCE fw BAR as well 2015-03-27 10:17:44 -04:00