Às 13:45 de 14/07/22, Maíra Canal escreveu: > Based on the dml30_CalculateWriteBackDISPCLK, it separates the > DISPCLK calculations on three variables, making no functional changes, in order > to make it more readable and better express that three values are being compared > on dml_max. > > Signed-off-by: Maíra Canal <mairacanal@xxxxxxxxxx> > --- > .../drm/amd/display/dc/dml/display_mode_vba.c | 31 ++++++++++++------- > 1 file changed, 20 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c > index c5a0a3649e9a..5fc1d16a2e15 100644 > --- a/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c > +++ b/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.c > @@ -1113,20 +1113,29 @@ double CalculateWriteBackDISPCLK( > unsigned int HTotal, > unsigned int WritebackChromaLineBufferWidth) > { > - double CalculateWriteBackDISPCLK = 1.01 * PixelClock * dml_max( > - dml_ceil(WritebackLumaHTaps / 4.0, 1) / WritebackHRatio, > - dml_max((WritebackLumaVTaps * dml_ceil(1.0 / WritebackVRatio, 1) * dml_ceil(WritebackDestinationWidth / 4.0, 1) > + > + double DISPCLK_H = 0, DISPCLK_V = 0, DISPCLK_HB = 0; > + double CalculateWriteBackDISPCLK = 0; > + Small nit: no need to initialize to 0 those variables here. They are getting initialized bellow anyway. > + DISPCLK_H = dml_ceil(WritebackLumaHTaps / 4.0, 1) / WritebackHRatio; > + DISPCLK_V = (WritebackLumaVTaps * dml_ceil(1.0 / WritebackVRatio, 1) * dml_ceil(WritebackDestinationWidth / 4.0, 1) > + dml_ceil(WritebackDestinationWidth / 4.0, 1)) / (double) HTotal + dml_ceil(1.0 / WritebackVRatio, 1) > - * (dml_ceil(WritebackLumaVTaps / 4.0, 1) + 4.0) / (double) HTotal, > - dml_ceil(1.0 / WritebackVRatio, 1) * WritebackDestinationWidth / (double) HTotal)); > + * (dml_ceil(WritebackLumaVTaps / 4.0, 1) + 4.0) / (double) HTotal; > + DISPCLK_HB = dml_ceil(1.0 / WritebackVRatio, 1) * WritebackDestinationWidth / (double) HTotal; > + > + CalculateWriteBackDISPCLK = 1.01 * PixelClock * dml_max3(DISPCLK_H, DISPCLK_V, DISPCLK_HB); > + > if (WritebackPixelFormat != dm_444_32) { > - CalculateWriteBackDISPCLK = dml_max(CalculateWriteBackDISPCLK, 1.01 * PixelClock * dml_max( > - dml_ceil(WritebackChromaHTaps / 2.0, 1) / (2 * WritebackHRatio), > - dml_max((WritebackChromaVTaps * dml_ceil(1 / (2 * WritebackVRatio), 1) * dml_ceil(WritebackDestinationWidth / 2.0 / 2.0, 1) > - + dml_ceil(WritebackDestinationWidth / 2.0 / WritebackChromaLineBufferWidth, 1)) / HTotal > - + dml_ceil(1 / (2 * WritebackVRatio), 1) * (dml_ceil(WritebackChromaVTaps / 4.0, 1) + 4) / HTotal, > - dml_ceil(1.0 / (2 * WritebackVRatio), 1) * WritebackDestinationWidth / 2.0 / HTotal))); > + DISPCLK_H = dml_ceil(WritebackChromaHTaps / 2.0, 1) / (2 * WritebackHRatio); > + DISPCLK_V = (WritebackChromaVTaps * dml_ceil(1 / (2 * WritebackVRatio), 1) * > + dml_ceil(WritebackDestinationWidth / 4.0, 1) + > + dml_ceil(WritebackDestinationWidth / 2.0 / WritebackChromaLineBufferWidth, 1)) / HTotal + > + dml_ceil(1 / (2 * WritebackVRatio), 1) *(dml_ceil(WritebackChromaVTaps / 4.0, 1) + 4) / HTotal; > + DISPCLK_HB = dml_ceil(1.0 / (2 * WritebackVRatio), 1) * WritebackDestinationWidth / 2.0 / HTotal; > + CalculateWriteBackDISPCLK = dml_max(CalculateWriteBackDISPCLK, > + 1.01 * PixelClock * dml_max3(DISPCLK_H, DISPCLK_V, DISPCLK_HB)); > } > + > return CalculateWriteBackDISPCLK; > } >