Commit e45b6716 authored by Hamza Mahfooz's avatar Hamza Mahfooz

drm/amd/display: use a more lax vblank enable policy for DCN35+

Ideally, we want to enable immediate vblank disable, when possible and
we should be able to do so on DCN35+, if PSR isn't supported by a given
CRTC.
Suggested-by: default avatarLeo Li <sunpeng.li@amd.com>
Reviewed-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarHamza Mahfooz <hamza.mahfooz@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240822161856.174600-3-hamza.mahfooz@amd.com
parent 537ef0f8
...@@ -8246,7 +8246,8 @@ static void manage_dm_interrupts(struct amdgpu_device *adev, ...@@ -8246,7 +8246,8 @@ static void manage_dm_interrupts(struct amdgpu_device *adev,
if (amdgpu_ip_version(adev, DCE_HWIP, 0) < if (amdgpu_ip_version(adev, DCE_HWIP, 0) <
IP_VERSION(3, 5, 0)) { IP_VERSION(3, 5, 0)) {
drm_crtc_vblank_on(&acrtc->base); drm_crtc_vblank_on(&acrtc->base);
} else { } else if (acrtc_state->stream->link->psr_settings.psr_version <
DC_PSR_VERSION_UNSUPPORTED) {
timing = &acrtc_state->stream->timing; timing = &acrtc_state->stream->timing;
/* at least 2 frames */ /* at least 2 frames */
...@@ -8258,6 +8259,10 @@ static void manage_dm_interrupts(struct amdgpu_device *adev, ...@@ -8258,6 +8259,10 @@ static void manage_dm_interrupts(struct amdgpu_device *adev,
config.offdelay_ms = offdelay ?: 30; config.offdelay_ms = offdelay ?: 30;
drm_crtc_vblank_on_config(&acrtc->base, drm_crtc_vblank_on_config(&acrtc->base,
&config); &config);
} else {
config.disable_immediate = true;
drm_crtc_vblank_on_config(&acrtc->base,
&config);
} }
amdgpu_irq_get( amdgpu_irq_get(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment