code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   version="1.1"
   id="svg2019"
   width="1702"
   height="1845"
   viewBox="0 0 1702 1845"
   sodipodi:docname="dcn3_cm_drm_current.svg"
   inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:svg="http://www.w3.org/2000/svg">
  <defs
     id="defs2023" />
  <sodipodi:namedview
     id="namedview2021"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageshadow="2"
     inkscape:pageopacity="0.0"
     inkscape:pagecheckerboard="0"
     showgrid="false"
     inkscape:zoom="0.55760543"
     inkscape:cx="1011.4679"
     inkscape:cy="249.28021"
     inkscape:window-width="1920"
     inkscape:window-height="1011"
     inkscape:window-x="0"
     inkscape:window-y="0"
     inkscape:window-maximized="1"
     inkscape:current-layer="g2025" />
  <g
     inkscape:groupmode="layer"
     inkscape:label="Image"
     id="g2025">
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect34"
       width="208.83351"
       height="486.09872"
       x="0.90158081"
       y="132.77872" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1019"
       width="126.38867"
       height="55.320732"
       x="25.960823"
       y="188.06937" />
    <rect
       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1021"
       width="126.38867"
       height="55.320732"
       x="25.960823"
       y="346.06937" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1103"
       width="126.38867"
       height="55.320732"
       x="25.960823"
       y="266.06937" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1105"
       width="126.38867"
       height="55.320732"
       x="25.960823"
       y="426.06937" />
    <rect
       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1107"
       width="126.38867"
       height="55.320732"
       x="25.960823"
       y="506.06934" />
    <path
       d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
       id="path381056"
       sodipodi:nodetypes="cccccccccc"
       style="stroke-width:0.205176"
       inkscape:transform-center-x="-325.50819"
       inkscape:transform-center-y="-121.97185" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect1131"
       width="239.47592"
       height="1015.9909"
       x="298.65631"
       y="82.399658" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1"
       id="rect1133"
       width="340.44653"
       height="525.77448"
       x="298.79562"
       y="1142.5299" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect1237"
       width="284.00113"
       height="945.41412"
       x="827.75012"
       y="82.880798"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect1239"
       width="239.37569"
       height="179.03308"
       x="1356.9507"
       y="98.758331" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1"
       id="rect1241"
       width="239.4184"
       height="713.64905"
       x="1356.9543"
       y="307.7951"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect1345"
       width="330.32059"
       height="409.44757"
       x="1363.8723"
       y="1147.7572" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1"
       id="rect1347"
       width="369.8941"
       height="682.32245"
       x="825.72528"
       y="1146.6448"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1349"
       width="163.95746"
       height="40.144867"
       x="1389.9988"
       y="190.80583" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1"
       id="rect1619"
       width="271.99091"
       height="42.038273"
       x="1393.981"
       y="1197.161"
       inkscape:connector-avoid="true" />
    <path
       d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
       id="path106-1"
       sodipodi:nodetypes="cccccccccc"
       style="stroke-width:0.205176"
       inkscape:transform-center-x="-325.50819"
       inkscape:transform-center-y="-121.97185" />
    <path
       d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z"
       id="path106-1-7"
       sodipodi:nodetypes="cccccccccc"
       style="stroke-width:0.205176"
       inkscape:transform-center-x="-325.50819"
       inkscape:transform-center-y="-121.97185" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1623"
       width="137.32646"
       height="41.782684"
       x="1396.3848"
       y="1268.2837"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1705"
       width="137.32646"
       height="41.782684"
       x="1396.3848"
       y="1348.2837" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1707"
       width="137.32646"
       height="41.782684"
       x="1396.3848"
       y="1432.2837" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1731"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="190.42665"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1813"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="254.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1815"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="318.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1817"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="412.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1819"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="560.42664" />
    <rect
       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1821"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="674.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1823"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="744.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1825"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="820.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1827"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="890.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1829"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="956.42664"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1831"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1256.4268" />
    <rect
       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1833"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1402.4268" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1915"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1330.4268"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1917"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1478.4268" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1919"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1548.4268" />
    <rect
       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1921"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1614.4268" />
    <rect
       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1923"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1686.4268" />
    <rect
       style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1925"
       width="222.34483"
       height="44.64616"
       x="867.36292"
       y="1754.4268" />
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect1925-3"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="134.37756" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect1954"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="276.37756"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
       id="rect1956"
       width="168.66573"
       height="122.14091"
       x="325.50134"
       y="358.6615"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect1958"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="672.37756" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect1960"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="744.37756" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
       id="rect1962"
       width="169.14041"
       height="54.756817"
       x="325.26404"
       y="814.42413"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
       id="rect1964"
       width="169.14041"
       height="54.756817"
       x="325.26404"
       y="886.42413"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1"
       id="rect1966"
       width="169.14041"
       height="54.756817"
       x="325.26404"
       y="952.42413"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect2418"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="510.37756"
       inkscape:connector-avoid="true" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect2422"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="1262.3777" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
       id="rect2424"
       width="169.12494"
       height="56.528603"
       x="325.27179"
       y="1322.432" />
    <rect
       style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1"
       id="rect2426"
       width="169.12494"
       height="56.528603"
       x="325.27179"
       y="1396.432" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1"
       id="rect2428"
       width="169.0854"
       height="61.19017"
       x="325.29156"
       y="1468.4518" />
    <rect
       style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1"
       id="rect2430"
       width="169.26669"
       height="41.344128"
       x="325.20093"
       y="1550.3611" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1"
       id="rect2432"
       width="287.86237"
       height="44.416805"
       x="325.34854"
       y="1194.5088" />
    <rect
       style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1"
       id="rect2434"
       width="285.86655"
       height="44.4207"
       x="867.34656"
       y="1194.5068" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2509" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2511" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2513" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2515" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2517" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2519" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2521" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2523" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2525" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2527" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2529" />
    <path
       style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0"
       d="m 867.36292,235.07281 v 0"
       id="path2531" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 449.83425,179.05653 v 33.6932 h 417.52867"
       id="path6876"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1925-3"
       inkscape:connection-end="#rect1731"
       sodipodi:nodetypes="ccc" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234"
       id="path6878"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1925-3"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 451.83425,321.05653 v 19.69319 h 415.52867"
       id="path7294"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1954"
       inkscape:connection-end="#rect1815"
       sodipodi:nodetypes="ccc" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292"
       id="path7296"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-end="#rect1817"
       inkscape:connection-start="#rect1954"
       sodipodi:nodetypes="cccc" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705"
       id="path7720"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 455.83425,594.37756 V 582.74972 H 867.36292"
       id="path7724"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect2420"
       inkscape:connection-end="#rect1819"
       sodipodi:nodetypes="ccc" />
    <rect
       style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1"
       id="rect2420"
       width="169.23357"
       height="44.678963"
       x="325.21747"
       y="594.37756" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.45103,696.74972 H 867.36292"
       id="path7726"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1958"
       inkscape:connection-end="#rect1821" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 867.36292,766.74972 H 494.45103"
       id="path7728"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1823"
       inkscape:connection-end="#rect1960" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292"
       id="path7730"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-end="#rect1831"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874"
       id="path8140"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1962"
       inkscape:connection-end="#rect1825" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874"
       id="path8142"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1964"
       inkscape:connection-end="#rect1827" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874"
       id="path8144"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1966"
       inkscape:connection-end="#rect1829" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.39673,1352.7498 H 867.36292"
       id="path8146"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect2424"
       inkscape:connection-end="#rect1915" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.39673,1424.7498 H 867.36292"
       id="path8148"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect2426"
       inkscape:connection-end="#rect1833" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 494.37697,1500.7498 H 867.36292"
       id="path8150"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect2428"
       inkscape:connection-end="#rect1917" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 494.46762,1570.7498 h 372.8953"
       id="path8152"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect2430"
       inkscape:connection-end="#rect1919" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368"
       id="path8154"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1623"
       inkscape:connection-end="#rect1819" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368"
       id="path8462"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1705"
       inkscape:connection-end="#rect1831"
       sodipodi:nodetypes="cccc" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="m 1089.7077,1500.7498 h 375.3403 v -26.6834"
       id="path8668"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1917"
       inkscape:connection-end="#rect1707" />
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 1389.9988,212.74973 H 1089.7077"
       id="path8672"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-start="#rect1349"
       inkscape:connection-end="#rect1731" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1"
       d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233"
       id="path8674"
       inkscape:connector-type="orthogonal"
       inkscape:connector-curvature="0"
       inkscape:connection-end="#rect1815"
       sodipodi:nodetypes="cccc" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="58.63356"
       y="69.574417"
       id="text28675"><tspan
         sodipodi:role="line"
         id="tspan28673"
         x="58.63356"
         y="69.574417" /></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="56.388252"
       y="221.86568"
       id="text31913"><tspan
         sodipodi:role="line"
         id="tspan31911"
         x="56.388252"
         y="221.86568">Matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="53.441296"
       y="300.866"
       id="text38843"><tspan
         sodipodi:role="line"
         id="tspan38841"
         x="53.441296"
         y="300.866">1D LUT</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="53.441296"
       y="378.866"
       id="text41049"><tspan
         sodipodi:role="line"
         id="tspan41047"
         x="53.441296"
         y="378.866">3D LUT</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="40.831493"
       y="460.87411"
       id="text45037"><tspan
         sodipodi:role="line"
         id="tspan45035"
         x="40.831493"
         y="460.87411"
         style="font-size:18.6667px">Unpacking</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="62.130371"
       y="540.68872"
       id="text49945"><tspan
         sodipodi:role="line"
         id="tspan49943"
         x="62.130371"
         y="540.68872"
         style="font-size:18.6667px">Other</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1423.2806"
       y="128.08769"
       id="text55719"><tspan
         sodipodi:role="line"
         id="tspan55717"
         x="1423.2806"
         y="128.08769"
         style="font-size:18.6667px">drm_framebuffer</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1439.9988"
       y="218.74973"
       id="text62479"><tspan
         sodipodi:role="line"
         id="tspan62477"
         x="1439.9988"
         y="218.74973"
         style="font-size:18.6667px">format</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1475.2806"
       y="340.08771"
       id="text64465"><tspan
         sodipodi:role="line"
         id="tspan64463"
         x="1475.2806"
         y="340.08771"
         style="font-size:18.6667px">drm_plane</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1589.2806"
       y="1178.0876"
       id="text64469"><tspan
         sodipodi:role="line"
         id="tspan64467"
         x="1589.2806"
         y="1178.0876"
         style="font-size:18.6667px">drm_crtc</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="872.23993"
       y="1172.4491"
       id="text64469-9"><tspan
         sodipodi:role="line"
         id="tspan64467-2"
         x="872.23993"
         y="1172.4491"
         style="font-size:18.6667px">Stream</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="328.26071"
       y="1175.6371"
       id="text64469-9-2"><tspan
         sodipodi:role="line"
         id="tspan64467-2-8"
         x="328.26071"
         y="1175.6371"
         style="font-size:18.6667px">MPC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="330.14737"
       y="114.41869"
       id="text64469-9-9"><tspan
         sodipodi:role="line"
         id="tspan64467-2-7"
         x="330.14737"
         y="114.41869"
         style="font-size:18.6667px">DPP</tspan></text>
    <path
       d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z"
       id="path106"
       sodipodi:nodetypes="cccccccccc"
       style="stroke-width:0.205176"
       inkscape:transform-center-x="-325.50819"
       inkscape:transform-center-y="-121.97185" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1495.9988"
       y="1224.7498"
       id="text78849"><tspan
         sodipodi:role="line"
         id="tspan78847"
         x="1495.9988"
         y="1224.7498"
         style="font-size:18.6667px">Blender</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1417.9988"
       y="1294.7498"
       id="text78853"><tspan
         sodipodi:role="line"
         id="tspan78851"
         x="1417.9988"
         y="1294.7498"
         style="font-size:18.6667px">Degamma</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1451.9988"
       y="1376.7498"
       id="text78857"><tspan
         sodipodi:role="line"
         id="tspan78855"
         x="1451.9988"
         y="1376.7498"
         style="font-size:18.6667px">CTM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1427.9988"
       y="1458.7498"
       id="text78861"><tspan
         sodipodi:role="line"
         id="tspan78859"
         x="1427.9988"
         y="1458.7498"
         style="font-size:18.6667px">Gamma</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="949.99878"
       y="218.74973"
       id="text104653"><tspan
         sodipodi:role="line"
         id="tspan104651"
         x="949.99878"
         y="218.74973"
         style="font-size:18.6667px">format</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="911.99878"
       y="284.74973"
       id="text104657"><tspan
         sodipodi:role="line"
         id="tspan104655"
         x="911.99878"
         y="284.74973"
         style="font-size:18.6667px">bias_and_scale</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="887.99878"
       y="346.74973"
       id="text104661"><tspan
         sodipodi:role="line"
         id="tspan104659"
         x="887.99878"
         y="346.74973"
         style="font-size:18.6667px">color space matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="871.99878"
       y="442.74973"
       id="text104665"><tspan
         sodipodi:role="line"
         id="tspan104663"
         x="871.99878"
         y="442.74973"
         style="font-size:18.6667px">input_csc_color_matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="905.99878"
       y="586.74976"
       id="text125075"><tspan
         sodipodi:role="line"
         id="tspan125073"
         x="905.99878"
         y="586.74976"
         style="font-size:18.6667px">in_transfer_func</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="945.0083"
       y="702.85938"
       id="text117309"><tspan
         sodipodi:role="line"
         id="tspan117307"
         x="945.0083"
         y="702.85938"
         style="font-size:18.6667px">hdr_mult</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="874.5556"
       y="773.42615"
       id="text117309-6"><tspan
         sodipodi:role="line"
         id="tspan117307-7"
         x="874.5556"
         y="773.42615"
         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="913.72528"
       y="846.55896"
       id="text117309-5"><tspan
         sodipodi:role="line"
         id="tspan117307-3"
         x="913.72528"
         y="846.55896"
         style="font-size:18.6667px">in_shaper_func</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="937.72528"
       y="918.25787"
       id="text117309-56"><tspan
         sodipodi:role="line"
         id="tspan117307-2"
         x="937.72528"
         y="918.25787"
         style="font-size:18.6667px">lut3d_func</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="945.9895"
       y="986.10767"
       id="text117309-9"><tspan
         sodipodi:role="line"
         id="tspan117307-1"
         x="945.9895"
         y="986.10767"
         style="font-size:18.6667px">blend_tf</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="975.91803"
       y="1224.5564"
       id="text137434"><tspan
         sodipodi:role="line"
         id="tspan137432"
         x="975.91803"
         y="1224.5564"
         style="font-size:18.6667px">Blender</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="879.31372"
       y="1283.4249"
       id="text137434-2"><tspan
         sodipodi:role="line"
         id="tspan137432-7"
         x="879.31372"
         y="1283.4249"
         style="font-size:18.6667px">gamut_remap_matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="925.31372"
       y="1359.2747"
       id="text137434-0"><tspan
         sodipodi:role="line"
         id="tspan137432-9"
         x="925.31372"
         y="1359.2747"
         style="font-size:18.6667px">func_shaper</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="930.33252"
       y="1430.2566"
       id="text137434-3"><tspan
         sodipodi:role="line"
         id="tspan137432-6"
         x="930.33252"
         y="1430.2566"
         style="font-size:18.6667px">lut3d_func</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="900.18158"
       y="1504.6725"
       id="text137434-06"><tspan
         sodipodi:role="line"
         id="tspan137432-2"
         x="900.18158"
         y="1504.6725"
         style="font-size:18.6667px">out_transfer_func</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="904.0307"
       y="1575.8053"
       id="text137434-6"><tspan
         sodipodi:role="line"
         id="tspan137432-1"
         x="904.0307"
         y="1575.8053"
         style="font-size:18.6667px">csc_color_matrix</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="903.16278"
       y="1642.1078"
       id="text137434-8"><tspan
         sodipodi:role="line"
         id="tspan137432-79"
         x="903.16278"
         y="1642.1078"
         style="font-size:18.6667px">bit_depth_param</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="939.31372"
       y="1713.8068"
       id="text137434-20"><tspan
         sodipodi:role="line"
         id="tspan137432-23"
         x="939.31372"
         y="1713.8068"
         style="font-size:18.6667px">clamping</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="894.0307"
       y="1782.5244"
       id="text137434-7"><tspan
         sodipodi:role="line"
         id="tspan137432-5"
         x="894.0307"
         y="1782.5244"
         style="font-size:18.6667px">output_color_space</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="869.63062"
       y="117.7968"
       id="text176429"><tspan
         sodipodi:role="line"
         id="tspan176427"
         x="869.63062"
         y="117.7968"
         style="font-size:18.6667px">Plane</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="27.605465"
       y="162.20587"
       id="text176429-2"><tspan
         sodipodi:role="line"
         id="tspan176427-0"
         x="27.605465"
         y="162.20587"
         style="font-size:18.6667px">Legend</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="298.63959"
       y="59.293999"
       id="text176429-9"><tspan
         sodipodi:role="line"
         id="tspan176427-2"
         x="298.63959"
         y="59.293999"
         style="font-size:18.6667px">DCN 3.0</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="826.65735"
       y="59.458061"
       id="text176429-66"><tspan
         sodipodi:role="line"
         id="tspan176427-4"
         x="826.65735"
         y="59.458061"
         style="font-size:18.6667px">DC Interface</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1362.9948"
       y="59.458061"
       id="text176429-95"><tspan
         sodipodi:role="line"
         id="tspan176427-04"
         x="1362.9948"
         y="59.458061"
         style="font-size:18.6667px">DRM Interface</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="867.34656"
       y="1194.5068"
       id="text184728"><tspan
         sodipodi:role="line"
         id="tspan184726"
         x="867.34656"
         y="1194.5068" /></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="389.01593"
       y="159.8909"
       id="text64469-9-3"><tspan
         sodipodi:role="line"
         id="tspan64467-2-6"
         x="389.01593"
         y="159.8909"
         style="font-size:18.6667px">CNVC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="365.88379"
       y="303.59048"
       id="text64469-9-1"><tspan
         sodipodi:role="line"
         id="tspan64467-2-2"
         x="365.88379"
         y="303.59048"
         style="font-size:18.6667px">Input CSC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="413.06488"
       y="390.95001"
       id="text64469-9-93"><tspan
         sodipodi:role="line"
         id="tspan64467-2-1"
         x="413.06488"
         y="390.95001"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan
         sodipodi:role="line"
         x="413.06488"
         y="414.28339"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan233797">ROM</tspan><tspan
         sodipodi:role="line"
         x="413.06488"
         y="437.61676"
         style="font-size:10.6667px;text-align:center;text-anchor:middle"
         id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan
         sodipodi:role="line"
         x="413.06488"
         y="460.95013"
         style="font-size:10.6667px;text-align:center;text-anchor:middle"
         id="tspan242597">PQ, HLG)</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="372.44986"
       y="538.83807"
       id="text64469-9-94"><tspan
         sodipodi:role="line"
         id="tspan64467-2-78"
         x="372.44986"
         y="538.83807"
         style="font-size:18.6667px">Post CSC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="335.31775"
       y="622.23511"
       id="text64469-9-4"><tspan
         sodipodi:role="line"
         id="tspan64467-2-5"
         x="335.31775"
         y="622.23511"
         style="font-size:16px">Gamma Correction</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="351.16684"
       y="700.34918"
       id="text64469-9-0"><tspan
         sodipodi:role="line"
         id="tspan64467-2-3"
         x="351.16684"
         y="700.34918"
         style="font-size:18.6667px">HDR Multiply</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="345.16684"
       y="771.33112"
       id="text64469-9-6"><tspan
         sodipodi:role="line"
         id="tspan64467-2-10"
         x="345.16684"
         y="771.33112"
         style="font-size:18.6667px">Gamut Remap</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="412.5184"
       y="836.04877"
       id="text64469-9-63"><tspan
         sodipodi:role="line"
         id="tspan64467-2-20"
         x="412.5184"
         y="836.04877"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
         sodipodi:role="line"
         x="412.5184"
         y="859.38214"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan222533">RAM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="413.54086"
       y="908.61554"
       id="text64469-9-61"><tspan
         sodipodi:role="line"
         id="tspan64467-2-55"
         x="413.54086"
         y="908.61554"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
         sodipodi:role="line"
         x="413.54086"
         y="931.94891"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan221121">RAM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="344.0347"
       y="985.33319"
       id="text64469-9-47"><tspan
         sodipodi:role="line"
         id="tspan64467-2-65"
         x="344.0347"
         y="985.33319"
         style="font-size:18.6667px">Blend Gamma</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="433.84625"
       y="1223.411"
       id="text64469-9-69"><tspan
         sodipodi:role="line"
         id="tspan64467-2-37"
         x="433.84625"
         y="1223.411"
         style="font-size:18.6667px">Blender</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="343.73291"
       y="1290.2421"
       id="text64469-9-45"><tspan
         sodipodi:role="line"
         id="tspan64467-2-25"
         x="343.73291"
         y="1290.2421"
         style="font-size:18.6667px">Gamut Remap</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="408.74442"
       y="1344.2428"
       id="text64469-9-474"><tspan
         sodipodi:role="line"
         id="tspan64467-2-4"
         x="408.74442"
         y="1344.2428"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan
         sodipodi:role="line"
         x="408.74442"
         y="1367.5762"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan208303">RAM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="407.1257"
       y="1420.2435"
       id="text64469-9-30"><tspan
         sodipodi:role="line"
         id="tspan64467-2-786"
         x="407.1257"
         y="1420.2435"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan
         sodipodi:role="line"
         x="407.1257"
         y="1443.5769"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan204749">RAM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="408.64996"
       y="1492.8102"
       id="text64469-9-8"><tspan
         sodipodi:role="line"
         id="tspan64467-2-84"
         x="408.64996"
         y="1492.8102"
         style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan
         sodipodi:role="line"
         x="408.64996"
         y="1516.1436"
         style="font-size:18.6667px;text-align:center;text-anchor:middle"
         id="tspan197733">RAM</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="385.46863"
       y="1575.2261"
       id="text64469-9-31"><tspan
         sodipodi:role="line"
         id="tspan64467-2-49"
         x="385.46863"
         y="1575.2261"
         style="font-size:18.6667px">OCSC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1356.5106"
       y="53.140579"
       id="text273287"><tspan
         sodipodi:role="line"
         id="tspan273285"
         x="1356.5106"
         y="53.140579" /></text>
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1411"
       width="177.28049"
       height="38.940468"
       x="1392.2576"
       y="459.24118" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1411.7203"
       y="485.93231"
       id="text78841"><tspan
         sodipodi:role="line"
         id="tspan78839"
         x="1411.7203"
         y="485.93231"
         style="font-size:18.6667px">color_encoding</tspan></text>
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect1515"
       width="175.11876"
       height="43.239407"
       x="1393.7493"
       y="525.6983" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1399.212"
       y="553.44904"
       id="text78845"><tspan
         sodipodi:role="line"
         id="tspan78843"
         x="1399.212"
         y="553.44904">pixel_blend_mode</tspan></text>
    <rect
       style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1"
       id="rect371322"
       width="177.28049"
       height="38.940468"
       x="1391.6781"
       y="385.61713" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none"
       x="1427.5771"
       y="409.29523"
       id="text78837"><tspan
         sodipodi:role="line"
         id="tspan78835"
         x="1427.5771"
         y="409.29523"
         style="font-size:18.6667px">color_range</tspan></text>
    <path
       d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
       id="path371636-7"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
       id="path371636-7-2"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-7"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-22"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-6"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-1"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-0"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-61"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-5"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-9"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-4"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-90"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z"
       id="path371636-7-91"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
       id="path371636-7-77"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
       id="path371636-7-11"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
    <path
       d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z"
       id="path371636-7-59"
       sodipodi:nodetypes="cccccc"
       style="stroke-width:0.262672"
       inkscape:transform-center-x="-416.72543"
       inkscape:transform-center-y="-156.15191" />
  </g>
