aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-07-01 01:59:18 +0900
committerOphestra <cat@gensokyo.uk>2026-07-01 02:32:20 +0900
commit3ab7116b29750824c7d77b7dd43f20db88aac7db (patch)
treeab8de4dd907f0d587394b7910acb1df6c96359a5 /internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch
parent9be165d6ee7ad57b5846a3c2f8844010db7cd220 (diff)
internal/rosa/package/kernel: 6.12.94 to 6.18.37
Finally jumping from 6.12 to 6.18, and the patches can be dropped. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch')
-rw-r--r--internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch493
1 files changed, 0 insertions, 493 deletions
diff --git a/internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch b/internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch
deleted file mode 100644
index 91e4f075..00000000
--- a/internal/rosa/package/kernel/6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f.patch
+++ /dev/null
@@ -1,493 +0,0 @@
-From 6ce6fbfddc5b127e4f57c3b5bfdcf40239a4fc2f Mon Sep 17 00:00:00 2001
-From: Nathan Chancellor <nathan@kernel.org>
-Date: Sat, 13 Dec 2025 19:58:11 +0900
-Subject: drm/amd/display: Reduce number of arguments of dcn30's
- CalculateWatermarksAndDRAMSpeedChangeSupport()
-
-CalculateWatermarksAndDRAMSpeedChangeSupport() has a large number of
-parameters, which must be passed on the stack. Most of the parameters
-between the two callsites are the same, so they can be accessed through
-the existing mode_lib pointer, instead of being passed as explicit
-arguments. Doing this reduces the stack size of
-dml30_ModeSupportAndSystemConfigurationFull() from 1912 bytes to 1840
-bytes building for x86_64 with clang-22, helping stay under the 2048
-byte limit for display_mode_vba_30.c.
-
-Additionally, now that there is a pointer to mode_lib->vba available,
-use 'v' consistently throughout the entire function.
-
-Signed-off-by: Nathan Chancellor <nathan@kernel.org>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-(cherry picked from commit 563dfbefdf633c8d958398ddfa3955f9f40e47d9)
----
- .../amd/display/dc/dml/dcn30/display_mode_vba_30.c | 287 +++++----------------
- 1 file changed, 66 insertions(+), 221 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c b/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
-index 2d19bb8de59c84..1df3412be3465d 100644
---- a/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
-+++ b/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c
-@@ -265,62 +265,23 @@ static void CalculateDynamicMetadataParameters(
- static void CalculateWatermarksAndDRAMSpeedChangeSupport(
- struct display_mode_lib *mode_lib,
- unsigned int PrefetchMode,
-- unsigned int NumberOfActivePlanes,
-- unsigned int MaxLineBufferLines,
-- unsigned int LineBufferSize,
-- unsigned int DPPOutputBufferPixels,
-- unsigned int DETBufferSizeInKByte,
-- unsigned int WritebackInterfaceBufferSize,
- double DCFCLK,
- double ReturnBW,
-- bool GPUVMEnable,
-- unsigned int dpte_group_bytes[],
-- unsigned int MetaChunkSize,
- double UrgentLatency,
- double ExtraLatency,
-- double WritebackLatency,
-- double WritebackChunkSize,
- double SOCCLK,
-- double DRAMClockChangeLatency,
-- double SRExitTime,
-- double SREnterPlusExitTime,
- double DCFCLKDeepSleep,
- unsigned int DPPPerPlane[],
-- bool DCCEnable[],
- double DPPCLK[],
- unsigned int DETBufferSizeY[],
- unsigned int DETBufferSizeC[],
- unsigned int SwathHeightY[],
- unsigned int SwathHeightC[],
-- unsigned int LBBitPerPixel[],
- double SwathWidthY[],
- double SwathWidthC[],
-- double HRatio[],
-- double HRatioChroma[],
-- unsigned int vtaps[],
-- unsigned int VTAPsChroma[],
-- double VRatio[],
-- double VRatioChroma[],
-- unsigned int HTotal[],
-- double PixelClock[],
-- unsigned int BlendingAndTiming[],
- double BytePerPixelDETY[],
- double BytePerPixelDETC[],
-- double DSTXAfterScaler[],
-- double DSTYAfterScaler[],
-- bool WritebackEnable[],
-- enum source_format_class WritebackPixelFormat[],
-- double WritebackDestinationWidth[],
-- double WritebackDestinationHeight[],
-- double WritebackSourceHeight[],
-- enum clock_change_support *DRAMClockChangeSupport,
-- double *UrgentWatermark,
-- double *WritebackUrgentWatermark,
-- double *DRAMClockChangeWatermark,
-- double *WritebackDRAMClockChangeWatermark,
-- double *StutterExitWatermark,
-- double *StutterEnterPlusExitWatermark,
-- double *MinActiveDRAMClockChangeLatencySupported);
-+ enum clock_change_support *DRAMClockChangeSupport);
- static void CalculateDCFCLKDeepSleep(
- struct display_mode_lib *mode_lib,
- unsigned int NumberOfActivePlanes,
-@@ -2646,62 +2607,23 @@ static void DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerforman
- CalculateWatermarksAndDRAMSpeedChangeSupport(
- mode_lib,
- PrefetchMode,
-- v->NumberOfActivePlanes,
-- v->MaxLineBufferLines,
-- v->LineBufferSize,
-- v->DPPOutputBufferPixels,
-- v->DETBufferSizeInKByte[0],
-- v->WritebackInterfaceBufferSize,
- v->DCFCLK,
- v->ReturnBW,
-- v->GPUVMEnable,
-- v->dpte_group_bytes,
-- v->MetaChunkSize,
- v->UrgentLatency,
- v->UrgentExtraLatency,
-- v->WritebackLatency,
-- v->WritebackChunkSize,
- v->SOCCLK,
-- v->FinalDRAMClockChangeLatency,
-- v->SRExitTime,
-- v->SREnterPlusExitTime,
- v->DCFCLKDeepSleep,
- v->DPPPerPlane,
-- v->DCCEnable,
- v->DPPCLK,
- v->DETBufferSizeY,
- v->DETBufferSizeC,
- v->SwathHeightY,
- v->SwathHeightC,
-- v->LBBitPerPixel,
- v->SwathWidthY,
- v->SwathWidthC,
-- v->HRatio,
-- v->HRatioChroma,
-- v->vtaps,
-- v->VTAPsChroma,
-- v->VRatio,
-- v->VRatioChroma,
-- v->HTotal,
-- v->PixelClock,
-- v->BlendingAndTiming,
- v->BytePerPixelDETY,
- v->BytePerPixelDETC,
-- v->DSTXAfterScaler,
-- v->DSTYAfterScaler,
-- v->WritebackEnable,
-- v->WritebackPixelFormat,
-- v->WritebackDestinationWidth,
-- v->WritebackDestinationHeight,
-- v->WritebackSourceHeight,
-- &DRAMClockChangeSupport,
-- &v->UrgentWatermark,
-- &v->WritebackUrgentWatermark,
-- &v->DRAMClockChangeWatermark,
-- &v->WritebackDRAMClockChangeWatermark,
-- &v->StutterExitWatermark,
-- &v->StutterEnterPlusExitWatermark,
-- &v->MinActiveDRAMClockChangeLatencySupported);
-+ &DRAMClockChangeSupport);
-
- for (k = 0; k < v->NumberOfActivePlanes; ++k) {
- if (v->WritebackEnable[k] == true) {
-@@ -4895,62 +4817,23 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
- CalculateWatermarksAndDRAMSpeedChangeSupport(
- mode_lib,
- v->PrefetchModePerState[i][j],
-- v->NumberOfActivePlanes,
-- v->MaxLineBufferLines,
-- v->LineBufferSize,
-- v->DPPOutputBufferPixels,
-- v->DETBufferSizeInKByte[0],
-- v->WritebackInterfaceBufferSize,
- v->DCFCLKState[i][j],
- v->ReturnBWPerState[i][j],
-- v->GPUVMEnable,
-- v->dpte_group_bytes,
-- v->MetaChunkSize,
- v->UrgLatency[i],
- v->ExtraLatency,
-- v->WritebackLatency,
-- v->WritebackChunkSize,
- v->SOCCLKPerState[i],
-- v->FinalDRAMClockChangeLatency,
-- v->SRExitTime,
-- v->SREnterPlusExitTime,
- v->ProjectedDCFCLKDeepSleep[i][j],
- v->NoOfDPPThisState,
-- v->DCCEnable,
- v->RequiredDPPCLKThisState,
- v->DETBufferSizeYThisState,
- v->DETBufferSizeCThisState,
- v->SwathHeightYThisState,
- v->SwathHeightCThisState,
-- v->LBBitPerPixel,
- v->SwathWidthYThisState,
- v->SwathWidthCThisState,
-- v->HRatio,
-- v->HRatioChroma,
-- v->vtaps,
-- v->VTAPsChroma,
-- v->VRatio,
-- v->VRatioChroma,
-- v->HTotal,
-- v->PixelClock,
-- v->BlendingAndTiming,
- v->BytePerPixelInDETY,
- v->BytePerPixelInDETC,
-- v->DSTXAfterScaler,
-- v->DSTYAfterScaler,
-- v->WritebackEnable,
-- v->WritebackPixelFormat,
-- v->WritebackDestinationWidth,
-- v->WritebackDestinationHeight,
-- v->WritebackSourceHeight,
-- &v->DRAMClockChangeSupport[i][j],
-- &v->UrgentWatermark,
-- &v->WritebackUrgentWatermark,
-- &v->DRAMClockChangeWatermark,
-- &v->WritebackDRAMClockChangeWatermark,
-- &v->StutterExitWatermark,
-- &v->StutterEnterPlusExitWatermark,
-- &v->MinActiveDRAMClockChangeLatencySupported);
-+ &v->DRAMClockChangeSupport[i][j]);
- }
- }
-
-@@ -5067,63 +4950,25 @@ void dml30_ModeSupportAndSystemConfigurationFull(struct display_mode_lib *mode_l
- static void CalculateWatermarksAndDRAMSpeedChangeSupport(
- struct display_mode_lib *mode_lib,
- unsigned int PrefetchMode,
-- unsigned int NumberOfActivePlanes,
-- unsigned int MaxLineBufferLines,
-- unsigned int LineBufferSize,
-- unsigned int DPPOutputBufferPixels,
-- unsigned int DETBufferSizeInKByte,
-- unsigned int WritebackInterfaceBufferSize,
- double DCFCLK,
- double ReturnBW,
-- bool GPUVMEnable,
-- unsigned int dpte_group_bytes[],
-- unsigned int MetaChunkSize,
- double UrgentLatency,
- double ExtraLatency,
-- double WritebackLatency,
-- double WritebackChunkSize,
- double SOCCLK,
-- double DRAMClockChangeLatency,
-- double SRExitTime,
-- double SREnterPlusExitTime,
- double DCFCLKDeepSleep,
- unsigned int DPPPerPlane[],
-- bool DCCEnable[],
- double DPPCLK[],
- unsigned int DETBufferSizeY[],
- unsigned int DETBufferSizeC[],
- unsigned int SwathHeightY[],
- unsigned int SwathHeightC[],
-- unsigned int LBBitPerPixel[],
- double SwathWidthY[],
- double SwathWidthC[],
-- double HRatio[],
-- double HRatioChroma[],
-- unsigned int vtaps[],
-- unsigned int VTAPsChroma[],
-- double VRatio[],
-- double VRatioChroma[],
-- unsigned int HTotal[],
-- double PixelClock[],
-- unsigned int BlendingAndTiming[],
- double BytePerPixelDETY[],
- double BytePerPixelDETC[],
-- double DSTXAfterScaler[],
-- double DSTYAfterScaler[],
-- bool WritebackEnable[],
-- enum source_format_class WritebackPixelFormat[],
-- double WritebackDestinationWidth[],
-- double WritebackDestinationHeight[],
-- double WritebackSourceHeight[],
-- enum clock_change_support *DRAMClockChangeSupport,
-- double *UrgentWatermark,
-- double *WritebackUrgentWatermark,
-- double *DRAMClockChangeWatermark,
-- double *WritebackDRAMClockChangeWatermark,
-- double *StutterExitWatermark,
-- double *StutterEnterPlusExitWatermark,
-- double *MinActiveDRAMClockChangeLatencySupported)
-+ enum clock_change_support *DRAMClockChangeSupport)
- {
-+ struct vba_vars_st *v = &mode_lib->vba;
- double EffectiveLBLatencyHidingY = 0;
- double EffectiveLBLatencyHidingC = 0;
- double LinesInDETY[DC__NUM_DPP__MAX] = { 0 };
-@@ -5142,101 +4987,101 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
- double WritebackDRAMClockChangeLatencyHiding = 0;
- unsigned int k, j;
-
-- mode_lib->vba.TotalActiveDPP = 0;
-- mode_lib->vba.TotalDCCActiveDPP = 0;
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-- mode_lib->vba.TotalActiveDPP = mode_lib->vba.TotalActiveDPP + DPPPerPlane[k];
-- if (DCCEnable[k] == true) {
-- mode_lib->vba.TotalDCCActiveDPP = mode_lib->vba.TotalDCCActiveDPP + DPPPerPlane[k];
-+ v->TotalActiveDPP = 0;
-+ v->TotalDCCActiveDPP = 0;
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-+ v->TotalActiveDPP = v->TotalActiveDPP + DPPPerPlane[k];
-+ if (v->DCCEnable[k] == true) {
-+ v->TotalDCCActiveDPP = v->TotalDCCActiveDPP + DPPPerPlane[k];
- }
- }
-
-- *UrgentWatermark = UrgentLatency + ExtraLatency;
-+ v->UrgentWatermark = UrgentLatency + ExtraLatency;
-
-- *DRAMClockChangeWatermark = DRAMClockChangeLatency + *UrgentWatermark;
-+ v->DRAMClockChangeWatermark = v->FinalDRAMClockChangeLatency + v->UrgentWatermark;
-
-- mode_lib->vba.TotalActiveWriteback = 0;
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-- if (WritebackEnable[k] == true) {
-- mode_lib->vba.TotalActiveWriteback = mode_lib->vba.TotalActiveWriteback + 1;
-+ v->TotalActiveWriteback = 0;
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-+ if (v->WritebackEnable[k] == true) {
-+ v->TotalActiveWriteback = v->TotalActiveWriteback + 1;
- }
- }
-
-- if (mode_lib->vba.TotalActiveWriteback <= 1) {
-- *WritebackUrgentWatermark = WritebackLatency;
-+ if (v->TotalActiveWriteback <= 1) {
-+ v->WritebackUrgentWatermark = v->WritebackLatency;
- } else {
-- *WritebackUrgentWatermark = WritebackLatency + WritebackChunkSize * 1024.0 / 32.0 / SOCCLK;
-+ v->WritebackUrgentWatermark = v->WritebackLatency + v->WritebackChunkSize * 1024.0 / 32.0 / SOCCLK;
- }
-
-- if (mode_lib->vba.TotalActiveWriteback <= 1) {
-- *WritebackDRAMClockChangeWatermark = DRAMClockChangeLatency + WritebackLatency;
-+ if (v->TotalActiveWriteback <= 1) {
-+ v->WritebackDRAMClockChangeWatermark = v->FinalDRAMClockChangeLatency + v->WritebackLatency;
- } else {
-- *WritebackDRAMClockChangeWatermark = DRAMClockChangeLatency + WritebackLatency + WritebackChunkSize * 1024.0 / 32.0 / SOCCLK;
-+ v->WritebackDRAMClockChangeWatermark = v->FinalDRAMClockChangeLatency + v->WritebackLatency + v->WritebackChunkSize * 1024.0 / 32.0 / SOCCLK;
- }
-
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-
-- mode_lib->vba.LBLatencyHidingSourceLinesY = dml_min((double) MaxLineBufferLines, dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthY[k] / dml_max(HRatio[k], 1.0)), 1)) - (vtaps[k] - 1);
-+ v->LBLatencyHidingSourceLinesY = dml_min((double) v->MaxLineBufferLines, dml_floor(v->LineBufferSize / v->LBBitPerPixel[k] / (SwathWidthY[k] / dml_max(v->HRatio[k], 1.0)), 1)) - (v->vtaps[k] - 1);
-
-- mode_lib->vba.LBLatencyHidingSourceLinesC = dml_min((double) MaxLineBufferLines, dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthC[k] / dml_max(HRatioChroma[k], 1.0)), 1)) - (VTAPsChroma[k] - 1);
-+ v->LBLatencyHidingSourceLinesC = dml_min((double) v->MaxLineBufferLines, dml_floor(v->LineBufferSize / v->LBBitPerPixel[k] / (SwathWidthC[k] / dml_max(v->HRatioChroma[k], 1.0)), 1)) - (v->VTAPsChroma[k] - 1);
-
-- EffectiveLBLatencyHidingY = mode_lib->vba.LBLatencyHidingSourceLinesY / VRatio[k] * (HTotal[k] / PixelClock[k]);
-+ EffectiveLBLatencyHidingY = v->LBLatencyHidingSourceLinesY / v->VRatio[k] * (v->HTotal[k] / v->PixelClock[k]);
-
-- EffectiveLBLatencyHidingC = mode_lib->vba.LBLatencyHidingSourceLinesC / VRatioChroma[k] * (HTotal[k] / PixelClock[k]);
-+ EffectiveLBLatencyHidingC = v->LBLatencyHidingSourceLinesC / v->VRatioChroma[k] * (v->HTotal[k] / v->PixelClock[k]);
-
- LinesInDETY[k] = (double) DETBufferSizeY[k] / BytePerPixelDETY[k] / SwathWidthY[k];
- LinesInDETYRoundedDownToSwath[k] = dml_floor(LinesInDETY[k], SwathHeightY[k]);
-- FullDETBufferingTimeY[k] = LinesInDETYRoundedDownToSwath[k] * (HTotal[k] / PixelClock[k]) / VRatio[k];
-+ FullDETBufferingTimeY[k] = LinesInDETYRoundedDownToSwath[k] * (v->HTotal[k] / v->PixelClock[k]) / v->VRatio[k];
- if (BytePerPixelDETC[k] > 0) {
-- LinesInDETC = mode_lib->vba.DETBufferSizeC[k] / BytePerPixelDETC[k] / SwathWidthC[k];
-+ LinesInDETC = v->DETBufferSizeC[k] / BytePerPixelDETC[k] / SwathWidthC[k];
- LinesInDETCRoundedDownToSwath = dml_floor(LinesInDETC, SwathHeightC[k]);
-- FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath * (HTotal[k] / PixelClock[k]) / VRatioChroma[k];
-+ FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath * (v->HTotal[k] / v->PixelClock[k]) / v->VRatioChroma[k];
- } else {
- LinesInDETC = 0;
- FullDETBufferingTimeC = 999999;
- }
-
-- ActiveDRAMClockChangeLatencyMarginY = EffectiveLBLatencyHidingY + FullDETBufferingTimeY[k] - *UrgentWatermark - (HTotal[k] / PixelClock[k]) * (DSTXAfterScaler[k] / HTotal[k] + DSTYAfterScaler[k]) - *DRAMClockChangeWatermark;
-+ ActiveDRAMClockChangeLatencyMarginY = EffectiveLBLatencyHidingY + FullDETBufferingTimeY[k] - v->UrgentWatermark - (v->HTotal[k] / v->PixelClock[k]) * (v->DSTXAfterScaler[k] / v->HTotal[k] + v->DSTYAfterScaler[k]) - v->DRAMClockChangeWatermark;
-
-- if (NumberOfActivePlanes > 1) {
-- ActiveDRAMClockChangeLatencyMarginY = ActiveDRAMClockChangeLatencyMarginY - (1 - 1.0 / NumberOfActivePlanes) * SwathHeightY[k] * HTotal[k] / PixelClock[k] / VRatio[k];
-+ if (v->NumberOfActivePlanes > 1) {
-+ ActiveDRAMClockChangeLatencyMarginY = ActiveDRAMClockChangeLatencyMarginY - (1 - 1.0 / v->NumberOfActivePlanes) * SwathHeightY[k] * v->HTotal[k] / v->PixelClock[k] / v->VRatio[k];
- }
-
- if (BytePerPixelDETC[k] > 0) {
-- ActiveDRAMClockChangeLatencyMarginC = EffectiveLBLatencyHidingC + FullDETBufferingTimeC - *UrgentWatermark - (HTotal[k] / PixelClock[k]) * (DSTXAfterScaler[k] / HTotal[k] + DSTYAfterScaler[k]) - *DRAMClockChangeWatermark;
-+ ActiveDRAMClockChangeLatencyMarginC = EffectiveLBLatencyHidingC + FullDETBufferingTimeC - v->UrgentWatermark - (v->HTotal[k] / v->PixelClock[k]) * (v->DSTXAfterScaler[k] / v->HTotal[k] + v->DSTYAfterScaler[k]) - v->DRAMClockChangeWatermark;
-
-- if (NumberOfActivePlanes > 1) {
-- ActiveDRAMClockChangeLatencyMarginC = ActiveDRAMClockChangeLatencyMarginC - (1 - 1.0 / NumberOfActivePlanes) * SwathHeightC[k] * HTotal[k] / PixelClock[k] / VRatioChroma[k];
-+ if (v->NumberOfActivePlanes > 1) {
-+ ActiveDRAMClockChangeLatencyMarginC = ActiveDRAMClockChangeLatencyMarginC - (1 - 1.0 / v->NumberOfActivePlanes) * SwathHeightC[k] * v->HTotal[k] / v->PixelClock[k] / v->VRatioChroma[k];
- }
-- mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = dml_min(ActiveDRAMClockChangeLatencyMarginY, ActiveDRAMClockChangeLatencyMarginC);
-+ v->ActiveDRAMClockChangeLatencyMargin[k] = dml_min(ActiveDRAMClockChangeLatencyMarginY, ActiveDRAMClockChangeLatencyMarginC);
- } else {
-- mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = ActiveDRAMClockChangeLatencyMarginY;
-+ v->ActiveDRAMClockChangeLatencyMargin[k] = ActiveDRAMClockChangeLatencyMarginY;
- }
-
-- if (WritebackEnable[k] == true) {
-+ if (v->WritebackEnable[k] == true) {
-
-- WritebackDRAMClockChangeLatencyHiding = WritebackInterfaceBufferSize * 1024 / (WritebackDestinationWidth[k] * WritebackDestinationHeight[k] / (WritebackSourceHeight[k] * HTotal[k] / PixelClock[k]) * 4);
-- if (WritebackPixelFormat[k] == dm_444_64) {
-+ WritebackDRAMClockChangeLatencyHiding = v->WritebackInterfaceBufferSize * 1024 / (v->WritebackDestinationWidth[k] * v->WritebackDestinationHeight[k] / (v->WritebackSourceHeight[k] * v->HTotal[k] / v->PixelClock[k]) * 4);
-+ if (v->WritebackPixelFormat[k] == dm_444_64) {
- WritebackDRAMClockChangeLatencyHiding = WritebackDRAMClockChangeLatencyHiding / 2;
- }
-- if (mode_lib->vba.WritebackConfiguration == dm_whole_buffer_for_single_stream_interleave) {
-+ if (v->WritebackConfiguration == dm_whole_buffer_for_single_stream_interleave) {
- WritebackDRAMClockChangeLatencyHiding = WritebackDRAMClockChangeLatencyHiding * 2;
- }
-- WritebackDRAMClockChangeLatencyMargin = WritebackDRAMClockChangeLatencyHiding - mode_lib->vba.WritebackDRAMClockChangeWatermark;
-- mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = dml_min(mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k], WritebackDRAMClockChangeLatencyMargin);
-+ WritebackDRAMClockChangeLatencyMargin = WritebackDRAMClockChangeLatencyHiding - v->WritebackDRAMClockChangeWatermark;
-+ v->ActiveDRAMClockChangeLatencyMargin[k] = dml_min(v->ActiveDRAMClockChangeLatencyMargin[k], WritebackDRAMClockChangeLatencyMargin);
- }
- }
-
-- mode_lib->vba.MinActiveDRAMClockChangeMargin = 999999;
-+ v->MinActiveDRAMClockChangeMargin = 999999;
- PlaneWithMinActiveDRAMClockChangeMargin = 0;
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-- if (mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] < mode_lib->vba.MinActiveDRAMClockChangeMargin) {
-- mode_lib->vba.MinActiveDRAMClockChangeMargin = mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k];
-- if (BlendingAndTiming[k] == k) {
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-+ if (v->ActiveDRAMClockChangeLatencyMargin[k] < v->MinActiveDRAMClockChangeMargin) {
-+ v->MinActiveDRAMClockChangeMargin = v->ActiveDRAMClockChangeLatencyMargin[k];
-+ if (v->BlendingAndTiming[k] == k) {
- PlaneWithMinActiveDRAMClockChangeMargin = k;
- } else {
-- for (j = 0; j < NumberOfActivePlanes; ++j) {
-- if (BlendingAndTiming[k] == j) {
-+ for (j = 0; j < v->NumberOfActivePlanes; ++j) {
-+ if (v->BlendingAndTiming[k] == j) {
- PlaneWithMinActiveDRAMClockChangeMargin = j;
- }
- }
-@@ -5244,40 +5089,40 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport(
- }
- }
-
-- *MinActiveDRAMClockChangeLatencySupported = mode_lib->vba.MinActiveDRAMClockChangeMargin + DRAMClockChangeLatency;
-+ v->MinActiveDRAMClockChangeLatencySupported = v->MinActiveDRAMClockChangeMargin + v->FinalDRAMClockChangeLatency;
-
- SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank = 999999;
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-- if (!((k == PlaneWithMinActiveDRAMClockChangeMargin) && (BlendingAndTiming[k] == k)) && !(BlendingAndTiming[k] == PlaneWithMinActiveDRAMClockChangeMargin) && mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] < SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank) {
-- SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank = mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k];
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-+ if (!((k == PlaneWithMinActiveDRAMClockChangeMargin) && (v->BlendingAndTiming[k] == k)) && !(v->BlendingAndTiming[k] == PlaneWithMinActiveDRAMClockChangeMargin) && v->ActiveDRAMClockChangeLatencyMargin[k] < SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank) {
-+ SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank = v->ActiveDRAMClockChangeLatencyMargin[k];
- }
- }
-
-- mode_lib->vba.TotalNumberOfActiveOTG = 0;
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-- if (BlendingAndTiming[k] == k) {
-- mode_lib->vba.TotalNumberOfActiveOTG = mode_lib->vba.TotalNumberOfActiveOTG + 1;
-+ v->TotalNumberOfActiveOTG = 0;
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
-+ if (v->BlendingAndTiming[k] == k) {
-+ v->TotalNumberOfActiveOTG = v->TotalNumberOfActiveOTG + 1;
- }
- }
-
-- if (mode_lib->vba.MinActiveDRAMClockChangeMargin > 0) {
-+ if (v->MinActiveDRAMClockChangeMargin > 0) {
- *DRAMClockChangeSupport = dm_dram_clock_change_vactive;
-- } else if (((mode_lib->vba.SynchronizedVBlank == true || mode_lib->vba.TotalNumberOfActiveOTG == 1 || SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank > 0) && PrefetchMode == 0)) {
-+ } else if (((v->SynchronizedVBlank == true || v->TotalNumberOfActiveOTG == 1 || SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank > 0) && PrefetchMode == 0)) {
- *DRAMClockChangeSupport = dm_dram_clock_change_vblank;
- } else {
- *DRAMClockChangeSupport = dm_dram_clock_change_unsupported;
- }
-
- FullDETBufferingTimeYStutterCriticalPlane = FullDETBufferingTimeY[0];
-- for (k = 0; k < NumberOfActivePlanes; ++k) {
-+ for (k = 0; k < v->NumberOfActivePlanes; ++k) {
- if (FullDETBufferingTimeY[k] <= FullDETBufferingTimeYStutterCriticalPlane) {
- FullDETBufferingTimeYStutterCriticalPlane = FullDETBufferingTimeY[k];
-- TimeToFinishSwathTransferStutterCriticalPlane = (SwathHeightY[k] - (LinesInDETY[k] - LinesInDETYRoundedDownToSwath[k])) * (HTotal[k] / PixelClock[k]) / VRatio[k];
-+ TimeToFinishSwathTransferStutterCriticalPlane = (SwathHeightY[k] - (LinesInDETY[k] - LinesInDETYRoundedDownToSwath[k])) * (v->HTotal[k] / v->PixelClock[k]) / v->VRatio[k];
- }
- }
-
-- *StutterExitWatermark = SRExitTime + ExtraLatency + 10 / DCFCLKDeepSleep;
-- *StutterEnterPlusExitWatermark = dml_max(SREnterPlusExitTime + ExtraLatency + 10 / DCFCLKDeepSleep, TimeToFinishSwathTransferStutterCriticalPlane);
-+ v->StutterExitWatermark = v->SRExitTime + ExtraLatency + 10 / DCFCLKDeepSleep;
-+ v->StutterEnterPlusExitWatermark = dml_max(v->SREnterPlusExitTime + ExtraLatency + 10 / DCFCLKDeepSleep, TimeToFinishSwathTransferStutterCriticalPlane);
-
- }
-
---
-cgit 1.2.3-korg