OpenCloudOS-Kernel/drivers/gpu/drm/radeon
Kai-Heng Feng 227545b9a0 drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected
Screen flickers rapidly when two 4K 60Hz monitors are in use. This issue
doesn't happen when one monitor is 4K 60Hz (pixelclock 594MHz) and
another one is 4K 30Hz (pixelclock 297MHz).

The issue is gone after setting "power_dpm_force_performance_level" to
"high". Following the indication, we found that the issue occurs when
sclk is too low.

So resolve the issue by disabling sclk switching when there are two
monitors requires high pixelclock (> 297MHz).

v2:
 - Only apply the fix to Oland.
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
2021-05-13 10:48:21 -04:00
..
reg_srcs
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile drm/radeon: align short build log 2020-04-01 14:44:43 -04:00
ObjectID.h
atom-bits.h
atom-names.h
atom-types.h
atom.c drm/radeon: cleanup coding style a bit 2020-04-30 16:48:42 -04:00
atom.h drm/radeon/atom: Move 'radeon_atom_hw_i2c_*()'s prototypes into shared header 2020-11-16 15:56:34 -05:00
atombios.h
atombios_crtc.c drm: Switch to %p4cc format modifier 2021-02-17 12:52:59 +01:00
atombios_dp.c drm/radeon: remove unnecessary braces around conditionals. 2020-01-07 12:04:13 -05:00
atombios_encoders.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
atombios_i2c.c gpu: drm: dead code elimination 2019-12-18 16:09:13 -05:00
avivod.h
btc_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
btc_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
btcd.h
cayman_blit_shaders.c
cayman_blit_shaders.h
ci_dpm.c drm/radeon: Fix fall-through warnings for Clang 2020-11-24 12:05:42 -05:00
ci_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
ci_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
cik.c drm/radeon/cik: remove set but not used variables 2021-04-15 16:32:45 -04:00
cik.h drm/radeon/cik: Move 'Move 'cik_sdma_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
cik_blit_shaders.c
cik_blit_shaders.h
cik_reg.h drm/radeon: Remove KFD_CIK_SDMA_QUEUE_OFFSET 2017-12-20 12:00:22 -05:00
cik_sdma.c drm/radeon/cik_sdma: Move 'amdgpu_cik_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:35 -05:00
cikd.h
clearstate_cayman.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
clearstate_ci.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
cypress_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
cypress_dpm.h
dce3_1_afmt.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
dce6_afmt.c drm/radeon/radeon_audio: Move 'dce6_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
dce6_afmt.h drm/radeon/radeon_audio: Move 'dce6_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
evergreen.c drm/radeon/evergreen: Move 'cik_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
evergreen.h drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
evergreen_blit_shaders.c
evergreen_blit_shaders.h
evergreen_cs.c drm/radeon/evergreen_cs: Move 'r600_dma_cs_next_reloc()'s prototype to shared header 2020-11-16 15:56:35 -05:00
evergreen_dma.c drm/radeon/evergreen_dma: Move 'evergreen_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
evergreen_hdmi.c drm/radeon/evergreen_hdmi: Move 'evergreen_*()' and 'dce4_*()' HDMI prototypes to shared header 2020-11-16 15:56:34 -05:00
evergreen_hdmi.h drm/radeon/evergreen_hdmi: Move 'evergreen_*()' and 'dce4_*()' HDMI prototypes to shared header 2020-11-16 15:56:34 -05:00
evergreen_reg.h
evergreen_smc.h
evergreend.h
kv_dpm.c drm/radeon/kv_dpm: Strip out unused functions and their tables 2020-11-13 00:11:53 -05:00
kv_dpm.h
kv_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
mkregtable.c drm/radeon: change SPDX identifier to MIT 2018-10-15 16:16:12 -05:00
ni.c drm/radeon/evergreen: Move 'cayman_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
ni.h drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
ni_dma.c drm/radeon/ni_dma: Move 'cayman_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
ni_dpm.c drm/radeon/ni_dpm: Fix booting bug 2021-05-13 10:45:15 -04:00
ni_dpm.h drm/radeon/ni_dpm: Move 'ni_get_{pi, ps}()'s into shared header 2020-11-16 15:56:34 -05:00
ni_reg.h
nid.h
nislands_smc.h drm/radeon/ni_dpm: Fix booting bug 2021-05-13 10:45:15 -04:00
ppsmc.h
pptable.h
r100.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
r100_track.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
r100d.h
r200.c drm/radeon: fix r1xx/r2xx register checker for POT textures 2019-12-03 16:26:59 -05:00
r300.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
r300_reg.h
r300d.h
r420.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
r420d.h
r500_reg.h
r520.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r520d.h
r600.c drm/radeon/r600: Fix variables that are not used after assignment 2021-04-09 16:55:08 -04:00
r600.h drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600_blit_shaders.c
r600_blit_shaders.h
r600_cs.c drm/radeon/r600_cs: Few typo fixes 2021-04-09 16:44:26 -04:00
r600_dma.c drm/radeon/r600_dma: Move 'r600_gpu_check_soft_reset()'s prototype to shared location 2020-11-16 15:56:34 -05:00
r600_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
r600_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
r600_hdmi.c drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600_reg.h drm/radeon: enable ABGR and XBGR formats (v2) 2018-08-27 11:10:19 -05:00
r600d.h
radeon.h drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-13 10:48:21 -04:00
radeon_acpi.c drm/radeon/radeon_pm: Move 'radeon_pm_acpi_event_handler' prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_acpi.h
radeon_agp.c drm/radeon: Don't include <drm/drm_pci.h> 2019-12-05 08:44:28 +01:00
radeon_asic.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
radeon_asic.h drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_atombios.c drm/radeon: Avoid power table parsing memory leaks 2021-05-04 17:37:57 -04:00
radeon_atombios.h drm/radeon/radeon_encoders: Move 'radeon_atom_backlight_init's prototype to shared header 2020-11-16 15:56:34 -05:00
radeon_atpx_handler.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 191 2019-05-30 11:29:21 -07:00
radeon_audio.c drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
radeon_audio.h drm/radeon/radeon_audio: Move 'dce3_2_*' prototypes to shared location 2020-11-16 15:56:33 -05:00
radeon_benchmark.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
radeon_bios.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
radeon_clocks.c drm/radeon: Don't include <drm/drm_pci.h> 2019-12-05 08:44:28 +01:00
radeon_combios.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_connectors.c drm/radeon/radeon_connectors: Strip out set but unused variable 'ret' 2020-11-13 00:11:10 -05:00
radeon_cs.c drm for 5.13-rc1 2021-04-28 10:01:40 -07:00
radeon_cursor.c drm/radeon: remove _unlocked suffix in drm_gem_object_put_unlocked 2020-05-19 22:31:34 +01:00
radeon_device.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_device.h drm/radeon/radeon: Move prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_display.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_dp_auxch.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_dp_mst.c drm/radeon: Fix a missing check bug in radeon_dp_mst_detect() 2021-04-09 16:58:23 -04:00
radeon_drv.c drm/radeon: Store PCI controller in struct radeon_device.hose 2021-01-13 14:22:37 +01:00
radeon_drv.h drm/radeon/radeon_drv: Move prototypes to a shared headerfile 2020-11-13 00:03:49 -05:00
radeon_encoders.c drm/radeon/radeon_encoders: Move 'radeon_atom_backlight_init's prototype to shared header 2020-11-16 15:56:34 -05:00
radeon_family.h
radeon_fb.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_fence.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_gart.c drm/radeon: switch from 'pci_' to 'dma_' API 2020-07-27 16:45:29 -04:00
radeon_gem.c drm/radeon: also init GEM funcs in radeon_gem_prime_import_sg_table 2021-03-23 23:25:15 -04:00
radeon_i2c.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_ib.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_irq_kms.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_kms.c drm/radeon: fix copy of uninitialized variable back to userspace 2021-03-03 10:51:37 -05:00
radeon_kms.h drm/radeon/radeon_drv: Move 'radeon_driver_irq_handler_kms's prototype into shared header 2020-11-16 15:56:34 -05:00
radeon_legacy_crtc.c drm/radeon: Convert to struct drm_crtc_helper_funcs.get_scanout_position() 2020-02-13 13:08:14 +01:00
radeon_legacy_encoders.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
radeon_legacy_encoders.h drm/radeon/radeon_legacy_encoders: Move 'radeon_add_legacy_encoder's prototype to shared location 2020-11-16 15:56:33 -05:00
radeon_legacy_tv.c drm/radeon: remove set but not used variable 'tv_pll_cntl1' 2019-11-19 10:12:54 -05:00
radeon_mn.c drm/radeon/radeon_mn: Supply description for 'cur_seq' even if it is unused 2020-11-13 00:12:11 -05:00
radeon_mode.h drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_object.c drm/radeon: don't evict if not initialized 2021-04-09 16:42:00 -04:00
radeon_object.h drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
radeon_pm.c drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-13 10:48:21 -04:00
radeon_pm.h drm/radeon/radeon_pm: Move 'radeon_pm_acpi_event_handler' prototype into shared header 2020-11-16 15:56:33 -05:00
radeon_prime.c drm/radeon: also init GEM funcs in radeon_gem_prime_import_sg_table 2021-03-23 23:25:15 -04:00
radeon_prime.h drm/radeon/radeon_drv: Move 'radeon_gem_prime_import_sg_table()'s prototype to shared header 2020-11-16 15:56:35 -05:00
radeon_reg.h
radeon_ring.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
radeon_sa.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_semaphore.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_sync.c drm/radeon/radeon_sync: Add description for function param 'rdev' 2020-11-13 00:12:01 -05:00
radeon_test.c drm/radeon: switch driver from bo->resv to bo->base.resv 2019-08-06 08:21:54 +02:00
radeon_trace.h drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
radeon_trace_points.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_ttm.c drm/radeon: Fix size overflow 2021-04-09 16:54:35 -04:00
radeon_ttm.h drm/radeon/radeon_drv: Move 'radeon_mmap()'s prototype to shared header 2020-11-16 15:56:33 -05:00
radeon_ucode.c drm/radeon: drop use of drmP.h (1/2) 2019-06-10 22:30:24 +02:00
radeon_ucode.h
radeon_uvd.c drm/radeon: use writel to avoid gcc optimization v3 2021-01-05 11:32:05 -05:00
radeon_vce.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
radeon_vm.c drm/radeon/radeon_vm: Fix some function parameter documentation 2020-11-13 00:11:50 -05:00
rs100d.h
rs400.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
rs400d.h
rs600.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
rs600d.h
rs690.c drm/radeon: Simplify bool comparison 2021-02-09 15:49:47 -05:00
rs690d.h
rs780_dpm.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
rs780_dpm.h
rs780d.h
rv6xx_dpm.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv6xx_dpm.h
rv6xxd.h
rv200d.h
rv250d.h
rv350d.h
rv515.c drm/radeon: do not use drm middle layer for debugfs (v2) 2021-02-18 16:43:10 -05:00
rv515d.h
rv730_dpm.c drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv730d.h
rv740_dpm.c drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv740d.h
rv770.c drm/radeon/rv770: Move 'rv770_set_clk_bypass_mode' prototype to shared location 2020-11-16 15:56:33 -05:00
rv770.h drm/radeon/rv770: Move 'rv770_get_*()'s prototypes to shared header 2020-11-16 15:56:34 -05:00
rv770_dma.c dma-buf: rename reservation_object to dma_resv 2019-08-13 09:09:30 +02:00
rv770_dpm.c drm/radeon/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05:00
rv770_dpm.h drm/radeon: prepare header files for drmP.h removal 2019-06-10 22:30:24 +02:00
rv770_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
rv770_smc.h
rv770d.h
si.c drm/radeon/si: Fix inconsistent indenting 2021-04-15 16:32:45 -04:00
si.h drm/radeon/evergreen: Move 'si_get_csb_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
si_blit_shaders.c
si_blit_shaders.h
si_dma.c drm/radeon/si_dma: Move 'si_gpu_check_soft_reset()'s prototype to shared header 2020-11-16 15:56:34 -05:00
si_dpm.c drm/radeon/dpm: Disable sclk switching on Oland when two 4K 60Hz monitors are connected 2021-05-13 10:48:21 -04:00
si_dpm.h drm/radeon/ci_dpm: Move 'si_*()'s prototypes to shared header 2020-11-16 15:56:35 -05:00
si_reg.h
si_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
sid.h
sislands_smc.h drm/radeon/si_dpm: Fix SMU power state load 2021-05-13 10:45:29 -04:00
smu7.h
smu7_discrete.h
smu7_fusion.h
sumo_dpm.c drm/radeon: Add implementation of get_current_vddc for Sumo 2020-10-27 17:43:42 -04:00
sumo_dpm.h drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumo_smc.c drm/radeon/sumo_dpm: Move 'sumo_get_pi()'s prototype into shared header 2020-11-13 00:12:30 -05:00
sumod.h
trinity_dpm.c drm/radeon/si_dpm: Move 'vce_v1_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00
trinity_dpm.h
trinity_smc.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
trinityd.h
uvd_v1_0.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
uvd_v2_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
uvd_v3_1.c drm/radeon: drop use of drmP.h (2/2) 2019-06-10 22:30:24 +02:00
uvd_v4_2.c drm/radeon: fix typoes in comments 2020-09-22 17:37:38 -04:00
vce.h drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00
vce_v1_0.c drm/radeon: OLAND boards don't have VCE 2021-02-18 16:43:09 -05:00
vce_v2_0.c drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05:00