</svg>

repo_name: angery/linux


code:
======================
AMDgpu Display Manager
======================

.. contents:: Table of Contents
    :depth: 3

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :doc: overview

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
   :internal:

Lifecycle
=========

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :doc: DM Lifecycle

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :functions: dm_hw_init dm_hw_fini

Interrupts
==========

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
   :doc: overview

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c
   :internal:

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :functions: register_hpd_handlers dm_crtc_high_irq dm_pflip_high_irq

Atomic Implementation
=====================

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :doc: atomic

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
   :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail

Color Management Properties
===========================

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
   :doc: overview

.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
   :internal:

DC Color Capabilities between DCN generations
---------------------------------------------

DRM/KMS framework defines three CRTC color correction properties: degamma,
color transformation matrix (CTM) and gamma, and two properties for degamma and
gamma LUT sizes. AMD DC programs some of the color correction features
pre-blending but DRM/KMS has not per-plane color correction properties.

In general, the DRM CRTC color properties are programmed to DC, as follows:
CRTC gamma after blending, and CRTC degamma pre-blending. Although CTM is
programmed after blending, it is mapped to DPP hw blocks (pre-blending). Other
color caps available in the hw is not currently exposed by DRM interface and
are bypassed.

.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
   :doc: color-management-caps

.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h
   :internal:

The color pipeline has undergone major changes between DCN hardware
generations. What's possible to do before and after blending depends on
hardware capabilities, as illustrated below by the DCN 2.0 and DCN 3.0 families
schemas.

**DCN 2.0 family color caps and mapping**

.. kernel-figure:: dcn2_cm_drm_current.svg

**DCN 3.0 family color caps and mapping**

.. kernel-figure:: dcn3_cm_drm_current.svg

Blend Mode Properties
=====================

Pixel blend mode is a DRM plane composition property of :c:type:`drm_plane` used to
describes how pixels from a foreground plane (fg) are composited with the
background plane (bg). Here, we present main concepts of DRM blend mode to help
to understand how this property is mapped to AMD DC interface. See more about
this DRM property and the alpha blending equations in :ref:`DRM Plane
Composition Properties <plane_composition_properties>`.

Basically, a blend mode sets the alpha blending equation for plane
composition that fits the mode in which the alpha channel affects the state of
pixel color values and, therefore, the resulted pixel color. For
example, consider the following elements of the alpha blending equation:

- *fg.rgb*: Each of the RGB component values from the foreground's pixel.
- *fg.alpha*: Alpha component value from the foreground's pixel.
- *bg.rgb*: Each of the RGB component values from the background.
- *plane_alpha*: Plane alpha value set by the **plane "alpha" property**, see
  more in :ref:`DRM Plane Composition Properties <plane_composition_properties>`.

in the basic alpha blending equation::

   out.rgb = alpha * fg.rgb + (1 - alpha) * bg.rgb

the alpha channel value of each pixel in a plane is ignored and only the plane
alpha affects the resulted pixel color values.

DRM has three blend mode to define the blend formula in the plane composition:

* **None**: Blend formula that ignores the pixel alpha.

* **Pre-multiplied**: Blend formula that assumes the pixel color values in a
  plane was already pre-multiplied by its own alpha channel before storage.

* **Coverage**: Blend formula that assumes the pixel color values were not
  pre-multiplied with the alpha channel values.

and pre-multiplied is the default pixel blend mode, that means, when no blend
mode property is created or defined, DRM considers the plane's pixels has
pre-multiplied color values. On IGT GPU tools, the kms_plane_alpha_blend test
provides a set of subtests to verify plane alpha and blend mode properties.

The DRM blend mode and its elements are then mapped by AMDGPU display manager
(DM) to program the blending configuration of the Multiple Pipe/Plane Combined
(MPC), as follows:

.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
   :doc: mpc-overview

.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
   :functions: mpcc_blnd_cfg

Therefore, the blending configuration for a single MPCC instance on the MPC
tree is defined by :c:type:`mpcc_blnd_cfg`, where
:c:type:`pre_multiplied_alpha` is the alpha pre-multiplied mode flag used to
set :c:type:`MPCC_ALPHA_MULTIPLIED_MODE`. It controls whether alpha is
multiplied (true/false), being only true for DRM pre-multiplied blend mode.
:c:type:`mpcc_alpha_blend_mode` defines the alpha blend mode regarding pixel
alpha and plane alpha values. It sets one of the three modes for
:c:type:`MPCC_ALPHA_BLND_MODE`, as described below.

