drm/amd/display: Guard DST_Y_PREFETCH register overflow in DCN21
[why] DST_Y_PREFETCH can overflow when DestinationLinesForPrefetch values are too large due to the former being limited to 8 bits. [how] Set the maximum value of DestinationLinesForPrefetch to be 255 * refclk period. Reviewed-by: Laktyushkin Dmytro <dmytro.laktyushkin@amd.com> Acked-by: Solomon Chiu <solomon.chiu@amd.com> Signed-off-by: Victor Lu <victorchengchi.lu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
91e273712a
commit
c8f8e96805
@ -841,6 +841,9 @@ static bool CalculatePrefetchSchedule(
|
||||
else
|
||||
*DestinationLinesForPrefetch = dst_y_prefetch_equ;
|
||||
|
||||
// Limit to prevent overflow in DST_Y_PREFETCH register
|
||||
*DestinationLinesForPrefetch = dml_min(*DestinationLinesForPrefetch, 63.75);
|
||||
|
||||
dml_print("DML: VStartup: %d\n", VStartup);
|
||||
dml_print("DML: TCalc: %f\n", TCalc);
|
||||
dml_print("DML: TWait: %f\n", TWait);
|
||||
|
Loading…
Reference in New Issue
Block a user