drm/amd/display: Fix DCE 6.0 and 6.4 PLL programming.Apparently, both DCE 6.0 and 6.4 have 3 PLLs, but PLL0 can onlybe used for DP. Make sure to initialize the correct amount of PLLsin DC for the
drm/amd/display: Fix DCE 6.0 and 6.4 PLL programming.Apparently, both DCE 6.0 and 6.4 have 3 PLLs, but PLL0 can onlybe used for DP. Make sure to initialize the correct amount of PLLsin DC for these DCE versions and use PLL0 only for DP.Also, on DCE 6.0 and 6.4, the PLL0 needs to be powered on atinitialization as opposed to DCE 6.1 and 7.x which use a differentclock source for DFS.The following functions were used as reference from the oldradeon driver implementation of DCE 6.x:- radeon_atom_pick_pll- atombios_crtc_set_disp_eng_pllReviewed-by: Rodrigo Siqueira <siqueira@igalia.com>Reviewed-by: Alex Deucher <alexander.deucher@amd.com>Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>(cherry picked from commit 35222b5934ec8d762473592ece98659baf6bc48e)Cc: stable@vger.kernel.org
show more ...
drm/amd/display: replace fast_validate with enum dc_validate_mode[Why]The boolean fast_validate is used as aninput parameter in multiple functions. Tosupport more scenarios, we arereplacing it
drm/amd/display: replace fast_validate with enum dc_validate_mode[Why]The boolean fast_validate is used as aninput parameter in multiple functions. Tosupport more scenarios, we arereplacing it with enum dc_validate_mode.[How]The enum dc_validate_mode introduces threepossible values:1) DC_VALIDATE_MODE_AND_PROGRAMMING: Apply the mode to hardware2) DC_VALIDATE_MODE_ONLY: Check whether the mode can be supported3) DC_VALIDATE_MODE_AND_STATE_INDEX: Check if the mode can be supported, and determine the optimal voltage level needed to support it.Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>Signed-off-by: Yan Li <yan.li@amd.com>Signed-off-by: Wayne Lin <wayne.lin@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Refactor SubVP cursor limiting logic[WHY]There are several gaps that can result in SubVP being enabled withincompatible HW cursor sizes, and unjust restrictions to cursor size du
drm/amd/display: Refactor SubVP cursor limiting logic[WHY]There are several gaps that can result in SubVP being enabled withincompatible HW cursor sizes, and unjust restrictions to cursor size dueto wrong predictions on future usage of SubVP.[HOW]- remove "prediction" logic in favor of tagging based on previous SubVP usage- block SubVP if current HW cursor settings are incompatible- provide interface for DM to determine if HW cursor should be disabled due to an attempt to enable SubVPReviewed-by: Alvin Lee <alvin.lee2@amd.com>Signed-off-by: Dillon Varone <dillon.varone@amd.com>Signed-off-by: Ray Wu <ray.wu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Revert "drm/amd/display: Refactor SubVP cursor limiting logic"This reverts commit 19e743f0fb73 ("drm/amd/display: Refactor SubVP cursor limiting logic")Reason for revert: CorruptionReviewed-by:
Revert "drm/amd/display: Refactor SubVP cursor limiting logic"This reverts commit 19e743f0fb73 ("drm/amd/display: Refactor SubVP cursor limiting logic")Reason for revert: CorruptionReviewed-by: Alvin Lee <alvin.lee2@amd.com>Signed-off-by: Ryan Seto <ryanseto@amd.com>Signed-off-by: Ray Wu <ray.wu@amd.com>Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display: Refactor SubVP cursor limiting logic[WHY]There are several gaps that can result in SubVP being enabled withincompatible HW cursor sizes, and unjust restrictions to cursor size dueto wrong predictions on future usage of SubVP[HOW]- remove "prediction" logic in favor of tagging based on previous SubVP usage- block SubVP if current HW cursor settings are incompatible- provide interface for DM to determine if HW cursor should be disabled due to an attempt to enable SubVPReviewed-by: Alvin Lee <alvin.lee2@amd.com>Signed-off-by: Dillon Varone <dillon.varone@amd.com>Signed-off-by: Zaeem Mohamed <zaeem.mohamed@amd.com>Tested-by: Mark Broadworth <mark.broadworth@amd.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drm/amd/display/dc: reclassify DCE6 resources and hw sequencerClassify DCE6 resource and sequencer as they are for other DCE versionsPut dce60_resource.c and .h under amd/display/dc/resource/dce6
drm/amd/display/dc: reclassify DCE6 resources and hw sequencerClassify DCE6 resource and sequencer as they are for other DCE versionsPut dce60_resource.c and .h under amd/display/dc/resource/dce60Put and rename dce60_hw_sequencer.c and .h under amd/display/dc/hwss/dce60v2: fix build when CONFIG_DRM_AMD_DC_SI=n (Alex)Signed-off-by: Alexandre Demers <alexandre.f.demers@gmail.com>Signed-off-by: Alex Deucher <alexander.deucher@amd.com>