Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

drm/amd/display: move odm power optimization decision after subvp optimization

[why]
ODM power optimization excludes subvp power optimization but subvp
optimization can override ODM power optimization even if subvp optimization
configuration is not found. This happens with 4k144hz + 1 5k desktop plane.
We could have applied ODM power optimization however this is overridden by
subvp but subvp ends up deciding not apply its optimization.

[how]
Move ODM power optimization decision after subvp so it will try ODM power
optimization after subvp optimization is not possible.

Reviewed-by: Dillon Varone <dillon.varone@amd.com>
Acked-by: Stylon Wang <stylon.wang@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>

authored by

Wenjing Liu and committed by
Alex Deucher
3a2c0ecc 15c6798a

+5 -4
+5 -4
drivers/gpu/drm/amd/display/dc/dml/dcn32/dcn32_fpu.c
··· 1441 1441 vba->VoltageLevel = *vlevel; 1442 1442 } 1443 1443 1444 - if (should_allow_odm_power_optimization(dc, context, vba, split, merge)) 1445 - try_odm_power_optimization_and_revalidate( 1446 - dc, context, pipes, split, merge, vlevel, *pipe_cnt); 1447 - 1448 1444 /* Conditions for setting up phantom pipes for SubVP: 1449 1445 * 1. Not force disable SubVP 1450 1446 * 2. Full update (i.e. !fast_validate) ··· 1559 1563 assign_subvp_index(dc, context); 1560 1564 } 1561 1565 } 1566 + 1567 + if (should_allow_odm_power_optimization(dc, context, vba, split, merge)) 1568 + try_odm_power_optimization_and_revalidate( 1569 + dc, context, pipes, split, merge, vlevel, *pipe_cnt); 1570 + 1562 1571 } 1563 1572 1564 1573 static bool is_dtbclk_required(struct dc *dc, struct dc_state *context)