drm/amd/display: Refactor recout calculation with a more generic formula
authorWenjing Liu <wenjing.liu@amd.com>
Thu, 6 Jul 2023 19:00:11 +0000 (15:00 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Jul 2023 17:40:08 +0000 (13:40 -0400)
commit0f3b9542c9774a2c2ef0fc76387bb48c8fc46b36
tree42857f8d14413c62e39fcfce0ac9dfd6ee510a25
parent6917b0b711713b9d84d7e0844e9aa613997a51b2
drm/amd/display: Refactor recout calculation with a more generic formula

[Why]
Current recout calculation has a few assumptions and implementation
for MPO + ODM combine calculation is very specific. The equation has
too many cases without enough comments to document the detail.

[How]
The change remove the following assumptions:
1. When MPO is enabled, we only allow ODM Combine 2:1
2. ODM Combine always has even segment width.
3. Secondary MPO plane's pipe_ctx copies pre_odm_pipe from
its top pipe.

The change applies a generic formula with more details in comment to
document this solution so it is eaiser to learn and debug later.

Reviewed-by: Dmytro Laktyushkin <dmytro.laktyushkin@amd.com>
Acked-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Wenjing Liu <wenjing.liu@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
drivers/gpu/drm/amd/display/dc/dcn21/dcn21_resource.c
drivers/gpu/drm/amd/display/dc/dcn30/dcn30_resource.c
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c