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 23:06:21 +0000 (18:06 -0500)
commitd60f56b92d3c59364a54618d557d7f9ba5939b21
treec27d360f547d267e8f74a767d85d51add69b4b1d
parenteb28018943fed7639dfea1c9ec9c756ec692b99a
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