mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-03 17:51:57 +09:00
drm/amd/display: do not override CURSOR_REQ_MODE when SubVP is not enabled
[Why] HUBP_UNBOUNDED_REQ_MODE and CURSOR_REQ_MODE are normally set together. In hubp32_prepare_subvp_buffering() call, CURSOR_REQ_MODE is set based on whether SubVP is enabled or not. For non MPO case, both REQ_MODE registers are set to 1. But since SubVP is not enabled, then CURSOR_REQ_MODE is set to 0, overriding the previous value. [How] Do not set CURSOR_REQ_MODE to 0 if SubVP is not enabled. This will allow CURSOR_REQ_MODE to stay as 1 in the non MPO case. Add note to follow up and check case for single pipe MPO and SubVP enabled as this would cause both REQ_MODE registers to be set to 0 but SubVP enabled would override CURSOR_REQ_MODE to 1. Signed-off-by: Samson Tam <Samson.Tam@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -555,10 +555,13 @@ void dcn32_program_mall_pipe_config(struct dc *dc, struct dc_state *context)
|
||||
struct hubp *hubp = pipe->plane_res.hubp;
|
||||
|
||||
if (pipe->stream && hubp && hubp->funcs->hubp_prepare_subvp_buffering) {
|
||||
/* TODO - remove setting CURSOR_REQ_MODE to 0 for legacy cases
|
||||
* - need to investigate single pipe MPO + SubVP case to
|
||||
* see if CURSOR_REQ_MODE will be back to 1 for SubVP
|
||||
* when it should be 0 for MPO
|
||||
*/
|
||||
if (pipe->stream->mall_stream_config.type == SUBVP_MAIN) {
|
||||
hubp->funcs->hubp_prepare_subvp_buffering(hubp, true);
|
||||
} else {
|
||||
hubp->funcs->hubp_prepare_subvp_buffering(hubp, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user