linux/drivers/gpu/drm/radeon
Nikola Cornij 98025a62cb drm/dp_mst: Use Extended Base Receiver Capability DPCD space
[why]
DP 1.4a spec mandates that if DP_EXTENDED_RECEIVER_CAP_FIELD_PRESENT is
set, Extended Base Receiver Capability DPCD space must be used. Without
doing that, the three DPCD values that differ will be wrong, leading to
incorrect or limited functionality. MST link rate, for example, could
have a lower value. Also, Synaptics quirk wouldn't work out well when
Extended DPCD was not read, resulting in no DSC for such hubs.

[how]
Modify MST topology manager to use the values from Extended DPCD where
applicable.

To prevent regression on the sources that have a lower maximum link rate
capability than MAX_LINK_RATE from Extended DPCD, have the drivers
supply maximum lane count and rate at initialization time.

This also reverts commit 2dcab875e7 ("Revert drm/dp_mst: Retrieve
extended DPCD caps for topology manager"), brining the change back to the
original commit ad44c03208 ("drm/dp_mst: Retrieve extended DPCD caps for
topology manager").

Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210429221151.22020-2-nikola.cornij@amd.com
2021-04-29 19:11:27 -04:00
..
reg_srcs
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
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/dp: Pass drm_dp_aux to drm_dp*_link_train_channel_eq_delay() 2021-04-27 18:43:42 -04:00
atombios_encoders.c drm/radeon: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01:00
atombios_i2c.c
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
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
ci_smc.c
cik.c drm/radeon/cik: Move 'vce_v2_0_enable_mgcg()'s prototype to shared header 2020-11-16 15:56:35 -05: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
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
clearstate_ci.h
clearstate_defs.h
clearstate_evergreen.h
clearstate_si.h
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
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
Kconfig
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
Makefile drm/radeon: align short build log 2020-04-01 14:44:43 -04:00
mkregtable.c
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/btc_dpm: Move 'evergreen_get_pi's prototype to shared header 2020-11-16 15:56:35 -05: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/nislands_smc.h: Replace one-element array with flexible-array member in struct NISLANDS_SMC_SWSTATE 2021-02-18 16:43:09 -05:00
ObjectID.h
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
r100d.h
r200.c
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
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
r600_dpm.h
r600_hdmi.c drm/radeon/radeon_audio: Move 'r600_*' prototypes into shared header 2020-11-16 15:56:35 -05:00
r600_reg.h
r600d.h
radeon.h Merge tag 'amd-drm-next-5.13-2021-03-23' of https://gitlab.freedesktop.org/agd5f/linux into drm-next 2021-03-26 15:53:21 +01: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
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: Remove references to struct drm_device.pdev 2021-01-06 15:43:46 +01: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
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
radeon_bios.c drm pull for 5.12-rc1 2021-02-21 14:44:44 -08:00
radeon_clocks.c
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 radeon: use kvcalloc for relocs and chunks 2021-03-23 23:36:40 -04: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
radeon_dp_mst.c drm/dp_mst: Use Extended Base Receiver Capability DPCD space 2021-04-29 19:11:27 -04:00
radeon_drv.c drm/aperture: Convert drivers to aperture interfaces 2021-04-14 09:00:04 +02: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
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: move the page_alignment into the BO v2 2021-04-23 16:23:02 +02:00
radeon_pm.c drm/radeon/radeon_pm: Convert sysfs sprintf/snprintf family to sysfs_emit 2021-04-09 16:43:42 -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
radeon_semaphore.c
radeon_sync.c drm/radeon/radeon_sync: Add description for function param 'rdev' 2020-11-13 00:12:01 -05:00
radeon_test.c
radeon_trace.h drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
radeon_trace_points.c
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
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
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
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
rv770_smc.c
rv770_smc.h
rv770d.h
si.c drm/radeon/si_dpm: Move 'si_mc_load_microcode()'s prototype to shared header 2020-11-16 15:56:34 -05: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/si_dpm: Replace one-element array with flexible-array in struct SISLANDS_SMC_SWSTATE 2021-03-05 15:14:30 -05: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
sid.h
sislands_smc.h drm/radeon/si_dpm: Replace one-element array with flexible-array in struct SISLANDS_SMC_SWSTATE 2021-03-05 15:14:30 -05: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
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
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