Commit 4469201b authored by Chaitanya Dhere's avatar Chaitanya Dhere Committed by Alex Deucher

drm/amd/display: DETBufferSizeInKbyte variable type modifications

[Why]
DETBufferSizeInKByte is not expected to be sub-dividable, hence
unsigned int is a better suited data-type. Change it to an array
as well to satisfy current requirements.

[How]
Change the data-type of DETBufferSizeInKByte to an unsigned int
array. Modify the all the variables like DETBufferSizeY,
DETBufferSizeC that are involved in DETBufferSizeInKByte calculations
to unsigned int in all the display_mode_vba_xx files.
Signed-off-by: default avatarChaitanya Dhere <chaitanya.dhere@amd.com>
Reviewed-by: default avatarDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: default avatarStylon Wang <stylon.wang@amd.com>
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent eda8f799
...@@ -2895,7 +2895,7 @@ static void dml20_DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2895,7 +2895,7 @@ static void dml20_DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
RoundedUpMaxSwathSizeBytesC = 0.0; RoundedUpMaxSwathSizeBytesC = 0.0;
if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC
<= mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0) { <= mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0) {
mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY; mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY;
mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC; mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC;
} else { } else {
...@@ -2904,17 +2904,17 @@ static void dml20_DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2904,17 +2904,17 @@ static void dml20_DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
} }
if (mode_lib->vba.SwathHeightC[k] == 0) { if (mode_lib->vba.SwathHeightC[k] == 0) {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte * 1024; mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0] * 1024;
mode_lib->vba.DETBufferSizeC[k] = 0; mode_lib->vba.DETBufferSizeC[k] = 0;
} else if (mode_lib->vba.SwathHeightY[k] <= mode_lib->vba.SwathHeightC[k]) { } else if (mode_lib->vba.SwathHeightY[k] <= mode_lib->vba.SwathHeightC[k]) {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 2; * 1024.0 / 2;
mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 2; * 1024.0 / 2;
} else { } else {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 * 2 / 3; * 1024.0 * 2 / 3;
mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 3; * 1024.0 / 3;
} }
} }
...@@ -3819,7 +3819,7 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -3819,7 +3819,7 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
mode_lib->vba.MaximumSwathWidthInDETBuffer = mode_lib->vba.MaximumSwathWidthInDETBuffer =
dml_min( dml_min(
mode_lib->vba.MaximumSwathWidthSupport, mode_lib->vba.MaximumSwathWidthSupport,
mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0 mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0
/ (locals->BytePerPixelInDETY[k] / (locals->BytePerPixelInDETY[k]
* locals->MinSwathHeightY[k] * locals->MinSwathHeightY[k]
+ locals->BytePerPixelInDETC[k] + locals->BytePerPixelInDETC[k]
...@@ -4322,7 +4322,7 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4322,7 +4322,7 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
locals->RoundedUpMaxSwathSizeBytesC = 0; locals->RoundedUpMaxSwathSizeBytesC = 0;
} }
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte * 1024 / 2) { if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024 / 2) {
locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k]; locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k];
locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k]; locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k];
} else { } else {
...@@ -4331,15 +4331,15 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4331,15 +4331,15 @@ void dml20_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
} }
if (locals->BytePerPixelInDETC[k] == 0) { if (locals->BytePerPixelInDETC[k] == 0) {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k]; locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = 0; locals->LinesInDETChroma = 0;
} else if (locals->SwathHeightYPerState[i][j][k] <= locals->SwathHeightCPerState[i][j][k]) { } else if (locals->SwathHeightYPerState[i][j][k] <= locals->SwathHeightCPerState[i][j][k]) {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 / 2 / locals->BytePerPixelInDETY[k] / locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 / 2 / locals->BytePerPixelInDETY[k] /
locals->SwathWidthYPerState[i][j][k]; locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = locals->DETBufferSizeInKByte * 1024 / 2 / locals->BytePerPixelInDETC[k] / (locals->SwathWidthYPerState[i][j][k] / 2); locals->LinesInDETChroma = locals->DETBufferSizeInKByte[0] * 1024 / 2 / locals->BytePerPixelInDETC[k] / (locals->SwathWidthYPerState[i][j][k] / 2);
} else { } else {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 * 2 / 3 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k]; locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 * 2 / 3 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = locals->DETBufferSizeInKByte * 1024 / 3 / locals->BytePerPixelInDETY[k] / (locals->SwathWidthYPerState[i][j][k] / 2); locals->LinesInDETChroma = locals->DETBufferSizeInKByte[0] * 1024 / 3 / locals->BytePerPixelInDETY[k] / (locals->SwathWidthYPerState[i][j][k] / 2);
} }
locals->EffectiveLBLatencyHidingSourceLinesLuma = dml_min(locals->MaxLineBufferLines, locals->EffectiveLBLatencyHidingSourceLinesLuma = dml_min(locals->MaxLineBufferLines,
......
...@@ -2968,7 +2968,7 @@ static void dml20v2_DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2968,7 +2968,7 @@ static void dml20v2_DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
RoundedUpMaxSwathSizeBytesC = 0.0; RoundedUpMaxSwathSizeBytesC = 0.0;
if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC
<= mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0) { <= mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0) {
mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY; mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY;
mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC; mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC;
} else { } else {
...@@ -2977,17 +2977,17 @@ static void dml20v2_DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2977,17 +2977,17 @@ static void dml20v2_DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
} }
if (mode_lib->vba.SwathHeightC[k] == 0) { if (mode_lib->vba.SwathHeightC[k] == 0) {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte * 1024; mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0] * 1024;
mode_lib->vba.DETBufferSizeC[k] = 0; mode_lib->vba.DETBufferSizeC[k] = 0;
} else if (mode_lib->vba.SwathHeightY[k] <= mode_lib->vba.SwathHeightC[k]) { } else if (mode_lib->vba.SwathHeightY[k] <= mode_lib->vba.SwathHeightC[k]) {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 2; * 1024.0 / 2;
mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 2; * 1024.0 / 2;
} else { } else {
mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeY[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 * 2 / 3; * 1024.0 * 2 / 3;
mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte mode_lib->vba.DETBufferSizeC[k] = mode_lib->vba.DETBufferSizeInKByte[0]
* 1024.0 / 3; * 1024.0 / 3;
} }
} }
...@@ -3926,7 +3926,7 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode ...@@ -3926,7 +3926,7 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode
mode_lib->vba.MaximumSwathWidthInDETBuffer = mode_lib->vba.MaximumSwathWidthInDETBuffer =
dml_min( dml_min(
mode_lib->vba.MaximumSwathWidthSupport, mode_lib->vba.MaximumSwathWidthSupport,
mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0 mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0
/ (locals->BytePerPixelInDETY[k] / (locals->BytePerPixelInDETY[k]
* locals->MinSwathHeightY[k] * locals->MinSwathHeightY[k]
+ locals->BytePerPixelInDETC[k] + locals->BytePerPixelInDETC[k]
...@@ -4443,7 +4443,7 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode ...@@ -4443,7 +4443,7 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode
locals->RoundedUpMaxSwathSizeBytesC = 0; locals->RoundedUpMaxSwathSizeBytesC = 0;
} }
if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte * 1024 / 2) { if (locals->RoundedUpMaxSwathSizeBytesY + locals->RoundedUpMaxSwathSizeBytesC <= locals->DETBufferSizeInKByte[0] * 1024 / 2) {
locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k]; locals->SwathHeightYPerState[i][j][k] = locals->MaxSwathHeightY[k];
locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k]; locals->SwathHeightCPerState[i][j][k] = locals->MaxSwathHeightC[k];
} else { } else {
...@@ -4452,15 +4452,15 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode ...@@ -4452,15 +4452,15 @@ void dml20v2_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode
} }
if (locals->BytePerPixelInDETC[k] == 0) { if (locals->BytePerPixelInDETC[k] == 0) {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k]; locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = 0; locals->LinesInDETChroma = 0;
} else if (locals->SwathHeightYPerState[i][j][k] <= locals->SwathHeightCPerState[i][j][k]) { } else if (locals->SwathHeightYPerState[i][j][k] <= locals->SwathHeightCPerState[i][j][k]) {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 / 2 / locals->BytePerPixelInDETY[k] / locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 / 2 / locals->BytePerPixelInDETY[k] /
locals->SwathWidthYPerState[i][j][k]; locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = locals->DETBufferSizeInKByte * 1024 / 2 / locals->BytePerPixelInDETC[k] / (locals->SwathWidthYPerState[i][j][k] / 2); locals->LinesInDETChroma = locals->DETBufferSizeInKByte[0] * 1024 / 2 / locals->BytePerPixelInDETC[k] / (locals->SwathWidthYPerState[i][j][k] / 2);
} else { } else {
locals->LinesInDETLuma = locals->DETBufferSizeInKByte * 1024 * 2 / 3 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k]; locals->LinesInDETLuma = locals->DETBufferSizeInKByte[0] * 1024 * 2 / 3 / locals->BytePerPixelInDETY[k] / locals->SwathWidthYPerState[i][j][k];
locals->LinesInDETChroma = locals->DETBufferSizeInKByte * 1024 / 3 / locals->BytePerPixelInDETY[k] / (locals->SwathWidthYPerState[i][j][k] / 2); locals->LinesInDETChroma = locals->DETBufferSizeInKByte[0] * 1024 / 3 / locals->BytePerPixelInDETY[k] / (locals->SwathWidthYPerState[i][j][k] / 2);
} }
locals->EffectiveLBLatencyHidingSourceLinesLuma = dml_min(locals->MaxLineBufferLines, locals->EffectiveLBLatencyHidingSourceLinesLuma = dml_min(locals->MaxLineBufferLines,
......
...@@ -148,7 +148,7 @@ static double CalculateDCCConfiguration( ...@@ -148,7 +148,7 @@ static double CalculateDCCConfiguration(
bool DCCProgrammingAssumesScanDirectionUnknown, bool DCCProgrammingAssumesScanDirectionUnknown,
unsigned int ViewportWidth, unsigned int ViewportWidth,
unsigned int ViewportHeight, unsigned int ViewportHeight,
double DETBufferSize, unsigned int DETBufferSize,
unsigned int RequestHeight256Byte, unsigned int RequestHeight256Byte,
unsigned int SwathHeight, unsigned int SwathHeight,
enum dm_swizzle_mode TilingFormat, enum dm_swizzle_mode TilingFormat,
...@@ -289,7 +289,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -289,7 +289,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int MaxLineBufferLines, unsigned int MaxLineBufferLines,
unsigned int LineBufferSize, unsigned int LineBufferSize,
unsigned int DPPOutputBufferPixels, unsigned int DPPOutputBufferPixels,
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int WritebackInterfaceLumaBufferSize, unsigned int WritebackInterfaceLumaBufferSize,
unsigned int WritebackInterfaceChromaBufferSize, unsigned int WritebackInterfaceChromaBufferSize,
double DCFCLK, double DCFCLK,
...@@ -354,11 +354,11 @@ static void CalculateDCFCLKDeepSleep( ...@@ -354,11 +354,11 @@ static void CalculateDCFCLKDeepSleep(
double DPPCLK[], double DPPCLK[],
double *DCFCLKDeepSleep); double *DCFCLKDeepSleep);
static void CalculateDETBufferSize( static void CalculateDETBufferSize(
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int SwathHeightY, unsigned int SwathHeightY,
unsigned int SwathHeightC, unsigned int SwathHeightC,
double *DETBufferSizeY, unsigned int *DETBufferSizeY,
double *DETBufferSizeC); unsigned int *DETBufferSizeC);
static void CalculateUrgentBurstFactor( static void CalculateUrgentBurstFactor(
unsigned int DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int SwathHeightY, unsigned int SwathHeightY,
...@@ -1074,7 +1074,7 @@ static double CalculateDCCConfiguration( ...@@ -1074,7 +1074,7 @@ static double CalculateDCCConfiguration(
bool DCCProgrammingAssumesScanDirectionUnknown, bool DCCProgrammingAssumesScanDirectionUnknown,
unsigned int ViewportWidth, unsigned int ViewportWidth,
unsigned int ViewportHeight, unsigned int ViewportHeight,
double DETBufferSize, unsigned int DETBufferSize,
unsigned int RequestHeight256Byte, unsigned int RequestHeight256Byte,
unsigned int SwathHeight, unsigned int SwathHeight,
enum dm_swizzle_mode TilingFormat, enum dm_swizzle_mode TilingFormat,
...@@ -2246,7 +2246,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2246,7 +2246,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
} }
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
mode_lib->vba.SwathHeightY[k], mode_lib->vba.SwathHeightY[k],
mode_lib->vba.SwathHeightC[k], mode_lib->vba.SwathHeightC[k],
locals->SwathWidthY[k], locals->SwathWidthY[k],
...@@ -2415,7 +2415,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2415,7 +2415,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
mode_lib->vba.MaxLineBufferLines, mode_lib->vba.MaxLineBufferLines,
mode_lib->vba.LineBufferSize, mode_lib->vba.LineBufferSize,
mode_lib->vba.DPPOutputBufferPixels, mode_lib->vba.DPPOutputBufferPixels,
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
mode_lib->vba.WritebackInterfaceLumaBufferSize, mode_lib->vba.WritebackInterfaceLumaBufferSize,
mode_lib->vba.WritebackInterfaceChromaBufferSize, mode_lib->vba.WritebackInterfaceChromaBufferSize,
mode_lib->vba.DCFCLK, mode_lib->vba.DCFCLK,
...@@ -2588,7 +2588,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2588,7 +2588,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
false, // We should always know the direction DCCProgrammingAssumesScanDirectionUnknown, false, // We should always know the direction DCCProgrammingAssumesScanDirectionUnknown,
mode_lib->vba.ViewportWidth[k], mode_lib->vba.ViewportWidth[k],
mode_lib->vba.ViewportHeight[k], mode_lib->vba.ViewportHeight[k],
mode_lib->vba.DETBufferSizeInKByte * 1024, mode_lib->vba.DETBufferSizeInKByte[0] * 1024,
locals->BlockHeight256BytesY[k], locals->BlockHeight256BytesY[k],
mode_lib->vba.SwathHeightY[k], mode_lib->vba.SwathHeightY[k],
mode_lib->vba.SurfaceTiling[k], mode_lib->vba.SurfaceTiling[k],
...@@ -2689,13 +2689,13 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2689,13 +2689,13 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
// Stutter Efficiency // Stutter Efficiency
for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) {
CalculateDETBufferSize( CalculateDETBufferSize(
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
mode_lib->vba.SwathHeightY[k], mode_lib->vba.SwathHeightY[k],
mode_lib->vba.SwathHeightC[k], mode_lib->vba.SwathHeightC[k],
&locals->DETBufferSizeY[k], &locals->DETBufferSizeY[k],
&locals->DETBufferSizeC[k]); &locals->DETBufferSizeC[k]);
locals->LinesInDETY[k] = locals->DETBufferSizeY[k] locals->LinesInDETY[k] = (double)locals->DETBufferSizeY[k]
/ locals->BytePerPixelDETY[k] / locals->SwathWidthY[k]; / locals->BytePerPixelDETY[k] / locals->SwathWidthY[k];
locals->LinesInDETYRoundedDownToSwath[k] = dml_floor( locals->LinesInDETYRoundedDownToSwath[k] = dml_floor(
locals->LinesInDETY[k], locals->LinesInDETY[k],
...@@ -2984,7 +2984,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2984,7 +2984,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
RoundedUpMaxSwathSizeBytesC = 0.0; RoundedUpMaxSwathSizeBytesC = 0.0;
if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC if (RoundedUpMaxSwathSizeBytesY + RoundedUpMaxSwathSizeBytesC
<= mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0) { <= mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0) {
mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY; mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY;
mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC; mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC;
} else { } else {
...@@ -2993,7 +2993,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -2993,7 +2993,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
} }
CalculateDETBufferSize( CalculateDETBufferSize(
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
mode_lib->vba.SwathHeightY[k], mode_lib->vba.SwathHeightY[k],
mode_lib->vba.SwathHeightC[k], mode_lib->vba.SwathHeightC[k],
&mode_lib->vba.DETBufferSizeY[k], &mode_lib->vba.DETBufferSizeY[k],
...@@ -3888,7 +3888,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -3888,7 +3888,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
mode_lib->vba.MaximumSwathWidthInDETBuffer = mode_lib->vba.MaximumSwathWidthInDETBuffer =
dml_min( dml_min(
mode_lib->vba.MaximumSwathWidthSupport, mode_lib->vba.MaximumSwathWidthSupport,
mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0 mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0
/ (locals->BytePerPixelInDETY[k] / (locals->BytePerPixelInDETY[k]
* locals->MinSwathHeightY[k] * locals->MinSwathHeightY[k]
+ locals->BytePerPixelInDETC[k] + locals->BytePerPixelInDETC[k]
...@@ -4437,7 +4437,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4437,7 +4437,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
mode_lib->vba.RoundedUpMaxSwathSizeBytesC = 0.0; mode_lib->vba.RoundedUpMaxSwathSizeBytesC = 0.0;
} }
if (mode_lib->vba.RoundedUpMaxSwathSizeBytesY + mode_lib->vba.RoundedUpMaxSwathSizeBytesC if (mode_lib->vba.RoundedUpMaxSwathSizeBytesY + mode_lib->vba.RoundedUpMaxSwathSizeBytesC
<= mode_lib->vba.DETBufferSizeInKByte * 1024.0 / 2.0) { <= mode_lib->vba.DETBufferSizeInKByte[0] * 1024.0 / 2.0) {
locals->SwathHeightYThisState[k] = locals->MaxSwathHeightY[k]; locals->SwathHeightYThisState[k] = locals->MaxSwathHeightY[k];
locals->SwathHeightCThisState[k] = locals->MaxSwathHeightC[k]; locals->SwathHeightCThisState[k] = locals->MaxSwathHeightC[k];
} else { } else {
...@@ -4801,7 +4801,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4801,7 +4801,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
} }
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
locals->SwathHeightYThisState[k], locals->SwathHeightYThisState[k],
locals->SwathHeightCThisState[k], locals->SwathHeightCThisState[k],
locals->SwathWidthYThisState[k], locals->SwathWidthYThisState[k],
...@@ -4975,7 +4975,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4975,7 +4975,7 @@ void dml21_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
mode_lib->vba.MaxLineBufferLines, mode_lib->vba.MaxLineBufferLines,
mode_lib->vba.LineBufferSize, mode_lib->vba.LineBufferSize,
mode_lib->vba.DPPOutputBufferPixels, mode_lib->vba.DPPOutputBufferPixels,
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
mode_lib->vba.WritebackInterfaceLumaBufferSize, mode_lib->vba.WritebackInterfaceLumaBufferSize,
mode_lib->vba.WritebackInterfaceChromaBufferSize, mode_lib->vba.WritebackInterfaceChromaBufferSize,
mode_lib->vba.DCFCLKPerState[i], mode_lib->vba.DCFCLKPerState[i],
...@@ -5230,7 +5230,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -5230,7 +5230,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int MaxLineBufferLines, unsigned int MaxLineBufferLines,
unsigned int LineBufferSize, unsigned int LineBufferSize,
unsigned int DPPOutputBufferPixels, unsigned int DPPOutputBufferPixels,
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int WritebackInterfaceLumaBufferSize, unsigned int WritebackInterfaceLumaBufferSize,
unsigned int WritebackInterfaceChromaBufferSize, unsigned int WritebackInterfaceChromaBufferSize,
double DCFCLK, double DCFCLK,
...@@ -5285,8 +5285,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -5285,8 +5285,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
double EffectiveLBLatencyHidingC; double EffectiveLBLatencyHidingC;
double DPPOutputBufferLinesY; double DPPOutputBufferLinesY;
double DPPOutputBufferLinesC; double DPPOutputBufferLinesC;
double DETBufferSizeY; unsigned int DETBufferSizeY;
double DETBufferSizeC; unsigned int DETBufferSizeC;
double LinesInDETY[DC__NUM_DPP__MAX]; double LinesInDETY[DC__NUM_DPP__MAX];
double LinesInDETC; double LinesInDETC;
unsigned int LinesInDETYRoundedDownToSwath[DC__NUM_DPP__MAX]; unsigned int LinesInDETYRoundedDownToSwath[DC__NUM_DPP__MAX];
...@@ -5382,12 +5382,12 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -5382,12 +5382,12 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
&DETBufferSizeY, &DETBufferSizeY,
&DETBufferSizeC); &DETBufferSizeC);
LinesInDETY[k] = DETBufferSizeY / BytePerPixelDETY[k] / SwathWidthY[k]; LinesInDETY[k] = (double)DETBufferSizeY / BytePerPixelDETY[k] / SwathWidthY[k];
LinesInDETYRoundedDownToSwath[k] = dml_floor(LinesInDETY[k], SwathHeightY[k]); LinesInDETYRoundedDownToSwath[k] = dml_floor(LinesInDETY[k], SwathHeightY[k]);
FullDETBufferingTimeY[k] = LinesInDETYRoundedDownToSwath[k] FullDETBufferingTimeY[k] = LinesInDETYRoundedDownToSwath[k]
* (HTotal[k] / PixelClock[k]) / VRatio[k]; * (HTotal[k] / PixelClock[k]) / VRatio[k];
if (BytePerPixelDETC[k] > 0) { if (BytePerPixelDETC[k] > 0) {
LinesInDETC = DETBufferSizeC / BytePerPixelDETC[k] / (SwathWidthY[k] / 2.0); LinesInDETC = (double)DETBufferSizeC / BytePerPixelDETC[k] / (SwathWidthY[k] / 2.0);
LinesInDETCRoundedDownToSwath = dml_floor(LinesInDETC, SwathHeightC[k]); LinesInDETCRoundedDownToSwath = dml_floor(LinesInDETC, SwathHeightC[k]);
FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath
* (HTotal[k] / PixelClock[k]) / (VRatio[k] / 2); * (HTotal[k] / PixelClock[k]) / (VRatio[k] / 2);
...@@ -5574,11 +5574,11 @@ static void CalculateDCFCLKDeepSleep( ...@@ -5574,11 +5574,11 @@ static void CalculateDCFCLKDeepSleep(
} }
static void CalculateDETBufferSize( static void CalculateDETBufferSize(
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int SwathHeightY, unsigned int SwathHeightY,
unsigned int SwathHeightC, unsigned int SwathHeightC,
double *DETBufferSizeY, unsigned int *DETBufferSizeY,
double *DETBufferSizeC) unsigned int *DETBufferSizeC)
{ {
if (SwathHeightC == 0) { if (SwathHeightC == 0) {
*DETBufferSizeY = DETBufferSizeInKByte * 1024; *DETBufferSizeY = DETBufferSizeInKByte * 1024;
...@@ -5625,8 +5625,8 @@ static void CalculateUrgentBurstFactor( ...@@ -5625,8 +5625,8 @@ static void CalculateUrgentBurstFactor(
double DETBufferSizeInTimeLumaPre; double DETBufferSizeInTimeLumaPre;
double DETBufferSizeInTimeChroma; double DETBufferSizeInTimeChroma;
double DETBufferSizeInTimeChromaPre; double DETBufferSizeInTimeChromaPre;
double DETBufferSizeY; unsigned int DETBufferSizeY;
double DETBufferSizeC; unsigned int DETBufferSizeC;
*NotEnoughUrgentLatencyHiding = 0; *NotEnoughUrgentLatencyHiding = 0;
*NotEnoughUrgentLatencyHidingPre = 0; *NotEnoughUrgentLatencyHidingPre = 0;
...@@ -5663,7 +5663,7 @@ static void CalculateUrgentBurstFactor( ...@@ -5663,7 +5663,7 @@ static void CalculateUrgentBurstFactor(
&DETBufferSizeY, &DETBufferSizeY,
&DETBufferSizeC); &DETBufferSizeC);
LinesInDETLuma = DETBufferSizeY / BytePerPixelInDETY / SwathWidthY; LinesInDETLuma = (double)DETBufferSizeY / BytePerPixelInDETY / SwathWidthY;
DETBufferSizeInTimeLuma = dml_floor(LinesInDETLuma, SwathHeightY) * LineTime / VRatio; DETBufferSizeInTimeLuma = dml_floor(LinesInDETLuma, SwathHeightY) * LineTime / VRatio;
if (DETBufferSizeInTimeLuma - UrgentLatency <= 0) { if (DETBufferSizeInTimeLuma - UrgentLatency <= 0) {
*NotEnoughUrgentLatencyHiding = 1; *NotEnoughUrgentLatencyHiding = 1;
...@@ -5687,7 +5687,7 @@ static void CalculateUrgentBurstFactor( ...@@ -5687,7 +5687,7 @@ static void CalculateUrgentBurstFactor(
} }
if (BytePerPixelInDETC > 0) { if (BytePerPixelInDETC > 0) {
LinesInDETChroma = DETBufferSizeC / BytePerPixelInDETC / (SwathWidthY / 2); LinesInDETChroma = (double)DETBufferSizeC / BytePerPixelInDETC / (SwathWidthY / 2);
DETBufferSizeInTimeChroma = dml_floor(LinesInDETChroma, SwathHeightC) * LineTime DETBufferSizeInTimeChroma = dml_floor(LinesInDETChroma, SwathHeightC) * LineTime
/ (VRatio / 2); / (VRatio / 2);
if (DETBufferSizeInTimeChroma - UrgentLatency <= 0) { if (DETBufferSizeInTimeChroma - UrgentLatency <= 0) {
......
...@@ -299,7 +299,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -299,7 +299,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int MaxLineBufferLines, unsigned int MaxLineBufferLines,
unsigned int LineBufferSize, unsigned int LineBufferSize,
unsigned int DPPOutputBufferPixels, unsigned int DPPOutputBufferPixels,
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int WritebackInterfaceBufferSize, unsigned int WritebackInterfaceBufferSize,
double DCFCLK, double DCFCLK,
double ReturnBW, double ReturnBW,
...@@ -318,8 +318,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -318,8 +318,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int DPPPerPlane[], unsigned int DPPPerPlane[],
bool DCCEnable[], bool DCCEnable[],
double DPPCLK[], double DPPCLK[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
double DETBufferSizeC[], unsigned int DETBufferSizeC[],
unsigned int SwathHeightY[], unsigned int SwathHeightY[],
unsigned int SwathHeightC[], unsigned int SwathHeightC[],
unsigned int LBBitPerPixel[], unsigned int LBBitPerPixel[],
...@@ -570,7 +570,7 @@ static void CalculateStutterEfficiency( ...@@ -570,7 +570,7 @@ static void CalculateStutterEfficiency(
double SRExitTime, double SRExitTime,
bool SynchronizedVBlank, bool SynchronizedVBlank,
int DPPPerPlane[], int DPPPerPlane[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
int BytePerPixelY[], int BytePerPixelY[],
double BytePerPixelDETY[], double BytePerPixelDETY[],
double SwathWidthY[], double SwathWidthY[],
...@@ -603,7 +603,7 @@ static void CalculateStutterEfficiency( ...@@ -603,7 +603,7 @@ static void CalculateStutterEfficiency(
static void CalculateSwathAndDETConfiguration( static void CalculateSwathAndDETConfiguration(
bool ForceSingleDPP, bool ForceSingleDPP,
int NumberOfActivePlanes, int NumberOfActivePlanes,
long DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
double MaximumSwathWidthLuma[], double MaximumSwathWidthLuma[],
double MaximumSwathWidthChroma[], double MaximumSwathWidthChroma[],
enum scan_direction_class SourceScan[], enum scan_direction_class SourceScan[],
...@@ -635,8 +635,8 @@ static void CalculateSwathAndDETConfiguration( ...@@ -635,8 +635,8 @@ static void CalculateSwathAndDETConfiguration(
double SwathWidthChroma[], double SwathWidthChroma[],
int SwathHeightY[], int SwathHeightY[],
int SwathHeightC[], int SwathHeightC[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
double DETBufferSizeC[], unsigned int DETBufferSizeC[],
bool ViewportSizeSupportPerPlane[], bool ViewportSizeSupportPerPlane[],
bool *ViewportSizeSupport); bool *ViewportSizeSupport);
static void CalculateSwathWidth( static void CalculateSwathWidth(
...@@ -2613,7 +2613,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2613,7 +2613,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
v->swath_width_luma_ub[k], v->swath_width_luma_ub[k],
v->swath_width_chroma_ub[k], v->swath_width_chroma_ub[k],
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->SwathHeightY[k], v->SwathHeightY[k],
v->SwathHeightC[k], v->SwathHeightC[k],
v->HTotal[k] / v->PixelClock[k], v->HTotal[k] / v->PixelClock[k],
...@@ -2635,7 +2635,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2635,7 +2635,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
v->swath_width_luma_ub[k], v->swath_width_luma_ub[k],
v->swath_width_chroma_ub[k], v->swath_width_chroma_ub[k],
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->SwathHeightY[k], v->SwathHeightY[k],
v->SwathHeightC[k], v->SwathHeightC[k],
v->HTotal[k] / v->PixelClock[k], v->HTotal[k] / v->PixelClock[k],
...@@ -2808,7 +2808,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -2808,7 +2808,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
v->MaxLineBufferLines, v->MaxLineBufferLines,
v->LineBufferSize, v->LineBufferSize,
v->DPPOutputBufferPixels, v->DPPOutputBufferPixels,
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->WritebackInterfaceBufferSize, v->WritebackInterfaceBufferSize,
v->DCFCLK, v->DCFCLK,
v->ReturnBW, v->ReturnBW,
...@@ -3027,7 +3027,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman ...@@ -3027,7 +3027,7 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
v->SurfaceWidthC[k], v->SurfaceWidthC[k],
v->SurfaceHeightY[k], v->SurfaceHeightY[k],
v->SurfaceHeightC[k], v->SurfaceHeightC[k],
v->DETBufferSizeInKByte * 1024, v->DETBufferSizeInKByte[0] * 1024,
v->BlockHeight256BytesY[k], v->BlockHeight256BytesY[k],
v->BlockHeight256BytesC[k], v->BlockHeight256BytesC[k],
v->SurfaceTiling[k], v->SurfaceTiling[k],
...@@ -3177,7 +3177,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib) ...@@ -3177,7 +3177,7 @@ static void DisplayPipeConfiguration(struct display_mode_lib *mode_lib)
CalculateSwathAndDETConfiguration( CalculateSwathAndDETConfiguration(
false, false,
mode_lib->vba.NumberOfActivePlanes, mode_lib->vba.NumberOfActivePlanes,
mode_lib->vba.DETBufferSizeInKByte, mode_lib->vba.DETBufferSizeInKByte[0],
dummy1, dummy1,
dummy2, dummy2,
mode_lib->vba.SourceScan, mode_lib->vba.SourceScan,
...@@ -3911,7 +3911,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -3911,7 +3911,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
CalculateSwathAndDETConfiguration( CalculateSwathAndDETConfiguration(
true, true,
v->NumberOfActivePlanes, v->NumberOfActivePlanes,
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->MaximumSwathWidthLuma, v->MaximumSwathWidthLuma,
v->MaximumSwathWidthChroma, v->MaximumSwathWidthChroma,
v->SourceScan, v->SourceScan,
...@@ -4399,7 +4399,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4399,7 +4399,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
CalculateSwathAndDETConfiguration( CalculateSwathAndDETConfiguration(
false, false,
v->NumberOfActivePlanes, v->NumberOfActivePlanes,
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->MaximumSwathWidthLuma, v->MaximumSwathWidthLuma,
v->MaximumSwathWidthChroma, v->MaximumSwathWidthChroma,
v->SourceScan, v->SourceScan,
...@@ -4622,7 +4622,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -4622,7 +4622,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
v->swath_width_luma_ub_this_state[k], v->swath_width_luma_ub_this_state[k],
v->swath_width_chroma_ub_this_state[k], v->swath_width_chroma_ub_this_state[k],
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->SwathHeightYThisState[k], v->SwathHeightYThisState[k],
v->SwathHeightCThisState[k], v->SwathHeightCThisState[k],
v->HTotal[k] / v->PixelClock[k], v->HTotal[k] / v->PixelClock[k],
...@@ -5025,7 +5025,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -5025,7 +5025,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
CalculateUrgentBurstFactor( CalculateUrgentBurstFactor(
v->swath_width_luma_ub_this_state[k], v->swath_width_luma_ub_this_state[k],
v->swath_width_chroma_ub_this_state[k], v->swath_width_chroma_ub_this_state[k],
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->SwathHeightYThisState[k], v->SwathHeightYThisState[k],
v->SwathHeightCThisState[k], v->SwathHeightCThisState[k],
v->HTotal[k] / v->PixelClock[k], v->HTotal[k] / v->PixelClock[k],
...@@ -5197,7 +5197,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l ...@@ -5197,7 +5197,7 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
v->MaxLineBufferLines, v->MaxLineBufferLines,
v->LineBufferSize, v->LineBufferSize,
v->DPPOutputBufferPixels, v->DPPOutputBufferPixels,
v->DETBufferSizeInKByte, v->DETBufferSizeInKByte[0],
v->WritebackInterfaceBufferSize, v->WritebackInterfaceBufferSize,
v->DCFCLKState[i][j], v->DCFCLKState[i][j],
v->ReturnBWPerState[i][j], v->ReturnBWPerState[i][j],
...@@ -5369,7 +5369,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -5369,7 +5369,7 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int MaxLineBufferLines, unsigned int MaxLineBufferLines,
unsigned int LineBufferSize, unsigned int LineBufferSize,
unsigned int DPPOutputBufferPixels, unsigned int DPPOutputBufferPixels,
double DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
unsigned int WritebackInterfaceBufferSize, unsigned int WritebackInterfaceBufferSize,
double DCFCLK, double DCFCLK,
double ReturnBW, double ReturnBW,
...@@ -5388,8 +5388,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( ...@@ -5388,8 +5388,8 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
unsigned int DPPPerPlane[], unsigned int DPPPerPlane[],
bool DCCEnable[], bool DCCEnable[],
double DPPCLK[], double DPPCLK[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
double DETBufferSizeC[], unsigned int DETBufferSizeC[],
unsigned int SwathHeightY[], unsigned int SwathHeightY[],
unsigned int SwathHeightC[], unsigned int SwathHeightC[],
unsigned int LBBitPerPixel[], unsigned int LBBitPerPixel[],
...@@ -6126,7 +6126,7 @@ static void CalculateStutterEfficiency( ...@@ -6126,7 +6126,7 @@ static void CalculateStutterEfficiency(
double SRExitTime, double SRExitTime,
bool SynchronizedVBlank, bool SynchronizedVBlank,
int DPPPerPlane[], int DPPPerPlane[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
int BytePerPixelY[], int BytePerPixelY[],
double BytePerPixelDETY[], double BytePerPixelDETY[],
double SwathWidthY[], double SwathWidthY[],
...@@ -6273,7 +6273,7 @@ static void CalculateStutterEfficiency( ...@@ -6273,7 +6273,7 @@ static void CalculateStutterEfficiency(
static void CalculateSwathAndDETConfiguration( static void CalculateSwathAndDETConfiguration(
bool ForceSingleDPP, bool ForceSingleDPP,
int NumberOfActivePlanes, int NumberOfActivePlanes,
long DETBufferSizeInKByte, unsigned int DETBufferSizeInKByte,
double MaximumSwathWidthLuma[], double MaximumSwathWidthLuma[],
double MaximumSwathWidthChroma[], double MaximumSwathWidthChroma[],
enum scan_direction_class SourceScan[], enum scan_direction_class SourceScan[],
...@@ -6305,8 +6305,8 @@ static void CalculateSwathAndDETConfiguration( ...@@ -6305,8 +6305,8 @@ static void CalculateSwathAndDETConfiguration(
double SwathWidthChroma[], double SwathWidthChroma[],
int SwathHeightY[], int SwathHeightY[],
int SwathHeightC[], int SwathHeightC[],
double DETBufferSizeY[], unsigned int DETBufferSizeY[],
double DETBufferSizeC[], unsigned int DETBufferSizeC[],
bool ViewportSizeSupportPerPlane[], bool ViewportSizeSupportPerPlane[],
bool *ViewportSizeSupport) bool *ViewportSizeSupport)
{ {
......
...@@ -299,7 +299,7 @@ static void fetch_ip_params(struct display_mode_lib *mode_lib) ...@@ -299,7 +299,7 @@ static void fetch_ip_params(struct display_mode_lib *mode_lib)
mode_lib->vba.MaxDCHUBToPSCLThroughput = ip->max_dchub_pscl_bw_pix_per_clk; mode_lib->vba.MaxDCHUBToPSCLThroughput = ip->max_dchub_pscl_bw_pix_per_clk;
mode_lib->vba.MaxPSCLToLBThroughput = ip->max_pscl_lb_bw_pix_per_clk; mode_lib->vba.MaxPSCLToLBThroughput = ip->max_pscl_lb_bw_pix_per_clk;
mode_lib->vba.ROBBufferSizeInKByte = ip->rob_buffer_size_kbytes; mode_lib->vba.ROBBufferSizeInKByte = ip->rob_buffer_size_kbytes;
mode_lib->vba.DETBufferSizeInKByte = ip->det_buffer_size_kbytes; mode_lib->vba.DETBufferSizeInKByte[0] = ip->det_buffer_size_kbytes;
mode_lib->vba.PixelChunkSizeInKByte = ip->pixel_chunk_size_kbytes; mode_lib->vba.PixelChunkSizeInKByte = ip->pixel_chunk_size_kbytes;
mode_lib->vba.MetaChunkSize = ip->meta_chunk_size_kbytes; mode_lib->vba.MetaChunkSize = ip->meta_chunk_size_kbytes;
......
...@@ -233,7 +233,7 @@ struct vba_vars_st { ...@@ -233,7 +233,7 @@ struct vba_vars_st {
// IP Parameters // IP Parameters
// //
unsigned int ROBBufferSizeInKByte; unsigned int ROBBufferSizeInKByte;
double DETBufferSizeInKByte; unsigned int DETBufferSizeInKByte[DC__NUM_DPP__MAX];
double DETBufferSizeInTime; double DETBufferSizeInTime;
unsigned int DPPOutputBufferPixels; unsigned int DPPOutputBufferPixels;
unsigned int OPPOutputBufferLines; unsigned int OPPOutputBufferLines;
...@@ -351,8 +351,8 @@ struct vba_vars_st { ...@@ -351,8 +351,8 @@ struct vba_vars_st {
// Intermediates/Informational // Intermediates/Informational
bool ImmediateFlipSupport; bool ImmediateFlipSupport;
double DETBufferSizeY[DC__NUM_DPP__MAX]; unsigned int DETBufferSizeY[DC__NUM_DPP__MAX];
double DETBufferSizeC[DC__NUM_DPP__MAX]; unsigned int DETBufferSizeC[DC__NUM_DPP__MAX];
unsigned int SwathHeightY[DC__NUM_DPP__MAX]; unsigned int SwathHeightY[DC__NUM_DPP__MAX];
unsigned int SwathHeightC[DC__NUM_DPP__MAX]; unsigned int SwathHeightC[DC__NUM_DPP__MAX];
unsigned int LBBitPerPixel[DC__NUM_DPP__MAX]; unsigned int LBBitPerPixel[DC__NUM_DPP__MAX];
...@@ -631,8 +631,8 @@ struct vba_vars_st { ...@@ -631,8 +631,8 @@ struct vba_vars_st {
enum odm_combine_mode odm_combine_dummy[DC__NUM_DPP__MAX]; enum odm_combine_mode odm_combine_dummy[DC__NUM_DPP__MAX];
double dummy1[DC__NUM_DPP__MAX]; double dummy1[DC__NUM_DPP__MAX];
double dummy2[DC__NUM_DPP__MAX]; double dummy2[DC__NUM_DPP__MAX];
double dummy3[DC__NUM_DPP__MAX]; unsigned int dummy3[DC__NUM_DPP__MAX];
double dummy4[DC__NUM_DPP__MAX]; unsigned int dummy4[DC__NUM_DPP__MAX];
double dummy5; double dummy5;
double dummy6; double dummy6;
double dummy7[DC__NUM_DPP__MAX]; double dummy7[DC__NUM_DPP__MAX];
...@@ -872,8 +872,8 @@ struct vba_vars_st { ...@@ -872,8 +872,8 @@ struct vba_vars_st {
int PercentMarginOverMinimumRequiredDCFCLK; int PercentMarginOverMinimumRequiredDCFCLK;
bool DynamicMetadataSupported[DC__VOLTAGE_STATES][2]; bool DynamicMetadataSupported[DC__VOLTAGE_STATES][2];
enum immediate_flip_requirement ImmediateFlipRequirement; enum immediate_flip_requirement ImmediateFlipRequirement;
double DETBufferSizeYThisState[DC__NUM_DPP__MAX]; unsigned int DETBufferSizeYThisState[DC__NUM_DPP__MAX];
double DETBufferSizeCThisState[DC__NUM_DPP__MAX]; unsigned int DETBufferSizeCThisState[DC__NUM_DPP__MAX];
bool NoUrgentLatencyHiding[DC__NUM_DPP__MAX]; bool NoUrgentLatencyHiding[DC__NUM_DPP__MAX];
bool NoUrgentLatencyHidingPre[DC__NUM_DPP__MAX]; bool NoUrgentLatencyHidingPre[DC__NUM_DPP__MAX];
int swath_width_luma_ub_this_state[DC__NUM_DPP__MAX]; int swath_width_luma_ub_this_state[DC__NUM_DPP__MAX];
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment