drm/amd/display: Update DCN35 clock table policy
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Fri, 3 Nov 2023 22:07:11 +0000 (18:07 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 29 Nov 2023 21:49:01 +0000 (16:49 -0500)
commit5fcf74e002f152db0c39a7cdafa082c952cc5640
tree8fc4a9d9328d272ae47248c7aa2bdcffae241e58
parent3d0fe49454652117522f60bfbefb978ba0e5300b
drm/amd/display: Update DCN35 clock table policy

[Why]
The new table doesn't have an implicit mapping between Fclk SOC voltage
and MemClk and it currently builds the table off of number of Fclk
states rather than DcfClock states.

The DML table in use is not correct for functionality or power and
does not align with our existing policies for DCN3x.

[How]
Build the table based on DcfClock with the following assumptions:

1. Raising Soc voltage is the most expensive operation, so assume that
running at max DispClock or DppClock is preferable.

2. Assume that we can run at max Fclk / MemClk at any state, but
restrict the maximum state to the very last entry in the table as the
worst case scenario.

3. Assume that Fclk always has a 2x multiplier on DcfClock unless the
table specifies something lower.

Reviewed-by: Taimur Hassan <syed.hassan@amd.com>
Acked-by: Hamza Mahfooz <hamza.mahfooz@amd.com>
Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c