Lines Matching refs:k

1472 	unsigned int j, k;  in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()  local
1481 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1482 if (mode_lib->vba.WritebackEnable[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1487 mode_lib->vba.WritebackPixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1488 mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1489 mode_lib->vba.WritebackHRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1490 mode_lib->vba.WritebackVRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1491 mode_lib->vba.WritebackLumaHTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1492 mode_lib->vba.WritebackLumaVTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1493 mode_lib->vba.WritebackChromaHTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1494 mode_lib->vba.WritebackChromaVTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1495 mode_lib->vba.WritebackDestinationWidth[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1496 mode_lib->vba.HTotal[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1501 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1502 if (mode_lib->vba.HRatio[k] > 1) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1503 locals->PSCL_THROUGHPUT_LUMA[k] = dml_min( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1506 * mode_lib->vba.HRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1508 mode_lib->vba.htaps[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1512 locals->PSCL_THROUGHPUT_LUMA[k] = dml_min( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1518 mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1520 mode_lib->vba.vtaps[k] / 6.0 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1523 mode_lib->vba.HRatio[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1525 mode_lib->vba.HRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1526 * mode_lib->vba.VRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1527 / locals->PSCL_THROUGHPUT_LUMA[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1530 if ((mode_lib->vba.htaps[k] > 6 || mode_lib->vba.vtaps[k] > 6) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1532 < 2 * mode_lib->vba.PixelClock[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1533 mode_lib->vba.DPPCLKUsingSingleDPPLuma = 2 * mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1536 if ((mode_lib->vba.SourcePixelFormat[k] != dm_420_8 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1537 && mode_lib->vba.SourcePixelFormat[k] != dm_420_10)) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1538 locals->PSCL_THROUGHPUT_CHROMA[k] = 0.0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1539 locals->DPPCLKUsingSingleDPP[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1542 if (mode_lib->vba.HRatio[k] > 1) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1543 locals->PSCL_THROUGHPUT_CHROMA[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1547 * mode_lib->vba.HRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1550 mode_lib->vba.HTAPsChroma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1554 locals->PSCL_THROUGHPUT_CHROMA[k] = dml_min( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1559 mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1561 mode_lib->vba.VTAPsChroma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1565 mode_lib->vba.HRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1568 mode_lib->vba.HRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1569 * mode_lib->vba.VRatio[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1571 / locals->PSCL_THROUGHPUT_CHROMA[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1574 if ((mode_lib->vba.HTAPsChroma[k] > 6 || mode_lib->vba.VTAPsChroma[k] > 6) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1576 < 2 * mode_lib->vba.PixelClock[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1578 * mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1581 locals->DPPCLKUsingSingleDPP[k] = dml_max( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1587 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1588 if (mode_lib->vba.BlendingAndTiming[k] != k) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1590 if (mode_lib->vba.ODMCombineEnabled[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1594 mode_lib->vba.PixelClock[k] / 2 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1604 mode_lib->vba.PixelClock[k] / 2 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1608 } else if (!mode_lib->vba.ODMCombineEnabled[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1612 mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1622 mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1659 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1660 mode_lib->vba.DPPCLK_calculated[k] = locals->DPPCLKUsingSingleDPP[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1661 / mode_lib->vba.DPPPerPlane[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1665 mode_lib->vba.DPPCLK_calculated[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1670 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1671 mode_lib->vba.DPPCLK_calculated[k] = mode_lib->vba.GlobalDPPCLK / 255 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1673 mode_lib->vba.DPPCLK_calculated[k] * 255 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1676 DTRACE(" dppclk_mhz[%i] (calculated) = %f", k, mode_lib->vba.DPPCLK_calculated[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1684 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1687 if (mode_lib->vba.SourceScan[k] == dm_horz) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1688 locals->SwathWidthSingleDPPY[k] = mode_lib->vba.ViewportWidth[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1690 locals->SwathWidthSingleDPPY[k] = mode_lib->vba.ViewportHeight[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1692 if (mode_lib->vba.ODMCombineEnabled[k] == dm_odm_combine_mode_2to1) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1695 if (mode_lib->vba.BlendingAndTiming[k] == j in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1696 && mode_lib->vba.ODMCombineEnabled[k] == dm_odm_combine_mode_2to1) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1700 locals->SwathWidthY[k] = dml_min( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1701 (double) locals->SwathWidthSingleDPPY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1703 mode_lib->vba.HActive[k] / 2.0 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1704 * mode_lib->vba.HRatio[k])); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1706 locals->SwathWidthY[k] = locals->SwathWidthSingleDPPY[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1707 / mode_lib->vba.DPPPerPlane[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1710 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1711 if (mode_lib->vba.SourcePixelFormat[k] == dm_444_64) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1712 locals->BytePerPixelDETY[k] = 8; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1713 locals->BytePerPixelDETC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1714 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_32) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1715 locals->BytePerPixelDETY[k] = 4; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1716 locals->BytePerPixelDETC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1717 …} else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_16 || mode_lib->vba.SourcePixelFormat[k] =… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1718 locals->BytePerPixelDETY[k] = 2; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1719 locals->BytePerPixelDETC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1720 …} else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_8 || mode_lib->vba.SourcePixelFormat[k] ==… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1721 locals->BytePerPixelDETY[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1722 locals->BytePerPixelDETC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1723 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1724 locals->BytePerPixelDETY[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1725 locals->BytePerPixelDETC[k] = 2; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1727 locals->BytePerPixelDETY[k] = 4.0 / 3.0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1728 locals->BytePerPixelDETC[k] = 8.0 / 3.0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1733 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1734 locals->ReadBandwidthPlaneLuma[k] = locals->SwathWidthSingleDPPY[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1735 * dml_ceil(locals->BytePerPixelDETY[k], 1) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1736 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1737 * mode_lib->vba.VRatio[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1738 locals->ReadBandwidthPlaneChroma[k] = locals->SwathWidthSingleDPPY[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1739 / 2 * dml_ceil(locals->BytePerPixelDETC[k], 2) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1740 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1741 * mode_lib->vba.VRatio[k] / 2; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1744 k, in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1745 locals->ReadBandwidthPlaneLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1746 + locals->ReadBandwidthPlaneChroma[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1747 mode_lib->vba.TotalDataReadBandwidth += locals->ReadBandwidthPlaneLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1748 + locals->ReadBandwidthPlaneChroma[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1768 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1769 if ((mode_lib->vba.BlendingAndTiming[k] != k) || !mode_lib->vba.DSCEnabled[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1770 locals->DSCCLK_calculated[k] = 0.0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1772 if (mode_lib->vba.OutputFormat[k] == dm_420 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1773 || mode_lib->vba.OutputFormat[k] == dm_n422) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1777 if (mode_lib->vba.ODMCombineEnabled[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1778 locals->DSCCLK_calculated[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1779 mode_lib->vba.PixelClockBackEnd[k] / 6 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1785 locals->DSCCLK_calculated[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1786 mode_lib->vba.PixelClockBackEnd[k] / 3 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1796 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1797 double bpp = mode_lib->vba.OutputBpp[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1798 unsigned int slices = mode_lib->vba.NumberOfDSCSlices[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1800 if (mode_lib->vba.DSCEnabled[k] && bpp != 0) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1801 if (!mode_lib->vba.ODMCombineEnabled[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1802 locals->DSCDelay[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1804 mode_lib->vba.DSCInputBitPerComponent[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1807 (double) mode_lib->vba.HActive[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1808 / mode_lib->vba.NumberOfDSCSlices[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1811 mode_lib->vba.OutputFormat[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1813 mode_lib->vba.OutputFormat[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1815 locals->DSCDelay[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1818 mode_lib->vba.DSCInputBitPerComponent[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1821 (double) mode_lib->vba.HActive[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1822 / mode_lib->vba.NumberOfDSCSlices[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1825 mode_lib->vba.OutputFormat[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1827 mode_lib->vba.OutputFormat[k])); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1829 locals->DSCDelay[k] = locals->DSCDelay[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1830 * mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1831 / mode_lib->vba.PixelClockBackEnd[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1833 locals->DSCDelay[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1837 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1839 if (j != k && mode_lib->vba.BlendingAndTiming[k] == j in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1841 locals->DSCDelay[k] = locals->DSCDelay[j]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1844 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1855 mode_lib->vba.SourcePixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1856 mode_lib->vba.SurfaceTiling[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1857 dml_ceil(locals->BytePerPixelDETY[k], 1), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1858 dml_ceil(locals->BytePerPixelDETC[k], 2), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1859 &locals->BlockHeight256BytesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1860 &locals->BlockHeight256BytesC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1861 &locals->BlockWidth256BytesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1862 &locals->BlockWidth256BytesC[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1864 locals->PrefetchSourceLinesY[k] = CalculatePrefetchSourceLines( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1866 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1867 mode_lib->vba.vtaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1868 mode_lib->vba.Interlace[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1870 mode_lib->vba.SwathHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1871 mode_lib->vba.ViewportYStartY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1872 &locals->VInitPreFillY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1873 &locals->MaxNumSwathY[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1875 if ((mode_lib->vba.SourcePixelFormat[k] != dm_444_64 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1876 && mode_lib->vba.SourcePixelFormat[k] != dm_444_32 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1877 && mode_lib->vba.SourcePixelFormat[k] != dm_444_16 in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1878 && mode_lib->vba.SourcePixelFormat[k] != dm_444_8)) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1882 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1883 locals->BlockHeight256BytesC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1884 locals->BlockWidth256BytesC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1885 mode_lib->vba.SourcePixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1886 mode_lib->vba.SurfaceTiling[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1888 locals->BytePerPixelDETC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1890 mode_lib->vba.SourceScan[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1891 mode_lib->vba.ViewportWidth[k] / 2, in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1892 mode_lib->vba.ViewportHeight[k] / 2, in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1893 locals->SwathWidthY[k] / 2, in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1900 mode_lib->vba.PitchC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1901 mode_lib->vba.DCCMetaPitchC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1902 &locals->MacroTileWidthC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1906 &locals->dpte_row_width_chroma_ub[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1907 &locals->dpte_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1908 &locals->meta_req_width_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1909 &locals->meta_req_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1910 &locals->meta_row_width_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1911 &locals->meta_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1914 &locals->PixelPTEReqWidthC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1915 &locals->PixelPTEReqHeightC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1916 &locals->PTERequestSizeC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1917 &locals->dpde0_bytes_per_frame_ub_c[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1918 &locals->meta_pte_bytes_per_frame_ub_c[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1920 locals->PrefetchSourceLinesC[k] = CalculatePrefetchSourceLines( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1922 mode_lib->vba.VRatio[k] / 2, in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1923 mode_lib->vba.VTAPsChroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1924 mode_lib->vba.Interlace[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1926 mode_lib->vba.SwathHeightC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1927 mode_lib->vba.ViewportYStartC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1928 &locals->VInitPreFillC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1929 &locals->MaxNumSwathC[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1934 locals->MaxNumSwathC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1935 locals->PrefetchSourceLinesC[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1941 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1942 locals->BlockHeight256BytesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1943 locals->BlockWidth256BytesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1944 mode_lib->vba.SourcePixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1945 mode_lib->vba.SurfaceTiling[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1946 dml_ceil(locals->BytePerPixelDETY[k], 1), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1947 mode_lib->vba.SourceScan[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1948 mode_lib->vba.ViewportWidth[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1949 mode_lib->vba.ViewportHeight[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1950 locals->SwathWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1957 mode_lib->vba.PitchY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1958 mode_lib->vba.DCCMetaPitchY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1959 &locals->MacroTileWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1963 &locals->dpte_row_width_luma_ub[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1964 &locals->dpte_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1965 &locals->meta_req_width[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1966 &locals->meta_req_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1967 &locals->meta_row_width[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1968 &locals->meta_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1969 &locals->vm_group_bytes[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1970 &locals->dpte_group_bytes[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1971 &locals->PixelPTEReqWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1972 &locals->PixelPTEReqHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1973 &locals->PTERequestSizeY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1974 &locals->dpde0_bytes_per_frame_ub_l[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1975 &locals->meta_pte_bytes_per_frame_ub_l[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1977 locals->PixelPTEBytesPerRow[k] = PixelPTEBytesPerRowY + PixelPTEBytesPerRowC; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1978 locals->PDEAndMetaPTEBytesFrame[k] = PDEAndMetaPTEBytesFrameY in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1980 locals->MetaRowByte[k] = MetaRowByteY + MetaRowByteC; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1984 mode_lib->vba.SourcePixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1985 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1986 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1987 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1990 locals->meta_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1991 locals->meta_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1994 locals->dpte_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1995 locals->dpte_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1996 &locals->meta_row_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
1997 &locals->dpte_row_bw[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2002 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2004 + mode_lib->vba.DPPPerPlane[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2005 if (mode_lib->vba.DCCEnable[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2007 + mode_lib->vba.DPPPerPlane[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2041 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2042 if (mode_lib->vba.BlendingAndTiming[k] == k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2043 if (mode_lib->vba.WritebackEnable[k] == true) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2044 locals->WritebackDelay[mode_lib->vba.VoltageLevel][k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2047 mode_lib->vba.WritebackPixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2048 mode_lib->vba.WritebackHRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2049 mode_lib->vba.WritebackVRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2050 mode_lib->vba.WritebackLumaHTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2051 mode_lib->vba.WritebackLumaVTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2052 mode_lib->vba.WritebackChromaHTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2053 mode_lib->vba.WritebackChromaVTaps[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2054 mode_lib->vba.WritebackDestinationWidth[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2057 locals->WritebackDelay[mode_lib->vba.VoltageLevel][k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2059 if (mode_lib->vba.BlendingAndTiming[j] == k in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2061 locals->WritebackDelay[mode_lib->vba.VoltageLevel][k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2063 locals->WritebackDelay[mode_lib->vba.VoltageLevel][k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2080 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2082 if (mode_lib->vba.BlendingAndTiming[k] == j) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2083 locals->WritebackDelay[mode_lib->vba.VoltageLevel][k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2087 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2088k] = mode_lib->vba.VTotal[k] - mode_lib->vba.VActive[k] - dml_max(1.0, dml_ceil(locals->WritebackD… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2091 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2092 …s->MaximumMaxVStartupLines = dml_max(locals->MaximumMaxVStartupLines, locals->MaxVStartupLines[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2109 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2113 if (mode_lib->vba.XFCEnabled[k] == true) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2117 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2118 locals->SwathWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2120 locals->BytePerPixelDETY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2122 mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2123 / mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2140 myPipe.DPPCLK = locals->DPPCLK[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2142 myPipe.PixelClock = mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2144 myPipe.DPPPerPlane = mode_lib->vba.DPPPerPlane[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2145 myPipe.ScalerEnabled = mode_lib->vba.ScalerEnabled[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2146 myPipe.SourceScan = mode_lib->vba.SourceScan[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2147 myPipe.BlockWidth256BytesY = locals->BlockWidth256BytesY[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2148 myPipe.BlockHeight256BytesY = locals->BlockHeight256BytesY[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2149 myPipe.BlockWidth256BytesC = locals->BlockWidth256BytesC[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2150 myPipe.BlockHeight256BytesC = locals->BlockHeight256BytesC[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2151 myPipe.InterlaceEnable = mode_lib->vba.Interlace[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2152 myPipe.NumberOfCursors = mode_lib->vba.NumberOfCursors[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2153 myPipe.VBlank = mode_lib->vba.VTotal[k] - mode_lib->vba.VActive[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2154 myPipe.HTotal = mode_lib->vba.HTotal[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2161 mode_lib->vba.ErrorResult[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2167 locals->DSCDelay[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2174 (unsigned int) (locals->SwathWidthY[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2175 / mode_lib->vba.HRatio[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2176 mode_lib->vba.OutputFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2178 dml_min(mode_lib->vba.VStartupLines, locals->MaxVStartupLines[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2179 locals->MaxVStartupLines[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2183 mode_lib->vba.DynamicMetadataEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2184 mode_lib->vba.DynamicMetadataLinesBeforeActiveRequired[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2185 mode_lib->vba.DynamicMetadataTransmittedBytes[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2186 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2190 locals->PDEAndMetaPTEBytesFrame[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2191 locals->MetaRowByte[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2192 locals->PixelPTEBytesPerRow[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2193 locals->PrefetchSourceLinesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2194 locals->SwathWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2195 locals->BytePerPixelDETY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2196 locals->VInitPreFillY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2197 locals->MaxNumSwathY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2198 locals->PrefetchSourceLinesC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2199 locals->BytePerPixelDETC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2200 locals->VInitPreFillC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2201 locals->MaxNumSwathC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2202 mode_lib->vba.SwathHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2203 mode_lib->vba.SwathHeightC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2205 mode_lib->vba.XFCEnabled[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2208 &locals->DSTXAfterScaler[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2209 &locals->DSTYAfterScaler[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2210 &locals->DestinationLinesForPrefetch[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2211 &locals->PrefetchBandwidth[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2212 &locals->DestinationLinesToRequestVMInVBlank[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2213 &locals->DestinationLinesToRequestRowInVBlank[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2214 &locals->VRatioPrefetchY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2215 &locals->VRatioPrefetchC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2216 &locals->RequiredPrefetchPixDataBWLuma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2217 &locals->RequiredPrefetchPixDataBWChroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2219 &locals->Tno_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2220 &locals->prefetch_vmrow_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2221 &locals->swath_width_luma_ub[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2222 &locals->swath_width_chroma_ub[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2223 &mode_lib->vba.VUpdateOffsetPix[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2224 &mode_lib->vba.VUpdateWidthPix[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2225 &mode_lib->vba.VReadyOffsetPix[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2226 if (mode_lib->vba.BlendingAndTiming[k] == k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2227 locals->VStartup[k] = dml_min( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2229 locals->MaxVStartupLines[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2232 locals->VStartup[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2236 locals->VStartup[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2239 locals->MaxVStartupLines[mode_lib->vba.BlendingAndTiming[k]]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2243 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2246 locals->cursor_bw[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2247 locals->cursor_bw_pre[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2248 for (m = 0; m < mode_lib->vba.NumberOfCursors[k]; m++) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2249k] += mode_lib->vba.CursorWidth[k][m] * mode_lib->vba.CursorBPP[k][m] / 8.0 / (mode_lib->vba.HTota… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2250k] += mode_lib->vba.CursorWidth[k][m] * mode_lib->vba.CursorBPP[k][m] / 8.0 / (mode_lib->vba.HTota… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2255 mode_lib->vba.SwathHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2256 mode_lib->vba.SwathHeightC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2257 locals->SwathWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2258 mode_lib->vba.HTotal[k] / in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2259 mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2262 mode_lib->vba.CursorWidth[k][0] + mode_lib->vba.CursorWidth[k][1], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2263 dml_max(mode_lib->vba.CursorBPP[k][0], mode_lib->vba.CursorBPP[k][1]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2264 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2265 locals->VRatioPrefetchY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2266 locals->VRatioPrefetchC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2267 locals->BytePerPixelDETY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2268 locals->BytePerPixelDETC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2269 &locals->UrgentBurstFactorCursor[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2270 &locals->UrgentBurstFactorCursorPre[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2271 &locals->UrgentBurstFactorLuma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2272 &locals->UrgentBurstFactorLumaPre[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2273 &locals->UrgentBurstFactorChroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2274 &locals->UrgentBurstFactorChromaPre[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2279 locals->UrgentBurstFactorLuma[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2280 locals->UrgentBurstFactorChroma[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2281 locals->UrgentBurstFactorCursor[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2282 locals->UrgentBurstFactorLumaPre[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2283 locals->UrgentBurstFactorChromaPre[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2284 locals->UrgentBurstFactorCursorPre[k] = 1; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2288 dml_max3(locals->prefetch_vmrow_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2289 locals->ReadBandwidthPlaneLuma[k] * locals->UrgentBurstFactorLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2290 … + locals->ReadBandwidthPlaneChroma[k] * locals->UrgentBurstFactorChroma[k] + locals->cursor_bw[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2291 * locals->UrgentBurstFactorCursor[k] + locals->meta_row_bw[k] + locals->dpte_row_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2292 …ls->RequiredPrefetchPixDataBWLuma[k] * locals->UrgentBurstFactorLumaPre[k] + locals->RequiredPrefe… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2293 …* locals->UrgentBurstFactorChromaPre[k] + locals->cursor_bw_pre[k] * locals->UrgentBurstFactorCurs… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2296 dml_max3(locals->prefetch_vmrow_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2297 locals->ReadBandwidthPlaneLuma[k] + locals->ReadBandwidthPlaneChroma[k] + locals->cursor_bw[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2298 + locals->meta_row_bw[k] + locals->dpte_row_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2299 …locals->RequiredPrefetchPixDataBWLuma[k] + locals->RequiredPrefetchPixDataBWChroma[k] + locals->cu… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2301 if (locals->DestinationLinesForPrefetch[k] < 2) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2303 if (locals->VRatioPrefetchY[k] > 4 || locals->VRatioPrefetchC[k] > 4) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2320 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2324 locals->ReadBandwidthPlaneLuma[k] * locals->UrgentBurstFactorLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2325 + locals->ReadBandwidthPlaneChroma[k] * locals->UrgentBurstFactorChroma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2326 + locals->cursor_bw[k] * locals->UrgentBurstFactorCursor[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2327 locals->RequiredPrefetchPixDataBWLuma[k] * locals->UrgentBurstFactorLumaPre[k] + in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2328 locals->RequiredPrefetchPixDataBWChroma[k] * locals->UrgentBurstFactorChromaPre[k] + in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2329 locals->cursor_bw_pre[k] * locals->UrgentBurstFactorCursorPre[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2333 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2334 …ateFlipBytes + locals->PDEAndMetaPTEBytesFrame[k] + locals->MetaRowByte[k] + locals->PixelPTEBytes… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2336 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2348 locals->PDEAndMetaPTEBytesFrame[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2349 locals->MetaRowByte[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2350 locals->PixelPTEBytesPerRow[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2353 mode_lib->vba.SourcePixelFormat[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2354 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2355 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2356 locals->Tno_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2357 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2358 locals->dpte_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2359 locals->meta_row_height[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2360 locals->dpte_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2361 locals->meta_row_height_chroma[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2362 &locals->DestinationLinesToRequestVMInImmediateFlip[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2363 &locals->DestinationLinesToRequestRowInImmediateFlip[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2364 &locals->final_flip_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2365 &locals->ImmediateFlipSupportedForPipe[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2369 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2372 locals->prefetch_vmrow_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2373 locals->final_flip_bw[k] + locals->ReadBandwidthLuma[k] * locals->UrgentBurstFactorLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2374 …ocals->ReadBandwidthChroma[k] * locals->UrgentBurstFactorChroma[k] + locals->cursor_bw[k] * locals… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2375 …locals->final_flip_bw[k] + locals->RequiredPrefetchPixDataBWLuma[k] * locals->UrgentBurstFactorLum… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2376 + locals->RequiredPrefetchPixDataBWChroma[k] * locals->UrgentBurstFactorChromaPre[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2377 + locals->cursor_bw_pre[k] * locals->UrgentBurstFactorCursorPre[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2380 dml_max3(locals->prefetch_vmrow_bw[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2381 …locals->final_flip_bw[k] + locals->ReadBandwidthPlaneLuma[k] + locals->ReadBandwidthPlaneChroma[k]… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2382 …ls->final_flip_bw[k] + locals->RequiredPrefetchPixDataBWLuma[k] + locals->RequiredPrefetchPixDataB… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2391 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2392 if (locals->ImmediateFlipSupportedForPipe[k] == false) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2400 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2401 if (mode_lib->vba.ErrorResult[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2564 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2566 locals->AllowDRAMClockChangeDuringVBlank[k] = true; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2567 locals->AllowDRAMSelfRefreshDuringVBlank[k] = true; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2568 locals->MinTTUVBlank[k] = dml_max( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2574 locals->AllowDRAMClockChangeDuringVBlank[k] = false; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2575 locals->AllowDRAMSelfRefreshDuringVBlank[k] = true; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2576 locals->MinTTUVBlank[k] = dml_max( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2580 locals->AllowDRAMClockChangeDuringVBlank[k] = false; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2581 locals->AllowDRAMSelfRefreshDuringVBlank[k] = false; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2582 locals->MinTTUVBlank[k] = mode_lib->vba.UrgentWatermark; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2584 if (!mode_lib->vba.DynamicMetadataEnable[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2585 locals->MinTTUVBlank[k] = mode_lib->vba.TCalc in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2586 + locals->MinTTUVBlank[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2591 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2592 locals->MaximumDCCCompressionYSurface[k] = CalculateDCCConfiguration( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2593 mode_lib->vba.DCCEnable[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2595 mode_lib->vba.ViewportWidth[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2596 mode_lib->vba.ViewportHeight[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2598 locals->BlockHeight256BytesY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2599 mode_lib->vba.SwathHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2600 mode_lib->vba.SurfaceTiling[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2601 locals->BytePerPixelDETY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2602 mode_lib->vba.SourceScan[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2603 &locals->DCCYMaxUncompressedBlock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2604 &locals->DCCYMaxCompressedBlock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2605 &locals->DCCYIndependent64ByteBlock[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2609 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2610 if (mode_lib->vba.XFCEnabled[k] == true) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2613 locals->XFCSlaveVUpdateOffset[k] = mode_lib->vba.XFCTSlvVupdateOffset; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2614 locals->XFCSlaveVupdateWidth[k] = mode_lib->vba.XFCTSlvVupdateWidth; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2615 locals->XFCSlaveVReadyOffset[k] = mode_lib->vba.XFCTSlvVreadyOffset; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2623 mode_lib->vba.VRatio[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2624 locals->SwathWidthY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2625 dml_ceil(locals->BytePerPixelDETY[k], 1), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2626 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2639 locals->XFCRemoteSurfaceFlipLatency[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2642 / (mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2643 / mode_lib->vba.PixelClock[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2645 locals->XFCTransferDelay[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2648 / (mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2649 / mode_lib->vba.PixelClock[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2651 locals->XFCPrechargeDelay[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2656 / (mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2657 / mode_lib->vba.PixelClock[k]), in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2662 (locals->DestinationLinesToRequestVMInVBlank[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2663 + locals->DestinationLinesToRequestRowInVBlank[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2664 * mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2665 / mode_lib->vba.PixelClock[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2677 locals->XFCPrefetchMargin[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2680 + (locals->DestinationLinesToRequestVMInVBlank[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2681 + locals->DestinationLinesToRequestRowInVBlank[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2682 * mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2683 / mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2685 locals->XFCSlaveVUpdateOffset[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2686 locals->XFCSlaveVupdateWidth[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2687 locals->XFCSlaveVReadyOffset[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2688 locals->XFCRemoteSurfaceFlipLatency[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2689 locals->XFCPrechargeDelay[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2690 locals->XFCTransferDelay[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2691 locals->XFCPrefetchMargin[k] = 0; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2696 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2699 mode_lib->vba.SwathHeightY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2700 mode_lib->vba.SwathHeightC[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2701 &locals->DETBufferSizeY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2702 &locals->DETBufferSizeC[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2704 locals->LinesInDETY[k] = (double)locals->DETBufferSizeY[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2705 / locals->BytePerPixelDETY[k] / locals->SwathWidthY[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2706 locals->LinesInDETYRoundedDownToSwath[k] = dml_floor( in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2707 locals->LinesInDETY[k], in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2708 mode_lib->vba.SwathHeightY[k]); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2709 locals->FullDETBufferingTimeY[k] = in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2710 locals->LinesInDETYRoundedDownToSwath[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2711 * (mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2712 / mode_lib->vba.PixelClock[k]) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2713 / mode_lib->vba.VRatio[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2717 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2718 if (locals->FullDETBufferingTimeY[k] < mode_lib->vba.StutterPeriod) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2719 mode_lib->vba.StutterPeriod = locals->FullDETBufferingTimeY[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2721 (double) mode_lib->vba.VTotal[k] * mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2722 / mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2723 locals->BytePerPixelYCriticalPlane = dml_ceil(locals->BytePerPixelDETY[k], 1); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2724 locals->SwathWidthYCriticalPlane = locals->SwathWidthY[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2726 …mode_lib->vba.SwathHeightY[k] - (locals->LinesInDETY[k] - locals->LinesInDETYRoundedDownToSwath[k]… in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2732 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2735 if (mode_lib->vba.DCCEnable[k]) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2736 if (locals->DCCYMaxCompressedBlock[k] == 256) in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2743 + (locals->ReadBandwidthPlaneLuma[k] + locals->ReadBandwidthPlaneChroma[k]) / in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2744 dml_min(mode_lib->vba.DCCRate[k], DCCRateLimit); in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2748 + locals->ReadBandwidthPlaneLuma[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2749 + locals->ReadBandwidthPlaneChroma[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2752 locals->meta_row_bw[k] + locals->dpte_row_bw[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2776 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2777 if (mode_lib->vba.WritebackEnable[k] == true) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2791 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2793 mode_lib->vba.VBlankTime = (double) (mode_lib->vba.VTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2794 - mode_lib->vba.VActive[k]) * mode_lib->vba.HTotal[k] in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2795 / mode_lib->vba.PixelClock[k]; in DISPCLKDPPCLKDCFCLKDeepSleepPrefetchParametersWatermarksAndPerformanceCalculation()
2829 unsigned int j, k; in DisplayPipeConfiguration() local
2831 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in DisplayPipeConfiguration()
2834 if (mode_lib->vba.SourcePixelFormat[k] == dm_444_64) { in DisplayPipeConfiguration()
2837 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_32) { in DisplayPipeConfiguration()
2840 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_16) { in DisplayPipeConfiguration()
2843 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_8) { in DisplayPipeConfiguration()
2846 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8) { in DisplayPipeConfiguration()
2854 if ((mode_lib->vba.SourcePixelFormat[k] == dm_444_64 in DisplayPipeConfiguration()
2855 || mode_lib->vba.SourcePixelFormat[k] == dm_444_32 in DisplayPipeConfiguration()
2856 || mode_lib->vba.SourcePixelFormat[k] == dm_444_16 in DisplayPipeConfiguration()
2857 || mode_lib->vba.SourcePixelFormat[k] == dm_444_8)) { in DisplayPipeConfiguration()
2858 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear) { in DisplayPipeConfiguration()
2860 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_64) { in DisplayPipeConfiguration()
2862 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_32 in DisplayPipeConfiguration()
2863 || mode_lib->vba.SourcePixelFormat[k] == dm_444_16) { in DisplayPipeConfiguration()
2873 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear) { in DisplayPipeConfiguration()
2876 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8) { in DisplayPipeConfiguration()
2889 if (mode_lib->vba.SourceScan[k] == dm_horz) { in DisplayPipeConfiguration()
2897 if ((mode_lib->vba.SourcePixelFormat[k] == dm_444_64 in DisplayPipeConfiguration()
2898 || mode_lib->vba.SourcePixelFormat[k] == dm_444_32 in DisplayPipeConfiguration()
2899 || mode_lib->vba.SourcePixelFormat[k] == dm_444_16 in DisplayPipeConfiguration()
2900 || mode_lib->vba.SourcePixelFormat[k] == dm_444_8)) { in DisplayPipeConfiguration()
2901 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear in DisplayPipeConfiguration()
2902 || (mode_lib->vba.SourcePixelFormat[k] == dm_444_64 in DisplayPipeConfiguration()
2903 && (mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2905 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2907 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2909 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2911 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2913 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2915 || mode_lib->vba.SurfaceTiling[k] in DisplayPipeConfiguration()
2917 && mode_lib->vba.SourceScan[k] == dm_horz)) { in DisplayPipeConfiguration()
2919 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_8 in DisplayPipeConfiguration()
2920 && mode_lib->vba.SourceScan[k] != dm_horz) { in DisplayPipeConfiguration()
2927 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear) { in DisplayPipeConfiguration()
2930 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8 in DisplayPipeConfiguration()
2931 && mode_lib->vba.SourceScan[k] == dm_horz) { in DisplayPipeConfiguration()
2934 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10 in DisplayPipeConfiguration()
2935 && mode_lib->vba.SourceScan[k] == dm_horz) { in DisplayPipeConfiguration()
2944 if (mode_lib->vba.SourceScan[k] == dm_horz) { in DisplayPipeConfiguration()
2945 SwathWidth = mode_lib->vba.ViewportWidth[k]; in DisplayPipeConfiguration()
2947 SwathWidth = mode_lib->vba.ViewportHeight[k]; in DisplayPipeConfiguration()
2950 if (mode_lib->vba.ODMCombineEnabled[k] == dm_odm_combine_mode_2to1) { in DisplayPipeConfiguration()
2954 if (mode_lib->vba.BlendingAndTiming[k] == j in DisplayPipeConfiguration()
2955 && mode_lib->vba.ODMCombineEnabled[k] == dm_odm_combine_mode_2to1) { in DisplayPipeConfiguration()
2963 mode_lib->vba.HActive[k] / 2.0 * mode_lib->vba.HRatio[k]); in DisplayPipeConfiguration()
2965 SwathWidth = SwathWidth / mode_lib->vba.DPPPerPlane[k]; in DisplayPipeConfiguration()
2973 if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10) { in DisplayPipeConfiguration()
2984 if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10) { in DisplayPipeConfiguration()
2994 mode_lib->vba.SwathHeightY[k] = MaximumSwathHeightY; in DisplayPipeConfiguration()
2995 mode_lib->vba.SwathHeightC[k] = MaximumSwathHeightC; in DisplayPipeConfiguration()
2997 mode_lib->vba.SwathHeightY[k] = MinimumSwathHeightY; in DisplayPipeConfiguration()
2998 mode_lib->vba.SwathHeightC[k] = MinimumSwathHeightC; in DisplayPipeConfiguration()
3003 mode_lib->vba.SwathHeightY[k], in DisplayPipeConfiguration()
3004 mode_lib->vba.SwathHeightC[k], in DisplayPipeConfiguration()
3005 &mode_lib->vba.DETBufferSizeY[k], in DisplayPipeConfiguration()
3006 &mode_lib->vba.DETBufferSizeC[k]); in DisplayPipeConfiguration()
3404 unsigned k) in CalculatePrefetchSchedulePerPlane() argument
3410 if (mode_lib->vba.XFCEnabled[k] == true) { in CalculatePrefetchSchedulePerPlane()
3414 mode_lib->vba.VRatio[k], in CalculatePrefetchSchedulePerPlane()
3415 locals->SwathWidthYThisState[k], in CalculatePrefetchSchedulePerPlane()
3416 dml_ceil(locals->BytePerPixelInDETY[k], 1.0), in CalculatePrefetchSchedulePerPlane()
3417 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in CalculatePrefetchSchedulePerPlane()
3434 myPipe.DPPCLK = locals->RequiredDPPCLK[i][j][k]; in CalculatePrefetchSchedulePerPlane()
3436 myPipe.PixelClock = mode_lib->vba.PixelClock[k]; in CalculatePrefetchSchedulePerPlane()
3438 myPipe.DPPPerPlane = locals->NoOfDPP[i][j][k]; in CalculatePrefetchSchedulePerPlane()
3439 myPipe.ScalerEnabled = mode_lib->vba.ScalerEnabled[k]; in CalculatePrefetchSchedulePerPlane()
3440 myPipe.SourceScan = mode_lib->vba.SourceScan[k]; in CalculatePrefetchSchedulePerPlane()
3441 myPipe.BlockWidth256BytesY = locals->Read256BlockWidthY[k]; in CalculatePrefetchSchedulePerPlane()
3442 myPipe.BlockHeight256BytesY = locals->Read256BlockHeightY[k]; in CalculatePrefetchSchedulePerPlane()
3443 myPipe.BlockWidth256BytesC = locals->Read256BlockWidthC[k]; in CalculatePrefetchSchedulePerPlane()
3444 myPipe.BlockHeight256BytesC = locals->Read256BlockHeightC[k]; in CalculatePrefetchSchedulePerPlane()
3445 myPipe.InterlaceEnable = mode_lib->vba.Interlace[k]; in CalculatePrefetchSchedulePerPlane()
3446 myPipe.NumberOfCursors = mode_lib->vba.NumberOfCursors[k]; in CalculatePrefetchSchedulePerPlane()
3447 myPipe.VBlank = mode_lib->vba.VTotal[k] - mode_lib->vba.VActive[k]; in CalculatePrefetchSchedulePerPlane()
3448 myPipe.HTotal = mode_lib->vba.HTotal[k]; in CalculatePrefetchSchedulePerPlane()
3456 mode_lib->vba.IsErrorResult[i][j][k] = CalculatePrefetchSchedule( in CalculatePrefetchSchedulePerPlane()
3461 locals->DSCDelayPerState[i][k], in CalculatePrefetchSchedulePerPlane()
3468 locals->SwathWidthYThisState[k] / mode_lib->vba.HRatio[k], in CalculatePrefetchSchedulePerPlane()
3469 mode_lib->vba.OutputFormat[k], in CalculatePrefetchSchedulePerPlane()
3471 dml_min(mode_lib->vba.MaxVStartup, locals->MaximumVStartup[0][0][k]), in CalculatePrefetchSchedulePerPlane()
3472 locals->MaximumVStartup[0][0][k], in CalculatePrefetchSchedulePerPlane()
3476 mode_lib->vba.DynamicMetadataEnable[k], in CalculatePrefetchSchedulePerPlane()
3477 mode_lib->vba.DynamicMetadataLinesBeforeActiveRequired[k], in CalculatePrefetchSchedulePerPlane()
3478 mode_lib->vba.DynamicMetadataTransmittedBytes[k], in CalculatePrefetchSchedulePerPlane()
3479 mode_lib->vba.DCCEnable[k], in CalculatePrefetchSchedulePerPlane()
3483 locals->PDEAndMetaPTEBytesPerFrame[0][0][k], in CalculatePrefetchSchedulePerPlane()
3484 locals->MetaRowBytes[0][0][k], in CalculatePrefetchSchedulePerPlane()
3485 locals->DPTEBytesPerRow[0][0][k], in CalculatePrefetchSchedulePerPlane()
3486 locals->PrefetchLinesY[0][0][k], in CalculatePrefetchSchedulePerPlane()
3487 locals->SwathWidthYThisState[k], in CalculatePrefetchSchedulePerPlane()
3488 locals->BytePerPixelInDETY[k], in CalculatePrefetchSchedulePerPlane()
3489 locals->PrefillY[k], in CalculatePrefetchSchedulePerPlane()
3490 locals->MaxNumSwY[k], in CalculatePrefetchSchedulePerPlane()
3491 locals->PrefetchLinesC[0][0][k], in CalculatePrefetchSchedulePerPlane()
3492 locals->BytePerPixelInDETC[k], in CalculatePrefetchSchedulePerPlane()
3493 locals->PrefillC[k], in CalculatePrefetchSchedulePerPlane()
3494 locals->MaxNumSwC[k], in CalculatePrefetchSchedulePerPlane()
3495 locals->SwathHeightYThisState[k], in CalculatePrefetchSchedulePerPlane()
3496 locals->SwathHeightCThisState[k], in CalculatePrefetchSchedulePerPlane()
3498 mode_lib->vba.XFCEnabled[k], in CalculatePrefetchSchedulePerPlane()
3503 &locals->LineTimesForPrefetch[k], in CalculatePrefetchSchedulePerPlane()
3504 &locals->PrefetchBW[k], in CalculatePrefetchSchedulePerPlane()
3505 &locals->LinesForMetaPTE[k], in CalculatePrefetchSchedulePerPlane()
3506 &locals->LinesForMetaAndDPTERow[k], in CalculatePrefetchSchedulePerPlane()
3507 &locals->VRatioPreY[i][j][k], in CalculatePrefetchSchedulePerPlane()
3508 &locals->VRatioPreC[i][j][k], in CalculatePrefetchSchedulePerPlane()
3509 &locals->RequiredPrefetchPixelDataBWLuma[i][j][k], in CalculatePrefetchSchedulePerPlane()
3510 &locals->RequiredPrefetchPixelDataBWChroma[i][j][k], in CalculatePrefetchSchedulePerPlane()
3512 &locals->Tno_bw[k], in CalculatePrefetchSchedulePerPlane()
3513 &locals->prefetch_vmrow_bw[k], in CalculatePrefetchSchedulePerPlane()
3516 &mode_lib->vba.VUpdateOffsetPix[k], in CalculatePrefetchSchedulePerPlane()
3517 &mode_lib->vba.VUpdateWidthPix[k], in CalculatePrefetchSchedulePerPlane()
3518 &mode_lib->vba.VReadyOffsetPix[k]); in CalculatePrefetchSchedulePerPlane()
3525 unsigned int j, k, m; in dml21_ModeSupportAndSystemConfigurationFull() local
3532 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3533 if (mode_lib->vba.ScalerEnabled[k] == false in dml21_ModeSupportAndSystemConfigurationFull()
3534 && ((mode_lib->vba.SourcePixelFormat[k] != dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
3535 && mode_lib->vba.SourcePixelFormat[k] != dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
3536 && mode_lib->vba.SourcePixelFormat[k] != dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
3537 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_16 in dml21_ModeSupportAndSystemConfigurationFull()
3538 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_8) in dml21_ModeSupportAndSystemConfigurationFull()
3539 || mode_lib->vba.HRatio[k] != 1.0 in dml21_ModeSupportAndSystemConfigurationFull()
3540 || mode_lib->vba.htaps[k] != 1.0 in dml21_ModeSupportAndSystemConfigurationFull()
3541 || mode_lib->vba.VRatio[k] != 1.0 in dml21_ModeSupportAndSystemConfigurationFull()
3542 || mode_lib->vba.vtaps[k] != 1.0)) { in dml21_ModeSupportAndSystemConfigurationFull()
3544 } else if (mode_lib->vba.vtaps[k] < 1.0 || mode_lib->vba.vtaps[k] > 8.0 in dml21_ModeSupportAndSystemConfigurationFull()
3545 || mode_lib->vba.htaps[k] < 1.0 || mode_lib->vba.htaps[k] > 8.0 in dml21_ModeSupportAndSystemConfigurationFull()
3546 || (mode_lib->vba.htaps[k] > 1.0 in dml21_ModeSupportAndSystemConfigurationFull()
3547 && (mode_lib->vba.htaps[k] % 2) == 1) in dml21_ModeSupportAndSystemConfigurationFull()
3548 || mode_lib->vba.HRatio[k] > mode_lib->vba.MaxHSCLRatio in dml21_ModeSupportAndSystemConfigurationFull()
3549 || mode_lib->vba.VRatio[k] > mode_lib->vba.MaxVSCLRatio in dml21_ModeSupportAndSystemConfigurationFull()
3550 || mode_lib->vba.HRatio[k] > mode_lib->vba.htaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3551 || mode_lib->vba.VRatio[k] > mode_lib->vba.vtaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3552 || (mode_lib->vba.SourcePixelFormat[k] != dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
3553 && mode_lib->vba.SourcePixelFormat[k] != dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
3554 && mode_lib->vba.SourcePixelFormat[k] != dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
3555 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_16 in dml21_ModeSupportAndSystemConfigurationFull()
3556 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_8 in dml21_ModeSupportAndSystemConfigurationFull()
3557 && (mode_lib->vba.HRatio[k] / 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3558 > mode_lib->vba.HTAPsChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
3559 || mode_lib->vba.VRatio[k] / 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3560 > mode_lib->vba.VTAPsChroma[k]))) { in dml21_ModeSupportAndSystemConfigurationFull()
3567 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3568 if ((mode_lib->vba.SurfaceTiling[k] == dm_sw_linear in dml21_ModeSupportAndSystemConfigurationFull()
3569 && mode_lib->vba.SourceScan[k] != dm_horz) in dml21_ModeSupportAndSystemConfigurationFull()
3570 || ((mode_lib->vba.SurfaceTiling[k] == dm_sw_4kb_d in dml21_ModeSupportAndSystemConfigurationFull()
3571 || mode_lib->vba.SurfaceTiling[k] == dm_sw_4kb_d_x in dml21_ModeSupportAndSystemConfigurationFull()
3572 || mode_lib->vba.SurfaceTiling[k] == dm_sw_64kb_d in dml21_ModeSupportAndSystemConfigurationFull()
3573 || mode_lib->vba.SurfaceTiling[k] == dm_sw_64kb_d_t in dml21_ModeSupportAndSystemConfigurationFull()
3574 || mode_lib->vba.SurfaceTiling[k] == dm_sw_64kb_d_x in dml21_ModeSupportAndSystemConfigurationFull()
3575 || mode_lib->vba.SurfaceTiling[k] == dm_sw_var_d in dml21_ModeSupportAndSystemConfigurationFull()
3576 || mode_lib->vba.SurfaceTiling[k] == dm_sw_var_d_x) in dml21_ModeSupportAndSystemConfigurationFull()
3577 && mode_lib->vba.SourcePixelFormat[k] != dm_444_64) in dml21_ModeSupportAndSystemConfigurationFull()
3578 || (mode_lib->vba.SurfaceTiling[k] == dm_sw_64kb_r_x in dml21_ModeSupportAndSystemConfigurationFull()
3579 && (mode_lib->vba.SourcePixelFormat[k] == dm_mono_8 in dml21_ModeSupportAndSystemConfigurationFull()
3580 || mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3582 || mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3584 || (((mode_lib->vba.SurfaceTiling[k] == dm_sw_gfx7_2d_thin_gl in dml21_ModeSupportAndSystemConfigurationFull()
3585 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3587 && !((mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3589 || mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3591 && mode_lib->vba.SourceScan[k] in dml21_ModeSupportAndSystemConfigurationFull()
3595 && mode_lib->vba.DCCEnable[k] in dml21_ModeSupportAndSystemConfigurationFull()
3597 || (mode_lib->vba.DCCEnable[k] == true in dml21_ModeSupportAndSystemConfigurationFull()
3598 && (mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3600 || mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3602 || mode_lib->vba.SourcePixelFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
3609 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3610 if (mode_lib->vba.SourcePixelFormat[k] == dm_444_64) { in dml21_ModeSupportAndSystemConfigurationFull()
3611 locals->BytePerPixelInDETY[k] = 8.0; in dml21_ModeSupportAndSystemConfigurationFull()
3612 locals->BytePerPixelInDETC[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3613 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_32) { in dml21_ModeSupportAndSystemConfigurationFull()
3614 locals->BytePerPixelInDETY[k] = 4.0; in dml21_ModeSupportAndSystemConfigurationFull()
3615 locals->BytePerPixelInDETC[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3616 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
3617 || mode_lib->vba.SourcePixelFormat[k] == dm_mono_16) { in dml21_ModeSupportAndSystemConfigurationFull()
3618 locals->BytePerPixelInDETY[k] = 2.0; in dml21_ModeSupportAndSystemConfigurationFull()
3619 locals->BytePerPixelInDETC[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3620 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_mono_8) { in dml21_ModeSupportAndSystemConfigurationFull()
3621 locals->BytePerPixelInDETY[k] = 1.0; in dml21_ModeSupportAndSystemConfigurationFull()
3622 locals->BytePerPixelInDETC[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3623 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8) { in dml21_ModeSupportAndSystemConfigurationFull()
3624 locals->BytePerPixelInDETY[k] = 1.0; in dml21_ModeSupportAndSystemConfigurationFull()
3625 locals->BytePerPixelInDETC[k] = 2.0; in dml21_ModeSupportAndSystemConfigurationFull()
3627 locals->BytePerPixelInDETY[k] = 4.0 / 3; in dml21_ModeSupportAndSystemConfigurationFull()
3628 locals->BytePerPixelInDETC[k] = 8.0 / 3; in dml21_ModeSupportAndSystemConfigurationFull()
3630 if (mode_lib->vba.SourceScan[k] == dm_horz) { in dml21_ModeSupportAndSystemConfigurationFull()
3631 locals->SwathWidthYSingleDPP[k] = mode_lib->vba.ViewportWidth[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3633 locals->SwathWidthYSingleDPP[k] = mode_lib->vba.ViewportHeight[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3636 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3637 …locals->ReadBandwidthLuma[k] = locals->SwathWidthYSingleDPP[k] * dml_ceil(locals->BytePerPixelInDE… in dml21_ModeSupportAndSystemConfigurationFull()
3638 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) * mode_lib->vba.VRatio[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3639 …locals->ReadBandwidthChroma[k] = locals->SwathWidthYSingleDPP[k] / 2 * dml_ceil(locals->BytePerPix… in dml21_ModeSupportAndSystemConfigurationFull()
3640 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) * mode_lib->vba.VRatio[k] / 2.0; in dml21_ModeSupportAndSystemConfigurationFull()
3641 locals->ReadBandwidth[k] = locals->ReadBandwidthLuma[k] + locals->ReadBandwidthChroma[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3643 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3644 if (mode_lib->vba.WritebackEnable[k] == true in dml21_ModeSupportAndSystemConfigurationFull()
3645 && mode_lib->vba.WritebackPixelFormat[k] == dm_444_32) { in dml21_ModeSupportAndSystemConfigurationFull()
3646 locals->WriteBandwidth[k] = mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3647 * mode_lib->vba.WritebackDestinationHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3648 / (mode_lib->vba.WritebackSourceHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3649 * mode_lib->vba.HTotal[k] in dml21_ModeSupportAndSystemConfigurationFull()
3650 / mode_lib->vba.PixelClock[k]) * 4.0; in dml21_ModeSupportAndSystemConfigurationFull()
3651 } else if (mode_lib->vba.WritebackEnable[k] == true in dml21_ModeSupportAndSystemConfigurationFull()
3652 && mode_lib->vba.WritebackPixelFormat[k] == dm_420_10) { in dml21_ModeSupportAndSystemConfigurationFull()
3653 locals->WriteBandwidth[k] = mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3654 * mode_lib->vba.WritebackDestinationHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3655 / (mode_lib->vba.WritebackSourceHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3656 * mode_lib->vba.HTotal[k] in dml21_ModeSupportAndSystemConfigurationFull()
3657 / mode_lib->vba.PixelClock[k]) * 3.0; in dml21_ModeSupportAndSystemConfigurationFull()
3658 } else if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3659 locals->WriteBandwidth[k] = mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3660 * mode_lib->vba.WritebackDestinationHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3661 / (mode_lib->vba.WritebackSourceHeight[k] in dml21_ModeSupportAndSystemConfigurationFull()
3662 * mode_lib->vba.HTotal[k] in dml21_ModeSupportAndSystemConfigurationFull()
3663 / mode_lib->vba.PixelClock[k]) * 1.5; in dml21_ModeSupportAndSystemConfigurationFull()
3665 locals->WriteBandwidth[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3669 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3670 if (mode_lib->vba.DCCEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3692 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3693 if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3694 if (mode_lib->vba.WritebackPixelFormat[k] == dm_444_32) { in dml21_ModeSupportAndSystemConfigurationFull()
3695 if (locals->WriteBandwidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3702 if (locals->WriteBandwidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3733 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3734 if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3735 if (mode_lib->vba.ActiveWritebacksPerPlane[k] == 0) in dml21_ModeSupportAndSystemConfigurationFull()
3736 mode_lib->vba.ActiveWritebacksPerPlane[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
3739 + mode_lib->vba.ActiveWritebacksPerPlane[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3746 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3747 if (mode_lib->vba.WritebackEnable[k] == true in dml21_ModeSupportAndSystemConfigurationFull()
3749 && mode_lib->vba.WritebackPixelFormat[k] == dm_420_10) { in dml21_ModeSupportAndSystemConfigurationFull()
3756 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3757 if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3759 && (mode_lib->vba.WritebackHRatio[k] != 1.0 in dml21_ModeSupportAndSystemConfigurationFull()
3760 || mode_lib->vba.WritebackVRatio[k] != 1.0)) { in dml21_ModeSupportAndSystemConfigurationFull()
3763 if (mode_lib->vba.WritebackHRatio[k] > mode_lib->vba.WritebackMaxHSCLRatio in dml21_ModeSupportAndSystemConfigurationFull()
3764 || mode_lib->vba.WritebackVRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3766 || mode_lib->vba.WritebackHRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3768 || mode_lib->vba.WritebackVRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3770 || mode_lib->vba.WritebackLumaHTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3772 || mode_lib->vba.WritebackLumaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3774 || mode_lib->vba.WritebackHRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3775 > mode_lib->vba.WritebackLumaHTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3776 || mode_lib->vba.WritebackVRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3777 > mode_lib->vba.WritebackLumaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3778 || (mode_lib->vba.WritebackLumaHTaps[k] > 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3779 && ((mode_lib->vba.WritebackLumaHTaps[k] % 2) in dml21_ModeSupportAndSystemConfigurationFull()
3781 || (mode_lib->vba.WritebackPixelFormat[k] != dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
3782 && (mode_lib->vba.WritebackChromaHTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3784 || mode_lib->vba.WritebackChromaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3787 * mode_lib->vba.WritebackHRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3788 > mode_lib->vba.WritebackChromaHTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3790 * mode_lib->vba.WritebackVRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3791 > mode_lib->vba.WritebackChromaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3792 || (mode_lib->vba.WritebackChromaHTaps[k] > 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3793 && ((mode_lib->vba.WritebackChromaHTaps[k] % 2) == 1))))) { in dml21_ModeSupportAndSystemConfigurationFull()
3796 if (mode_lib->vba.WritebackVRatio[k] < 1.0) { in dml21_ModeSupportAndSystemConfigurationFull()
3798 dml_max(1.0 - 2.0 / dml_ceil(1.0 / mode_lib->vba.WritebackVRatio[k], 1.0), 0.0); in dml21_ModeSupportAndSystemConfigurationFull()
3802 if ((mode_lib->vba.WritebackPixelFormat[k] == dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
3803 && mode_lib->vba.WritebackLumaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3807 / mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3809 || (mode_lib->vba.WritebackPixelFormat[k] == dm_420_8 in dml21_ModeSupportAndSystemConfigurationFull()
3810 && mode_lib->vba.WritebackLumaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3812 * 8.0 / 10.0 / mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3814 || (mode_lib->vba.WritebackPixelFormat[k] == dm_420_10 in dml21_ModeSupportAndSystemConfigurationFull()
3815 && mode_lib->vba.WritebackLumaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3818 / mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3822 if (2.0 * mode_lib->vba.WritebackVRatio[k] < 1) { in dml21_ModeSupportAndSystemConfigurationFull()
3827 if ((mode_lib->vba.WritebackPixelFormat[k] == dm_420_8 in dml21_ModeSupportAndSystemConfigurationFull()
3828 && mode_lib->vba.WritebackChromaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3830 * 8.0 / 10.0 / mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3832 || (mode_lib->vba.WritebackPixelFormat[k] == dm_420_10 in dml21_ModeSupportAndSystemConfigurationFull()
3833 && mode_lib->vba.WritebackChromaVTaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3836 / mode_lib->vba.WritebackDestinationWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
3845 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3846 if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
3851 mode_lib->vba.WritebackPixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
3852 mode_lib->vba.PixelClock[k], in dml21_ModeSupportAndSystemConfigurationFull()
3853 mode_lib->vba.WritebackHRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
3854 mode_lib->vba.WritebackVRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
3855 mode_lib->vba.WritebackLumaHTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
3856 mode_lib->vba.WritebackLumaVTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
3857 mode_lib->vba.WritebackChromaHTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
3858 mode_lib->vba.WritebackChromaVTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
3859 mode_lib->vba.WritebackDestinationWidth[k], in dml21_ModeSupportAndSystemConfigurationFull()
3860 mode_lib->vba.HTotal[k], in dml21_ModeSupportAndSystemConfigurationFull()
3864 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3865 if (mode_lib->vba.HRatio[k] > 1.0) { in dml21_ModeSupportAndSystemConfigurationFull()
3866 locals->PSCL_FACTOR[k] = dml_min( in dml21_ModeSupportAndSystemConfigurationFull()
3869 * mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3871 mode_lib->vba.htaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
3875 locals->PSCL_FACTOR[k] = dml_min( in dml21_ModeSupportAndSystemConfigurationFull()
3879 if (locals->BytePerPixelInDETC[k] == 0.0) { in dml21_ModeSupportAndSystemConfigurationFull()
3880 locals->PSCL_FACTOR_CHROMA[k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
3881 locals->MinDPPCLKUsingSingleDPP[k] = in dml21_ModeSupportAndSystemConfigurationFull()
3882 mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
3884 mode_lib->vba.vtaps[k] / 6.0 in dml21_ModeSupportAndSystemConfigurationFull()
3887 mode_lib->vba.HRatio[k]), in dml21_ModeSupportAndSystemConfigurationFull()
3888 mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3889 * mode_lib->vba.VRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3890 / locals->PSCL_FACTOR[k], in dml21_ModeSupportAndSystemConfigurationFull()
3892 if ((mode_lib->vba.htaps[k] > 6.0 || mode_lib->vba.vtaps[k] > 6.0) in dml21_ModeSupportAndSystemConfigurationFull()
3893 && locals->MinDPPCLKUsingSingleDPP[k] in dml21_ModeSupportAndSystemConfigurationFull()
3894 < 2.0 * mode_lib->vba.PixelClock[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
3895 locals->MinDPPCLKUsingSingleDPP[k] = 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3896 * mode_lib->vba.PixelClock[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3899 if (mode_lib->vba.HRatio[k] / 2.0 > 1.0) { in dml21_ModeSupportAndSystemConfigurationFull()
3900 locals->PSCL_FACTOR_CHROMA[k] = in dml21_ModeSupportAndSystemConfigurationFull()
3904 * mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3907 mode_lib->vba.HTAPsChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
3911 locals->PSCL_FACTOR_CHROMA[k] = dml_min( in dml21_ModeSupportAndSystemConfigurationFull()
3915 locals->MinDPPCLKUsingSingleDPP[k] = in dml21_ModeSupportAndSystemConfigurationFull()
3916 mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
3918 mode_lib->vba.vtaps[k] / 6.0 in dml21_ModeSupportAndSystemConfigurationFull()
3921 mode_lib->vba.HRatio[k]), in dml21_ModeSupportAndSystemConfigurationFull()
3922 mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3923 * mode_lib->vba.VRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3924 / locals->PSCL_FACTOR[k], in dml21_ModeSupportAndSystemConfigurationFull()
3925 mode_lib->vba.VTAPsChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
3929 mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3931 mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3932 * mode_lib->vba.VRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
3934 / locals->PSCL_FACTOR_CHROMA[k], in dml21_ModeSupportAndSystemConfigurationFull()
3936 if ((mode_lib->vba.htaps[k] > 6.0 || mode_lib->vba.vtaps[k] > 6.0 in dml21_ModeSupportAndSystemConfigurationFull()
3937 || mode_lib->vba.HTAPsChroma[k] > 6.0 in dml21_ModeSupportAndSystemConfigurationFull()
3938 || mode_lib->vba.VTAPsChroma[k] > 6.0) in dml21_ModeSupportAndSystemConfigurationFull()
3939 && locals->MinDPPCLKUsingSingleDPP[k] in dml21_ModeSupportAndSystemConfigurationFull()
3940 < 2.0 * mode_lib->vba.PixelClock[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
3941 locals->MinDPPCLKUsingSingleDPP[k] = 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
3942 * mode_lib->vba.PixelClock[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3946 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
3948 mode_lib->vba.SourcePixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
3949 mode_lib->vba.SurfaceTiling[k], in dml21_ModeSupportAndSystemConfigurationFull()
3950 dml_ceil(locals->BytePerPixelInDETY[k], 1.0), in dml21_ModeSupportAndSystemConfigurationFull()
3951 dml_ceil(locals->BytePerPixelInDETC[k], 2.0), in dml21_ModeSupportAndSystemConfigurationFull()
3952 &locals->Read256BlockHeightY[k], in dml21_ModeSupportAndSystemConfigurationFull()
3953 &locals->Read256BlockHeightC[k], in dml21_ModeSupportAndSystemConfigurationFull()
3954 &locals->Read256BlockWidthY[k], in dml21_ModeSupportAndSystemConfigurationFull()
3955 &locals->Read256BlockWidthC[k]); in dml21_ModeSupportAndSystemConfigurationFull()
3956 if (mode_lib->vba.SourceScan[k] == dm_horz) { in dml21_ModeSupportAndSystemConfigurationFull()
3957 locals->MaxSwathHeightY[k] = locals->Read256BlockHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3958 locals->MaxSwathHeightC[k] = locals->Read256BlockHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3960 locals->MaxSwathHeightY[k] = locals->Read256BlockWidthY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3961 locals->MaxSwathHeightC[k] = locals->Read256BlockWidthC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3963 if ((mode_lib->vba.SourcePixelFormat[k] == dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
3964 || mode_lib->vba.SourcePixelFormat[k] == dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
3965 || mode_lib->vba.SourcePixelFormat[k] == dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
3966 || mode_lib->vba.SourcePixelFormat[k] == dm_mono_16 in dml21_ModeSupportAndSystemConfigurationFull()
3967 || mode_lib->vba.SourcePixelFormat[k] == dm_mono_8)) { in dml21_ModeSupportAndSystemConfigurationFull()
3968 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear in dml21_ModeSupportAndSystemConfigurationFull()
3969 || (mode_lib->vba.SourcePixelFormat[k] == dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
3970 && (mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3972 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3974 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3976 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3978 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3980 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3982 || mode_lib->vba.SurfaceTiling[k] in dml21_ModeSupportAndSystemConfigurationFull()
3984 && mode_lib->vba.SourceScan[k] == dm_horz)) { in dml21_ModeSupportAndSystemConfigurationFull()
3985 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3987 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k] in dml21_ModeSupportAndSystemConfigurationFull()
3990 locals->MinSwathHeightC[k] = locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3992 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear) { in dml21_ModeSupportAndSystemConfigurationFull()
3993 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3994 locals->MinSwathHeightC[k] = locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
3995 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_8 in dml21_ModeSupportAndSystemConfigurationFull()
3996 && mode_lib->vba.SourceScan[k] == dm_horz) { in dml21_ModeSupportAndSystemConfigurationFull()
3997 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k] in dml21_ModeSupportAndSystemConfigurationFull()
3999 locals->MinSwathHeightC[k] = locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4000 } else if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10 in dml21_ModeSupportAndSystemConfigurationFull()
4001 && mode_lib->vba.SourceScan[k] == dm_horz) { in dml21_ModeSupportAndSystemConfigurationFull()
4002 locals->MinSwathHeightC[k] = locals->MaxSwathHeightC[k] in dml21_ModeSupportAndSystemConfigurationFull()
4004 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4006 locals->MinSwathHeightY[k] = locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4007 locals->MinSwathHeightC[k] = locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4010 if (mode_lib->vba.SurfaceTiling[k] == dm_sw_linear) { in dml21_ModeSupportAndSystemConfigurationFull()
4019 / (locals->BytePerPixelInDETY[k] in dml21_ModeSupportAndSystemConfigurationFull()
4020 * locals->MinSwathHeightY[k] in dml21_ModeSupportAndSystemConfigurationFull()
4021 + locals->BytePerPixelInDETC[k] in dml21_ModeSupportAndSystemConfigurationFull()
4023 * locals->MinSwathHeightC[k])); in dml21_ModeSupportAndSystemConfigurationFull()
4024 if (locals->BytePerPixelInDETC[k] == 0.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4027 * dml_max(mode_lib->vba.HRatio[k], 1.0) in dml21_ModeSupportAndSystemConfigurationFull()
4028 / mode_lib->vba.LBBitPerPixel[k] in dml21_ModeSupportAndSystemConfigurationFull()
4029 / (mode_lib->vba.vtaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
4032 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4041 mode_lib->vba.HRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4043 / mode_lib->vba.LBBitPerPixel[k] in dml21_ModeSupportAndSystemConfigurationFull()
4044 / (mode_lib->vba.vtaps[k] in dml21_ModeSupportAndSystemConfigurationFull()
4047 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4053 mode_lib->vba.HRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
4056 / mode_lib->vba.LBBitPerPixel[k] in dml21_ModeSupportAndSystemConfigurationFull()
4057 / (mode_lib->vba.VTAPsChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4060 mode_lib->vba.VRatio[k] in dml21_ModeSupportAndSystemConfigurationFull()
4066 locals->MaximumSwathWidth[k] = dml_min( in dml21_ModeSupportAndSystemConfigurationFull()
4084 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4086 mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
4095 mode_lib->vba.PlaneRequiredDISPCLKWithoutODMCombine = mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
4098 mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine = mode_lib->vba.PixelClock[k] / 2 in dml21_ModeSupportAndSystemConfigurationFull()
4102 mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine = mode_lib->vba.PixelClock[k] / 2 in dml21_ModeSupportAndSystemConfigurationFull()
4105 locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; in dml21_ModeSupportAndSystemConfigurationFull()
4109 locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; in dml21_ModeSupportAndSystemConfigurationFull()
4111 } else if (locals->DSCEnabled[k] && (locals->HActive[k] > DCN21_MAX_DSC_IMAGE_WIDTH)) { in dml21_ModeSupportAndSystemConfigurationFull()
4112 locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; in dml21_ModeSupportAndSystemConfigurationFull()
4114 … } else if (locals->HActive[k] > DCN21_MAX_420_IMAGE_WIDTH && locals->OutputFormat[k] == dm_420) { in dml21_ModeSupportAndSystemConfigurationFull()
4115 locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; in dml21_ModeSupportAndSystemConfigurationFull()
4120 …if (locals->MinDPPCLKUsingSingleDPP[k] * (1.0 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 1… in dml21_ModeSupportAndSystemConfigurationFull()
4121 && locals->SwathWidthYSingleDPP[k] <= locals->MaximumSwathWidth[k] in dml21_ModeSupportAndSystemConfigurationFull()
4122 && locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_disabled) { in dml21_ModeSupportAndSystemConfigurationFull()
4123 locals->NoOfDPP[i][j][k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4124 locals->RequiredDPPCLK[i][j][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4125 …locals->MinDPPCLKUsingSingleDPP[k] * (1.0 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 100.0… in dml21_ModeSupportAndSystemConfigurationFull()
4127 locals->NoOfDPP[i][j][k] = 2; in dml21_ModeSupportAndSystemConfigurationFull()
4128 locals->RequiredDPPCLK[i][j][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4129 …locals->MinDPPCLKUsingSingleDPP[k] * (1.0 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 100.0… in dml21_ModeSupportAndSystemConfigurationFull()
4134 …if ((locals->MinDPPCLKUsingSingleDPP[k] / locals->NoOfDPP[i][j][k] * (1.0 + mode_lib->vba.DISPCLKD… in dml21_ModeSupportAndSystemConfigurationFull()
4141 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) in dml21_ModeSupportAndSystemConfigurationFull()
4142 …ls->TotalNumberOfActiveDPP[i][j] = locals->TotalNumberOfActiveDPP[i][j] + locals->NoOfDPP[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4151 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in dml21_ModeSupportAndSystemConfigurationFull()
4152 …if (locals->ReadBandwidth[k] > BWOfNonSplitPlaneOfMaximumBandwidth && locals->NoOfDPP[i][j][k] == … in dml21_ModeSupportAndSystemConfigurationFull()
4153 BWOfNonSplitPlaneOfMaximumBandwidth = locals->ReadBandwidth[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4154 NumberOfNonSplitPlaneOfMaximumBandwidth = k; in dml21_ModeSupportAndSystemConfigurationFull()
4167 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4168 locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; in dml21_ModeSupportAndSystemConfigurationFull()
4169 if (locals->SwathWidthYSingleDPP[k] <= locals->MaximumSwathWidth[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
4170 locals->NoOfDPP[i][j][k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4171 locals->RequiredDPPCLK[i][j][k] = locals->MinDPPCLKUsingSingleDPP[k] in dml21_ModeSupportAndSystemConfigurationFull()
4174 locals->NoOfDPP[i][j][k] = 2; in dml21_ModeSupportAndSystemConfigurationFull()
4175 locals->RequiredDPPCLK[i][j][k] = locals->MinDPPCLKUsingSingleDPP[k] in dml21_ModeSupportAndSystemConfigurationFull()
4180 mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
4184 mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PixelClock[k] in dml21_ModeSupportAndSystemConfigurationFull()
4190 …if (locals->MinDPPCLKUsingSingleDPP[k] / locals->NoOfDPP[i][j][k] * (1.0 + mode_lib->vba.DISPCLKDP… in dml21_ModeSupportAndSystemConfigurationFull()
4196 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) in dml21_ModeSupportAndSystemConfigurationFull()
4197 …ls->TotalNumberOfActiveDPP[i][j] = locals->TotalNumberOfActiveDPP[i][j] + locals->NoOfDPP[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4212 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4213 if (locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_2to1) { in dml21_ModeSupportAndSystemConfigurationFull()
4214 …if (dml_min(locals->SwathWidthYSingleDPP[k], dml_round(mode_lib->vba.HActive[k] / 2.0 * mode_lib->… in dml21_ModeSupportAndSystemConfigurationFull()
4215 > locals->MaximumSwathWidth[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
4219 if (locals->SwathWidthYSingleDPP[k] / 2.0 > locals->MaximumSwathWidth[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
4238 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4239 if (mode_lib->vba.BlendingAndTiming[k] == k) { in dml21_ModeSupportAndSystemConfigurationFull()
4252 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4253 if (!(mode_lib->vba.DSCInputBitPerComponent[k] == 12.0 in dml21_ModeSupportAndSystemConfigurationFull()
4254 || mode_lib->vba.DSCInputBitPerComponent[k] == 10.0 in dml21_ModeSupportAndSystemConfigurationFull()
4255 || mode_lib->vba.DSCInputBitPerComponent[k] == 8.0)) { in dml21_ModeSupportAndSystemConfigurationFull()
4260 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4261 locals->RequiresDSC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4262 locals->RequiresFEC[i][k] = 0; in dml21_ModeSupportAndSystemConfigurationFull()
4263 if (mode_lib->vba.BlendingAndTiming[k] == k) { in dml21_ModeSupportAndSystemConfigurationFull()
4264 if (mode_lib->vba.Output[k] == dm_hdmi) { in dml21_ModeSupportAndSystemConfigurationFull()
4265 locals->RequiresDSC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4266 locals->RequiresFEC[i][k] = 0; in dml21_ModeSupportAndSystemConfigurationFull()
4267 locals->OutputBppPerState[i][k] = TruncToValidBPP( in dml21_ModeSupportAndSystemConfigurationFull()
4268 dml_min(600.0, mode_lib->vba.PHYCLKPerState[i]) / mode_lib->vba.PixelClockBackEnd[k] * 24, in dml21_ModeSupportAndSystemConfigurationFull()
4269 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4271 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4272 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4273 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4274 } else if (mode_lib->vba.Output[k] == dm_dp in dml21_ModeSupportAndSystemConfigurationFull()
4275 || mode_lib->vba.Output[k] == dm_edp) { in dml21_ModeSupportAndSystemConfigurationFull()
4276 if (mode_lib->vba.Output[k] == dm_edp) { in dml21_ModeSupportAndSystemConfigurationFull()
4285 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4286 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4288 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4289 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4290 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4293 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4294 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4296 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4297 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4298 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4299 if (mode_lib->vba.DSCEnabled[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4300 locals->RequiresDSC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4301 if (mode_lib->vba.Output[k] == dm_dp) { in dml21_ModeSupportAndSystemConfigurationFull()
4302 locals->RequiresFEC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4304 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4308 locals->RequiresDSC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4309 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4311 locals->OutputBppPerState[i][k] = mode_lib->vba.Outbpp; in dml21_ModeSupportAndSystemConfigurationFull()
4316 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4317 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4319 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4320 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4321 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4324 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4325 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4327 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4328 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4329 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4330 if (mode_lib->vba.DSCEnabled[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4331 locals->RequiresDSC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4332 if (mode_lib->vba.Output[k] == dm_dp) { in dml21_ModeSupportAndSystemConfigurationFull()
4333 locals->RequiresFEC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4335 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4339 locals->RequiresDSC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4340 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4342 locals->OutputBppPerState[i][k] = mode_lib->vba.Outbpp; in dml21_ModeSupportAndSystemConfigurationFull()
4349 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4350 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4352 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4353 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4354 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4357 * mode_lib->vba.OutputLinkDPLanes[k] / mode_lib->vba.PixelClockBackEnd[k] * 8.0, in dml21_ModeSupportAndSystemConfigurationFull()
4358 mode_lib->vba.ForcedOutputLinkBPP[k], in dml21_ModeSupportAndSystemConfigurationFull()
4360 mode_lib->vba.Output[k], in dml21_ModeSupportAndSystemConfigurationFull()
4361 mode_lib->vba.OutputFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4362 mode_lib->vba.DSCInputBitPerComponent[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4363 if (mode_lib->vba.DSCEnabled[k] == true || mode_lib->vba.Outbpp == BPP_INVALID) { in dml21_ModeSupportAndSystemConfigurationFull()
4364 locals->RequiresDSC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4365 if (mode_lib->vba.Output[k] == dm_dp) { in dml21_ModeSupportAndSystemConfigurationFull()
4366 locals->RequiresFEC[i][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4368 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4372 locals->RequiresDSC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4373 locals->RequiresFEC[i][k] = false; in dml21_ModeSupportAndSystemConfigurationFull()
4375 locals->OutputBppPerState[i][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4380 locals->OutputBppPerState[i][k] = BPP_BLENDED_PIPE; in dml21_ModeSupportAndSystemConfigurationFull()
4386 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4387 if (!mode_lib->vba.skip_dio_check[k] in dml21_ModeSupportAndSystemConfigurationFull()
4388 && (locals->OutputBppPerState[i][k] == BPP_INVALID in dml21_ModeSupportAndSystemConfigurationFull()
4389 || (mode_lib->vba.OutputFormat[k] == dm_420 in dml21_ModeSupportAndSystemConfigurationFull()
4390 && mode_lib->vba.Interlace[k] == true in dml21_ModeSupportAndSystemConfigurationFull()
4397 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4399 if (mode_lib->vba.BlendingAndTiming[k] == k) { in dml21_ModeSupportAndSystemConfigurationFull()
4400 if ((mode_lib->vba.Output[k] == dm_dp in dml21_ModeSupportAndSystemConfigurationFull()
4401 || mode_lib->vba.Output[k] == dm_edp)) { in dml21_ModeSupportAndSystemConfigurationFull()
4402 if (mode_lib->vba.OutputFormat[k] == dm_420 in dml21_ModeSupportAndSystemConfigurationFull()
4403 || mode_lib->vba.OutputFormat[k] in dml21_ModeSupportAndSystemConfigurationFull()
4409 if (locals->RequiresDSC[i][k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4410 if (locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_2to1) { in dml21_ModeSupportAndSystemConfigurationFull()
4411 if (mode_lib->vba.PixelClockBackEnd[k] / 6.0 / mode_lib->vba.DSCFormatFactor in dml21_ModeSupportAndSystemConfigurationFull()
4417 if (mode_lib->vba.PixelClockBackEnd[k] / 3.0 / mode_lib->vba.DSCFormatFactor in dml21_ModeSupportAndSystemConfigurationFull()
4431 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4432 if (locals->RequiresDSC[i][k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4433 if (locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_2to1) { in dml21_ModeSupportAndSystemConfigurationFull()
4449 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4450 if (mode_lib->vba.BlendingAndTiming[k] != k) { in dml21_ModeSupportAndSystemConfigurationFull()
4452 } else if (locals->RequiresDSC[i][k] == 0 in dml21_ModeSupportAndSystemConfigurationFull()
4453 || locals->RequiresDSC[i][k] == false) { in dml21_ModeSupportAndSystemConfigurationFull()
4455 } else if (mode_lib->vba.PixelClockBackEnd[k] > 3200.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4457 mode_lib->vba.PixelClockBackEnd[k] / 400.0, in dml21_ModeSupportAndSystemConfigurationFull()
4459 } else if (mode_lib->vba.PixelClockBackEnd[k] > 1360.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4461 } else if (mode_lib->vba.PixelClockBackEnd[k] > 680.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4463 } else if (mode_lib->vba.PixelClockBackEnd[k] > 340.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4468 if (locals->OutputBppPerState[i][k] == BPP_BLENDED_PIPE in dml21_ModeSupportAndSystemConfigurationFull()
4469 || locals->OutputBppPerState[i][k] == BPP_INVALID) { in dml21_ModeSupportAndSystemConfigurationFull()
4472 mode_lib->vba.bpp = locals->OutputBppPerState[i][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4474 if (locals->RequiresDSC[i][k] == true && mode_lib->vba.bpp != 0.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4475 if (locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_disabled) { in dml21_ModeSupportAndSystemConfigurationFull()
4476 locals->DSCDelayPerState[i][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4478 mode_lib->vba.DSCInputBitPerComponent[k], in dml21_ModeSupportAndSystemConfigurationFull()
4481 mode_lib->vba.HActive[k] in dml21_ModeSupportAndSystemConfigurationFull()
4485 mode_lib->vba.OutputFormat[k]) in dml21_ModeSupportAndSystemConfigurationFull()
4487 mode_lib->vba.OutputFormat[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4489 locals->DSCDelayPerState[i][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4491 mode_lib->vba.DSCInputBitPerComponent[k], in dml21_ModeSupportAndSystemConfigurationFull()
4493 dml_ceil(mode_lib->vba.HActive[k] / mode_lib->vba.slices, 1.0), in dml21_ModeSupportAndSystemConfigurationFull()
4495 mode_lib->vba.OutputFormat[k]) in dml21_ModeSupportAndSystemConfigurationFull()
4496 + dscComputeDelay(mode_lib->vba.OutputFormat[k])); in dml21_ModeSupportAndSystemConfigurationFull()
4498 locals->DSCDelayPerState[i][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4499 … locals->DSCDelayPerState[i][k] * mode_lib->vba.PixelClock[k] / mode_lib->vba.PixelClockBackEnd[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4501 locals->DSCDelayPerState[i][k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
4504 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4507 if (mode_lib->vba.BlendingAndTiming[k] == m && locals->RequiresDSC[i][m] == true) in dml21_ModeSupportAndSystemConfigurationFull()
4508 locals->DSCDelayPerState[i][k] = locals->DSCDelayPerState[i][m]; in dml21_ModeSupportAndSystemConfigurationFull()
4518 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in dml21_ModeSupportAndSystemConfigurationFull()
4519 if (mode_lib->vba.DCCEnable[k] == true) in dml21_ModeSupportAndSystemConfigurationFull()
4520 …talNumberOfDCCActiveDPP[i][j] = locals->TotalNumberOfDCCActiveDPP[i][j] + locals->NoOfDPP[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4536 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4537 locals->RequiredDPPCLKThisState[k] = locals->RequiredDPPCLK[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4538 locals->NoOfDPPThisState[k] = locals->NoOfDPP[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4539 if (locals->ODMCombineEnablePerState[i][k] == dm_odm_combine_mode_2to1) { in dml21_ModeSupportAndSystemConfigurationFull()
4540 locals->SwathWidthYThisState[k] = in dml21_ModeSupportAndSystemConfigurationFull()
4541 …dml_min(locals->SwathWidthYSingleDPP[k], dml_round(mode_lib->vba.HActive[k] / 2.0 * mode_lib->vba.… in dml21_ModeSupportAndSystemConfigurationFull()
4543 locals->SwathWidthYThisState[k] = locals->SwathWidthYSingleDPP[k] / locals->NoOfDPP[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4546 / dml_ceil(locals->BytePerPixelInDETY[k], 1.0) in dml21_ModeSupportAndSystemConfigurationFull()
4547 / locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4549 (dml_ceil(locals->SwathWidthYThisState[k] - 1.0, mode_lib->vba.SwathWidthGranularityY) in dml21_ModeSupportAndSystemConfigurationFull()
4550 …mode_lib->vba.SwathWidthGranularityY) * locals->BytePerPixelInDETY[k] * locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4551 if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10) { in dml21_ModeSupportAndSystemConfigurationFull()
4556 if (locals->MaxSwathHeightC[k] > 0.0) { in dml21_ModeSupportAndSystemConfigurationFull()
4557 …thGranularityC = 256.0 / dml_ceil(locals->BytePerPixelInDETC[k], 2.0) / locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4558 …mode_lib->vba.RoundedUpMaxSwathSizeBytesC = (dml_ceil(locals->SwathWidthYThisState[k] / 2.0 - 1.0,… in dml21_ModeSupportAndSystemConfigurationFull()
4559 …mode_lib->vba.SwathWidthGranularityC) * locals->BytePerPixelInDETC[k] * locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4560 if (mode_lib->vba.SourcePixelFormat[k] == dm_420_10) { in dml21_ModeSupportAndSystemConfigurationFull()
4568 locals->SwathHeightYThisState[k] = locals->MaxSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4569 locals->SwathHeightCThisState[k] = locals->MaxSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4571 locals->SwathHeightYThisState[k] = in dml21_ModeSupportAndSystemConfigurationFull()
4572 locals->MinSwathHeightY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4573 locals->SwathHeightCThisState[k] = in dml21_ModeSupportAndSystemConfigurationFull()
4574 locals->MinSwathHeightC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4593 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4594 if ((mode_lib->vba.SourcePixelFormat[k] != dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
4595 && mode_lib->vba.SourcePixelFormat[k] != dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
4596 && mode_lib->vba.SourcePixelFormat[k] != dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
4597 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_16 in dml21_ModeSupportAndSystemConfigurationFull()
4598 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_8)) { in dml21_ModeSupportAndSystemConfigurationFull()
4601 mode_lib->vba.DCCEnable[k], in dml21_ModeSupportAndSystemConfigurationFull()
4602 locals->Read256BlockHeightC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4603 locals->Read256BlockWidthC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4604 mode_lib->vba.SourcePixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4605 mode_lib->vba.SurfaceTiling[k], in dml21_ModeSupportAndSystemConfigurationFull()
4606 dml_ceil(locals->BytePerPixelInDETC[k], 2.0), in dml21_ModeSupportAndSystemConfigurationFull()
4607 mode_lib->vba.SourceScan[k], in dml21_ModeSupportAndSystemConfigurationFull()
4608 mode_lib->vba.ViewportWidth[k] / 2.0, in dml21_ModeSupportAndSystemConfigurationFull()
4609 mode_lib->vba.ViewportHeight[k] / 2.0, in dml21_ModeSupportAndSystemConfigurationFull()
4610 locals->SwathWidthYThisState[k] / 2.0, in dml21_ModeSupportAndSystemConfigurationFull()
4617 mode_lib->vba.PitchC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4619 &locals->MacroTileWidthC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4622 &locals->PTEBufferSizeNotExceededC[i][j][k], in dml21_ModeSupportAndSystemConfigurationFull()
4624 &locals->dpte_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4625 &locals->meta_req_width_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4626 &locals->meta_req_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4627 &locals->meta_row_width_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4628 &locals->meta_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4636 locals->PrefetchLinesC[0][0][k] = CalculatePrefetchSourceLines( in dml21_ModeSupportAndSystemConfigurationFull()
4638 mode_lib->vba.VRatio[k]/2, in dml21_ModeSupportAndSystemConfigurationFull()
4639 mode_lib->vba.VTAPsChroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4640 mode_lib->vba.Interlace[k], in dml21_ModeSupportAndSystemConfigurationFull()
4642 locals->SwathHeightCThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4643 mode_lib->vba.ViewportYStartC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4644 &locals->PrefillC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4645 &locals->MaxNumSwC[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4651 locals->PrefetchLinesC[0][0][k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
4652 locals->PTEBufferSizeNotExceededC[i][j][k] = true; in dml21_ModeSupportAndSystemConfigurationFull()
4657 mode_lib->vba.DCCEnable[k], in dml21_ModeSupportAndSystemConfigurationFull()
4658 locals->Read256BlockHeightY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4659 locals->Read256BlockWidthY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4660 mode_lib->vba.SourcePixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4661 mode_lib->vba.SurfaceTiling[k], in dml21_ModeSupportAndSystemConfigurationFull()
4662 dml_ceil(locals->BytePerPixelInDETY[k], 1.0), in dml21_ModeSupportAndSystemConfigurationFull()
4663 mode_lib->vba.SourceScan[k], in dml21_ModeSupportAndSystemConfigurationFull()
4664 mode_lib->vba.ViewportWidth[k], in dml21_ModeSupportAndSystemConfigurationFull()
4665 mode_lib->vba.ViewportHeight[k], in dml21_ModeSupportAndSystemConfigurationFull()
4666 locals->SwathWidthYThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4673 mode_lib->vba.PitchY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4674 mode_lib->vba.DCCMetaPitchY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4675 &locals->MacroTileWidthY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4678 &locals->PTEBufferSizeNotExceededY[i][j][k], in dml21_ModeSupportAndSystemConfigurationFull()
4680 &locals->dpte_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4681 &locals->meta_req_width[k], in dml21_ModeSupportAndSystemConfigurationFull()
4682 &locals->meta_req_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4683 &locals->meta_row_width[k], in dml21_ModeSupportAndSystemConfigurationFull()
4684 &locals->meta_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4685 &locals->vm_group_bytes[k], in dml21_ModeSupportAndSystemConfigurationFull()
4686 &locals->dpte_group_bytes[k], in dml21_ModeSupportAndSystemConfigurationFull()
4692 locals->PrefetchLinesY[0][0][k] = CalculatePrefetchSourceLines( in dml21_ModeSupportAndSystemConfigurationFull()
4694 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4695 mode_lib->vba.vtaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
4696 mode_lib->vba.Interlace[k], in dml21_ModeSupportAndSystemConfigurationFull()
4698 locals->SwathHeightYThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4699 mode_lib->vba.ViewportYStartY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4700 &locals->PrefillY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4701 &locals->MaxNumSwY[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4702 locals->PDEAndMetaPTEBytesPerFrame[0][0][k] = in dml21_ModeSupportAndSystemConfigurationFull()
4704 locals->MetaRowBytes[0][0][k] = mode_lib->vba.MetaRowBytesY + mode_lib->vba.MetaRowBytesC; in dml21_ModeSupportAndSystemConfigurationFull()
4705 …locals->DPTEBytesPerRow[0][0][k] = mode_lib->vba.DPTEBytesPerRowY + mode_lib->vba.DPTEBytesPerRowC; in dml21_ModeSupportAndSystemConfigurationFull()
4709 mode_lib->vba.SourcePixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4710 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4711 mode_lib->vba.DCCEnable[k], in dml21_ModeSupportAndSystemConfigurationFull()
4712 mode_lib->vba.HTotal[k] / in dml21_ModeSupportAndSystemConfigurationFull()
4713 mode_lib->vba.PixelClock[k], in dml21_ModeSupportAndSystemConfigurationFull()
4716 locals->meta_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4717 locals->meta_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4720 locals->dpte_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4721 locals->dpte_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4722 &locals->meta_row_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4723 &locals->dpte_row_bw[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4743 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4744 if (mode_lib->vba.BlendingAndTiming[k] == k) { in dml21_ModeSupportAndSystemConfigurationFull()
4745 if (mode_lib->vba.WritebackEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4746 locals->WritebackDelay[i][k] = mode_lib->vba.WritebackLatency in dml21_ModeSupportAndSystemConfigurationFull()
4748 mode_lib->vba.WritebackPixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4749 mode_lib->vba.WritebackHRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4750 mode_lib->vba.WritebackVRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4751 mode_lib->vba.WritebackLumaHTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
4752 mode_lib->vba.WritebackLumaVTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
4753 mode_lib->vba.WritebackChromaHTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
4754 mode_lib->vba.WritebackChromaVTaps[k], in dml21_ModeSupportAndSystemConfigurationFull()
4755 mode_lib->vba.WritebackDestinationWidth[k]) / locals->RequiredDISPCLK[i][j]; in dml21_ModeSupportAndSystemConfigurationFull()
4757 locals->WritebackDelay[i][k] = 0.0; in dml21_ModeSupportAndSystemConfigurationFull()
4760 if (mode_lib->vba.BlendingAndTiming[m] == k in dml21_ModeSupportAndSystemConfigurationFull()
4763 locals->WritebackDelay[i][k] = dml_max(locals->WritebackDelay[i][k], in dml21_ModeSupportAndSystemConfigurationFull()
4777 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4779 if (mode_lib->vba.BlendingAndTiming[k] == m) { in dml21_ModeSupportAndSystemConfigurationFull()
4780 locals->WritebackDelay[i][k] = locals->WritebackDelay[i][m]; in dml21_ModeSupportAndSystemConfigurationFull()
4785 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4786 locals->MaximumVStartup[0][0][k] = mode_lib->vba.VTotal[k] - mode_lib->vba.VActive[k] in dml21_ModeSupportAndSystemConfigurationFull()
4787 …ml_max(1.0, dml_ceil(locals->WritebackDelay[i][k] / (mode_lib->vba.HTotal[k] / mode_lib->vba.Pixel… in dml21_ModeSupportAndSystemConfigurationFull()
4788 …xMaxVStartup[0][0] = dml_max(mode_lib->vba.MaxMaxVStartup[0][0], locals->MaximumVStartup[0][0][k]); in dml21_ModeSupportAndSystemConfigurationFull()
4802 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) in dml21_ModeSupportAndSystemConfigurationFull()
4803 CalculatePrefetchSchedulePerPlane(mode_lib, i, j, k); in dml21_ModeSupportAndSystemConfigurationFull()
4807 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4810 locals->cursor_bw[k] = 0; in dml21_ModeSupportAndSystemConfigurationFull()
4811 locals->cursor_bw_pre[k] = 0; in dml21_ModeSupportAndSystemConfigurationFull()
4812 for (m = 0; m < mode_lib->vba.NumberOfCursors[k]; m++) { in dml21_ModeSupportAndSystemConfigurationFull()
4813 locals->cursor_bw[k] = mode_lib->vba.CursorWidth[k][m] * mode_lib->vba.CursorBPP[k][m] in dml21_ModeSupportAndSystemConfigurationFull()
4814 / 8.0 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) * mode_lib->vba.VRatio[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4815 locals->cursor_bw_pre[k] = mode_lib->vba.CursorWidth[k][m] * mode_lib->vba.CursorBPP[k][m] in dml21_ModeSupportAndSystemConfigurationFull()
4816 … / 8.0 / (mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k]) * locals->VRatioPreY[i][j][k]; in dml21_ModeSupportAndSystemConfigurationFull()
4821 locals->SwathHeightYThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4822 locals->SwathHeightCThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4823 locals->SwathWidthYThisState[k], in dml21_ModeSupportAndSystemConfigurationFull()
4824 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in dml21_ModeSupportAndSystemConfigurationFull()
4827 mode_lib->vba.CursorWidth[k][0] + mode_lib->vba.CursorWidth[k][1], in dml21_ModeSupportAndSystemConfigurationFull()
4828 dml_max(mode_lib->vba.CursorBPP[k][0], mode_lib->vba.CursorBPP[k][1]), in dml21_ModeSupportAndSystemConfigurationFull()
4829 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4830 locals->VRatioPreY[i][j][k], in dml21_ModeSupportAndSystemConfigurationFull()
4831 locals->VRatioPreC[i][j][k], in dml21_ModeSupportAndSystemConfigurationFull()
4832 locals->BytePerPixelInDETY[k], in dml21_ModeSupportAndSystemConfigurationFull()
4833 locals->BytePerPixelInDETC[k], in dml21_ModeSupportAndSystemConfigurationFull()
4834 &locals->UrgentBurstFactorCursor[k], in dml21_ModeSupportAndSystemConfigurationFull()
4835 &locals->UrgentBurstFactorCursorPre[k], in dml21_ModeSupportAndSystemConfigurationFull()
4836 &locals->UrgentBurstFactorLuma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4837 &locals->UrgentBurstFactorLumaPre[k], in dml21_ModeSupportAndSystemConfigurationFull()
4838 &locals->UrgentBurstFactorChroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4839 &locals->UrgentBurstFactorChromaPre[k], in dml21_ModeSupportAndSystemConfigurationFull()
4844 locals->UrgentBurstFactorCursor[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4845 locals->UrgentBurstFactorCursorPre[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4846 locals->UrgentBurstFactorLuma[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4847 locals->UrgentBurstFactorLumaPre[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4848 locals->UrgentBurstFactorChroma[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4849 locals->UrgentBurstFactorChromaPre[k] = 1; in dml21_ModeSupportAndSystemConfigurationFull()
4853 + locals->cursor_bw[k] * locals->UrgentBurstFactorCursor[k] + locals->ReadBandwidthLuma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4854 * locals->UrgentBurstFactorLuma[k] + locals->ReadBandwidthChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4855 * locals->UrgentBurstFactorChroma[k] + locals->meta_row_bw[k] + locals->dpte_row_bw[k]; in dml21_ModeSupportAndSystemConfigurationFull()
4857 + dml_max3(locals->prefetch_vmrow_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4858 … locals->ReadBandwidthLuma[k] * locals->UrgentBurstFactorLuma[k] + locals->ReadBandwidthChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4859 … * locals->UrgentBurstFactorChroma[k] + locals->cursor_bw[k] * locals->UrgentBurstFactorCursor[k] in dml21_ModeSupportAndSystemConfigurationFull()
4860 + locals->meta_row_bw[k] + locals->dpte_row_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4861 locals->RequiredPrefetchPixelDataBWLuma[i][j][k] * locals->UrgentBurstFactorLumaPre[k] in dml21_ModeSupportAndSystemConfigurationFull()
4862 + locals->RequiredPrefetchPixelDataBWChroma[i][j][k] * locals->UrgentBurstFactorChromaPre[k] in dml21_ModeSupportAndSystemConfigurationFull()
4863 + locals->cursor_bw_pre[k] * locals->UrgentBurstFactorCursorPre[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4877 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4878 if (locals->LineTimesForPrefetch[k] < 2.0 in dml21_ModeSupportAndSystemConfigurationFull()
4879 || locals->LinesForMetaPTE[k] >= 32.0 in dml21_ModeSupportAndSystemConfigurationFull()
4880 || locals->LinesForMetaAndDPTERow[k] >= 16.0 in dml21_ModeSupportAndSystemConfigurationFull()
4881 || mode_lib->vba.IsErrorResult[i][j][k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4886 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4887 if (locals->VRatioPreY[i][j][k] > 4.0 in dml21_ModeSupportAndSystemConfigurationFull()
4888 || locals->VRatioPreC[i][j][k] > 4.0 in dml21_ModeSupportAndSystemConfigurationFull()
4889 || mode_lib->vba.IsErrorResult[i][j][k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
4894 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in dml21_ModeSupportAndSystemConfigurationFull()
4895 if (locals->LinesForMetaAndDPTERow[k] >= 16 || locals->LinesForMetaPTE[k] >= 32) { in dml21_ModeSupportAndSystemConfigurationFull()
4912 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4914 - dml_max(locals->ReadBandwidthLuma[k] * locals->UrgentBurstFactorLuma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4915 + locals->ReadBandwidthChroma[k] * locals->UrgentBurstFactorChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4916 + locals->cursor_bw[k] * locals->UrgentBurstFactorCursor[k], in dml21_ModeSupportAndSystemConfigurationFull()
4917 locals->RequiredPrefetchPixelDataBWLuma[i][j][k] * locals->UrgentBurstFactorLumaPre[k] in dml21_ModeSupportAndSystemConfigurationFull()
4918 + locals->RequiredPrefetchPixelDataBWChroma[i][j][k] * locals->UrgentBurstFactorChromaPre[k] in dml21_ModeSupportAndSystemConfigurationFull()
4919 + locals->cursor_bw_pre[k] * locals->UrgentBurstFactorCursorPre[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4922 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4924 … locals->PDEAndMetaPTEBytesPerFrame[0][0][k] + locals->MetaRowBytes[0][0][k] + locals->DPTEBytesPe… in dml21_ModeSupportAndSystemConfigurationFull()
4927 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4939 locals->PDEAndMetaPTEBytesPerFrame[0][0][k], in dml21_ModeSupportAndSystemConfigurationFull()
4940 locals->MetaRowBytes[0][0][k], in dml21_ModeSupportAndSystemConfigurationFull()
4941 locals->DPTEBytesPerRow[0][0][k], in dml21_ModeSupportAndSystemConfigurationFull()
4944 mode_lib->vba.SourcePixelFormat[k], in dml21_ModeSupportAndSystemConfigurationFull()
4945 mode_lib->vba.HTotal[k] / mode_lib->vba.PixelClock[k], in dml21_ModeSupportAndSystemConfigurationFull()
4946 mode_lib->vba.VRatio[k], in dml21_ModeSupportAndSystemConfigurationFull()
4947 locals->Tno_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4948 mode_lib->vba.DCCEnable[k], in dml21_ModeSupportAndSystemConfigurationFull()
4949 locals->dpte_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4950 locals->meta_row_height[k], in dml21_ModeSupportAndSystemConfigurationFull()
4951 locals->dpte_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4952 locals->meta_row_height_chroma[k], in dml21_ModeSupportAndSystemConfigurationFull()
4953 &locals->DestinationLinesToRequestVMInImmediateFlip[k], in dml21_ModeSupportAndSystemConfigurationFull()
4954 &locals->DestinationLinesToRequestRowInImmediateFlip[k], in dml21_ModeSupportAndSystemConfigurationFull()
4955 &locals->final_flip_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4956 &locals->ImmediateFlipSupportedForPipe[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4959 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4961 locals->prefetch_vmrow_bw[k], in dml21_ModeSupportAndSystemConfigurationFull()
4962 locals->final_flip_bw[k] + locals->ReadBandwidthLuma[k] * locals->UrgentBurstFactorLuma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4963 + locals->ReadBandwidthChroma[k] * locals->UrgentBurstFactorChroma[k] in dml21_ModeSupportAndSystemConfigurationFull()
4964 + locals->cursor_bw[k] * locals->UrgentBurstFactorCursor[k], in dml21_ModeSupportAndSystemConfigurationFull()
4965 locals->final_flip_bw[k] + locals->RequiredPrefetchPixelDataBWLuma[i][j][k] in dml21_ModeSupportAndSystemConfigurationFull()
4966 * locals->UrgentBurstFactorLumaPre[k] + locals->RequiredPrefetchPixelDataBWChroma[i][j][k] in dml21_ModeSupportAndSystemConfigurationFull()
4967 * locals->UrgentBurstFactorChromaPre[k] + locals->cursor_bw_pre[k] in dml21_ModeSupportAndSystemConfigurationFull()
4968 * locals->UrgentBurstFactorCursorPre[k]); in dml21_ModeSupportAndSystemConfigurationFull()
4975 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
4976 if (locals->ImmediateFlipSupportedForPipe[k] == false) { in dml21_ModeSupportAndSystemConfigurationFull()
5050 for (k = 0; k < mode_lib->vba.NumberOfActivePlanes; ++k) { in dml21_ModeSupportAndSystemConfigurationFull()
5051 MaxTotalVActiveRDBandwidth = MaxTotalVActiveRDBandwidth + locals->ReadBandwidth[k]; in dml21_ModeSupportAndSystemConfigurationFull()
5076 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
5077 if (locals->PTEBufferSizeNotExceededY[i][j][k] == false in dml21_ModeSupportAndSystemConfigurationFull()
5078 || locals->PTEBufferSizeNotExceededC[i][j][k] == false) { in dml21_ModeSupportAndSystemConfigurationFull()
5087 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
5088 if (mode_lib->vba.CursorWidth[k][0] > 0.0) { in dml21_ModeSupportAndSystemConfigurationFull()
5089 for (m = 0; m < mode_lib->vba.NumberOfCursors[k]; m++) { in dml21_ModeSupportAndSystemConfigurationFull()
5090 if (mode_lib->vba.CursorBPP[k][m] == 64 && mode_lib->vba.Cursor64BppSupport == false) { in dml21_ModeSupportAndSystemConfigurationFull()
5099 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
5100 locals->AlignedYPitch[k] = dml_ceil( in dml21_ModeSupportAndSystemConfigurationFull()
5101 dml_max(mode_lib->vba.PitchY[k], mode_lib->vba.ViewportWidth[k]), in dml21_ModeSupportAndSystemConfigurationFull()
5102 locals->MacroTileWidthY[k]); in dml21_ModeSupportAndSystemConfigurationFull()
5103 if (locals->AlignedYPitch[k] > mode_lib->vba.PitchY[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
5106 if (mode_lib->vba.DCCEnable[k] == true) { in dml21_ModeSupportAndSystemConfigurationFull()
5107 locals->AlignedDCCMetaPitch[k] = dml_ceil( in dml21_ModeSupportAndSystemConfigurationFull()
5109 mode_lib->vba.DCCMetaPitchY[k], in dml21_ModeSupportAndSystemConfigurationFull()
5110 mode_lib->vba.ViewportWidth[k]), in dml21_ModeSupportAndSystemConfigurationFull()
5111 64.0 * locals->Read256BlockWidthY[k]); in dml21_ModeSupportAndSystemConfigurationFull()
5113 locals->AlignedDCCMetaPitch[k] = mode_lib->vba.DCCMetaPitchY[k]; in dml21_ModeSupportAndSystemConfigurationFull()
5115 if (locals->AlignedDCCMetaPitch[k] > mode_lib->vba.DCCMetaPitchY[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
5118 if (mode_lib->vba.SourcePixelFormat[k] != dm_444_64 in dml21_ModeSupportAndSystemConfigurationFull()
5119 && mode_lib->vba.SourcePixelFormat[k] != dm_444_32 in dml21_ModeSupportAndSystemConfigurationFull()
5120 && mode_lib->vba.SourcePixelFormat[k] != dm_444_16 in dml21_ModeSupportAndSystemConfigurationFull()
5121 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_16 in dml21_ModeSupportAndSystemConfigurationFull()
5122 && mode_lib->vba.SourcePixelFormat[k] != dm_mono_8) { in dml21_ModeSupportAndSystemConfigurationFull()
5123 locals->AlignedCPitch[k] = dml_ceil( in dml21_ModeSupportAndSystemConfigurationFull()
5125 mode_lib->vba.PitchC[k], in dml21_ModeSupportAndSystemConfigurationFull()
5126 mode_lib->vba.ViewportWidth[k] / 2.0), in dml21_ModeSupportAndSystemConfigurationFull()
5127 locals->MacroTileWidthC[k]); in dml21_ModeSupportAndSystemConfigurationFull()
5129 locals->AlignedCPitch[k] = mode_lib->vba.PitchC[k]; in dml21_ModeSupportAndSystemConfigurationFull()
5131 if (locals->AlignedCPitch[k] > mode_lib->vba.PitchC[k]) { in dml21_ModeSupportAndSystemConfigurationFull()
5216 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
5217 mode_lib->vba.DPPPerPlane[k] = locals->NoOfDPP[mode_lib->vba.VoltageLevel][MaximumMPCCombine][k]; in dml21_ModeSupportAndSystemConfigurationFull()
5218 locals->DPPCLK[k] = locals->RequiredDPPCLK[mode_lib->vba.VoltageLevel][MaximumMPCCombine][k]; in dml21_ModeSupportAndSystemConfigurationFull()
5228 for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { in dml21_ModeSupportAndSystemConfigurationFull()
5229 if (mode_lib->vba.BlendingAndTiming[k] == k) { in dml21_ModeSupportAndSystemConfigurationFull()
5230 mode_lib->vba.ODMCombineEnabled[k] = in dml21_ModeSupportAndSystemConfigurationFull()
5231 locals->ODMCombineEnablePerState[mode_lib->vba.VoltageLevel][k]; in dml21_ModeSupportAndSystemConfigurationFull()
5233 mode_lib->vba.ODMCombineEnabled[k] = dm_odm_combine_mode_disabled; in dml21_ModeSupportAndSystemConfigurationFull()
5235 mode_lib->vba.DSCEnabled[k] = in dml21_ModeSupportAndSystemConfigurationFull()
5236 locals->RequiresDSC[mode_lib->vba.VoltageLevel][k]; in dml21_ModeSupportAndSystemConfigurationFull()
5237 mode_lib->vba.OutputBpp[k] = in dml21_ModeSupportAndSystemConfigurationFull()
5238 locals->OutputBppPerState[mode_lib->vba.VoltageLevel][k]; in dml21_ModeSupportAndSystemConfigurationFull()
5319 unsigned int k, j; in CalculateWatermarksAndDRAMSpeedChangeSupport() local
5323 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5324 mode_lib->vba.TotalActiveDPP = mode_lib->vba.TotalActiveDPP + DPPPerPlane[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5325 if (DCCEnable[k] == true) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5326 mode_lib->vba.TotalDCCActiveDPP = mode_lib->vba.TotalDCCActiveDPP + DPPPerPlane[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5331 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5333 + ReadBandwidthPlaneLuma[k] + ReadBandwidthPlaneChroma[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5341 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5342 if (WritebackEnable[k] == true) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5361 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5364 dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthY[k] / dml_max(HRatio[k], 1.0)), 1)) in CalculateWatermarksAndDRAMSpeedChangeSupport()
5365 - (vtaps[k] - 1); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5368 …dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthY[k] / 2 / dml_max(HRatio[k] / 2, 1.0)), … in CalculateWatermarksAndDRAMSpeedChangeSupport()
5369 - (VTAPsChroma[k] - 1); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5371 EffectiveLBLatencyHidingY = mode_lib->vba.LBLatencyHidingSourceLinesY / VRatio[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5372 * (HTotal[k] / PixelClock[k]); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5375 / (VRatio[k] / 2) * (HTotal[k] / PixelClock[k]); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5377 if (SwathWidthY[k] > 2 * DPPOutputBufferPixels) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5378 DPPOutputBufferLinesY = (double) DPPOutputBufferPixels / SwathWidthY[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5379 } else if (SwathWidthY[k] > DPPOutputBufferPixels) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5385 if (SwathWidthY[k] / 2.0 > 2 * DPPOutputBufferPixels) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5387 / (SwathWidthY[k] / 2.0); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5388 } else if (SwathWidthY[k] / 2.0 > DPPOutputBufferPixels) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5396 SwathHeightY[k], in CalculateWatermarksAndDRAMSpeedChangeSupport()
5397 SwathHeightC[k], in CalculateWatermarksAndDRAMSpeedChangeSupport()
5401 LinesInDETY[k] = (double)DETBufferSizeY / BytePerPixelDETY[k] / SwathWidthY[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5402 LinesInDETYRoundedDownToSwath[k] = dml_floor(LinesInDETY[k], SwathHeightY[k]); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5403 FullDETBufferingTimeY[k] = LinesInDETYRoundedDownToSwath[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5404 * (HTotal[k] / PixelClock[k]) / VRatio[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5405 if (BytePerPixelDETC[k] > 0) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5406 LinesInDETC = (double)DETBufferSizeC / BytePerPixelDETC[k] / (SwathWidthY[k] / 2.0); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5407 LinesInDETCRoundedDownToSwath = dml_floor(LinesInDETC, SwathHeightC[k]); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5409 * (HTotal[k] / PixelClock[k]) / (VRatio[k] / 2); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5415 ActiveDRAMClockChangeLatencyMarginY = HTotal[k] / PixelClock[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5417 + FullDETBufferingTimeY[k] - *DRAMClockChangeWatermark; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5421 - (1 - 1.0 / NumberOfActivePlanes) * SwathHeightY[k] * HTotal[k] / PixelClock[k] / VRatio[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5424 if (BytePerPixelDETC[k] > 0) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5425 ActiveDRAMClockChangeLatencyMarginC = HTotal[k] / PixelClock[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5430 …- (1 - 1.0 / NumberOfActivePlanes) * SwathHeightC[k] * HTotal[k] / PixelClock[k] / (VRatio[k] / 2); in CalculateWatermarksAndDRAMSpeedChangeSupport()
5432 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = dml_min( in CalculateWatermarksAndDRAMSpeedChangeSupport()
5436 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = ActiveDRAMClockChangeLatencyMarginY; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5439 if (WritebackEnable[k] == true) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5440 if (WritebackPixelFormat[k] == dm_444_32) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5442 + WritebackInterfaceChromaBufferSize) / (WritebackDestinationWidth[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5443 * WritebackDestinationHeight[k] / (WritebackSourceHeight[k] * HTotal[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5444 / PixelClock[k]) * 4) - *WritebackDRAMClockChangeWatermark; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5448 2 * WritebackInterfaceChromaBufferSize * 8.0 / 10) / (WritebackDestinationWidth[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5449 * WritebackDestinationHeight[k] / (WritebackSourceHeight[k] * HTotal[k] / PixelClock[k])) in CalculateWatermarksAndDRAMSpeedChangeSupport()
5452 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] = dml_min( in CalculateWatermarksAndDRAMSpeedChangeSupport()
5453 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k], in CalculateWatermarksAndDRAMSpeedChangeSupport()
5460 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5461 if (mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5464 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5465 if (BlendingAndTiming[k] == k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5466 PlaneWithMinActiveDRAMClockChangeMargin = k; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5469 if (BlendingAndTiming[k] == j) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5480 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5481 if (!((k == PlaneWithMinActiveDRAMClockChangeMargin) && (BlendingAndTiming[k] == k)) in CalculateWatermarksAndDRAMSpeedChangeSupport()
5482 && !(BlendingAndTiming[k] == PlaneWithMinActiveDRAMClockChangeMargin) in CalculateWatermarksAndDRAMSpeedChangeSupport()
5483 && mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5486 mode_lib->vba.ActiveDRAMClockChangeLatencyMargin[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5491 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5492 if (BlendingAndTiming[k] == k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5509 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5510 if (FullDETBufferingTimeY[k] <= FullDETBufferingTimeYStutterCriticalPlane) { in CalculateWatermarksAndDRAMSpeedChangeSupport()
5511 TimeToFinishSwathTransferStutterCriticalPlane = (SwathHeightY[k] in CalculateWatermarksAndDRAMSpeedChangeSupport()
5512 - (LinesInDETY[k] - LinesInDETYRoundedDownToSwath[k])) in CalculateWatermarksAndDRAMSpeedChangeSupport()
5513 * (HTotal[k] / PixelClock[k]) / VRatio[k]; in CalculateWatermarksAndDRAMSpeedChangeSupport()
5541 unsigned int k; in CalculateDCFCLKDeepSleep() local
5546 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateDCFCLKDeepSleep()
5547 if (VRatio[k] <= 1) { in CalculateDCFCLKDeepSleep()
5548 DisplayPipeLineDeliveryTimeLuma = SwathWidthY[k] * DPPPerPlane[k] in CalculateDCFCLKDeepSleep()
5549 / HRatio[k] / PixelClock[k]; in CalculateDCFCLKDeepSleep()
5551 DisplayPipeLineDeliveryTimeLuma = SwathWidthY[k] / PSCL_THROUGHPUT[k] in CalculateDCFCLKDeepSleep()
5552 / DPPCLK[k]; in CalculateDCFCLKDeepSleep()
5554 if (BytePerPixelDETC[k] == 0) { in CalculateDCFCLKDeepSleep()
5557 if (VRatio[k] / 2 <= 1) { in CalculateDCFCLKDeepSleep()
5558 DisplayPipeLineDeliveryTimeChroma = SwathWidthY[k] / 2.0 in CalculateDCFCLKDeepSleep()
5559 * DPPPerPlane[k] / (HRatio[k] / 2) / PixelClock[k]; in CalculateDCFCLKDeepSleep()
5561 DisplayPipeLineDeliveryTimeChroma = SwathWidthY[k] / 2.0 in CalculateDCFCLKDeepSleep()
5562 / PSCL_THROUGHPUT_CHROMA[k] / DPPCLK[k]; in CalculateDCFCLKDeepSleep()
5566 if (BytePerPixelDETC[k] > 0) { in CalculateDCFCLKDeepSleep()
5567 mode_lib->vba.DCFCLKDeepSleepPerPlane[k] = dml_max( in CalculateDCFCLKDeepSleep()
5568 1.1 * SwathWidthY[k] * dml_ceil(BytePerPixelDETY[k], 1) in CalculateDCFCLKDeepSleep()
5570 1.1 * SwathWidthY[k] / 2.0 in CalculateDCFCLKDeepSleep()
5571 * dml_ceil(BytePerPixelDETC[k], 2) / 32.0 in CalculateDCFCLKDeepSleep()
5574 mode_lib->vba.DCFCLKDeepSleepPerPlane[k] = 1.1 * SwathWidthY[k] in CalculateDCFCLKDeepSleep()
5575 * dml_ceil(BytePerPixelDETY[k], 1) / 64.0 in CalculateDCFCLKDeepSleep()
5578 mode_lib->vba.DCFCLKDeepSleepPerPlane[k] = dml_max( in CalculateDCFCLKDeepSleep()
5579 mode_lib->vba.DCFCLKDeepSleepPerPlane[k], in CalculateDCFCLKDeepSleep()
5580 PixelClock[k] / 16); in CalculateDCFCLKDeepSleep()
5585 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateDCFCLKDeepSleep()
5588 mode_lib->vba.DCFCLKDeepSleepPerPlane[k]); in CalculateDCFCLKDeepSleep()
5761 unsigned int k; in CalculatePixelDeliveryTimes() local
5763 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculatePixelDeliveryTimes()
5764 if (VRatio[k] <= 1) { in CalculatePixelDeliveryTimes()
5765 DisplayPipeLineDeliveryTimeLuma[k] = swath_width_luma_ub[k] * DPPPerPlane[k] in CalculatePixelDeliveryTimes()
5766 / HRatio[k] / PixelClock[k]; in CalculatePixelDeliveryTimes()
5768 DisplayPipeLineDeliveryTimeLuma[k] = swath_width_luma_ub[k] in CalculatePixelDeliveryTimes()
5769 / PSCL_THROUGHPUT[k] / DPPCLK[k]; in CalculatePixelDeliveryTimes()
5772 if (BytePerPixelDETC[k] == 0) { in CalculatePixelDeliveryTimes()
5773 DisplayPipeLineDeliveryTimeChroma[k] = 0; in CalculatePixelDeliveryTimes()
5775 if (VRatio[k] / 2 <= 1) { in CalculatePixelDeliveryTimes()
5776 DisplayPipeLineDeliveryTimeChroma[k] = swath_width_chroma_ub[k] in CalculatePixelDeliveryTimes()
5777 * DPPPerPlane[k] / (HRatio[k] / 2) / PixelClock[k]; in CalculatePixelDeliveryTimes()
5779 DisplayPipeLineDeliveryTimeChroma[k] = swath_width_chroma_ub[k] in CalculatePixelDeliveryTimes()
5780 / PSCL_THROUGHPUT_CHROMA[k] / DPPCLK[k]; in CalculatePixelDeliveryTimes()
5784 if (VRatioPrefetchY[k] <= 1) { in CalculatePixelDeliveryTimes()
5785 DisplayPipeLineDeliveryTimeLumaPrefetch[k] = swath_width_luma_ub[k] in CalculatePixelDeliveryTimes()
5786 * DPPPerPlane[k] / HRatio[k] / PixelClock[k]; in CalculatePixelDeliveryTimes()
5788 DisplayPipeLineDeliveryTimeLumaPrefetch[k] = swath_width_luma_ub[k] in CalculatePixelDeliveryTimes()
5789 / PSCL_THROUGHPUT[k] / DPPCLK[k]; in CalculatePixelDeliveryTimes()
5792 if (BytePerPixelDETC[k] == 0) { in CalculatePixelDeliveryTimes()
5793 DisplayPipeLineDeliveryTimeChromaPrefetch[k] = 0; in CalculatePixelDeliveryTimes()
5795 if (VRatioPrefetchC[k] <= 1) { in CalculatePixelDeliveryTimes()
5796 DisplayPipeLineDeliveryTimeChromaPrefetch[k] = in CalculatePixelDeliveryTimes()
5797 swath_width_chroma_ub[k] * DPPPerPlane[k] in CalculatePixelDeliveryTimes()
5798 / (HRatio[k] / 2) / PixelClock[k]; in CalculatePixelDeliveryTimes()
5800 DisplayPipeLineDeliveryTimeChromaPrefetch[k] = in CalculatePixelDeliveryTimes()
5801 swath_width_chroma_ub[k] / PSCL_THROUGHPUT_CHROMA[k] / DPPCLK[k]; in CalculatePixelDeliveryTimes()
5806 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculatePixelDeliveryTimes()
5807 if (SourceScan[k] == dm_horz) { in CalculatePixelDeliveryTimes()
5808 req_per_swath_ub = swath_width_luma_ub[k] / BlockWidth256BytesY[k]; in CalculatePixelDeliveryTimes()
5810 req_per_swath_ub = swath_width_luma_ub[k] / BlockHeight256BytesY[k]; in CalculatePixelDeliveryTimes()
5812 DisplayPipeRequestDeliveryTimeLuma[k] = DisplayPipeLineDeliveryTimeLuma[k] in CalculatePixelDeliveryTimes()
5814 DisplayPipeRequestDeliveryTimeLumaPrefetch[k] = in CalculatePixelDeliveryTimes()
5815 DisplayPipeLineDeliveryTimeLumaPrefetch[k] / req_per_swath_ub; in CalculatePixelDeliveryTimes()
5816 if (BytePerPixelDETC[k] == 0) { in CalculatePixelDeliveryTimes()
5817 DisplayPipeRequestDeliveryTimeChroma[k] = 0; in CalculatePixelDeliveryTimes()
5818 DisplayPipeRequestDeliveryTimeChromaPrefetch[k] = 0; in CalculatePixelDeliveryTimes()
5820 if (SourceScan[k] == dm_horz) { in CalculatePixelDeliveryTimes()
5821 req_per_swath_ub = swath_width_chroma_ub[k] in CalculatePixelDeliveryTimes()
5822 / BlockWidth256BytesC[k]; in CalculatePixelDeliveryTimes()
5824 req_per_swath_ub = swath_width_chroma_ub[k] in CalculatePixelDeliveryTimes()
5825 / BlockHeight256BytesC[k]; in CalculatePixelDeliveryTimes()
5827 DisplayPipeRequestDeliveryTimeChroma[k] = in CalculatePixelDeliveryTimes()
5828 DisplayPipeLineDeliveryTimeChroma[k] / req_per_swath_ub; in CalculatePixelDeliveryTimes()
5829 DisplayPipeRequestDeliveryTimeChromaPrefetch[k] = in CalculatePixelDeliveryTimes()
5830 DisplayPipeLineDeliveryTimeChromaPrefetch[k] / req_per_swath_ub; in CalculatePixelDeliveryTimes()
5903 unsigned int k; in CalculateMetaAndPTETimes() local
5905 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateMetaAndPTETimes()
5907 DST_Y_PER_PTE_ROW_NOM_L[k] = dpte_row_height[k] / VRatio[k]; in CalculateMetaAndPTETimes()
5908 if (BytePerPixelDETC[k] == 0) { in CalculateMetaAndPTETimes()
5909 DST_Y_PER_PTE_ROW_NOM_C[k] = 0; in CalculateMetaAndPTETimes()
5911 DST_Y_PER_PTE_ROW_NOM_C[k] = dpte_row_height_chroma[k] / (VRatio[k] / 2); in CalculateMetaAndPTETimes()
5914 DST_Y_PER_PTE_ROW_NOM_L[k] = 0; in CalculateMetaAndPTETimes()
5915 DST_Y_PER_PTE_ROW_NOM_C[k] = 0; in CalculateMetaAndPTETimes()
5917 if (DCCEnable[k] == true) { in CalculateMetaAndPTETimes()
5918 DST_Y_PER_META_ROW_NOM_L[k] = meta_row_height[k] / VRatio[k]; in CalculateMetaAndPTETimes()
5920 DST_Y_PER_META_ROW_NOM_L[k] = 0; in CalculateMetaAndPTETimes()
5924 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateMetaAndPTETimes()
5925 if (DCCEnable[k] == true) { in CalculateMetaAndPTETimes()
5927 / dml_ceil(BytePerPixelDETY[k], 1) / meta_row_height[k]; in CalculateMetaAndPTETimes()
5929 / dml_ceil(BytePerPixelDETY[k], 1) / meta_row_height[k]; in CalculateMetaAndPTETimes()
5930 meta_chunk_per_row_int = meta_row_width[k] / meta_chunk_width; in CalculateMetaAndPTETimes()
5931 meta_row_remainder = meta_row_width[k] % meta_chunk_width; in CalculateMetaAndPTETimes()
5932 if (SourceScan[k] == dm_horz) { in CalculateMetaAndPTETimes()
5933 meta_chunk_threshold = 2 * min_meta_chunk_width - meta_req_width[k]; in CalculateMetaAndPTETimes()
5936 - meta_req_height[k]; in CalculateMetaAndPTETimes()
5943 TimePerMetaChunkNominal[k] = meta_row_height[k] / VRatio[k] * HTotal[k] in CalculateMetaAndPTETimes()
5944 / PixelClock[k] / meta_chunks_per_row_ub; in CalculateMetaAndPTETimes()
5945 TimePerMetaChunkVBlank[k] = DestinationLinesToRequestRowInVBlank[k] in CalculateMetaAndPTETimes()
5946 * HTotal[k] / PixelClock[k] / meta_chunks_per_row_ub; in CalculateMetaAndPTETimes()
5947 TimePerMetaChunkFlip[k] = DestinationLinesToRequestRowInImmediateFlip[k] in CalculateMetaAndPTETimes()
5948 * HTotal[k] / PixelClock[k] / meta_chunks_per_row_ub; in CalculateMetaAndPTETimes()
5950 TimePerMetaChunkNominal[k] = 0; in CalculateMetaAndPTETimes()
5951 TimePerMetaChunkVBlank[k] = 0; in CalculateMetaAndPTETimes()
5952 TimePerMetaChunkFlip[k] = 0; in CalculateMetaAndPTETimes()
5956 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateMetaAndPTETimes()
5958 if (SourceScan[k] == dm_horz) { in CalculateMetaAndPTETimes()
5959 dpte_group_width_luma = dpte_group_bytes[k] / PTERequestSizeY[k] in CalculateMetaAndPTETimes()
5960 * PixelPTEReqWidthY[k]; in CalculateMetaAndPTETimes()
5962 dpte_group_width_luma = dpte_group_bytes[k] / PTERequestSizeY[k] in CalculateMetaAndPTETimes()
5963 * PixelPTEReqHeightY[k]; in CalculateMetaAndPTETimes()
5966 (float) dpte_row_width_luma_ub[k] / dpte_group_width_luma, in CalculateMetaAndPTETimes()
5968 time_per_pte_group_nom_luma[k] = DST_Y_PER_PTE_ROW_NOM_L[k] * HTotal[k] in CalculateMetaAndPTETimes()
5969 / PixelClock[k] / dpte_groups_per_row_luma_ub; in CalculateMetaAndPTETimes()
5970 time_per_pte_group_vblank_luma[k] = DestinationLinesToRequestRowInVBlank[k] in CalculateMetaAndPTETimes()
5971 * HTotal[k] / PixelClock[k] / dpte_groups_per_row_luma_ub; in CalculateMetaAndPTETimes()
5972 time_per_pte_group_flip_luma[k] = in CalculateMetaAndPTETimes()
5973 DestinationLinesToRequestRowInImmediateFlip[k] * HTotal[k] in CalculateMetaAndPTETimes()
5974 / PixelClock[k] in CalculateMetaAndPTETimes()
5976 if (BytePerPixelDETC[k] == 0) { in CalculateMetaAndPTETimes()
5977 time_per_pte_group_nom_chroma[k] = 0; in CalculateMetaAndPTETimes()
5978 time_per_pte_group_vblank_chroma[k] = 0; in CalculateMetaAndPTETimes()
5979 time_per_pte_group_flip_chroma[k] = 0; in CalculateMetaAndPTETimes()
5981 if (SourceScan[k] == dm_horz) { in CalculateMetaAndPTETimes()
5982 dpte_group_width_chroma = dpte_group_bytes[k] in CalculateMetaAndPTETimes()
5983 / PTERequestSizeC[k] * PixelPTEReqWidthC[k]; in CalculateMetaAndPTETimes()
5985 dpte_group_width_chroma = dpte_group_bytes[k] in CalculateMetaAndPTETimes()
5986 / PTERequestSizeC[k] in CalculateMetaAndPTETimes()
5987 * PixelPTEReqHeightC[k]; in CalculateMetaAndPTETimes()
5990 (float) dpte_row_width_chroma_ub[k] in CalculateMetaAndPTETimes()
5993 time_per_pte_group_nom_chroma[k] = DST_Y_PER_PTE_ROW_NOM_C[k] in CalculateMetaAndPTETimes()
5994 * HTotal[k] / PixelClock[k] in CalculateMetaAndPTETimes()
5996 time_per_pte_group_vblank_chroma[k] = in CalculateMetaAndPTETimes()
5997 DestinationLinesToRequestRowInVBlank[k] * HTotal[k] in CalculateMetaAndPTETimes()
5998 / PixelClock[k] in CalculateMetaAndPTETimes()
6000 time_per_pte_group_flip_chroma[k] = in CalculateMetaAndPTETimes()
6001 DestinationLinesToRequestRowInImmediateFlip[k] in CalculateMetaAndPTETimes()
6002 * HTotal[k] / PixelClock[k] in CalculateMetaAndPTETimes()
6006 time_per_pte_group_nom_luma[k] = 0; in CalculateMetaAndPTETimes()
6007 time_per_pte_group_vblank_luma[k] = 0; in CalculateMetaAndPTETimes()
6008 time_per_pte_group_flip_luma[k] = 0; in CalculateMetaAndPTETimes()
6009 time_per_pte_group_nom_chroma[k] = 0; in CalculateMetaAndPTETimes()
6010 time_per_pte_group_vblank_chroma[k] = 0; in CalculateMetaAndPTETimes()
6011 time_per_pte_group_flip_chroma[k] = 0; in CalculateMetaAndPTETimes()
6015 for (k = 0; k < NumberOfActivePlanes; ++k) { in CalculateMetaAndPTETimes()
6016 if (GPUVMEnable == true && (DCCEnable[k] == true || GPUVMMaxPageTableLevels > 1)) { in CalculateMetaAndPTETimes()
6017 if (DCCEnable[k] == false) { in CalculateMetaAndPTETimes()
6018 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6020 dml_ceil((double) (dpde0_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6021 + dml_ceil((double) (dpde0_bytes_per_frame_ub_c[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6024 dml_ceil((double) (dpde0_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6028 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6030 dml_ceil((double) (meta_pte_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6031 + dml_ceil((double) (meta_pte_bytes_per_frame_ub_c[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6034 dml_ceil((double) (meta_pte_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6037 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6039 dml_ceil((double) (dpde0_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6040 + dml_ceil((double) (dpde0_bytes_per_frame_ub_c[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6041 + dml_ceil((double) (meta_pte_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6042 + dml_ceil((double) (meta_pte_bytes_per_frame_ub_c[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6045 dml_ceil((double) (dpde0_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1) in CalculateMetaAndPTETimes()
6046 + dml_ceil((double) (meta_pte_bytes_per_frame_ub_l[k]) / (double) (vm_group_bytes[k]), 1); in CalculateMetaAndPTETimes()
6051 if (DCCEnable[k] == false) { in CalculateMetaAndPTETimes()
6052 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6053 num_req_per_lower_vm_stage = dpde0_bytes_per_frame_ub_l[k] in CalculateMetaAndPTETimes()
6054 / 64 + dpde0_bytes_per_frame_ub_c[k] / 64; in CalculateMetaAndPTETimes()
6056 num_req_per_lower_vm_stage = dpde0_bytes_per_frame_ub_l[k] in CalculateMetaAndPTETimes()
6061 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6062 num_req_per_lower_vm_stage = meta_pte_bytes_per_frame_ub_l[k] / 64 in CalculateMetaAndPTETimes()
6063 + meta_pte_bytes_per_frame_ub_c[k] / 64; in CalculateMetaAndPTETimes()
6065 num_req_per_lower_vm_stage = meta_pte_bytes_per_frame_ub_l[k] / 64; in CalculateMetaAndPTETimes()
6068 if (BytePerPixelDETC[k] > 0) { in CalculateMetaAndPTETimes()
6069 num_req_per_lower_vm_stage = dpde0_bytes_per_frame_ub_l[k] / 64 in CalculateMetaAndPTETimes()
6070 + dpde0_bytes_per_frame_ub_c[k] / 64 in CalculateMetaAndPTETimes()
6071 + meta_pte_bytes_per_frame_ub_l[k] / 64 in CalculateMetaAndPTETimes()
6072 + meta_pte_bytes_per_frame_ub_c[k] / 64; in CalculateMetaAndPTETimes()
6074 num_req_per_lower_vm_stage = dpde0_bytes_per_frame_ub_l[k] / 64 in CalculateMetaAndPTETimes()
6075 + meta_pte_bytes_per_frame_ub_l[k] / 64; in CalculateMetaAndPTETimes()
6080 TimePerVMGroupVBlank[k] = DestinationLinesToRequestVMInVBlank[k] * HTotal[k] in CalculateMetaAndPTETimes()
6081 / PixelClock[k] / num_group_per_lower_vm_stage; in CalculateMetaAndPTETimes()
6082 TimePerVMGroupFlip[k] = DestinationLinesToRequestVMInImmediateFlip[k] in CalculateMetaAndPTETimes()
6083 * HTotal[k] / PixelClock[k] / num_group_per_lower_vm_stage; in CalculateMetaAndPTETimes()
6084 TimePerVMRequestVBlank[k] = DestinationLinesToRequestVMInVBlank[k] in CalculateMetaAndPTETimes()
6085 * HTotal[k] / PixelClock[k] / num_req_per_lower_vm_stage; in CalculateMetaAndPTETimes()
6086 TimePerVMRequestFlip[k] = DestinationLinesToRequestVMInImmediateFlip[k] in CalculateMetaAndPTETimes()
6087 * HTotal[k] / PixelClock[k] / num_req_per_lower_vm_stage; in CalculateMetaAndPTETimes()
6090 TimePerVMGroupVBlank[k] = TimePerVMGroupVBlank[k] / 2; in CalculateMetaAndPTETimes()
6091 TimePerVMGroupFlip[k] = TimePerVMGroupFlip[k] / 2; in CalculateMetaAndPTETimes()
6092 TimePerVMRequestVBlank[k] = TimePerVMRequestVBlank[k] / 2; in CalculateMetaAndPTETimes()
6093 TimePerVMRequestFlip[k] = TimePerVMRequestFlip[k] / 2; in CalculateMetaAndPTETimes()
6097 TimePerVMGroupVBlank[k] = 0; in CalculateMetaAndPTETimes()
6098 TimePerVMGroupFlip[k] = 0; in CalculateMetaAndPTETimes()
6099 TimePerVMRequestVBlank[k] = 0; in CalculateMetaAndPTETimes()
6100 TimePerVMRequestFlip[k] = 0; in CalculateMetaAndPTETimes()
6142 int k; in CalculateExtraLatency() local
6144 for (k = 0; k < NumberOfActivePlanes; k++) { in CalculateExtraLatency()
6146 + NumberOfDPP[k] * dpte_group_bytes[k] in CalculateExtraLatency()