Lines Matching refs:support

3022 			if (p->PrefetchMode[k] != 0) { // Don't need to support DRAM clock change, PrefetchMode 0 means needs DRAM clock change support
6165 /// @brief Calculate the maximum vstartup for mode support and mode programming consideration
6261 CalculatePrefetchSchedule_params->NotEnoughTimeForDynamicMetadata = &mode_lib->ms.support.NoTimeForDynamicMetadata[j][k];
6291 mode_lib->ms.support.VActiveBandwithSupport[j] = CalculateVActiveBandwithSupport(
6408 mode_lib->ms.support.NoTimeForPrefetch[j][k] =
6469 &mode_lib->ms.support.PrefetchSupported[j]);
6476 || mode_lib->ms.support.NoTimeForPrefetch[j][k] == true) {
6477 mode_lib->ms.support.PrefetchSupported[j] = false;
6481 mode_lib->ms.support.DynamicMetadataSupported[j] = true;
6483 if (mode_lib->ms.support.NoTimeForDynamicMetadata[j][k] == true) {
6484 mode_lib->ms.support.DynamicMetadataSupported[j] = false;
6488 mode_lib->ms.support.VRatioInPrefetchSupported[j] = true;
6490 if (mode_lib->ms.support.NoTimeForPrefetch[j][k] == true ||
6495 mode_lib->ms.support.VRatioInPrefetchSupported[j] = false;
6506 if (mode_lib->ms.support.PrefetchSupported[j] == true && mode_lib->ms.support.VRatioInPrefetchSupported[j] == true) {
6597 &mode_lib->ms.support.ImmediateFlipSupportedForState[j]); // dml_bool_t *ImmediateFlipBandwidthSupport
6602 mode_lib->ms.support.ImmediateFlipSupportedForState[j] = false;
6605 } else { // if prefetch not support, assume iflip not supported
6606 mode_lib->ms.support.ImmediateFlipSupportedForState[j] = false;
6620 } while (!((mode_lib->ms.support.PrefetchSupported[j] == true && mode_lib->ms.support.DynamicMetadataSupported[j] == true &&
6621 mode_lib->ms.support.VRatioInPrefetchSupported[j] == true &&
6622 // consider flip support is okay if when there is no hostvm and the user does't require a iflip OR the flip bw is ok
6623 // If there is hostvm, DCN needs to support iflip for invalidation
6624 ((s->ImmediateFlipRequiredFinal) || mode_lib->ms.support.ImmediateFlipSupportedForState[j] == true)) ||
6695 CalculateWatermarks_params->DRAMClockChangeSupport = &mode_lib->ms.support.DRAMClockChangeSupport[j];
6698 CalculateWatermarks_params->FCLKChangeSupport = &mode_lib->ms.support.FCLKChangeSupport[j];
6700 CalculateWatermarks_params->USRRetrainingSupport = &mode_lib->ms.support.USRRetrainingSupport[j];
6701 CalculateWatermarks_params->ActiveDRAMClockChangeLatencyMargin = mode_lib->ms.support.ActiveDRAMClockChangeLatencyMargin;
6741 mode_lib->ms.support.ScaleRatioAndTapsSupport = true;
6755 mode_lib->ms.support.ScaleRatioAndTapsSupport = false;
6775 mode_lib->ms.support.ScaleRatioAndTapsSupport = false;
6780 mode_lib->ms.support.SourceFormatPixelAndScanSupport = true;
6783 mode_lib->ms.support.SourceFormatPixelAndScanSupport = false;
6840 /*Writeback Latency support check*/
6841 mode_lib->ms.support.WritebackLatencySupport = true;
6845 mode_lib->ms.support.WritebackLatencySupport = false;
6857 mode_lib->ms.support.EnoughWritebackUnits = 1;
6859 mode_lib->ms.support.EnoughWritebackUnits = false;
6863 mode_lib->ms.support.WritebackScaleRatioAndTapsSupport = true;
6875 mode_lib->ms.support.WritebackScaleRatioAndTapsSupport = false;
6878 mode_lib->ms.support.WritebackScaleRatioAndTapsSupport = false;
6943 mode_lib->ms.support.NumberOfDSCSlices[k] = (dml_uint_t)(dml_ceil(mode_lib->ms.cache_display_cfg.output.PixelClockBackEnd[k] / 600, 4));
6945 mode_lib->ms.support.NumberOfDSCSlices[k] = 8;
6947 mode_lib->ms.support.NumberOfDSCSlices[k] = 4;
6949 mode_lib->ms.support.NumberOfDSCSlices[k] = 2;
6951 mode_lib->ms.support.NumberOfDSCSlices[k] = 1;
6954 mode_lib->ms.support.NumberOfDSCSlices[k] = 0;
7031 mode_lib->ms.support.MPCCombineMethodIncompatible = s->MPCCombineMethodAsNeededForPStateChangeAndVoltage && s->MPCCombineMethodAsPossible;
7035 mode_lib->ms.support.TotalAvailablePipesSupport[j] = true;
7095 mode_lib->ms.support.NumberOfDSCSlices[k],
7116 mode_lib->ms.support.TotalAvailablePipesSupport[j] = false;
7122 mode_lib->ms.support.TotalAvailablePipesSupport[j] = false;
7149 mode_lib->ms.support.TotalAvailablePipesSupport[j] = false;
7230 mode_lib->ms.support.DISPCLK_DPPCLK_Support[j] = !((mode_lib->ms.RequiredDISPCLK[j] > mode_lib->ms.state.dispclk_mhz) || (mode_lib->ms.GlobalDPPCLK > mode_lib->ms.state.dppclk_mhz));
7233 mode_lib->ms.support.TotalAvailablePipesSupport[j] = false;
7257 mode_lib->ms.support.NumberOfOTGSupport = (s->TotalNumberOfActiveOTG <= (dml_uint_t) mode_lib->ms.ip.max_num_otg);
7258 mode_lib->ms.support.NumberOfHDMIFRLSupport = (s->TotalNumberOfActiveHDMIFRL <= (dml_uint_t) mode_lib->ms.ip.max_num_hdmi_frl_outputs);
7259 mode_lib->ms.support.NumberOfDP2p0Support = (s->TotalNumberOfActiveDP2p0 <= (dml_uint_t) mode_lib->ms.ip.max_num_dp2p0_streams && s->TotalNumberOfActiveDP2p0Outputs <= (dml_uint_t) mode_lib->ms.ip.max_num_dp2p0_outputs);
7262 mode_lib->ms.support.NonsupportedDSCInputBPC = false;
7270 mode_lib->ms.support.NonsupportedDSCInputBPC = true;
7274 mode_lib->ms.support.ExceededMultistreamSlots = false;
7283 mode_lib->ms.support.ExceededMultistreamSlots = true;
7285 mode_lib->ms.support.ExceededMultistreamSlots = true;
7288 mode_lib->ms.support.LinkCapacitySupport = true;
7293 mode_lib->ms.support.LinkCapacitySupport = false;
7297 mode_lib->ms.support.P2IWith420 = false;
7298 mode_lib->ms.support.DSCOnlyIfNecessaryWithBPP = false;
7299 mode_lib->ms.support.DSC422NativeNotSupported = false;
7300 mode_lib->ms.support.LinkRateDoesNotMatchDPVersion = false;
7301 mode_lib->ms.support.LinkRateForMultistreamNotIndicated = false;
7302 mode_lib->ms.support.BPPForMultistreamNotIndicated = false;
7303 mode_lib->ms.support.MultistreamWithHDMIOreDP = false;
7304 mode_lib->ms.support.MSOOrODMSplitWithNonDPLink = false;
7305 mode_lib->ms.support.NotEnoughLanesForMSO = false;
7311 mode_lib->ms.support.P2IWith420 = true;
7314 mode_lib->ms.support.DSCOnlyIfNecessaryWithBPP = true;
7316 mode_lib->ms.support.DSC422NativeNotSupported = true;
7322 mode_lib->ms.support.LinkRateDoesNotMatchDPVersion = true;
7326 mode_lib->ms.support.LinkRateForMultistreamNotIndicated = true;
7328 mode_lib->ms.support.BPPForMultistreamNotIndicated = true;
7331 mode_lib->ms.support.BPPForMultistreamNotIndicated = true;
7337 mode_lib->ms.support.MultistreamWithHDMIOreDP = true;
7340 mode_lib->ms.support.MultistreamWithHDMIOreDP = true;
7345 mode_lib->ms.support.MSOOrODMSplitWithNonDPLink = true;
7349 mode_lib->ms.support.NotEnoughLanesForMSO = true;
7353 mode_lib->ms.support.DTBCLKRequiredMoreThanSupported = false;
7362 mode_lib->ms.support.NumberOfDSCSlices[k],
7367 mode_lib->ms.support.DTBCLKRequiredMoreThanSupported = true;
7371 mode_lib->ms.support.ODMCombineTwoToOneSupportCheckOK = true;
7372 mode_lib->ms.support.ODMCombineFourToOneSupportCheckOK = true;
7375 mode_lib->ms.support.ODMCombineTwoToOneSupportCheckOK = false;
7379 mode_lib->ms.support.ODMCombineFourToOneSupportCheckOK = false;
7383 mode_lib->ms.support.DSCCLKRequiredMoreThanSupported = false;
7410 mode_lib->ms.support.DSCCLKRequiredMoreThanSupported = true;
7414 mode_lib->ms.support.DSCCLKRequiredMoreThanSupported = true;
7418 mode_lib->ms.support.DSCCLKRequiredMoreThanSupported = true;
7426 dml_print("DML::%s: DSCCLKRequiredMoreThanSupported = %u\n", __func__, mode_lib->ms.support.DSCCLKRequiredMoreThanSupported);
7430 mode_lib->ms.support.NotEnoughDSCUnits = false;
7431 mode_lib->ms.support.NotEnoughDSCSlices = false;
7433 mode_lib->ms.support.PixelsPerLinePerDSCUnitSupport = true;
7438 mode_lib->ms.support.PixelsPerLinePerDSCUnitSupport = false;
7440 if (mode_lib->ms.support.NumberOfDSCSlices[k] > 16)
7441 mode_lib->ms.support.NotEnoughDSCSlices = true;
7444 mode_lib->ms.support.PixelsPerLinePerDSCUnitSupport = false;
7446 if (mode_lib->ms.support.NumberOfDSCSlices[k] > 8)
7447 mode_lib->ms.support.NotEnoughDSCSlices = true;
7450 mode_lib->ms.support.PixelsPerLinePerDSCUnitSupport = false;
7452 if (mode_lib->ms.support.NumberOfDSCSlices[k] > 4)
7453 mode_lib->ms.support.NotEnoughDSCSlices = true;
7458 mode_lib->ms.support.NotEnoughDSCUnits = true;
7469 mode_lib->ms.support.NumberOfDSCSlices[k],
7555 CalculateSwathAndDETConfiguration_params->ViewportSizeSupport = &mode_lib->ms.support.ViewportSizeSupport[j];
7610 &mode_lib->ms.support.ExceededMALLSize);
7753 mode_lib->ms.support.PTEBufferSizeNotExceeded[j] = true;
7757 mode_lib->ms.support.PTEBufferSizeNotExceeded[j] = false;
7763 dml_print("DML::%s: PTEBufferSizeNotExceeded[%u] = %u\n", __func__, j, mode_lib->ms.support.PTEBufferSizeNotExceeded[j]);
7766 mode_lib->ms.support.DCCMetaBufferSizeNotExceeded[j] = true;
7769 mode_lib->ms.support.DCCMetaBufferSizeNotExceeded[j] = false;
7902 mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified = false;
7904 mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified = mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified ||
7908 mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified = mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified && s->ImmediateFlipRequiredFinal;
7910 mode_lib->ms.support.ImmediateFlipOrHostVMAndPStateWithMALLFullFrameOrPhantomPipe = false;
7912 mode_lib->ms.support.ImmediateFlipOrHostVMAndPStateWithMALLFullFrameOrPhantomPipe =
7913 mode_lib->ms.support.ImmediateFlipOrHostVMAndPStateWithMALLFullFrameOrPhantomPipe || ((mode_lib->ms.cache_display_cfg.plane.HostVMEnable == true || mode_lib->ms.policy.ImmediateFlipRequirement[k] != dml_immediate_flip_not_required) &&
7917 mode_lib->ms.support.InvalidCombinationOfMALLUseForPStateAndStaticScreen = false;
7919 mode_lib->ms.support.InvalidCombinationOfMALLUseForPStateAndStaticScreen = mode_lib->ms.support.InvalidCombinationOfMALLUseForPStateAndStaticScreen ||
7939 mode_lib->ms.support.InvalidCombinationOfMALLUseForPState = (s->SubViewportMALLPStateMethod != s->PhantomPipeMALLPStateMethod)
8016 mode_lib->ms.support.ROBSupport[j] = true;
8018 mode_lib->ms.support.ROBSupport[j] = false;
8020 dml_print("DML::%s: DEBUG ROBSupport[%u] = %u (%u)\n", __func__, j, mode_lib->ms.support.ROBSupport[j], __LINE__);
8023 //Vertical Active BW support check
8030 mode_lib->ms.support.MaxTotalVerticalActiveAvailableBandwidth[j] = dml_min3(mode_lib->ms.soc.return_bus_width_bytes * mode_lib->ms.DCFCLKState[j] * mode_lib->ms.soc.max_avg_sdp_bw_use_normal_percent / 100.0,
8036 if (s->MaxTotalVActiveRDBandwidth <= mode_lib->ms.support.MaxTotalVerticalActiveAvailableBandwidth[j]) {
8037 mode_lib->ms.support.TotalVerticalActiveBandwidthSupport[j] = true;
8039 mode_lib->ms.support.TotalVerticalActiveBandwidthSupport[j] = false;
8050 mode_lib->ms.support.CursorSupport = true;
8054 mode_lib->ms.support.CursorSupport = false;
8060 mode_lib->ms.support.PitchSupport = true;
8062 mode_lib->ms.support.AlignedYPitch[k] = dml_ceil(
8066 mode_lib->ms.support.AlignedDCCMetaPitchY[k] = dml_ceil(dml_max(mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchY[k], mode_lib->ms.cache_display_cfg.surface.SurfaceWidthY[k]), 64.0 * mode_lib->ms.Read256BlockWidthY[k]);
8068 mode_lib->ms.support.AlignedDCCMetaPitchY[k] = mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchY[k];
8076 mode_lib->ms.support.AlignedCPitch[k] = dml_ceil(dml_max(mode_lib->ms.cache_display_cfg.surface.PitchC[k], mode_lib->ms.cache_display_cfg.surface.SurfaceWidthC[k]), mode_lib->ms.MacroTileWidthC[k]);
8078 mode_lib->ms.support.AlignedDCCMetaPitchC[k] = dml_ceil(dml_max(mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchC[k], mode_lib->ms.cache_display_cfg.surface.SurfaceWidthC[k]), 64.0 * mode_lib->ms.Read256BlockWidthC[k]);
8080 mode_lib->ms.support.AlignedDCCMetaPitchC[k] = mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchC[k];
8083 mode_lib->ms.support.AlignedCPitch[k] = mode_lib->ms.cache_display_cfg.surface.PitchC[k];
8084 mode_lib->ms.support.AlignedDCCMetaPitchC[k] = mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchC[k];
8086 if (mode_lib->ms.support.AlignedYPitch[k] > mode_lib->ms.cache_display_cfg.surface.PitchY[k] || mode_lib->ms.support.AlignedCPitch[k] > mode_lib->ms.cache_display_cfg.surface.PitchC[k] ||
8087 mode_lib->ms.support.AlignedDCCMetaPitchY[k] > mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchY[k] || mode_lib->ms.support.AlignedDCCMetaPitchC[k] > mode_lib->ms.cache_display_cfg.surface.DCCMetaPitchC[k]) {
8088 mode_lib->ms.support.PitchSupport = false;
8092 mode_lib->ms.support.ViewportExceedsSurface = false;
8095 mode_lib->ms.support.ViewportExceedsSurface = true;
8099 mode_lib->ms.support.ViewportExceedsSurface = true;
8107 dml_print("DML::%s: checking support for j=%u\n", __func__, j);
8115 mode_lib->ms.support.DRAMClockChangeSupport[j] != dml_dram_clock_change_unsupported);
8118 mode_lib->ms.support.FCLKChangeSupport[j] != dml_fclock_change_unsupported);
8120 if (mode_lib->ms.support.ScaleRatioAndTapsSupport == true
8121 && mode_lib->ms.support.SourceFormatPixelAndScanSupport == true
8122 && mode_lib->ms.support.ViewportSizeSupport[j] == true
8123 && !mode_lib->ms.support.LinkRateDoesNotMatchDPVersion
8124 && !mode_lib->ms.support.LinkRateForMultistreamNotIndicated
8125 && !mode_lib->ms.support.BPPForMultistreamNotIndicated
8126 && !mode_lib->ms.support.MultistreamWithHDMIOreDP
8127 && !mode_lib->ms.support.ExceededMultistreamSlots
8128 && !mode_lib->ms.support.MSOOrODMSplitWithNonDPLink
8129 && !mode_lib->ms.support.NotEnoughLanesForMSO
8130 && mode_lib->ms.support.LinkCapacitySupport == true
8131 && !mode_lib->ms.support.P2IWith420
8132 && !mode_lib->ms.support.DSCOnlyIfNecessaryWithBPP
8133 && !mode_lib->ms.support.DSC422NativeNotSupported
8134 && !mode_lib->ms.support.MPCCombineMethodIncompatible
8135 && mode_lib->ms.support.ODMCombineTwoToOneSupportCheckOK == true
8136 && mode_lib->ms.support.ODMCombineFourToOneSupportCheckOK == true
8137 && mode_lib->ms.support.NotEnoughDSCUnits == false
8138 && !mode_lib->ms.support.NotEnoughDSCSlices
8139 && !mode_lib->ms.support.ImmediateFlipOrHostVMAndPStateWithMALLFullFrameOrPhantomPipe
8140 && !mode_lib->ms.support.InvalidCombinationOfMALLUseForPStateAndStaticScreen
8141 && mode_lib->ms.support.DSCCLKRequiredMoreThanSupported == false
8142 && mode_lib->ms.support.PixelsPerLinePerDSCUnitSupport
8143 && mode_lib->ms.support.DTBCLKRequiredMoreThanSupported == false
8144 && !mode_lib->ms.support.InvalidCombinationOfMALLUseForPState
8145 && !mode_lib->ms.support.ImmediateFlipRequiredButTheRequirementForEachSurfaceIsNotSpecified
8146 && mode_lib->ms.support.ROBSupport[j] == true
8147 && mode_lib->ms.support.DISPCLK_DPPCLK_Support[j] == true
8148 && mode_lib->ms.support.TotalAvailablePipesSupport[j] == true
8149 && mode_lib->ms.support.NumberOfOTGSupport == true
8150 && mode_lib->ms.support.NumberOfHDMIFRLSupport == true
8151 && mode_lib->ms.support.NumberOfDP2p0Support == true
8152 && mode_lib->ms.support.EnoughWritebackUnits == true
8153 && mode_lib->ms.support.WritebackLatencySupport == true
8154 && mode_lib->ms.support.WritebackScaleRatioAndTapsSupport == true
8155 && mode_lib->ms.support.CursorSupport == true
8156 && mode_lib->ms.support.PitchSupport == true
8157 && mode_lib->ms.support.ViewportExceedsSurface == false
8158 && mode_lib->ms.support.PrefetchSupported[j] == true
8159 && mode_lib->ms.support.VActiveBandwithSupport[j] == true
8160 && mode_lib->ms.support.DynamicMetadataSupported[j] == true
8161 && mode_lib->ms.support.TotalVerticalActiveBandwidthSupport[j] == true
8162 && mode_lib->ms.support.VRatioInPrefetchSupported[j] == true
8163 && mode_lib->ms.support.PTEBufferSizeNotExceeded[j] == true
8164 && mode_lib->ms.support.DCCMetaBufferSizeNotExceeded[j] == true
8165 && mode_lib->ms.support.NonsupportedDSCInputBPC == false
8166 && !mode_lib->ms.support.ExceededMALLSize
8167 && ((mode_lib->ms.cache_display_cfg.plane.HostVMEnable == false && !s->ImmediateFlipRequiredFinal) || mode_lib->ms.support.ImmediateFlipSupportedForState[j])
8170 && (!mode_lib->ms.policy.USRRetrainingRequiredFinal || mode_lib->ms.support.USRRetrainingSupport[j])) {
8172 mode_lib->ms.support.ModeSupport[j] = true;
8175 mode_lib->ms.support.ModeSupport[j] = false;
8180 mode_lib->ms.support.MaximumMPCCombine = 0;
8181 mode_lib->ms.support.ModeIsSupported = 0;
8182 if (mode_lib->ms.support.ModeSupport[0] == true || mode_lib->ms.support.ModeSupport[1] == true) { // if the mode is supported by either no combine or mpccombine
8183 mode_lib->ms.support.ModeIsSupported = mode_lib->ms.support.ModeSupport[0] == true || mode_lib->ms.support.ModeSupport[1] == true;
8186 if ((mode_lib->ms.support.ModeSupport[0] == false && mode_lib->ms.support.ModeSupport[1] == true) || s->MPCCombineMethodAsPossible ||
8188 (((mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vactive || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vactive_w_mall_full_frame || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vactive_w_mall_sub_vp) &&
8189 !(mode_lib->ms.support.DRAMClockChangeSupport[0] == dml_dram_clock_change_vactive || mode_lib->ms.support.DRAMClockChangeSupport[0] == dml_dram_clock_change_vactive_w_mall_full_frame || mode_lib->ms.support.DRAMClockChangeSupport[0] == dml_dram_clock_change_vactive_w_mall_sub_vp)) ||
8190 ((mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank_drr
8191 || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank_w_mall_full_frame || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank_drr_w_mall_full_frame
8192 || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank_w_mall_sub_vp || mode_lib->ms.support.DRAMClockChangeSupport[1] == dml_dram_clock_change_vblank_drr_w_mall_sub_vp
8194 mode_lib->ms.support.DRAMClockChangeSupport[0] == dml_dram_clock_change_unsupported)))
8196 ((mode_lib->ms.support.FCLKChangeSupport[1] == dml_fclock_change_vactive && mode_lib->ms.support.FCLKChangeSupport[0] != dml_fclock_change_vactive) ||
8197 (mode_lib->ms.support.FCLKChangeSupport[1] == dml_fclock_change_vblank && mode_lib->ms.support.FCLKChangeSupport[0] == dml_fclock_change_unsupported)))) {
8198 mode_lib->ms.support.MaximumMPCCombine = 1;
8200 mode_lib->ms.support.MaximumMPCCombine = 0;
8205 mode_lib->ms.support.ImmediateFlipSupport = mode_lib->ms.support.ImmediateFlipSupportedForState[mode_lib->ms.support.MaximumMPCCombine]; // Consider flip support if max combine support imm flip
8206 mode_lib->ms.support.UnboundedRequestEnabled = mode_lib->ms.UnboundedRequestEnabledAllStates[mode_lib->ms.support.MaximumMPCCombine]; // Not used, informational
8207 mode_lib->ms.support.CompressedBufferSizeInkByte = mode_lib->ms.CompressedBufferSizeInkByteAllStates[mode_lib->ms.support.MaximumMPCCombine]; // Not used, informational
8209 dml_print("DML::%s: ModeIsSupported = %u\n", __func__, mode_lib->ms.support.ModeIsSupported);
8210 dml_print("DML::%s: MaximumMPCCombine = %u\n", __func__, mode_lib->ms.support.MaximumMPCCombine);
8211 dml_print("DML::%s: ImmediateFlipSupport = %u\n", __func__, mode_lib->ms.support.ImmediateFlipSupport);
8212 dml_print("DML::%s: UnboundedRequestEnabled = %u\n", __func__, mode_lib->ms.support.UnboundedRequestEnabled);
8213 dml_print("DML::%s: CompressedBufferSizeInkByte = %u\n", __func__, mode_lib->ms.support.CompressedBufferSizeInkByte);
8216 mode_lib->ms.support.MPCCombineEnable[k] = mode_lib->ms.MPCCombine[mode_lib->ms.support.MaximumMPCCombine][k];
8217 mode_lib->ms.support.DPPPerSurface[k] = mode_lib->ms.NoOfDPP[mode_lib->ms.support.MaximumMPCCombine][k];
8218 mode_lib->ms.SwathHeightY[k] = mode_lib->ms.SwathHeightYAllStates[mode_lib->ms.support.MaximumMPCCombine][k];
8219 mode_lib->ms.SwathHeightC[k] = mode_lib->ms.SwathHeightCAllStates[mode_lib->ms.support.MaximumMPCCombine][k];
8220 mode_lib->ms.DETBufferSizeInKByte[k] = mode_lib->ms.DETBufferSizeInKByteAllStates[mode_lib->ms.support.MaximumMPCCombine][k];
8221 mode_lib->ms.DETBufferSizeY[k] = mode_lib->ms.DETBufferSizeYAllStates[mode_lib->ms.support.MaximumMPCCombine][k];
8222 mode_lib->ms.DETBufferSizeC[k] = mode_lib->ms.DETBufferSizeCAllStates[mode_lib->ms.support.MaximumMPCCombine][k];
8228 mode_lib->ms.DCFCLK = mode_lib->ms.DCFCLKState[mode_lib->ms.support.MaximumMPCCombine];
8229 mode_lib->ms.ReturnBW = mode_lib->ms.ReturnBWPerState[mode_lib->ms.support.MaximumMPCCombine];
8230 mode_lib->ms.ReturnDRAMBW = mode_lib->ms.ReturnDRAMBWPerState[mode_lib->ms.support.MaximumMPCCombine];
8234 mode_lib->ms.support.ODMMode[k] = mode_lib->ms.ODMModePerState[k];
8236 mode_lib->ms.support.ODMMode[k] = dml_odm_mode_bypass;
8239 mode_lib->ms.support.DSCEnabled[k] = mode_lib->ms.RequiresDSC[k];
8240 mode_lib->ms.support.FECEnabled[k] = mode_lib->ms.RequiresFEC[k];
8241 mode_lib->ms.support.OutputBpp[k] = mode_lib->ms.OutputBppPerState[k];
8242 mode_lib->ms.support.OutputType[k] = mode_lib->ms.OutputTypePerState[k];
8243 mode_lib->ms.support.OutputRate[k] = mode_lib->ms.OutputRatePerState[k];
8244 mode_lib->ms.support.SubViewportLinesNeededInMALL[k] = mode_lib->ms.SubViewportLinesNeededInMALL[k];
8247 return mode_lib->ms.support.ModeIsSupported;
8278 /// @brief This is the mode programming function. It is assumed the display cfg is support at the given power state
8307 // DCFCLK is calculated in mode_support (which is the state bbox dcfclk or min dcfclk if min dcfclk option is used in mode support calculation)
8319 dml_print("DML::%s: ImmediateFlipSupport = %u\n", __func__, mode_lib->ms.support.ImmediateFlipSupport);
9197 if (locals->PrefetchModeSupported == true && mode_lib->ms.support.ImmediateFlipSupport == true) {
9340 /* consider flip support is okay if the flip bw is ok or (when user does't require a iflip and there is no host vm) */
9342 ((!mode_lib->ms.support.ImmediateFlipSupport && !mode_lib->ms.cache_display_cfg.plane.HostVMEnable && !s->ImmediateFlipRequirementFinal) ||
9350 dml_print("DML::%s: ImmediateFlipSupport = %u (from mode_support)\n", __func__, mode_lib->ms.support.ImmediateFlipSupport);
10058 // If UseMinimumRequiredDCFCLK is used, the DCFCLK will be the min dcflk for the mode support
10103 /// @param call_standalone Calling mode_programming without calling mode support. Some of the "support" struct member will be pre-calculated before doing mode programming
10128 mode_lib->ms.support.ImmediateFlipSupport = 1; // assume mode support say immediate flip ok at max state/combine
10179 *in_out_params->out_evaluation_info = in_out_params->mode_lib->ms.support;