diff options
author | Alex Hung <alex.hung@amd.com> | 2023-06-01 18:22:32 -0600 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-10-03 15:42:44 -0400 |
commit | 428542d9177286c01ef7a3dbd026eb00567e06b1 (patch) | |
tree | fe84e64d0b094e7e7a20edfb90aead8a801f36ed /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
parent | f6893fcb10c7b24526454e465f6ec2563ef044cc (diff) | |
download | linux-stable-428542d9177286c01ef7a3dbd026eb00567e06b1.tar.gz linux-stable-428542d9177286c01ef7a3dbd026eb00567e06b1.tar.bz2 linux-stable-428542d9177286c01ef7a3dbd026eb00567e06b1.zip |
drm/amd/display: Setup for mmhubbub3_warmup_mcif with big buffer
[WHY]
Hardware may require different warmup approaches - big buffer or
individual buffers.
[HOW]
Setup warmup for big buffer when it is required by specific hardware.
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 19087c4af33f..932d56ae0af2 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -8883,6 +8883,7 @@ static void dm_set_writeback(struct amdgpu_display_manager *dm, struct drm_connector_state *new_con_state) { struct drm_writeback_connector *wb_conn = drm_connector_to_writeback(connector); + struct amdgpu_device *adev = dm->adev; struct amdgpu_crtc *acrtc; struct dc_writeback_info *wb_info; struct pipe_ctx *pipe = NULL; @@ -8958,6 +8959,11 @@ static void dm_set_writeback(struct amdgpu_display_manager *dm, } wb_info->mcif_buf_params.p_vmid = 1; + if (adev->ip_versions[DCE_HWIP][0] >= IP_VERSION(3, 0, 0)) { + wb_info->mcif_warmup_params.start_address.quad_part = afb->address; + wb_info->mcif_warmup_params.region_size = + wb_info->mcif_buf_params.luma_pitch * wb_info->dwb_params.dest_height; + } wb_info->mcif_warmup_params.p_vmid = 1; wb_info->writeback_source_plane = pipe->plane_state; |