.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
   :functions: mpcc_alpha_blend_mode

DM then maps the elements of `enum mpcc_alpha_blend_mode` to those in the DRM
blend formula, as follows:

* *MPC pixel alpha* matches *DRM fg.alpha* as the alpha component value
  from the plane's pixel
* *MPC global alpha* matches *DRM plane_alpha* when the pixel alpha should
  be ignored and, therefore, pixel values are not pre-multiplied
* *MPC global gain* assumes *MPC global alpha* value when both *DRM
  fg.alpha* and *DRM plane_alpha* participate in the blend equation

In short, *fg.alpha* is ignored by selecting
:c:type:`MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA`. On the other hand, (plane_alpha *
fg.alpha) component becomes available by selecting
:c:type:`MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN`. And the
:c:type:`MPCC_ALPHA_MULTIPLIED_MODE` defines if the pixel color values are
pre-multiplied by alpha or not.

Blend configuration flow
------------------------

The alpha blending equation is configured from DRM to DC interface by the
following path:

1. When updating a :c:type:`drm_plane_state <drm_plane_state>`, DM calls
   :c:type:`fill_blending_from_plane_state()` that maps
   :c:type:`drm_plane_state <drm_plane_state>` attributes to
   :c:type:`dc_plane_info <dc_plane_info>` struct to be handled in the
   OS-agnostic component (DC).

