Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation/gpu: Add basic overview of DC pipeline

This commit describes how DCN works by providing high-level diagrams
with an explanation of each component. In particular, it details the
Global Sync signals.

Change since V2:
- Add a comment about MMHUBBUB.

Reviewed-by: Yann Dirson <ydirson@free.fr>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Rodrigo Siqueira and committed by
Alex Deucher
522968ae 76659755

+2206 -12
+414
Documentation/gpu/amdgpu/display/config_example.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + xmlns:dc="http://purl.org/dc/elements/1.1/" 6 + xmlns:cc="http://creativecommons.org/ns#" 7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 + xmlns:svg="http://www.w3.org/2000/svg" 9 + xmlns="http://www.w3.org/2000/svg" 10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12 + width="144.63406mm" 13 + height="66.596054mm" 14 + viewBox="0 0 144.15195 66.596054" 15 + version="1.1" 16 + id="svg8" 17 + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" 18 + sodipodi:docname="config_example.svg"> 19 + <defs 20 + id="defs2"> 21 + <marker 22 + inkscape:stockid="Arrow1Mend" 23 + orient="auto" 24 + refY="0" 25 + refX="0" 26 + id="Arrow1Mend" 27 + style="overflow:visible" 28 + inkscape:isstock="true"> 29 + <path 30 + id="path4547" 31 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 32 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 33 + transform="matrix(-0.4,0,0,-0.4,-4,0)" 34 + inkscape:connector-curvature="0" /> 35 + </marker> 36 + <marker 37 + inkscape:stockid="Arrow1Mend" 38 + orient="auto" 39 + refY="0" 40 + refX="0" 41 + id="Arrow1Mend-3" 42 + style="overflow:visible" 43 + inkscape:isstock="true"> 44 + <path 45 + inkscape:connector-curvature="0" 46 + id="path4547-6" 47 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 48 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 49 + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="Arrow1Mend" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="Arrow1Mend-3-5" 57 + style="overflow:visible" 58 + inkscape:isstock="true"> 59 + <path 60 + inkscape:connector-curvature="0" 61 + id="path4547-6-3" 62 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 63 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 64 + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> 65 + </marker> 66 + <marker 67 + inkscape:stockid="Arrow1Mend" 68 + orient="auto" 69 + refY="0" 70 + refX="0" 71 + id="Arrow1Mend-3-5-0" 72 + style="overflow:visible" 73 + inkscape:isstock="true"> 74 + <path 75 + inkscape:connector-curvature="0" 76 + id="path4547-6-3-6" 77 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 78 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 79 + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> 80 + </marker> 81 + <marker 82 + inkscape:stockid="Arrow1Mend" 83 + orient="auto" 84 + refY="0" 85 + refX="0" 86 + id="Arrow1Mend-3-5-7" 87 + style="overflow:visible" 88 + inkscape:isstock="true"> 89 + <path 90 + inkscape:connector-curvature="0" 91 + id="path4547-6-3-3" 92 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 93 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 94 + transform="matrix(-0.4,0,0,-0.4,-4,0)" /> 95 + </marker> 96 + </defs> 97 + <sodipodi:namedview 98 + id="base" 99 + pagecolor="#ffffff" 100 + bordercolor="#666666" 101 + borderopacity="1.0" 102 + inkscape:pageopacity="0.0" 103 + inkscape:pageshadow="2" 104 + inkscape:zoom="0.98994949" 105 + inkscape:cx="518.91791" 106 + inkscape:cy="172.50112" 107 + inkscape:document-units="mm" 108 + inkscape:current-layer="layer1" 109 + showgrid="true" 110 + viewbox-width="209.3" 111 + inkscape:window-width="3840" 112 + inkscape:window-height="1136" 113 + inkscape:window-x="0" 114 + inkscape:window-y="27" 115 + inkscape:window-maximized="1" 116 + fit-margin-top="0" 117 + fit-margin-left="0" 118 + fit-margin-right="0" 119 + fit-margin-bottom="0"> 120 + <inkscape:grid 121 + type="xygrid" 122 + id="grid817" 123 + originx="4.390216" 124 + originy="-208.88856" /> 125 + </sodipodi:namedview> 126 + <metadata 127 + id="metadata5"> 128 + <rdf:RDF> 129 + <cc:Work 130 + rdf:about=""> 131 + <dc:format>image/svg+xml</dc:format> 132 + <dc:type 133 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 134 + <dc:title></dc:title> 135 + </cc:Work> 136 + </rdf:RDF> 137 + </metadata> 138 + <g 139 + inkscape:label="Layer 1" 140 + inkscape:groupmode="layer" 141 + id="layer1" 142 + transform="translate(4.4048992,-21.515392)"> 143 + <path 144 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 145 + d="m 20.816662,35.062492 h 23.8125 v -5.291667 h 5.291667 v 5.291667 h 10.583334 v -5.291667 h 5.291667 v 5.291667 h 2.645833 v -5.291667 h 5.291667 v 5.291667 h 66.14583" 146 + id="path4522" 147 + inkscape:connector-curvature="0" /> 148 + <path 149 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 150 + d="m 20.816662,48.291659 h 7.9375 v -5.291667 h 5.291667 v 5.291667 h 58.208335 v -5.291667 h 5.291666 v 5.291667 h 42.33333" 151 + id="path4524" 152 + inkscape:connector-curvature="0" /> 153 + <path 154 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 155 + d="m 20.816662,61.520826 h 26.458334 v -5.291667 h 44.979168 v 5.291667 h 47.624996" 156 + id="path4526" 157 + inkscape:connector-curvature="0" /> 158 + <path 159 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 160 + d="M 20.816662,72.104159 H 139.87916" 161 + id="path4528" 162 + inkscape:connector-curvature="0" /> 163 + <path 164 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 165 + d="M 20.816662,77.395826 H 139.87916" 166 + id="path4530" 167 + inkscape:connector-curvature="0" /> 168 + <path 169 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 170 + d="M 20.816662,82.687493 H 139.87916" 171 + id="path4532" 172 + inkscape:connector-curvature="0" /> 173 + <path 174 + style="fill:none;stroke:#000000;stroke-width:0.26458335px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" 175 + d="M 20.816662,87.97916 H 139.87916" 176 + id="path4534" 177 + inkscape:connector-curvature="0" /> 178 + <path 179 + style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916668, 0.52916668;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend)" 180 + d="m 47.274996,29.770826 c 3.836215,14.933158 3.472151,27.586643 0.264583,41.010418" 181 + id="path4536" 182 + inkscape:connector-curvature="0" 183 + sodipodi:nodetypes="cc" /> 184 + <path 185 + style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916669, 0.52916669;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend-3)" 186 + d="m 63.149996,29.770826 c 3.836214,14.933158 5.059652,27.586642 1.852084,41.010418" 187 + id="path4536-7" 188 + inkscape:connector-curvature="0" 189 + sodipodi:nodetypes="cc" /> 190 + <path 191 + style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.5291667, 0.5291667;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend-3-5)" 192 + d="m 71.087496,29.770825 c 3.836214,14.933158 5.059652,27.586643 1.852084,41.010419" 193 + id="path4536-7-5" 194 + inkscape:connector-curvature="0" 195 + sodipodi:nodetypes="cc" /> 196 + <text 197 + xml:space="preserve" 198 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 199 + x="59.359009" 200 + y="24.195677" 201 + id="text6572"><tspan 202 + sodipodi:role="line" 203 + x="59.359009" 204 + y="24.195677" 205 + style="font-size:3.52777791px;line-height:5.39999962;text-align:center;text-anchor:middle;stroke-width:0.26458335" 206 + id="tspan6574">Configurations</tspan></text> 207 + <text 208 + xml:space="preserve" 209 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 210 + x="46.825508" 211 + y="28.542402" 212 + id="text6572-6"><tspan 213 + sodipodi:role="line" 214 + x="46.825508" 215 + y="28.542402" 216 + style="font-size:3.52777815px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#008000;stroke-width:0.26458335" 217 + id="tspan6574-2">A</tspan></text> 218 + <text 219 + xml:space="preserve" 220 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 221 + x="62.8895" 222 + y="28.825886" 223 + id="text6572-6-2"><tspan 224 + sodipodi:role="line" 225 + x="62.8895" 226 + y="28.825886" 227 + style="font-size:3.52777839px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#0000ff;stroke-width:0.26458335" 228 + id="tspan6574-2-7">B</tspan></text> 229 + <text 230 + xml:space="preserve" 231 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 232 + x="70.827003" 233 + y="29.109362" 234 + id="text6572-6-2-3"><tspan 235 + sodipodi:role="line" 236 + x="70.827003" 237 + y="29.109362" 238 + style="font-size:3.52777863px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#c87137;stroke-width:0.26458335" 239 + id="tspan6574-2-7-6">C</tspan></text> 240 + <path 241 + style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916671, 0.52916671;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend-3-5-0)" 242 + d="m 92.254164,42.999993 c 9.142136,12.745655 4.411987,28.608461 0.529167,38.364584" 243 + id="path4536-7-5-2" 244 + inkscape:connector-curvature="0" 245 + sodipodi:nodetypes="cc" /> 246 + <path 247 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 248 + d="m 47.274996,72.104159 v 5.291667" 249 + id="path8053" 250 + inkscape:connector-curvature="0" /> 251 + <path 252 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 253 + d="m 64.472913,72.10416 v 5.291667" 254 + id="path8053-6" 255 + inkscape:connector-curvature="0" /> 256 + <path 257 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 258 + d="m 72.410413,72.10416 v 5.291667" 259 + id="path8053-6-1" 260 + inkscape:connector-curvature="0" /> 261 + <path 262 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 263 + d="m 92.254164,82.687494 v 5.291667" 264 + id="path8053-6-1-8" 265 + inkscape:connector-curvature="0" /> 266 + <text 267 + xml:space="preserve" 268 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 269 + x="55.802444" 270 + y="76.167412" 271 + id="text6572-6-7"><tspan 272 + sodipodi:role="line" 273 + x="55.802444" 274 + y="76.167412" 275 + style="font-size:3.52777839px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#008000;stroke-width:0.26458335" 276 + id="tspan6574-2-9">A</tspan></text> 277 + <text 278 + xml:space="preserve" 279 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 280 + x="68.559143" 281 + y="75.883926" 282 + id="text6572-6-2-2"><tspan 283 + sodipodi:role="line" 284 + x="68.559143" 285 + y="75.883926" 286 + style="font-size:3.52777863px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#0000ff;stroke-width:0.26458335" 287 + id="tspan6574-2-7-0">B</tspan></text> 288 + <text 289 + xml:space="preserve" 290 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 291 + x="84.812119" 292 + y="75.883911" 293 + id="text6572-6-2-3-2"><tspan 294 + sodipodi:role="line" 295 + x="84.812119" 296 + y="75.883911" 297 + style="font-size:3.52777863px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#c87137;stroke-width:0.26458335" 298 + id="tspan6574-2-7-6-3">C</tspan></text> 299 + <text 300 + xml:space="preserve" 301 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 302 + x="98.513756" 303 + y="86.845222" 304 + id="text6572-6-2-3-2-7"><tspan 305 + sodipodi:role="line" 306 + x="98.513756" 307 + y="86.845222" 308 + style="font-size:3.52777863px;line-height:5.39999962;text-align:center;text-anchor:middle;fill:#c87137;stroke-width:0.26458335" 309 + id="tspan6574-2-7-6-3-5">C</tspan></text> 310 + <text 311 + xml:space="preserve" 312 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 313 + x="35.452015" 314 + y="75.694931" 315 + id="text6572-9"><tspan 316 + sodipodi:role="line" 317 + x="35.452015" 318 + y="75.694931" 319 + style="font-size:3.52777815px;line-height:5.39999962;text-align:center;text-anchor:middle;stroke-width:0.26458335" 320 + id="tspan6574-22">Old config</tspan></text> 321 + <text 322 + xml:space="preserve" 323 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 324 + x="55.484753" 325 + y="86.656235" 326 + id="text6572-9-8"><tspan 327 + sodipodi:role="line" 328 + x="55.484753" 329 + y="86.656235" 330 + style="font-size:3.52777839px;line-height:5.39999962;text-align:center;text-anchor:middle;stroke-width:0.26458335" 331 + id="tspan6574-22-9">Old config</tspan></text> 332 + <path 333 + style="fill:none;stroke:#ff0000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.52916671, 0.52916671;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow1Mend-3-5-7)" 334 + d="m 92.254164,42.999993 c 4.233333,4.7625 2.645833,13.229167 0.79375,17.197917" 335 + inkscape:connector-curvature="0" 336 + sodipodi:nodetypes="cc" /> 337 + <text 338 + xml:space="preserve" 339 + style="font-style:normal;font-weight:normal;font-size:10.58333397px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 340 + x="3.7020128" 341 + y="33.550579" 342 + id="text6572-1"><tspan 343 + sodipodi:role="line" 344 + x="3.7020128" 345 + y="42.914349" 346 + style="font-size:3.52777815px;line-height:5.39999962;text-align:center;text-anchor:middle;stroke-width:0.26458335" 347 + id="tspan15310" /></text> 348 + <text 349 + xml:space="preserve" 350 + style="font-style:normal;font-weight:normal;font-size:3.17500019px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 351 + x="13.366468" 352 + y="46.590767" 353 + id="text15316"><tspan 354 + sodipodi:role="line" 355 + x="13.366468" 356 + y="46.590767" 357 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 358 + id="tspan15318">VUpdate</tspan></text> 359 + <text 360 + xml:space="preserve" 361 + style="font-style:normal;font-weight:normal;font-size:3.17500043px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 362 + x="14.45245" 363 + y="29.676321" 364 + id="text15316-3"><tspan 365 + sodipodi:role="line" 366 + id="tspan15314-1" 367 + x="14.45245" 368 + y="29.676321" 369 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335">Update</tspan><tspan 370 + sodipodi:role="line" 371 + x="14.45245" 372 + y="33.645073" 373 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 374 + id="tspan15318-9">Lock</tspan></text> 375 + <text 376 + xml:space="preserve" 377 + style="font-style:normal;font-weight:normal;font-size:3.17500043px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 378 + x="7.5676007" 379 + y="56.985115" 380 + id="text15316-4"><tspan 381 + sodipodi:role="line" 382 + x="7.5676007" 383 + y="56.985115" 384 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 385 + id="tspan15318-7">Register update</tspan><tspan 386 + sodipodi:role="line" 387 + x="7.5676007" 388 + y="60.953865" 389 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 390 + id="tspan15361">Pending Status</tspan></text> 391 + <text 392 + xml:space="preserve" 393 + style="font-style:normal;font-weight:normal;font-size:3.17500043px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 394 + x="16.074829" 395 + y="76.167404" 396 + id="text15316-8"><tspan 397 + sodipodi:role="line" 398 + x="16.074829" 399 + y="76.167404" 400 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 401 + id="tspan15318-4">Buf 0</tspan></text> 402 + <text 403 + xml:space="preserve" 404 + style="font-style:normal;font-weight:normal;font-size:3.17500067px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458335" 405 + x="16.156994" 406 + y="86.089279" 407 + id="text15316-8-5"><tspan 408 + sodipodi:role="line" 409 + x="16.156994" 410 + y="86.089279" 411 + style="text-align:center;text-anchor:middle;stroke-width:0.26458335" 412 + id="tspan15318-4-0">Buf 1</tspan></text> 413 + </g> 414 + </svg>
+1125
Documentation/gpu/amdgpu/display/dc_pipeline_overview.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + xmlns:dc="http://purl.org/dc/elements/1.1/" 6 + xmlns:cc="http://creativecommons.org/ns#" 7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 + xmlns:svg="http://www.w3.org/2000/svg" 9 + xmlns="http://www.w3.org/2000/svg" 10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12 + width="1296.7491" 13 + height="741.97845" 14 + viewBox="0 0 343.0982 196.31514" 15 + version="1.1" 16 + id="svg8" 17 + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" 18 + sodipodi:docname="dc_pipeline_overview.svg"> 19 + <defs 20 + id="defs2"> 21 + <marker 22 + inkscape:stockid="Arrow2Mend" 23 + orient="auto" 24 + refY="0" 25 + refX="0" 26 + id="marker8858" 27 + style="overflow:visible" 28 + inkscape:isstock="true"> 29 + <path 30 + id="path8616" 31 + style="fill:#aa00d4;fill-opacity:1;fill-rule:evenodd;stroke:#aa00d4;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 32 + 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" 33 + transform="scale(-0.6)" 34 + inkscape:connector-curvature="0" /> 35 + </marker> 36 + <marker 37 + inkscape:stockid="Arrow2Send" 38 + orient="auto" 39 + refY="0" 40 + refX="0" 41 + id="Arrow2Send" 42 + style="overflow:visible" 43 + inkscape:isstock="true"> 44 + <path 45 + id="path8622" 46 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 47 + 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" 48 + transform="matrix(-0.3,0,0,-0.3,0.69,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="Arrow1Lend" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="Arrow1Lend" 57 + style="overflow:visible" 58 + inkscape:isstock="true"> 59 + <path 60 + id="path8592" 61 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 62 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 63 + transform="matrix(-0.8,0,0,-0.8,-10,0)" 64 + inkscape:connector-curvature="0" /> 65 + </marker> 66 + <marker 67 + inkscape:stockid="Arrow2Lend" 68 + orient="auto" 69 + refY="0" 70 + refX="0" 71 + id="Arrow2Lend" 72 + style="overflow:visible" 73 + inkscape:isstock="true"> 74 + <path 75 + id="path8610" 76 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 77 + 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" 78 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 79 + inkscape:connector-curvature="0" /> 80 + </marker> 81 + <marker 82 + inkscape:stockid="Arrow2Mend" 83 + orient="auto" 84 + refY="0" 85 + refX="0" 86 + id="Arrow2Mend" 87 + style="overflow:visible" 88 + inkscape:isstock="true"> 89 + <path 90 + id="path1200" 91 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 92 + 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" 93 + transform="scale(-0.6)" 94 + inkscape:connector-curvature="0" /> 95 + </marker> 96 + <marker 97 + inkscape:stockid="Arrow2Mend" 98 + orient="auto" 99 + refY="0" 100 + refX="0" 101 + id="Arrow2Mend-8" 102 + style="overflow:visible" 103 + inkscape:isstock="true"> 104 + <path 105 + inkscape:connector-curvature="0" 106 + id="path1200-9" 107 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 108 + 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" 109 + transform="scale(-0.6)" /> 110 + </marker> 111 + <marker 112 + inkscape:stockid="Arrow2Mend" 113 + orient="auto" 114 + refY="0" 115 + refX="0" 116 + id="Arrow2Mend-8-3" 117 + style="overflow:visible" 118 + inkscape:isstock="true"> 119 + <path 120 + inkscape:connector-curvature="0" 121 + id="path1200-9-6" 122 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 123 + 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" 124 + transform="scale(-0.6)" /> 125 + </marker> 126 + <marker 127 + inkscape:stockid="Arrow2Mend" 128 + orient="auto" 129 + refY="0" 130 + refX="0" 131 + id="Arrow2Mend-8-3-2" 132 + style="overflow:visible" 133 + inkscape:isstock="true"> 134 + <path 135 + inkscape:connector-curvature="0" 136 + id="path1200-9-6-9" 137 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 138 + 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" 139 + transform="scale(-0.6)" /> 140 + </marker> 141 + <marker 142 + inkscape:stockid="Arrow2Mend" 143 + orient="auto" 144 + refY="0" 145 + refX="0" 146 + id="Arrow2Mend-8-3-2-1" 147 + style="overflow:visible" 148 + inkscape:isstock="true"> 149 + <path 150 + inkscape:connector-curvature="0" 151 + id="path1200-9-6-9-9" 152 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 153 + 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" 154 + transform="scale(-0.6)" /> 155 + </marker> 156 + <marker 157 + inkscape:stockid="Arrow2Mend" 158 + orient="auto" 159 + refY="0" 160 + refX="0" 161 + id="Arrow2Mend-8-3-2-7" 162 + style="overflow:visible" 163 + inkscape:isstock="true"> 164 + <path 165 + inkscape:connector-curvature="0" 166 + id="path1200-9-6-9-8" 167 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 168 + 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" 169 + transform="scale(-0.6)" /> 170 + </marker> 171 + <marker 172 + inkscape:stockid="Arrow2Mend" 173 + orient="auto" 174 + refY="0" 175 + refX="0" 176 + id="Arrow2Mend-8-3-4" 177 + style="overflow:visible" 178 + inkscape:isstock="true"> 179 + <path 180 + inkscape:connector-curvature="0" 181 + id="path1200-9-6-5" 182 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 183 + 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" 184 + transform="scale(-0.6)" /> 185 + </marker> 186 + <marker 187 + inkscape:stockid="Arrow2Mend" 188 + orient="auto" 189 + refY="0" 190 + refX="0" 191 + id="Arrow2Mend-8-0" 192 + style="overflow:visible" 193 + inkscape:isstock="true"> 194 + <path 195 + inkscape:connector-curvature="0" 196 + id="path1200-9-3" 197 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 198 + 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" 199 + transform="scale(-0.6)" /> 200 + </marker> 201 + <marker 202 + inkscape:stockid="Arrow2Mend" 203 + orient="auto" 204 + refY="0" 205 + refX="0" 206 + id="Arrow2Mend-6" 207 + style="overflow:visible" 208 + inkscape:isstock="true"> 209 + <path 210 + inkscape:connector-curvature="0" 211 + id="path1200-1" 212 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 213 + 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" 214 + transform="scale(-0.6)" /> 215 + </marker> 216 + <marker 217 + inkscape:stockid="Arrow2Mend" 218 + orient="auto" 219 + refY="0" 220 + refX="0" 221 + id="Arrow2Mend-8-3-2-6" 222 + style="overflow:visible" 223 + inkscape:isstock="true"> 224 + <path 225 + inkscape:connector-curvature="0" 226 + id="path1200-9-6-9-1" 227 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 228 + 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" 229 + transform="scale(-0.6)" /> 230 + </marker> 231 + <marker 232 + inkscape:stockid="Arrow2Mend" 233 + orient="auto" 234 + refY="0" 235 + refX="0" 236 + id="Arrow2Mend-8-0-7" 237 + style="overflow:visible" 238 + inkscape:isstock="true"> 239 + <path 240 + inkscape:connector-curvature="0" 241 + id="path1200-9-3-4" 242 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 243 + 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" 244 + transform="scale(-0.6)" /> 245 + </marker> 246 + <marker 247 + inkscape:stockid="Arrow2Mend" 248 + orient="auto" 249 + refY="0" 250 + refX="0" 251 + id="Arrow2Mend-6-3" 252 + style="overflow:visible" 253 + inkscape:isstock="true"> 254 + <path 255 + inkscape:connector-curvature="0" 256 + id="path1200-1-0" 257 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 258 + 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" 259 + transform="scale(-0.6)" /> 260 + </marker> 261 + <marker 262 + inkscape:stockid="Arrow2Mend" 263 + orient="auto" 264 + refY="0" 265 + refX="0" 266 + id="Arrow2Mend-8-3-2-8" 267 + style="overflow:visible" 268 + inkscape:isstock="true"> 269 + <path 270 + inkscape:connector-curvature="0" 271 + id="path1200-9-6-9-6" 272 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 273 + 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" 274 + transform="scale(-0.6)" /> 275 + </marker> 276 + <marker 277 + inkscape:stockid="Arrow2Mend" 278 + orient="auto" 279 + refY="0" 280 + refX="0" 281 + id="Arrow2Mend-3" 282 + style="overflow:visible" 283 + inkscape:isstock="true"> 284 + <path 285 + id="path1200-6" 286 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 287 + 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" 288 + transform="scale(-0.6)" 289 + inkscape:connector-curvature="0" /> 290 + </marker> 291 + <marker 292 + inkscape:stockid="Arrow2Mend" 293 + orient="auto" 294 + refY="0" 295 + refX="0" 296 + id="marker8858-3" 297 + style="overflow:visible" 298 + inkscape:isstock="true"> 299 + <path 300 + id="path8616-5" 301 + style="fill:#00ffcc;fill-opacity:1;fill-rule:evenodd;stroke:#00ffcc;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 302 + 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" 303 + transform="scale(-0.6)" 304 + inkscape:connector-curvature="0" /> 305 + </marker> 306 + <marker 307 + inkscape:stockid="Arrow2Mend" 308 + orient="auto" 309 + refY="0" 310 + refX="0" 311 + id="Arrow2Mend-8-3-3" 312 + style="overflow:visible" 313 + inkscape:isstock="true"> 314 + <path 315 + inkscape:connector-curvature="0" 316 + id="path1200-9-6-56" 317 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 318 + 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" 319 + transform="scale(-0.6)" /> 320 + </marker> 321 + <marker 322 + inkscape:stockid="Arrow2Mend" 323 + orient="auto" 324 + refY="0" 325 + refX="0" 326 + id="Arrow2Mend-8-0-2" 327 + style="overflow:visible" 328 + inkscape:isstock="true"> 329 + <path 330 + inkscape:connector-curvature="0" 331 + id="path1200-9-3-9" 332 + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 333 + 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" 334 + transform="scale(-0.6)" /> 335 + </marker> 336 + </defs> 337 + <sodipodi:namedview 338 + id="base" 339 + pagecolor="#ffffff" 340 + bordercolor="#666666" 341 + borderopacity="1.0" 342 + inkscape:pageopacity="0.0" 343 + inkscape:pageshadow="2" 344 + inkscape:zoom="2.8" 345 + inkscape:cx="603.80172" 346 + inkscape:cy="404.14319" 347 + inkscape:document-units="mm" 348 + inkscape:current-layer="layer1" 349 + showgrid="false" 350 + inkscape:window-width="3840" 351 + inkscape:window-height="2096" 352 + inkscape:window-x="0" 353 + inkscape:window-y="27" 354 + inkscape:window-maximized="1" 355 + showguides="false" 356 + fit-margin-top="0" 357 + fit-margin-left="0" 358 + fit-margin-right="0" 359 + fit-margin-bottom="0" 360 + units="px" 361 + inkscape:snap-global="false" /> 362 + <metadata 363 + id="metadata5"> 364 + <rdf:RDF> 365 + <cc:Work 366 + rdf:about=""> 367 + <dc:format>image/svg+xml</dc:format> 368 + <dc:type 369 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 370 + <dc:title /> 371 + </cc:Work> 372 + </rdf:RDF> 373 + </metadata> 374 + <g 375 + inkscape:label="Layer 1" 376 + inkscape:groupmode="layer" 377 + id="layer1" 378 + transform="translate(419.79645,20.103767)"> 379 + <path 380 + style="fill:#008000;stroke:#008000;stroke-width:0.59275198;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-2-7)" 381 + d="m -340.37552,57.5332 h -14.81024" 382 + id="path1171-7-1-3-0" 383 + inkscape:connector-curvature="0" /> 384 + <path 385 + style="fill:#008000;stroke:#008000;stroke-width:0.59715915;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-4)" 386 + d="m -293.23443,57.5332 h -15.03129" 387 + id="path1171-7-1-32" 388 + inkscape:connector-curvature="0" /> 389 + <path 390 + style="fill:#008000;stroke:#008000;stroke-width:0.59275198;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-0)" 391 + d="M -246.45946,57.5332 H -261.2697" 392 + id="path1171-7-6" 393 + inkscape:connector-curvature="0" /> 394 + <path 395 + style="fill:#008000;stroke:#008000;stroke-width:0.59275198;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-6)" 396 + d="m -151.28623,57.5332 h -14.81024" 397 + id="path1171-0" 398 + inkscape:connector-curvature="0" /> 399 + <path 400 + style="fill:none;stroke:#ff0000;stroke-width:0.98222464;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-2-6)" 401 + d="m -310.11621,-10.988713 h -35.41856" 402 + id="path1171-7-1-3-5" 403 + inkscape:connector-curvature="0" 404 + sodipodi:nodetypes="cc" /> 405 + <path 406 + style="fill:none;stroke:#ff0000;stroke-width:1.33745635;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-2-1)" 407 + d="M -174.42569,48.441117 V -10.963061 L -277.26548,-11.45916" 408 + id="path1171-7-1-3-4" 409 + inkscape:connector-curvature="0" 410 + sodipodi:nodetypes="ccc" /> 411 + <path 412 + style="fill:none;stroke:#ff0000;stroke-width:0.95872593;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3)" 413 + d="m -262.79442,87.935594 h 14.32069" 414 + id="path1171-7-1" 415 + inkscape:connector-curvature="0" /> 416 + <path 417 + style="fill:none;stroke:#ff0000;stroke-width:0.97006679;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8)" 418 + d="m -309.80088,87.935594 h 14.44587" 419 + id="path1171-7" 420 + inkscape:connector-curvature="0" /> 421 + <path 422 + style="fill:none;stroke:#ff0000;stroke-width:0.96187615;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)" 423 + d="m -356.45657,87.935594 h 14.20296" 424 + id="path1171" 425 + inkscape:connector-curvature="0" /> 426 + <path 427 + style="fill:none;stroke:#ff0000;stroke-width:0.96061862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-2)" 428 + d="m -167.44556,87.935594 h 14.16584" 429 + id="path1171-7-1-3" 430 + inkscape:connector-curvature="0" /> 431 + <path 432 + style="fill:none;stroke:#008000;stroke-width:0.87091714;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-0-7)" 433 + d="M -193.82812,48.312503 V 14.168502 l -84.03577,-0.467726" 434 + id="path1171-7-6-4" 435 + inkscape:connector-curvature="0" 436 + sodipodi:nodetypes="ccc" /> 437 + <path 438 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 439 + d="m -133.33998,42.989657 v 5.457081" 440 + id="path7149-3-7" 441 + inkscape:connector-curvature="0" /> 442 + <path 443 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 444 + d="m -298.69506,162.44998 v 13.31197" 445 + id="path7149" 446 + inkscape:connector-curvature="0" /> 447 + <path 448 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 449 + d="m -242.80131,107.00907 v 9.60171" 450 + id="path7040-5-4-7-5-6-9" 451 + inkscape:connector-curvature="0" /> 452 + <path 453 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 454 + d="m -300.34873,107.17445 v 9.6017" 455 + id="path7040-5-4-7-5-6" 456 + inkscape:connector-curvature="0" /> 457 + <path 458 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 459 + d="m -359.26293,106.99745 v 9.60171" 460 + id="path7040-5-4-7-5" 461 + inkscape:connector-curvature="0" /> 462 + <path 463 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 464 + d="M -369.74543,25.114933 V 37.991587" 465 + id="path7040-5-4-7-6" 466 + inkscape:connector-curvature="0" /> 467 + <path 468 + style="fill:none;stroke:#008080;stroke-width:0.91136348;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.91136346, 0.91136346;stroke-dashoffset:0;stroke-opacity:1" 469 + d="M -135.17034,93.582486 V 107.10642 H -403.93077 V 37.882965 h 109.60575 V 25.225991" 470 + id="path7038" 471 + inkscape:connector-curvature="0" 472 + sodipodi:nodetypes="cccccc" /> 473 + <path 474 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 475 + d="M -231.106,94.010086 V 106.96943" 476 + id="path7040" 477 + inkscape:connector-curvature="0" /> 478 + <path 479 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 480 + d="M -278.50224,93.844719 V 106.80406" 481 + id="path7040-5" 482 + inkscape:connector-curvature="0" /> 483 + <path 484 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 485 + d="M -325.89848,93.701083 V 106.99115" 486 + id="path7040-5-4" 487 + inkscape:connector-curvature="0" /> 488 + <path 489 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 490 + d="M -373.29471,93.899037 V 107.27179" 491 + id="path7040-5-4-7" 492 + inkscape:connector-curvature="0" /> 493 + <g 494 + id="g934" 495 + transform="matrix(0.61872421,0,0,0.61872421,-154.16506,-3.5724799)"> 496 + <rect 497 + ry="2.1052283e-06" 498 + y="84.280701" 499 + x="-376.383" 500 + height="72.786827" 501 + width="49.352299" 502 + id="rect834" 503 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 504 + <text 505 + id="text838" 506 + y="95.916664" 507 + x="-371.17261" 508 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 509 + xml:space="preserve"><tspan 510 + style="stroke-width:0.26458332" 511 + y="95.916664" 512 + x="-371.17261" 513 + id="tspan836" 514 + sodipodi:role="line">DCHUB</tspan></text> 515 + <text 516 + id="text846" 517 + y="121.99702" 518 + x="-352.74997" 519 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 520 + xml:space="preserve"><tspan 521 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 522 + y="121.99702" 523 + x="-352.74997" 524 + id="tspan844" 525 + sodipodi:role="line">HUBP</tspan><tspan 526 + id="tspan863" 527 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 528 + y="135.22618" 529 + x="-352.74997" 530 + sodipodi:role="line">(n)</tspan></text> 531 + </g> 532 + <g 533 + id="g942" 534 + transform="matrix(0.61872421,0,0,0.61872421,-158.40385,-3.2216813)"> 535 + <text 536 + id="text838-5" 537 + y="116.65257" 538 + x="-269.45752" 539 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 540 + xml:space="preserve"><tspan 541 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 542 + y="116.65257" 543 + x="-269.45752" 544 + id="tspan836-3" 545 + sodipodi:role="line">DPP</tspan><tspan 546 + id="tspan936" 547 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 548 + y="129.88174" 549 + x="-269.45752" 550 + sodipodi:role="line">(n)</tspan></text> 551 + <rect 552 + ry="2.1052283e-06" 553 + y="83.71373" 554 + x="-293.7952" 555 + height="72.786827" 556 + width="49.352303" 557 + id="rect834-5" 558 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 559 + </g> 560 + <g 561 + id="g1158" 562 + transform="matrix(0.61872421,0,0,0.61872421,-154.34048,-6.2618995)"> 563 + <text 564 + id="text838-5-2" 565 + y="128.87331" 566 + x="-200.18195" 567 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 568 + xml:space="preserve"><tspan 569 + id="tspan936-1" 570 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 571 + y="128.87331" 572 + x="-200.18195" 573 + sodipodi:role="line">MPC</tspan></text> 574 + <rect 575 + ry="2.1052283e-06" 576 + y="88.627419" 577 + x="-224.62555" 578 + height="72.786827" 579 + width="49.352303" 580 + id="rect834-5-2" 581 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 582 + </g> 583 + <g 584 + id="g1153" 585 + transform="matrix(0.61872421,0,0,0.61872421,-108.51628,-6.4957668)"> 586 + <text 587 + id="text838-5-2-7" 588 + y="129.2513" 589 + x="-120.96272" 590 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 591 + xml:space="preserve"><tspan 592 + id="tspan936-1-0" 593 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 594 + y="129.2513" 595 + x="-120.96272" 596 + sodipodi:role="line">OPTC</tspan></text> 597 + <rect 598 + ry="2.1052283e-06" 599 + y="89.005402" 600 + x="-145.62854" 601 + height="72.786827" 602 + width="49.352306" 603 + id="rect834-5-2-9" 604 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 605 + </g> 606 + <g 607 + id="g1148" 608 + transform="matrix(0.61872421,0,0,0.61872421,-105.25474,-7.6650796)"> 609 + <text 610 + id="text838-5-2-7-3" 611 + y="131.14117" 612 + x="-48.981136" 613 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 614 + xml:space="preserve"><tspan 615 + id="tspan936-1-0-6" 616 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 617 + y="131.14117" 618 + x="-48.981136" 619 + sodipodi:role="line">DIO</tspan></text> 620 + <rect 621 + ry="2.1052283e-06" 622 + y="90.895279" 623 + x="-73.435081" 624 + height="72.786827" 625 + width="49.352306" 626 + id="rect834-5-2-9-0" 627 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 628 + </g> 629 + <g 630 + id="g1133" 631 + transform="matrix(0.61872421,0,0,0.61872421,-181.52704,-7.6650796)"> 632 + <text 633 + id="text838-5-2-6" 634 + y="241.13223" 635 + x="-286.96921" 636 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 637 + xml:space="preserve"><tspan 638 + id="tspan936-1-2" 639 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 640 + y="241.13223" 641 + x="-286.96921" 642 + sodipodi:role="line">DCCG</tspan></text> 643 + <rect 644 + ry="2.1052283e-06" 645 + y="200.88634" 646 + x="-311.56009" 647 + height="72.786827" 648 + width="49.352306" 649 + id="rect834-5-2-6" 650 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 651 + </g> 652 + <g 653 + id="g1138" 654 + transform="matrix(0.61872421,0,0,0.61872421,-181.52704,-7.6650796)"> 655 + <text 656 + id="text838-5-2-6-1" 657 + y="241.81844" 658 + x="-190.55942" 659 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 660 + xml:space="preserve"><tspan 661 + id="tspan936-1-2-8" 662 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 663 + y="241.81844" 664 + x="-190.55942" 665 + sodipodi:role="line">DMU</tspan></text> 666 + <rect 667 + ry="2.1052283e-06" 668 + y="201.6423" 669 + x="-215.17615" 670 + height="72.786827" 671 + width="49.352306" 672 + id="rect834-5-2-6-7" 673 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 674 + </g> 675 + <text 676 + xml:space="preserve" 677 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1637041" 678 + x="-297.75696" 679 + y="109.44505" 680 + id="text1063"><tspan 681 + sodipodi:role="line" 682 + id="tspan1061" 683 + x="-297.75696" 684 + y="115.23865" 685 + style="stroke-width:0.1637041" /></text> 686 + <g 687 + id="g1143" 688 + transform="matrix(0.61872421,0,0,0.61872421,-181.52704,-8.9747125)"> 689 + <text 690 + id="text838-5-2-6-1-9" 691 + y="243.02728" 692 + x="-99.967323" 693 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 694 + xml:space="preserve"><tspan 695 + id="tspan936-1-2-8-2" 696 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 697 + y="243.02728" 698 + x="-99.967323" 699 + sodipodi:role="line">AZ</tspan></text> 700 + <rect 701 + ry="2.1052283e-06" 702 + y="202.77623" 703 + x="-124.83984" 704 + height="72.786827" 705 + width="49.352306" 706 + id="rect834-5-2-6-7-0" 707 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 708 + </g> 709 + <g 710 + id="g1169" 711 + transform="matrix(0.61872421,0,0,0.61872421,-154.16506,1.4555785)"> 712 + <text 713 + id="text838-5-2-6-2" 714 + y="5.9612885" 715 + x="-348.74365" 716 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 717 + xml:space="preserve"><tspan 718 + id="tspan936-1-2-3" 719 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 720 + y="5.9612885" 721 + x="-348.74365" 722 + sodipodi:role="line">MMHUBBUB</tspan></text> 723 + <rect 724 + ry="2.1010696e-06" 725 + y="-34.142948" 726 + x="-384.64743" 727 + height="72.643044" 728 + width="72.096924" 729 + id="rect834-5-2-6-75" 730 + style="fill:none;stroke:#000000;stroke-width:1.40378118;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 731 + </g> 732 + <g 733 + id="g1164" 734 + transform="matrix(0.61872421,0,0,0.61872421,-154.16506,-7.6650796)"> 735 + <text 736 + id="text838-5-2-6-9" 737 + y="13.465075" 738 + x="-227.30836" 739 + style="font-style:normal;font-weight:normal;font-size:10.58333302px;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" 740 + xml:space="preserve"><tspan 741 + id="tspan936-1-2-2" 742 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 743 + y="13.465075" 744 + x="-227.30836" 745 + sodipodi:role="line">DWB</tspan><tspan 746 + id="tspan1128" 747 + style="text-align:center;text-anchor:middle;stroke-width:0.26458332" 748 + y="26.694241" 749 + x="-227.30836" 750 + sodipodi:role="line">(n)</tspan></text> 751 + <rect 752 + ry="2.1052283e-06" 753 + y="-19.473768" 754 + x="-251.83983" 755 + height="72.786827" 756 + width="49.352306" 757 + id="rect834-5-2-6-2" 758 + style="fill:none;stroke:#000000;stroke-width:1.16258347;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 759 + </g> 760 + <path 761 + style="fill:none;stroke:#000000;stroke-width:0.91371936;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:5.48231601, 0.91371934;stroke-dashoffset:0;stroke-opacity:1" 762 + d="m -358.95963,161.63019 v 14.12431 h 250.20395 V 43.149938 H -361.845 V 25.478973" 763 + id="path7147" 764 + inkscape:connector-curvature="0" 765 + sodipodi:nodetypes="cccccc" /> 766 + <path 767 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 768 + d="m -242.92533,161.58513 v 14.05612" 769 + id="path7149-3" 770 + inkscape:connector-curvature="0" /> 771 + <path 772 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 773 + d="m -184.37695,42.955607 v 5.457082" 774 + id="path7149-3-7-4" 775 + inkscape:connector-curvature="0" /> 776 + <path 777 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 778 + d="m -277.36283,43.141644 v 5.457082" 779 + id="path7149-3-7-5" 780 + inkscape:connector-curvature="0" /> 781 + <path 782 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 783 + d="M -325.48437,42.976278 V 48.43336" 784 + id="path7149-3-7-2" 785 + inkscape:connector-curvature="0" /> 786 + <path 787 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112339, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 788 + d="m -361.86492,43.141644 v 5.457083" 789 + id="path7149-3-7-54" 790 + inkscape:connector-curvature="0" /> 791 + <path 792 + style="fill:#008000;stroke:#008000;stroke-width:0.46329758;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-6-3)" 793 + d="m -147.58542,-8.2978166 h -9.04766" 794 + id="path1171-0-7" 795 + inkscape:connector-curvature="0" /> 796 + <path 797 + style="fill:none;stroke:#ff0000;stroke-width:0.98222464;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-2-8)" 798 + d="m -157.13421,-1.6500501 h 8.66407" 799 + id="path1171-7-1-3-8" 800 + inkscape:connector-curvature="0" /> 801 + <path 802 + style="fill:none;stroke:#000000;stroke-width:0.74503672;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.47022031, 0.74503672;stroke-dashoffset:0;stroke-opacity:1" 803 + d="m -148.50314,4.9845652 h -7.91265" 804 + id="path7149-3-7-8" 805 + inkscape:connector-curvature="0" /> 806 + <path 807 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852057, 0.81852057;stroke-dashoffset:0;stroke-opacity:1" 808 + d="m -157.59442,11.623513 h 10.26991" 809 + id="path7040-4" 810 + inkscape:connector-curvature="0" /> 811 + <text 812 + xml:space="preserve" 813 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1637041" 814 + x="-142.72867" 815 + y="-6.9685979" 816 + id="text12079"><tspan 817 + sodipodi:role="line" 818 + id="tspan12077" 819 + x="-142.72867" 820 + y="-6.9685979" 821 + style="font-size:4.80198765px;stroke-width:0.1637041">Global sync</tspan></text> 822 + <text 823 + xml:space="preserve" 824 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1637041" 825 + x="-142.93031" 826 + y="0.13578746" 827 + id="text12079-3"><tspan 828 + sodipodi:role="line" 829 + id="tspan12077-1" 830 + x="-142.93031" 831 + y="0.13578746" 832 + style="font-size:4.80198765px;stroke-width:0.1637041">Pixel data</tspan></text> 833 + <text 834 + xml:space="preserve" 835 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1637041" 836 + x="-142.77556" 837 + y="6.3093324" 838 + id="text12079-3-4"><tspan 839 + sodipodi:role="line" 840 + id="tspan12077-1-9" 841 + x="-142.77556" 842 + y="6.3093324" 843 + style="font-size:4.80198765px;stroke-width:0.1637041">Sideband signal</tspan></text> 844 + <text 845 + xml:space="preserve" 846 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.1637041" 847 + x="-142.72867" 848 + y="12.948278" 849 + id="text12079-3-4-2"><tspan 850 + sodipodi:role="line" 851 + id="tspan12077-1-9-0" 852 + x="-142.72867" 853 + y="12.948278" 854 + style="font-size:4.80198765px;stroke-width:0.1637041">Config. Bus</tspan></text> 855 + <path 856 + style="fill:none;stroke:#aa00d4;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker8858)" 857 + d="m -406.68795,73.185276 h 14.20296" 858 + id="path1171-75" 859 + inkscape:connector-curvature="0" /> 860 + <text 861 + xml:space="preserve" 862 + 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" 863 + x="-420.21503" 864 + y="75.065918" 865 + id="text8862"><tspan 866 + sodipodi:role="line" 867 + id="tspan8860" 868 + x="-420.21503" 869 + y="75.065918" 870 + style="font-size:6.3499999px;stroke-width:0.26458332">SDP</tspan></text> 871 + <path 872 + style="fill:none;stroke:#00ffcc;stroke-width:1.25980031;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker8858-3)" 873 + d="m -119.19923,72.243805 h 12.88004" 874 + id="path1171-75-6" 875 + inkscape:connector-curvature="0" /> 876 + <text 877 + xml:space="preserve" 878 + 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" 879 + x="-104.87327" 880 + y="74.54258" 881 + id="text8862-2"><tspan 882 + sodipodi:role="line" 883 + id="tspan8860-9" 884 + x="-104.87327" 885 + y="74.54258" 886 + style="font-size:6.3499999px;stroke-width:0.26458332">Monitor</tspan></text> 887 + <g 888 + id="g6280" 889 + transform="translate(-133.43389,-37.35791)"> 890 + <text 891 + id="text838-5-2-7-6" 892 + y="110.67171" 893 + x="-97.4758" 894 + style="font-style:normal;font-weight:normal;font-size:6.54816437px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.16370411" 895 + xml:space="preserve"><tspan 896 + id="tspan936-1-0-7" 897 + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" 898 + y="110.67171" 899 + x="-97.4758" 900 + sodipodi:role="line">OPP</tspan></text> 901 + <rect 902 + ry="1.3025557e-06" 903 + y="85.770599" 904 + x="-112.73714" 905 + height="45.034973" 906 + width="30.535467" 907 + id="rect834-5-2-9-5" 908 + style="fill:none;stroke:#000000;stroke-width:0.71931857;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> 909 + </g> 910 + <path 911 + style="fill:#008000;stroke:#008000;stroke-width:0.59275198;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-0-2)" 912 + d="m -199.6735,57.600919 h -14.81024" 913 + id="path1171-7-6-1" 914 + inkscape:connector-curvature="0" /> 915 + <path 916 + style="fill:none;stroke:#ff0000;stroke-width:0.95872593;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-8-3-3)" 917 + d="m -214.95012,88.003315 h 14.32069" 918 + id="path1171-7-1-2" 919 + inkscape:connector-curvature="0" /> 920 + <path 921 + style="fill:none;stroke:#008080;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.81852058, 0.81852058;stroke-dashoffset:0;stroke-opacity:1" 922 + d="M -182.99565,94.057598 V 107.01694" 923 + id="path7040-7" 924 + inkscape:connector-curvature="0" /> 925 + <path 926 + style="fill:none;stroke:#000000;stroke-width:0.81852055;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:4.91112344, 0.81852058;stroke-dashoffset:0;stroke-opacity:1" 927 + d="m -231.7616,43.563759 v 5.457082" 928 + id="path7149-3-7-4-0" 929 + inkscape:connector-curvature="0" /> 930 + <g 931 + aria-label="[" 932 + transform="matrix(0,-1,0.74237844,0,14.567595,39.540924)" 933 + 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" 934 + id="text6872"> 935 + <path 936 + d="m -65.936923,-548.78511 h 8.816294 v 2.79112 h -6.82247 v 176.34952 h 6.82247 v 2.41314 h -8.816294 z" 937 + style="font-size:50.79999924px;stroke-width:0.26458332" 938 + id="path6874" 939 + inkscape:connector-curvature="0" 940 + sodipodi:nodetypes="ccccccccc" /> 941 + </g> 942 + <g 943 + aria-label="[" 944 + transform="rotate(-90,182.49521,-144.01791)" 945 + 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" 946 + id="text6872-3"> 947 + <path 948 + d="m -63.825546,-623.34091 h 7.228794 v 2.26195 h -5.764137 l 0,127.08032 h 5.764137 v 1.88397 h -7.228794 z" 949 + style="font-size:50.79999924px;stroke-width:0.26458332" 950 + id="path6874-6" 951 + inkscape:connector-curvature="0" 952 + sodipodi:nodetypes="ccccccccc" /> 953 + </g> 954 + <text 955 + xml:space="preserve" 956 + 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" 957 + x="-359.80389" 958 + y="99.104233" 959 + id="text6929"><tspan 960 + sodipodi:role="line" 961 + id="tspan6927" 962 + x="-359.80389" 963 + y="99.104233" 964 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">dc_plane</tspan></text> 965 + <text 966 + xml:space="preserve" 967 + 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" 968 + x="-223.56163" 969 + y="99.142021" 970 + id="text6933"><tspan 971 + sodipodi:role="line" 972 + id="tspan6931" 973 + x="-223.56163" 974 + y="99.142021" 975 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">dc_stream</tspan></text> 976 + <g 977 + aria-label="[" 978 + transform="matrix(0,1,1,0,153.30551,96.566025)" 979 + 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" 980 + id="text6872-35"> 981 + <path 982 + d="m -65.936923,-545.95029 h 8.816294 v 2.79112 h -6.898066 v 271.78851 h 6.898066 v 2.41314 h -8.816294 z" 983 + style="font-size:50.79999924px;stroke-width:0.26458332" 984 + id="path6874-62" 985 + inkscape:connector-curvature="0" 986 + sodipodi:nodetypes="ccccccccc" /> 987 + </g> 988 + <text 989 + xml:space="preserve" 990 + 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" 991 + x="-267.43958" 992 + y="28.5028" 993 + id="text6933-9"><tspan 994 + sodipodi:role="line" 995 + id="tspan6931-1" 996 + x="-267.43958" 997 + y="28.5028" 998 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">dc_state</tspan></text> 999 + <g 1000 + aria-label="[" 1001 + transform="matrix(0,0.98158883,-1.0187565,0,0,-7.4835468)" 1002 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.62759447px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5522995" 1003 + id="text6973"> 1004 + <path 1005 + d="m 23.679381,144.30265 h 3.028123 v 1.29445 h -1.820839 v 7.91629 h 1.820839 v 1.29445 h -3.028123 z" 1006 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:11.78239059px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.5522995" 1007 + id="path6975" 1008 + inkscape:connector-curvature="0" 1009 + sodipodi:nodetypes="ccccccccc" /> 1010 + </g> 1011 + <text 1012 + xml:space="preserve" 1013 + 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" 1014 + x="-142.71655" 1015 + y="18.955769" 1016 + id="text6980"><tspan 1017 + sodipodi:role="line" 1018 + id="tspan6978" 1019 + x="-142.71655" 1020 + y="18.955769" 1021 + style="font-size:4.58611107px;stroke-width:0.26458332">Code struct</tspan></text> 1022 + <g 1023 + aria-label="[" 1024 + transform="rotate(-90,94.826273,-58.762727)" 1025 + 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" 1026 + id="text6872-35-2"> 1027 + <path 1028 + d="m -66.881863,-308.95922 h 7.115401 l 0,1.69499 h -5.197173 v 42.03568 h 5.197173 v 1.78948 h -7.115401 z" 1029 + style="font-size:50.79999924px;stroke-width:0.26458332" 1030 + id="path6874-62-7" 1031 + inkscape:connector-curvature="0" 1032 + sodipodi:nodetypes="ccccccccc" /> 1033 + </g> 1034 + <text 1035 + xml:space="preserve" 1036 + 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" 1037 + x="-134.09625" 1038 + y="99.354439" 1039 + id="text6933-9-0"><tspan 1040 + sodipodi:role="line" 1041 + id="tspan6931-1-9" 1042 + x="-134.09625" 1043 + y="99.354439" 1044 + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:5.64444447px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';stroke-width:0.26458332">dc_link</tspan></text> 1045 + <g 1046 + aria-label="}" 1047 + transform="rotate(90,-145.27371,-140.09832)" 1048 + 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:#3771c8;fill-opacity:1;stroke:none;stroke-width:0.26458332" 1049 + id="text1003"> 1050 + <path 1051 + d="m 102.58571,58.211269 h 0.86816 c 1.15755,0 3.11267,-0.177767 3.45994,-0.5333 0.35553,-0.355534 1.28925,-1.124479 1.28925,-2.306836 V -61.475482 c 0,-1.289844 0.18603,-2.228288 0.5581,-2.815332 0.37207,-0.587044 0.26105,-0.992187 1.17882,-1.215429 -0.91777,-0.206706 -0.80675,-0.603581 -1.17882,-1.190625 -0.37207,-0.587045 -0.5581,-1.529623 -0.5581,-2.827735 v -3.075781 c 0,-1.174088 -0.93372,-1.938899 -1.28925,-2.294433 -0.34727,-0.363802 -2.30239,-0.545703 -3.45994,-0.545703 h -0.86816 v -1.773536 h 0.78134 c 2.05879,0 4.63403,0.305924 5.32029,0.917774 0.69453,0.60358 1.0418,1.81901 1.0418,3.646289 v 2.976562 c 0,1.231966 0.22324,2.087728 0.66973,2.567285 0.44648,0.471289 5.80035,0.706934 6.97444,0.706934 h 0.76894 v 1.773535 h -0.76894 c -1.17409,0 -6.52796,0.239778 -6.97444,0.719336 -0.44649,0.479557 -0.66973,1.343587 -0.66973,2.59209 V 55.420742 c 0,1.827279 -0.34727,3.046842 -1.0418,3.658691 -0.68626,0.611849 -3.2615,0.917774 -5.32029,0.917774 h -0.78134 z" 1052 + style="font-size:25.39999962px;fill:#3771c8;stroke-width:0.26458332" 1053 + id="path1005" 1054 + inkscape:connector-curvature="0" 1055 + sodipodi:nodetypes="cscsscccsscsccscsscsccscsscscc" /> 1056 + </g> 1057 + <text 1058 + xml:space="preserve" 1059 + 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" 1060 + x="-200.59984" 1061 + y="129.60852" 1062 + id="text1010"><tspan 1063 + sodipodi:role="line" 1064 + id="tspan1008" 1065 + x="-200.59984" 1066 + y="129.60852" 1067 + style="font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:6.3499999px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold Italic';text-align:center;text-anchor:middle;stroke-width:0.26458332">Floating point</tspan><tspan 1068 + sodipodi:role="line" 1069 + x="-200.59984" 1070 + y="137.54602" 1071 + style="font-size:6.3499999px;text-align:center;text-anchor:middle;stroke-width:0.26458332" 1072 + id="tspan1059">calculation</tspan></text> 1073 + <g 1074 + aria-label="}" 1075 + transform="rotate(90,-94.294068,-92.593178)" 1076 + 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:#3771c8;fill-opacity:1;stroke:none;stroke-width:0.26458332" 1077 + id="text1003-5"> 1078 + <path 1079 + d="m 102.58571,58.211269 h 0.86816 c 1.15755,0 3.11267,-0.177767 3.45994,-0.5333 0.35553,-0.355534 1.10026,-1.124479 1.10026,-2.306836 V -44.637502 c 0,-1.289844 0.18603,-2.228288 0.5581,-2.815332 0.37207,-0.587044 0.45004,-0.992187 1.36781,-1.215429 -0.91777,-0.206706 -0.99574,-0.603581 -1.36781,-1.190625 -0.37207,-0.587045 -0.5581,-1.529623 -0.5581,-2.827735 v -19.913761 c 0,-1.174088 -0.74473,-1.938899 -1.10026,-2.294433 -0.34727,-0.363802 -2.30239,-0.545703 -3.45994,-0.545703 h -0.86816 v -1.773536 h 0.78134 c 2.05879,0 4.63403,0.305924 5.32029,0.917774 0.69453,0.60358 1.0418,1.81901 1.0418,3.646289 v 19.814542 c 0,1.231966 0.22324,2.087728 0.66973,2.567285 0.44648,0.471289 1.25677,0.706934 2.43086,0.706934 h 0.76894 v 1.773535 h -0.76894 c -1.17409,0 -1.98438,0.239778 -2.43086,0.719336 -0.44649,0.479557 -0.66973,1.343587 -0.66973,2.59209 v 99.897013 c 0,1.827279 -0.34727,3.046842 -1.0418,3.658691 -0.68626,0.611849 -3.2615,0.917774 -5.32029,0.917774 h -0.78134 z" 1080 + style="font-size:25.39999962px;fill:#3771c8;stroke-width:0.26458332" 1081 + id="path1005-3" 1082 + inkscape:connector-curvature="0" 1083 + sodipodi:nodetypes="cscsscccsscsccscsscsccscsscscc" /> 1084 + </g> 1085 + <text 1086 + xml:space="preserve" 1087 + 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" 1088 + x="-137.43764" 1089 + y="122.46283" 1090 + id="text1010-5"><tspan 1091 + sodipodi:role="line" 1092 + id="tspan1008-6" 1093 + x="-137.43764" 1094 + y="122.46283" 1095 + style="font-size:6.3499999px;text-align:center;text-anchor:middle;stroke-width:0.26458332">bit-depth</tspan><tspan 1096 + sodipodi:role="line" 1097 + x="-137.43764" 1098 + y="130.40033" 1099 + style="font-size:6.3499999px;text-align:center;text-anchor:middle;stroke-width:0.26458332" 1100 + id="tspan1057">reduction/dither</tspan></text> 1101 + <text 1102 + xml:space="preserve" 1103 + 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:#3771c8;fill-opacity:1;stroke:none;stroke-width:0.26458332;" 1104 + x="21.087883" 1105 + y="155.64751" 1106 + id="text1064" 1107 + transform="rotate(90)"><tspan 1108 + sodipodi:role="line" 1109 + id="tspan1062" 1110 + x="21.087883" 1111 + y="155.64751" 1112 + style="font-size:9.87777805px;stroke-width:0.26458332;fill:#3771c8;">}</tspan></text> 1113 + <text 1114 + xml:space="preserve" 1115 + 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" 1116 + x="-142.71655" 1117 + y="25.939869" 1118 + id="text6980-9"><tspan 1119 + sodipodi:role="line" 1120 + id="tspan6978-1" 1121 + x="-142.71655" 1122 + y="25.939869" 1123 + style="font-size:4.58611107px;stroke-width:0.26458332">Notes</tspan></text> 1124 + </g> 1125 + </svg>
+171
Documentation/gpu/amdgpu/display/dcn-overview.rst
··· 1 + ======================= 2 + Display Core Next (DCN) 3 + ======================= 4 + 5 + To equip our readers with the basic knowledge of how AMD Display Core Next 6 + (DCN) works, we need to start with an overview of the hardware pipeline. Below 7 + you can see a picture that provides a DCN overview, keep in mind that this is a 8 + generic diagram, and we have variations per ASIC. 9 + 10 + .. kernel-figure:: dc_pipeline_overview.svg 11 + 12 + Based on this diagram, we can pass through each block and briefly describe 13 + them: 14 + 15 + * **Display Controller Hub (DCHUB)**: This is the gateway between the Scalable 16 + Data Port (SDP) and DCN. This component has multiple features, such as memory 17 + arbitration, rotation, and cursor manipulation. 18 + 19 + * **Display Pipe and Plane (DPP)**: This block provides pre-blend pixel 20 + processing such as color space conversion, linearization of pixel data, tone 21 + mapping, and gamut mapping. 22 + 23 + * **Multiple Pipe/Plane Combined (MPC)**: This component performs blending of 24 + multiple planes, using global or per-pixel alpha. 25 + 26 + * **Output Pixel Processing (OPP)**: Process and format pixels to be sent to 27 + the display. 28 + 29 + * **Output Pipe Timing Combiner (OPTC)**: It generates time output to combine 30 + streams or divide capabilities. CRC values are generated in this block. 31 + 32 + * **Display Output (DIO)**: Codify the output to the display connected to our 33 + GPU. 34 + 35 + * **Display Writeback (DWB)**: It provides the ability to write the output of 36 + the display pipe back to memory as video frames. 37 + 38 + * **Multi-Media HUB (MMHUBBUB)**: Memory controller interface for DMCUB and DWB 39 + (Note that DWB is not hooked yet). 40 + 41 + * **DCN Management Unit (DMU)**: It provides registers with access control and 42 + interrupts the controller to the SOC host interrupt unit. This block includes 43 + the Display Micro-Controller Unit - version B (DMCUB), which is handled via 44 + firmware. 45 + 46 + * **DCN Clock Generator Block (DCCG)**: It provides the clocks and resets 47 + for all of the display controller clock domains. 48 + 49 + * **Azalia (AZ)**: Audio engine. 50 + 51 + The above diagram is an architecture generalization of DCN, which means that 52 + every ASIC has variations around this base model. Notice that the display 53 + pipeline is connected to the Scalable Data Port (SDP) via DCHUB; you can see 54 + the SDP as the element from our Data Fabric that feeds the display pipe. 55 + 56 + Always approach the DCN architecture as something flexible that can be 57 + configured and reconfigured in multiple ways; in other words, each block can be 58 + setup or ignored accordingly with userspace demands. For example, if we 59 + want to drive an 8k@60Hz with a DSC enabled, our DCN may require 4 DPP and 2 60 + OPP. It is DC's responsibility to drive the best configuration for each 61 + specific scenario. Orchestrate all of these components together requires a 62 + sophisticated communication interface which is highlighted in the diagram by 63 + the edges that connect each block; from the chart, each connection between 64 + these blocks represents: 65 + 66 + 1. Pixel data interface (red): Represents the pixel data flow; 67 + 2. Global sync signals (green): It is a set of synchronization signals composed 68 + by VStartup, VUpdate, and VReady; 69 + 3. Config interface: Responsible to configure blocks; 70 + 4. Sideband signals: All other signals that do not fit the previous one. 71 + 72 + These signals are essential and play an important role in DCN. Nevertheless, 73 + the Global Sync deserves an extra level of detail described in the next 74 + section. 75 + 76 + All of these components are represented by a data structure named dc_state. 77 + From DCHUB to MPC, we have a representation called dc_plane; from MPC to OPTC, 78 + we have dc_stream, and the output (DIO) is handled by dc_link. Keep in mind 79 + that HUBP accesses a surface using a specific format read from memory, and our 80 + dc_plane should work to convert all pixels in the plane to something that can 81 + be sent to the display via dc_stream and dc_link. 82 + 83 + Front End and Back End 84 + ---------------------- 85 + 86 + Display pipeline can be broken down into two components that are usually 87 + referred as **Front End (FE)** and **Back End (BE)**, where FE consists of: 88 + 89 + * DCHUB (Mainly referring to a subcomponent named HUBP) 90 + * DPP 91 + * MPC 92 + 93 + On the other hand, BE consist of 94 + 95 + * OPP 96 + * OPTC 97 + * DIO (DP/HDMI stream encoder and link encoder) 98 + 99 + OPP and OPTC are two joining blocks between FE and BE. On a side note, this is 100 + a one-to-one mapping of the link encoder to PHY, but we can configure the DCN 101 + to choose which link encoder to connect to which PHY. FE's main responsibility 102 + is to change, blend and compose pixel data, while BE's job is to frame a 103 + generic pixel stream to a specific display's pixel stream. 104 + 105 + Data Flow 106 + --------- 107 + 108 + Initially, data is passed in from VRAM through Data Fabric (DF) in native pixel 109 + formats. Such data format stays through till HUBP in DCHUB, where HUBP unpacks 110 + different pixel formats and outputs them to DPP in uniform streams through 4 111 + channels (1 for alpha + 3 for colors). 112 + 113 + The Converter and Cursor (CNVC) in DPP would then normalize the data 114 + representation and convert them to a DCN specific floating-point format (i.e., 115 + different from the IEEE floating-point format). In the process, CNVC also 116 + applies a degamma function to transform the data from non-linear to linear 117 + space to relax the floating-point calculations following. Data would stay in 118 + this floating-point format from DPP to OPP. 119 + 120 + Starting OPP, because color transformation and blending have been completed 121 + (i.e alpha can be dropped), and the end sinks do not require the precision and 122 + dynamic range that floating points provide (i.e. all displays are in integer 123 + depth format), bit-depth reduction/dithering would kick in. In OPP, we would 124 + also apply a regamma function to introduce the gamma removed earlier back. 125 + Eventually, we output data in integer format at DIO. 126 + 127 + Global Sync 128 + ----------- 129 + 130 + Many DCN registers are double buffered, most importantly the surface address. 131 + This allows us to update DCN hardware atomically for page flips, as well as 132 + for most other updates that don't require enabling or disabling of new pipes. 133 + 134 + (Note: There are many scenarios when DC will decide to reserve extra pipes 135 + in order to support outputs that need a very high pixel clock, or for 136 + power saving purposes.) 137 + 138 + These atomic register updates are driven by global sync signals in DCN. In 139 + order to understand how atomic updates interact with DCN hardware, and how DCN 140 + signals page flip and vblank events it is helpful to understand how global sync 141 + is programmed. 142 + 143 + Global sync consists of three signals, VSTARTUP, VUPDATE, and VREADY. These are 144 + calculated by the Display Mode Library - DML (drivers/gpu/drm/amd/display/dc/dml) 145 + based on a large number of parameters and ensure our hardware is able to feed 146 + the DCN pipeline without underflows or hangs in any given system configuration. 147 + The global sync signals always happen during VBlank, are independent from the 148 + VSync signal, and do not overlap each other. 149 + 150 + VUPDATE is the only signal that is of interest to the rest of the driver stack 151 + or userspace clients as it signals the point at which hardware latches to 152 + atomically programmed (i.e. double buffered) registers. Even though it is 153 + independent of the VSync signal we use VUPDATE to signal the VSync event as it 154 + provides the best indication of how atomic commits and hardware interact. 155 + 156 + Since DCN hardware is double-buffered the DC driver is able to program the 157 + hardware at any point during the frame. 158 + 159 + The below picture illustrates the global sync signals: 160 + 161 + .. kernel-figure:: global_sync_vblank.svg 162 + 163 + These signals affect core DCN behavior. Programming them incorrectly will lead 164 + to a number of negative consequences, most of them quite catastrophic. 165 + 166 + The following picture shows how global sync allows for a mailbox style of 167 + updates, i.e. it allows for multiple re-configurations between VUpdate 168 + events where only the last configuration programmed before the VUpdate signal 169 + becomes effective. 170 + 171 + .. kernel-figure:: config_example.svg
+485
Documentation/gpu/amdgpu/display/global_sync_vblank.svg
··· 1 + <?xml version="1.0" encoding="UTF-8" standalone="no"?> 2 + <!-- Created with Inkscape (http://www.inkscape.org/) --> 3 + 4 + <svg 5 + xmlns:dc="http://purl.org/dc/elements/1.1/" 6 + xmlns:cc="http://creativecommons.org/ns#" 7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 8 + xmlns:svg="http://www.w3.org/2000/svg" 9 + xmlns="http://www.w3.org/2000/svg" 10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 12 + width="232.24133mm" 13 + height="96.174995mm" 14 + viewBox="0 0 232.24133 96.174995" 15 + version="1.1" 16 + id="svg8" 17 + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" 18 + sodipodi:docname="global_sync_vblank.svg"> 19 + <defs 20 + id="defs2"> 21 + <marker 22 + inkscape:stockid="Arrow2Mend" 23 + orient="auto" 24 + refY="0" 25 + refX="0" 26 + id="Arrow2Mend" 27 + style="overflow:visible" 28 + inkscape:isstock="true"> 29 + <path 30 + id="path862" 31 + style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 32 + 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" 33 + transform="scale(-0.6)" 34 + inkscape:connector-curvature="0" /> 35 + </marker> 36 + <marker 37 + inkscape:stockid="Arrow2Send" 38 + orient="auto" 39 + refY="0" 40 + refX="0" 41 + id="Arrow2Send" 42 + style="overflow:visible" 43 + inkscape:isstock="true"> 44 + <path 45 + id="path868" 46 + style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 47 + 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" 48 + transform="matrix(-0.3,0,0,-0.3,0.69,0)" 49 + inkscape:connector-curvature="0" /> 50 + </marker> 51 + <marker 52 + inkscape:stockid="Arrow2Lend" 53 + orient="auto" 54 + refY="0" 55 + refX="0" 56 + id="Arrow2Lend" 57 + style="overflow:visible" 58 + inkscape:isstock="true"> 59 + <path 60 + id="path856" 61 + style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 62 + 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" 63 + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" 64 + inkscape:connector-curvature="0" /> 65 + </marker> 66 + <marker 67 + inkscape:stockid="Arrow1Lend" 68 + orient="auto" 69 + refY="0" 70 + refX="0" 71 + id="marker1719" 72 + style="overflow:visible" 73 + inkscape:isstock="true"> 74 + <path 75 + id="path1717" 76 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 77 + style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:1.00000003pt;stroke-opacity:1" 78 + transform="matrix(-0.8,0,0,-0.8,-10,0)" 79 + inkscape:connector-curvature="0" /> 80 + </marker> 81 + <marker 82 + inkscape:stockid="Arrow1Lend" 83 + orient="auto" 84 + refY="0" 85 + refX="0" 86 + id="marker1661" 87 + style="overflow:visible" 88 + inkscape:isstock="true"> 89 + <path 90 + id="path1659" 91 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 92 + style="fill:#ff00ff;fill-opacity:1;fill-rule:evenodd;stroke:#ff00ff;stroke-width:1.00000003pt;stroke-opacity:1" 93 + transform="matrix(-0.8,0,0,-0.8,-10,0)" 94 + inkscape:connector-curvature="0" /> 95 + </marker> 96 + <marker 97 + inkscape:isstock="true" 98 + style="overflow:visible" 99 + id="marker1311" 100 + refX="0" 101 + refY="0" 102 + orient="auto" 103 + inkscape:stockid="Arrow1Lend" 104 + inkscape:collect="always"> 105 + <path 106 + transform="matrix(-0.8,0,0,-0.8,-10,0)" 107 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 108 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 109 + id="path1309" 110 + inkscape:connector-curvature="0" /> 111 + </marker> 112 + <marker 113 + inkscape:isstock="true" 114 + style="overflow:visible" 115 + id="marker1253" 116 + refX="0" 117 + refY="0" 118 + orient="auto" 119 + inkscape:stockid="Arrow1Lstart"> 120 + <path 121 + transform="matrix(0.8,0,0,0.8,10,0)" 122 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 123 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 124 + id="path1251" 125 + inkscape:connector-curvature="0" /> 126 + </marker> 127 + <marker 128 + inkscape:stockid="Arrow1Lend" 129 + orient="auto" 130 + refY="0" 131 + refX="0" 132 + id="Arrow1Lend" 133 + style="overflow:visible" 134 + inkscape:isstock="true" 135 + inkscape:collect="always"> 136 + <path 137 + id="path838" 138 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 139 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 140 + transform="matrix(-0.8,0,0,-0.8,-10,0)" 141 + inkscape:connector-curvature="0" /> 142 + </marker> 143 + <marker 144 + inkscape:stockid="Arrow1Lstart" 145 + orient="auto" 146 + refY="0" 147 + refX="0" 148 + id="Arrow1Lstart" 149 + style="overflow:visible" 150 + inkscape:isstock="true" 151 + inkscape:collect="always"> 152 + <path 153 + id="path835" 154 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 155 + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" 156 + transform="matrix(0.8,0,0,0.8,10,0)" 157 + inkscape:connector-curvature="0" /> 158 + </marker> 159 + <marker 160 + inkscape:stockid="Arrow1Send" 161 + orient="auto" 162 + refY="0" 163 + refX="0" 164 + id="Arrow1Send" 165 + style="overflow:visible" 166 + inkscape:isstock="true"> 167 + <path 168 + id="path850" 169 + d="M 0,0 5,-5 -12.5,0 5,5 Z" 170 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" 171 + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" 172 + inkscape:connector-curvature="0" /> 173 + </marker> 174 + <marker 175 + inkscape:stockid="Arrow2Sstart" 176 + orient="auto" 177 + refY="0" 178 + refX="0" 179 + id="Arrow2Sstart" 180 + style="overflow:visible" 181 + inkscape:isstock="true"> 182 + <path 183 + id="path865" 184 + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 185 + 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" 186 + transform="matrix(0.3,0,0,0.3,-0.69,0)" 187 + inkscape:connector-curvature="0" /> 188 + </marker> 189 + <marker 190 + inkscape:stockid="Arrow2Mend" 191 + orient="auto" 192 + refY="0" 193 + refX="0" 194 + id="Arrow2Mend-2" 195 + style="overflow:visible" 196 + inkscape:isstock="true"> 197 + <path 198 + inkscape:connector-curvature="0" 199 + id="path862-3" 200 + style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 201 + 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" 202 + transform="scale(-0.6)" /> 203 + </marker> 204 + <marker 205 + inkscape:stockid="Arrow2Mend" 206 + orient="auto" 207 + refY="0" 208 + refX="0" 209 + id="Arrow2Mend-2-5" 210 + style="overflow:visible" 211 + inkscape:isstock="true"> 212 + <path 213 + inkscape:connector-curvature="0" 214 + id="path862-3-9" 215 + style="fill:#800080;fill-opacity:1;fill-rule:evenodd;stroke:#800080;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" 216 + 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" 217 + transform="scale(-0.6)" /> 218 + </marker> 219 + </defs> 220 + <sodipodi:namedview 221 + id="base" 222 + pagecolor="#ffffff" 223 + bordercolor="#666666" 224 + borderopacity="1.0" 225 + inkscape:pageopacity="0.0" 226 + inkscape:pageshadow="2" 227 + inkscape:zoom="1.979899" 228 + inkscape:cx="747.52324" 229 + inkscape:cy="319.84503" 230 + inkscape:document-units="mm" 231 + inkscape:current-layer="layer1" 232 + showgrid="true" 233 + inkscape:window-width="3840" 234 + inkscape:window-height="2096" 235 + inkscape:window-x="0" 236 + inkscape:window-y="27" 237 + inkscape:window-maximized="1" 238 + fit-margin-top="0" 239 + fit-margin-left="0" 240 + fit-margin-right="0" 241 + fit-margin-bottom="0"> 242 + <inkscape:grid 243 + type="xygrid" 244 + id="grid815" 245 + originx="15.282997" 246 + originy="-184.54792" /> 247 + </sodipodi:namedview> 248 + <metadata 249 + id="metadata5"> 250 + <rdf:RDF> 251 + <cc:Work 252 + rdf:about=""> 253 + <dc:format>image/svg+xml</dc:format> 254 + <dc:type 255 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 256 + <dc:title /> 257 + </cc:Work> 258 + </rdf:RDF> 259 + </metadata> 260 + <g 261 + inkscape:label="Layer 1" 262 + inkscape:groupmode="layer" 263 + id="layer1" 264 + transform="translate(15.282998,-16.277083)"> 265 + <path 266 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 267 + 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" 268 + id="path817" 269 + inkscape:connector-curvature="0" 270 + sodipodi:nodetypes="ccccccccc" /> 271 + <path 272 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 273 + 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" 274 + id="path819" 275 + inkscape:connector-curvature="0" /> 276 + <path 277 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 278 + d="m 15.875,66.8125 h 97.89583 V 56.229167 h 7.9375 V 66.8125 h 92.60417" 279 + id="path821" 280 + inkscape:connector-curvature="0" /> 281 + <path 282 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 283 + 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" 284 + id="path823" 285 + inkscape:connector-curvature="0" /> 286 + <path 287 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 288 + d="M 15.875,101.20833 H 187.85416 V 90.625 h 10.58334 v 10.58333 h 10.58333" 289 + id="path825" 290 + inkscape:connector-curvature="0" /> 291 + <path 292 + 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" 293 + d="M 100.54167,48.291667 V 111.79167" 294 + id="path827" 295 + inkscape:connector-curvature="0" /> 296 + <path 297 + 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" 298 + d="m 113.77083,66.8125 v 44.97917" 299 + id="path829" 300 + inkscape:connector-curvature="0" /> 301 + <path 302 + 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" 303 + d="M 206.375,48.291667 V 109.14583" 304 + id="path831" 305 + inkscape:connector-curvature="0" /> 306 + <path 307 + 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)" 308 + d="m 100.54167,106.5 h 13.22916" 309 + id="path833" 310 + inkscape:connector-curvature="0" /> 311 + <path 312 + 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)" 313 + d="M 113.77083,106.5 H 206.375" 314 + id="path1243" 315 + inkscape:connector-curvature="0" /> 316 + <text 317 + xml:space="preserve" 318 + 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" 319 + x="105.83333" 320 + y="111.79166" 321 + id="text1405"><tspan 322 + sodipodi:role="line" 323 + id="tspan1403" 324 + x="105.83333" 325 + y="111.79166" 326 + style="stroke-width:0.26458332">To</tspan></text> 327 + <text 328 + xml:space="preserve" 329 + 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" 330 + x="145.52083" 331 + y="111.79166" 332 + id="text1409"><tspan 333 + sodipodi:role="line" 334 + id="tspan1407" 335 + x="145.52083" 336 + y="111.79166" 337 + style="stroke-width:0.26458332">VStartup Period</tspan></text> 338 + <text 339 + xml:space="preserve" 340 + 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" 341 + x="156.01123" 342 + y="78.71875" 343 + id="text1413"><tspan 344 + sodipodi:role="line" 345 + x="156.01123" 346 + y="78.71875" 347 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332" 348 + id="tspan1415">VUpdate</tspan><tspan 349 + sodipodi:role="line" 350 + x="156.01123" 351 + y="82.6875" 352 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332" 353 + id="tspan1440">Width</tspan></text> 354 + <text 355 + xml:space="preserve" 356 + 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" 357 + x="173.77611" 358 + y="92.703873" 359 + id="text1413-3"><tspan 360 + sodipodi:role="line" 361 + id="tspan1411-6" 362 + x="173.77611" 363 + y="92.703873" 364 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332">VReady</tspan><tspan 365 + sodipodi:role="line" 366 + x="173.77611" 367 + y="96.672623" 368 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332" 369 + id="tspan1415-7">Offset</tspan></text> 370 + <text 371 + xml:space="preserve" 372 + 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" 373 + x="135.78951" 374 + y="70.78125" 375 + id="text1413-5"><tspan 376 + sodipodi:role="line" 377 + x="135.78951" 378 + y="70.78125" 379 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332" 380 + id="tspan1440-5">VUpdate</tspan><tspan 381 + sodipodi:role="line" 382 + x="135.78951" 383 + y="74.75" 384 + style="font-weight:bold;text-align:center;text-anchor:middle;stroke-width:0.26458332" 385 + id="tspan1465">Offset</tspan></text> 386 + <text 387 + xml:space="preserve" 388 + 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" 389 + x="137.39433" 390 + y="48.291664" 391 + id="text1479"><tspan 392 + sodipodi:role="line" 393 + id="tspan1477" 394 + x="137.39433" 395 + y="48.291664" 396 + style="font-weight:bold;stroke-width:0.26458332">VSTARTUP_START</tspan></text> 397 + <text 398 + xml:space="preserve" 399 + 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" 400 + x="-5.4806676" 401 + y="22.778271" 402 + id="text1479-1"><tspan 403 + sodipodi:role="line" 404 + id="tspan1477-2" 405 + x="-5.4806676" 406 + y="22.778271" 407 + style="font-weight:bold;font-size:4.93888903px;stroke-width:0.26458332">VSYNC</tspan></text> 408 + <text 409 + xml:space="preserve" 410 + 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" 411 + x="-9.3767252" 412 + y="45.64584" 413 + id="text1479-1-7"><tspan 414 + sodipodi:role="line" 415 + id="tspan1477-2-0" 416 + x="-9.3767252" 417 + y="45.64584" 418 + style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VBlank</tspan></text> 419 + <text 420 + xml:space="preserve" 421 + 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" 422 + x="-15.310558" 423 + y="64.92263" 424 + id="text1479-1-7-9"><tspan 425 + sodipodi:role="line" 426 + id="tspan1477-2-0-3" 427 + x="-15.310558" 428 + y="64.92263" 429 + style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VStartup</tspan></text> 430 + <text 431 + xml:space="preserve" 432 + 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" 433 + x="-14.17781" 434 + y="85.144356" 435 + id="text1479-1-7-9-6"><tspan 436 + sodipodi:role="line" 437 + id="tspan1477-2-0-3-0" 438 + x="-14.17781" 439 + y="85.144356" 440 + style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VUpdate</tspan></text> 441 + <text 442 + xml:space="preserve" 443 + 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" 444 + x="-11.052421" 445 + y="101.39733" 446 + id="text1479-1-7-9-6-6"><tspan 447 + sodipodi:role="line" 448 + id="tspan1477-2-0-3-0-2" 449 + x="-11.052421" 450 + y="101.39733" 451 + style="font-weight:bold;font-size:5.64444447px;stroke-width:0.26458332">VReady</tspan></text> 452 + <g 453 + id="g5189" 454 + transform="translate(269.875,-14.287499)"> 455 + <path 456 + sodipodi:nodetypes="cc" 457 + inkscape:connector-curvature="0" 458 + id="path5143" 459 + d="m -202.40625,45.645828 3.96875,-7.9375" 460 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 461 + <path 462 + sodipodi:nodetypes="cc" 463 + inkscape:connector-curvature="0" 464 + id="path5143-2" 465 + d="m -199.76042,45.645828 3.96874,-7.937499" 466 + style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 467 + </g> 468 + <g 469 + id="g5189-3" 470 + transform="translate(268.55209,7.9375003)"> 471 + <path 472 + sodipodi:nodetypes="cc" 473 + inkscape:connector-curvature="0" 474 + id="path5143-6" 475 + d="m -202.40625,45.645828 3.96875,-7.9375" 476 + style="fill:none;stroke:#000000;stroke-width:0.5291667;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 477 + <path 478 + sodipodi:nodetypes="cc" 479 + inkscape:connector-curvature="0" 480 + id="path5143-2-1" 481 + d="m -199.76042,45.645828 3.96874,-7.937499" 482 + style="fill:none;stroke:#000000;stroke-width:0.52916676;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /> 483 + </g> 484 + </g> 485 + </svg>
+11 -12
Documentation/gpu/amdgpu/display/index.rst
··· 2 2 drm/amd/display - Display Core (DC) 3 3 =================================== 4 4 5 - *placeholder - general description of supported platforms, what dc is, etc.* 6 - 7 - Because it is partially shared with other operating systems, the Display Core 8 - Driver is divided in two pieces. 5 + AMD display engine is partially shared with other operating systems; for this 6 + reason, our Display Core Driver is divided into two pieces: 9 7 10 8 1. **Display Core (DC)** contains the OS-agnostic components. Things like 11 9 hardware programming and resource management are handled here. 12 10 2. **Display Manager (DM)** contains the OS-dependent components. Hooks to the 13 11 amdgpu base driver and DRM are implemented here. 14 12 15 - It doesn't help that the entire package is frequently referred to as DC. But 16 - with the context in mind, it should be clear. 13 + The display pipe is responsible for "scanning out" a rendered frame from the 14 + GPU memory (also called VRAM, FrameBuffer, etc.) to a display. In other words, 15 + it would: 17 16 18 - When CONFIG_DRM_AMD_DC is enabled, DC will be initialized by default for 19 - supported ASICs. To force disable, set `amdgpu.dc=0` on kernel command line. 20 - Likewise, to force enable on unsupported ASICs, set `amdgpu.dc=1`. 17 + 1. Read frame information from memory; 18 + 2. Perform required transformation; 19 + 3. Send pixel data to sink devices. 21 20 22 - To determine if DC is loaded, search dmesg for the following entry: 21 + If you want to learn more about our driver details, take a look at the below 22 + table of content: 23 23 24 24 .. toctree:: 25 25 26 26 display-manager.rst 27 27 dc-debug.rst 28 - 29 - ``Display Core initialized with <version number here>`` 28 + dcn-overview.rst