mirror of
https://github.com/torvalds/linux.git
synced 2024-11-26 06:02:05 +00:00
drm/amd/display: Fix merging dynamic ODM+MPO configs on DCN32
[WHY&HOW?] When merging ODM pipes that are using MPO, we must copy the stream_res from the new top pipe to the bottom pipe so that the overlayed plane is not pointing to the wrong stream assets. Reviewed-by: Martin Leung <Martin.Leung@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com> Signed-off-by: Dillon Varone <Dillon.Varone@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
f1b47f0004
commit
3f4dee5925
@ -1598,6 +1598,9 @@ bool dcn32_internal_validate_bw(struct dc *dc,
|
||||
/*MPC split rules will handle this case*/
|
||||
pipe->bottom_pipe->top_pipe = NULL;
|
||||
} else {
|
||||
/* when merging an ODM pipes, the bottom MPC pipe must now point to
|
||||
* the previous ODM pipe and its associated stream assets
|
||||
*/
|
||||
if (pipe->prev_odm_pipe->bottom_pipe) {
|
||||
/* 3 plane MPO*/
|
||||
pipe->bottom_pipe->top_pipe = pipe->prev_odm_pipe->bottom_pipe;
|
||||
@ -1607,6 +1610,8 @@ bool dcn32_internal_validate_bw(struct dc *dc,
|
||||
pipe->bottom_pipe->top_pipe = pipe->prev_odm_pipe;
|
||||
pipe->prev_odm_pipe->bottom_pipe = pipe->bottom_pipe;
|
||||
}
|
||||
|
||||
memcpy(&pipe->bottom_pipe->stream_res, &pipe->bottom_pipe->top_pipe->stream_res, sizeof(struct stream_resource));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user