2. On DC interface, :c:type:`struct mpcc_blnd_cfg <mpcc_blnd_cfg>` programs the
   MPCC blend configuration considering the :c:type:`dc_plane_info
   <dc_plane_info>` input from DPP.


code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="232.24133mm"
   height="96.174995mm"
   viewBox="0 0 232.24133 96.174995"
   version="1.1"
   id="svg8"
   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
   sodipodi:docname="global_sync_vblank.svg">
  <defs
     id="defs2">
    <marker
       inkscape:stockid="Arrow2Mend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Mend"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path862"
         style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="scale(-0.6)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Send"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Send"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path868"
         style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-0.3,0,0,-0.3,0.69,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Lend"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path856"
         style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker1719"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path1717"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:1.00000003pt;stroke-opacity:1"
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker1661"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path1659"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:1.00000003pt;stroke-opacity:1"
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:isstock="true"
       style="overflow:visible"
       id="marker1311"
       refX="0"
       refY="0"
       orient="auto"
       inkscape:stockid="Arrow1Lend"
       inkscape:collect="always">
      <path
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         id="path1309"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:isstock="true"
       style="overflow:visible"
       id="marker1253"
       refX="0"
       refY="0"
       orient="auto"
       inkscape:stockid="Arrow1Lstart">
      <path
         transform="matrix(0.8,0,0,0.8,10,0)"
         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         id="path1251"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Lend"
       style="overflow:visible"
       inkscape:isstock="true"
       inkscape:collect="always">
      <path
         id="path838"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1"
         transform="matrix(-0.8,0,0,-0.8,-10,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Lstart"
       style="overflow:visible"
       inkscape:isstock="true"
       inkscape:collect="always">
      <path
         id="path835"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1"
         transform="matrix(0.8,0,0,0.8,10,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Send"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow1Send"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path850"
         d="M 0,0 5,-5 -12.5,0 5,5 Z"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
         transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Sstart"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Sstart"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path865"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(0.3,0,0,0.3,-0.69,0)"
         inkscape:connector-curvature="0" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Mend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Mend-2"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path862-3"
         style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="scale(-0.6)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Mend"
       orient="auto"
       refY="0"
       refX="0"
       id="Arrow2Mend-2-5"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path862-3-9"
         style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="scale(-0.6)" />
    </marker>
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="1.979899"
     inkscape:cx="747.52324"
     inkscape:cy="319.84503"
     inkscape:document-units="mm"
     inkscape:current-layer="layer1"
     showgrid="true"
     inkscape:window-width="3840"
     inkscape:window-height="2096"
     inkscape:window-x="0"
     inkscape:window-y="27"
     inkscape:window-maximized="1"
     fit-margin-top="0"
     fit-margin-left="0"
     fit-margin-right="0"
     fit-margin-bottom="0">
    <inkscape:grid
       type="xygrid"
       id="grid815"
       originx="15.282997"
       originy="-184.54792" />
  </sodipodi:namedview>
  <metadata
     id="metadata5">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title />
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1"
     transform="translate(15.282998,-16.277083)">
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="M 15.875,27.125001 V 16.541666 H 26.458333 V 27.125001 H 177.27084 V 16.541666 h 10.58333 v 10.583335 h 29.10416"
       id="path817"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccccccccc" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="M 15.875,37.708334 H 44.979166 V 48.291667 H 100.54167 V 37.708334 H 206.375 v 10.583333 h 10.58333"
       id="path819"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 15.875,66.8125 h 97.89583 V 56.229167 h 7.9375 V 66.8125 h 92.60417"
       id="path821"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="m 15.875,85.333334 c 0,0 132.29166,0 132.29166,0 V 74.75 h 15.875 v 10.583334 h 47.625"
       id="path823"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
       d="M 15.875,101.20833 H 187.85416 V 90.625 h 10.58334 v 10.58333 h 10.58333"
       id="path825"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916667, 0.52916667;stroke-dashoffset:0;stroke-opacity:1"
       d="M 100.54167,48.291667 V 111.79167"
       id="path827"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916667, 0.52916667;stroke-dashoffset:0;stroke-opacity:1"
       d="m 113.77083,66.8125 v 44.97917"
       id="path829"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916667, 0.52916667;stroke-dashoffset:0;stroke-opacity:1"
       d="M 206.375,48.291667 V 109.14583"
       id="path831"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#ff0000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend)"
       d="m 100.54167,106.5 h 13.22916"
       id="path833"
       inkscape:connector-curvature="0" />
    <path
       style="fill:none;stroke:#ff0000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker1253);marker-end:url(#marker1311)"
       d="M 113.77083,106.5 H 206.375"
       id="path1243"
       inkscape:connector-curvature="0" />
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="105.83333"
       y="111.79166"
       id="text1405"><tspan
         sodipodi:role="line"
         id="tspan1403"
         x="105.83333"
         y="111.79166"
         style="stroke-width:0.26458332">To</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="145.52083"
       y="111.79166"
       id="text1409"><tspan
         sodipodi:role="line"
         id="tspan1407"
         x="145.52083"
         y="111.79166"
         style="stroke-width:0.26458332">VStartup Period</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="156.01123"
       y="78.71875"
       id="text1413"><tspan
         sodipodi:role="line"
         x="156.01123"
         y="78.71875"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332"
         id="tspan1415">VUpdate</tspan><tspan
         sodipodi:role="line"
         x="156.01123"
         y="82.6875"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332"
         id="tspan1440">Width</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="173.77611"
       y="92.703873"
       id="text1413-3"><tspan
         sodipodi:role="line"
         id="tspan1411-6"
         x="173.77611"
         y="92.703873"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332">VReady</tspan><tspan
         sodipodi:role="line"
         x="173.77611"
         y="96.672623"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332"
         id="tspan1415-7">Offset</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="135.78951"
       y="70.78125"
       id="text1413-5"><tspan
         sodipodi:role="line"
         x="135.78951"
         y="70.78125"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332"
         id="tspan1440-5">VUpdate</tspan><tspan
         sodipodi:role="line"
         x="135.78951"
         y="74.75"
         style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332"
         id="tspan1465">Offset</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="137.39433"
       y="48.291664"
       id="text1479"><tspan
         sodipodi:role="line"
         id="tspan1477"
         x="137.39433"
         y="48.291664"
         style="font-weight:bold;stroke-width:0.26458332">VSTARTUP_START</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="-5.4806676"
       y="22.778271"
       id="text1479-1"><tspan
         sodipodi:role="line"
         id="tspan1477-2"
         x="-5.4806676"
         y="22.778271"
         style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332">VSYNC</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="-9.3767252"
       y="45.64584"
       id="text1479-1-7"><tspan
         sodipodi:role="line"
         id="tspan1477-2-0"
         x="-9.3767252"
         y="45.64584"
         style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VBlank</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="-15.310558"
       y="64.92263"
       id="text1479-1-7-9"><tspan
         sodipodi:role="line"
         id="tspan1477-2-0-3"
         x="-15.310558"
         y="64.92263"
         style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VStartup</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="-14.17781"
       y="85.144356"
       id="text1479-1-7-9-6"><tspan
         sodipodi:role="line"
         id="tspan1477-2-0-3-0"
         x="-14.17781"
         y="85.144356"
         style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VUpdate</tspan></text>
    <text
       xml:space="preserve"
       style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
       x="-11.052421"
       y="101.39733"
       id="text1479-1-7-9-6-6"><tspan
         sodipodi:role="line"
         id="tspan1477-2-0-3-0-2"
         x="-11.052421"
         y="101.39733"
         style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VReady</tspan></text>
    <g
       id="g5189"
       transform="translate(269.875,-14.287499)">
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="path5143"
         d="m -202.40625,45.645828 3.96875,-7.9375"
         style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="path5143-2"
         d="m -199.76042,45.645828 3.96874,-7.937499"
         style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
    </g>
    <g
       id="g5189-3"
       transform="translate(268.55209,7.9375003)">
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="path5143-6"
         d="m -202.40625,45.645828 3.96875,-7.9375"
         style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <path
         sodipodi:nodetypes="cc"
         inkscape:connector-curvature="0"
         id="path5143-2-1"
         d="m -199.76042,45.645828 3.96874,-7.937499"
         style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
    </g>
  </g>
</svg>


code:
.. _amdgpu-display-core:

===================================
drm/amd/display - Display Core (DC)
===================================

AMD display engine is partially shared with other operating systems; for this
reason, our Display Core Driver is divided into two pieces:

1. **Display Core (DC)** contains the OS-agnostic components. Things like
   hardware programming and resource management are handled here.
2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the
   amdgpu base driver and DRM are implemented here.

The display pipe is responsible for "scanning out" a rendered frame from the
GPU memory (also called VRAM, FrameBuffer, etc.) to a display. In other words,
it would:

1. Read frame information from memory;
2. Perform required transformation;
3. Send pixel data to sink devices.

If you want to learn more about our driver details, take a look at the below
table of content:

.. toctree::

   display-manager.rst
   dc-debug.rst
   dcn-overview.rst
   mpo-overview.rst
   dc-glossary.rst