diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-10-05 11:24:12 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-10-05 11:24:12 -0700 |
commit | 7e6739b9336e61fe23ca4e2c8d1fda8f19f979bf (patch) | |
tree | da3dc30b7ba682edbb7392028e20dcce194b958b /Documentation | |
parent | a47e60729d9624e931f988709ab76e043e2ee8b9 (diff) | |
parent | 65898687cf7392c372ea8d04a88617e2cb794465 (diff) |
Merge tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm
Pull drm updates from Dave Airlie:
"Lots of stuff all over, some new AMD IP support and gang submit
support. i915 has further DG2 and Meteorlake pieces, and a bunch of
i915 display refactoring. msm has a shrinker rework. There are also a
bunch of conversions to use kunit.
This has two external pieces, some MEI changes needed for future Intel
discrete GPUs. These should be acked by Greg. There is also a cross
maintainer shared tree with some backlight rework from Hans in here.
Core:
- convert selftests to kunit
- managed init for more objects
- move to idr_init_base
- rename fb and gem cma helpers to dma
- hide unregistered connectors from getconnector ioctl
- DSC passthrough aux support
- backlight handling improvements
- add dma_resv_assert_held to vmap/vunmap
edid:
- move luminance calculation to core
fbdev:
- fix aperture helper usage
fourcc:
- add more format helpers
- add DRM_FORMAT_Cxx, DRM_FORMAT_Rxx, DRM_FORMAT_Dxx
- add packed AYUV8888, XYUV8888
- add some kunit tests
ttm:
- allow bos without backing store
- rewrite placement to use intersect/compatible functions
dma-buf:
- docs update
- improve signalling when debugging
udmabuf:
- fix failure path GPF
dp:
- drop dp/mst legacy code
- atomic mst state support
- audio infoframe packing
panel:
- Samsung LTL101AL01
- B120XAN01.0
- R140NWF5 RH
- DMT028VGHMCMI-1A T
- AUO B133UAN02.1
- IVO M133NW4J-R3
- Innolux N120ACA-EA1
amdgpu:
- Gang submit support
- Mode2 reset for RDNA2
- New IP support:
DCN 3.1.4, 3.2
SMU 13.x
NBIO 7.7
GC 11.x
PSP 13.x
SDMA 6.x
GMC 11.x
- DSC passthrough support
- PSP fixes for TA support
- vangogh GFXOFF stats
- clang fixes
- gang submit CS cleanup prep work
- fix VRAM eviction issues
amdkfd:
- GC 10.3 IP ISA fixes
- fix CRIU regression
- CPU fault on COW mapping fixes
i915:
- align fw versioning with kernel practices
- add display substruct to i915 private
- add initial runtime info to driver info
- split out HDCP and backlight registers
- MEI XeHP SDV GSC support
- add per-gt sysfs defaults
- TLB invalidation improvements
- Disable PCI BAR resize on 32-bit
- GuC firmware updates and compat changes
- GuC log timestamp translation
- DG2 preemption workaround changes
- DG2 improved HDMI pixel clocks support
- PCI BAR sanity checks
- Enable DC5 on DG2
- DG2 DMC fw bumped
- ADL-S PCI ID added
- Meteorlake enablement
- Rename ggtt_view to gtt_view
- host RPS fixes
- release mmaps on rpm suspend on discrete
- clocking and dpll refactoring
- VBT definitions and parsing updates
- SKL watermark code extracted to separate file
- allow seamless M/N changes on eDP panels
- BUG_ON removal and cleanups
msm:
- DPU:
simplified VBIF configuration
cleanup CTL interfaces
- DSI:
removed unused msm_display_dsc_config struct
switch regulator calls to new API
switched to PANEL_BRIDGE for direct attached panels
- DSI_PHY: convert drivers to parent_hws
- DP: cleanup pixel_rate handling
- HDMI: turned hdmi-phy-8996 into OF clk provider
- misc dt-bindings fixes
- choose eDP as primary display if it's available
- support getting interconnects from either the mdss or the mdp5/dpu
device nodes
- gem: Shrinker + LRU re-work:
- adds a shared GEM LRU+shrinker helper and moves msm over to that
- reduce lock contention between retire and submit by avoiding the
need to acquire obj lock in retire path (and instead using resv
seeing obj's busyness in the shrinker
- fix reclaim vs submit issues
- GEM fault injection for triggering userspace error paths
- Map/unmap optimization
- Improved robustness for a6xx GPU recovery
virtio:
- improve error and edge conditions handling
- convert to use managed helpers
- stop exposing LINEAR modifier
mgag200:
- split modeset handling per model
udl:
- suspend/disconnect handling improvements
vc4:
- rework HDMI power up
- depend on PM
- better unplugging support
ast:
- resolution handling improvements
ingenic:
- add JZ4760(B) support
- avoid a modeset when sharpness property is unchanged
- use the new PM ops
it6505:
- power seq and clock updates
ssd130x:
- regmap bulk write
- use atomic helpers instead of simple helpers
via:
- rename via_drv to via_dri1, consolidate all code.
radeon:
- drop DP MST experimental support
- delayed work flush fix
- use time_after
ti-sn65dsi86:
- DP support
mediatek:
- MT8195 DP support
- drop of_gpio header
- remove unneeded result
- small DP code improvements
vkms:
- RGB565, XRGB64 and ARGB64 support
sun4i:
- tv: convert to atomic
rcar-du:
- Synopsys DW HDMI bridge DT bindings update
exynos:
- use drm_display_info.is_hdmi
- correct return of mixer_mode_valid and hdmi_mode_valid
omap:
- refcounting fix
rockchip:
- RK3568 support
- RK3399 gamma support"
* tag 'drm-next-2022-10-05' of git://anongit.freedesktop.org/drm/drm: (1374 commits)
drm/amdkfd: Fix UBSAN shift-out-of-bounds warning
drm/amdkfd: Track unified memory when switching xnack mode
drm/amdgpu: Enable sram on vcn_4_0_2
drm/amdgpu: Enable VCN DPG for GC11_0_1
drm/msm: Fix build break with recent mm tree
drm/panel: simple: Use dev_err_probe() to simplify code
drm/panel: panel-edp: Use dev_err_probe() to simplify code
drm/panel: simple: Add Multi-Inno Technology MI0800FT-9
dt-bindings: display: simple: Add Multi-Inno Technology MI0800FT-9 panel
drm/amdgpu: correct the memcpy size for ip discovery firmware
drm/amdgpu: Skip put_reset_domain if it doesn't exist
drm/amdgpu: remove switch from amdgpu_gmc_noretry_set
drm/amdgpu: Fix mc_umc_status used uninitialized warning
drm/amd/display: Prevent OTG shutdown during PSR SU
drm/amdgpu: add page retirement handling for CPU RAS
drm/amdgpu: use RAS error address convert api in mca notifier
drm/amdgpu: support to convert dedicated umc mca address
drm/amdgpu: export umc error address convert interface
drm/amdgpu: fix sdma v4 init microcode error
drm/amd/display: fix array-bounds error in dc_stream_remove_writeback()
...
Diffstat (limited to 'Documentation')
40 files changed, 7235 insertions, 87 deletions
diff --git a/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml b/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml index 4f0b7c71313c..5fb54375aeb6 100644 --- a/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml +++ b/Documentation/devicetree/bindings/display/bridge/chipone,icn6211.yaml @@ -24,6 +24,15 @@ properties: maxItems: 1 description: virtual channel number of a DSI peripheral + clock-names: + const: refclk + + clocks: + maxItems: 1 + description: | + Optional external clock connected to REF_CLK input. + The clock rate must be in 10..154 MHz range. + enable-gpios: description: Bridge EN pin, chip is reset when EN is low. diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml index 0c9785c8db51..e3ec697f89e7 100644 --- a/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dw-hdmi.yaml @@ -38,6 +38,9 @@ properties: clock-names: maxItems: 2 + resets: + maxItems: 1 + ports: $ref: /schemas/graph.yaml#/properties/ports @@ -67,6 +70,7 @@ required: - reg - clocks - clock-names + - resets - interrupts - ports @@ -85,6 +89,7 @@ examples: clocks = <&cpg CPG_CORE R8A7795_CLK_S0D4>, <&cpg CPG_MOD 729>; clock-names = "iahb", "isfr"; power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; + resets = <&cpg 729>; ports { #address-cells = <1>; diff --git a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml index 0049010b37ca..c0bb02fb49f4 100644 --- a/Documentation/devicetree/bindings/display/ingenic,lcd.yaml +++ b/Documentation/devicetree/bindings/display/ingenic,lcd.yaml @@ -17,6 +17,8 @@ properties: enum: - ingenic,jz4740-lcd - ingenic,jz4725b-lcd + - ingenic,jz4760-lcd + - ingenic,jz4760b-lcd - ingenic,jz4770-lcd - ingenic,jz4780-lcd diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dp.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dp.yaml new file mode 100644 index 000000000000..ff781f2174a0 --- /dev/null +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dp.yaml @@ -0,0 +1,116 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/mediatek/mediatek,dp.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: MediaTek Display Port Controller + +maintainers: + - Chun-Kuang Hu <chunkuang.hu@kernel.org> + - Jitao shi <jitao.shi@mediatek.com> + +description: | + MediaTek DP and eDP are different hardwares and there are some features + which are not supported for eDP. For example, audio is not supported for + eDP. Therefore, we need to use two different compatibles to describe them. + In addition, We just need to enable the power domain of DP, so the clock + of DP is generated by itself and we are not using other PLL to generate + clocks. + +properties: + compatible: + enum: + - mediatek,mt8195-dp-tx + - mediatek,mt8195-edp-tx + + reg: + maxItems: 1 + + nvmem-cells: + maxItems: 1 + description: efuse data for display port calibration + + nvmem-cell-names: + const: dp_calibration_data + + power-domains: + maxItems: 1 + + interrupts: + maxItems: 1 + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Input endpoint of the controller, usually dp_intf + + port@1: + $ref: /schemas/graph.yaml#/$defs/port-base + unevaluatedProperties: false + description: Output endpoint of the controller + properties: + endpoint: + $ref: /schemas/media/video-interfaces.yaml# + unevaluatedProperties: false + properties: + data-lanes: + description: | + number of lanes supported by the hardware. + The possible values: + 0 - For 1 lane enabled in IP. + 0 1 - For 2 lanes enabled in IP. + 0 1 2 3 - For 4 lanes enabled in IP. + minItems: 1 + maxItems: 4 + required: + - data-lanes + + required: + - port@0 + - port@1 + + max-linkrate-mhz: + enum: [ 1620, 2700, 5400, 8100 ] + description: maximum link rate supported by the hardware. + +required: + - compatible + - reg + - interrupts + - ports + - max-linkrate-mhz + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/power/mt8195-power.h> + dptx@1c600000 { + compatible = "mediatek,mt8195-dp-tx"; + reg = <0x1c600000 0x8000>; + power-domains = <&spm MT8195_POWER_DOMAIN_DP_TX>; + interrupts = <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH 0>; + max-linkrate-mhz = <8100>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + dptx_in: endpoint { + remote-endpoint = <&dp_intf0_out>; + }; + }; + port@1 { + reg = <1>; + dptx_out: endpoint { + data-lanes = <0 1 2 3>; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml index 94bc6e1b6451..f2515af8256f 100644 --- a/Documentation/devicetree/bindings/display/msm/dp-controller.yaml +++ b/Documentation/devicetree/bindings/display/msm/dp-controller.yaml @@ -24,6 +24,7 @@ properties: - qcom,sm8350-dp reg: + minItems: 4 items: - description: ahb register block - description: aux register block @@ -70,14 +71,28 @@ properties: operating-points-v2: maxItems: 1 + opp-table: true + power-domains: maxItems: 1 + aux-bus: + $ref: /schemas/display/dp-aux-bus.yaml# + + data-lanes: + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 1 + maxItems: 4 + items: + maximum: 3 + "#sound-dai-cells": const: 0 - vdda-0p9-supply: true - vdda-1p2-supply: true + vdda-0p9-supply: + deprecated: true + vdda-1p2-supply: + deprecated: true ports: $ref: /schemas/graph.yaml#/properties/ports @@ -98,10 +113,33 @@ required: - clock-names - phys - phy-names - - "#sound-dai-cells" - power-domains - ports +allOf: + # AUX BUS does not exist on DP controllers + # Audio output also is present only on DP output + # p1 regions is present on DP, but not on eDP + - if: + properties: + compatible: + contains: + enum: + - qcom,sc7280-edp + - qcom,sc8180x-edp + then: + properties: + "#sound-dai-cells": false + reg: + maxItems: 4 + else: + properties: + aux-bus: false + reg: + minItems: 5 + required: + - "#sound-dai-cells" + additionalProperties: false examples: @@ -140,9 +178,6 @@ examples: power-domains = <&rpmhpd SC7180_CX>; - vdda-0p9-supply = <&vdda_usb_ss_dp_core>; - vdda-1p2-supply = <&vdda_usb_ss_dp_1p2>; - ports { #address-cells = <1>; #size-cells = <0>; diff --git a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml index 2df64afb76e6..253665c693e6 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml @@ -62,6 +62,7 @@ patternProperties: "^display-controller@[0-9a-f]+$": type: object description: Node containing the properties of DPU. + additionalProperties: false properties: compatible: @@ -105,6 +106,9 @@ patternProperties: maxItems: 1 operating-points-v2: true + opp-table: + type: object + ports: $ref: /schemas/graph.yaml#/properties/ports description: | diff --git a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml index 734d14de966d..c5824e1d2382 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml @@ -74,6 +74,7 @@ patternProperties: "^display-controller@[0-9a-f]+$": type: object description: Node containing the properties of DPU. + additionalProperties: false properties: compatible: @@ -113,6 +114,8 @@ patternProperties: maxItems: 1 operating-points-v2: true + opp-table: + type: object ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml index d3c3e4b07897..4890bc25f3fd 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml @@ -73,6 +73,7 @@ patternProperties: "^display-controller@[0-9a-f]+$": type: object description: Node containing the properties of DPU. + additionalProperties: false properties: compatible: @@ -114,6 +115,8 @@ patternProperties: maxItems: 1 operating-points-v2: true + opp-table: + type: object ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml index f427eec3d3a4..584d646021d5 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml @@ -72,6 +72,7 @@ patternProperties: "^display-controller@[0-9a-f]+$": type: object description: Node containing the properties of DPU. + additionalProperties: false properties: compatible: @@ -112,6 +113,8 @@ patternProperties: maxItems: 1 operating-points-v2: true + opp-table: + type: object ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml index 2bb8896beffc..7d1037373175 100644 --- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml +++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml @@ -65,6 +65,7 @@ patternProperties: "^display-controller@[0-9a-f]+$": type: object description: Node containing the properties of DPU. + additionalProperties: false properties: compatible: @@ -102,6 +103,9 @@ patternProperties: maxItems: 1 operating-points-v2: true + opp-table: + type: object + ports: $ref: /schemas/graph.yaml#/properties/ports description: | diff --git a/Documentation/devicetree/bindings/display/msm/gmu.yaml b/Documentation/devicetree/bindings/display/msm/gmu.yaml index fe55611d2603..67fdeeabae0c 100644 --- a/Documentation/devicetree/bindings/display/msm/gmu.yaml +++ b/Documentation/devicetree/bindings/display/msm/gmu.yaml @@ -20,35 +20,24 @@ description: | properties: compatible: items: - - enum: - - qcom,adreno-gmu-630.2 + - pattern: '^qcom,adreno-gmu-6[0-9][0-9]\.[0-9]$' - const: qcom,adreno-gmu reg: - items: - - description: Core GMU registers - - description: GMU PDC registers - - description: GMU PDC sequence registers + minItems: 3 + maxItems: 4 reg-names: - items: - - const: gmu - - const: gmu_pdc - - const: gmu_pdc_seq + minItems: 3 + maxItems: 4 clocks: - items: - - description: GMU clock - - description: GPU CX clock - - description: GPU AXI clock - - description: GPU MEMNOC clock + minItems: 4 + maxItems: 7 clock-names: - items: - - const: gmu - - const: cxo - - const: axi - - const: memnoc + minItems: 4 + maxItems: 7 interrupts: items: @@ -76,6 +65,9 @@ properties: operating-points-v2: true + opp-table: + type: object + required: - compatible - reg @@ -91,6 +83,140 @@ required: additionalProperties: false +allOf: + - if: + properties: + compatible: + contains: + enum: + - qcom,adreno-gmu-618.0 + - qcom,adreno-gmu-630.2 + then: + properties: + reg: + items: + - description: Core GMU registers + - description: GMU PDC registers + - description: GMU PDC sequence registers + reg-names: + items: + - const: gmu + - const: gmu_pdc + - const: gmu_pdc_seq + clocks: + items: + - description: GMU clock + - description: GPU CX clock + - description: GPU AXI clock + - description: GPU MEMNOC clock + clock-names: + items: + - const: gmu + - const: cxo + - const: axi + - const: memnoc + + - if: + properties: + compatible: + contains: + enum: + - qcom,adreno-gmu-635.0 + then: + properties: + reg: + items: + - description: Core GMU registers + - description: Resource controller registers + - description: GMU PDC registers + reg-names: + items: + - const: gmu + - const: rscc + - const: gmu_pdc + clocks: + items: + - description: GMU clock + - description: GPU CX clock + - description: GPU AXI clock + - description: GPU MEMNOC clock + - description: GPU AHB clock + - description: GPU HUB CX clock + - description: GPU SMMU vote clock + clock-names: + items: + - const: gmu + - const: cxo + - const: axi + - const: memnoc + - const: ahb + - const: hub + - const: smmu_vote + + - if: + properties: + compatible: + contains: + enum: + - qcom,adreno-gmu-640.1 + then: + properties: + reg: + items: + - description: Core GMU registers + - description: GMU PDC registers + - description: GMU PDC sequence registers + reg-names: + items: + - const: gmu + - const: gmu_pdc + - const: gmu_pdc_seq + + - if: + properties: + compatible: + contains: + enum: + - qcom,adreno-gmu-650.2 + then: + properties: + reg: + items: + - description: Core GMU registers + - description: Resource controller registers + - description: GMU PDC registers + - description: GMU PDC sequence registers + reg-names: + items: + - const: gmu + - const: rscc + - const: gmu_pdc + - const: gmu_pdc_seq + + - if: + properties: + compatible: + contains: + enum: + - qcom,adreno-gmu-640.1 + - qcom,adreno-gmu-650.2 + then: + properties: + clocks: + items: + - description: GPU AHB clock + - description: GMU clock + - description: GPU CX clock + - description: GPU AXI clock + - description: GPU MEMNOC clock + clock-names: + items: + - const: ahb + - const: gmu + - const: cxo + - const: axi + - const: memnoc + examples: - | #include <dt-bindings/clock/qcom,gpucc-sdm845.h> diff --git a/Documentation/devicetree/bindings/display/msm/gpu.yaml b/Documentation/devicetree/bindings/display/msm/gpu.yaml index 3397bc31d087..346aabdccf7b 100644 --- a/Documentation/devicetree/bindings/display/msm/gpu.yaml +++ b/Documentation/devicetree/bindings/display/msm/gpu.yaml @@ -58,7 +58,8 @@ properties: - const: ocmem iommus: - maxItems: 1 + minItems: 1 + maxItems: 64 sram: $ref: /schemas/types.yaml#/definitions/phandle-array diff --git a/Documentation/devicetree/bindings/display/msm/mdp4.yaml b/Documentation/devicetree/bindings/display/msm/mdp4.yaml index f63f60fea27c..58c13f5277b6 100644 --- a/Documentation/devicetree/bindings/display/msm/mdp4.yaml +++ b/Documentation/devicetree/bindings/display/msm/mdp4.yaml @@ -36,7 +36,7 @@ properties: maxItems: 1 iommus: - maxItems: 1 + maxItems: 4 ports: $ref: /schemas/graph.yaml#/properties/ports diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml index bc8e9c0c1dc3..18241f4051d2 100644 --- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml +++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml @@ -234,6 +234,8 @@ properties: - mitsubishi,aa070mc01-ca1 # Multi-Inno Technology Co.,Ltd MI0700S4T-6 7" 800x480 TFT Resistive Touch Module - multi-inno,mi0700s4t-6 + # Multi-Inno Technology Co.,Ltd MI0800FT-9 8" 800x600 TFT Resistive Touch Module + - multi-inno,mi0800ft-9 # Multi-Inno Technology Co.,Ltd MI1010AIT-1CP 10.1" 1280x800 LVDS IPS Cap Touch Mod. - multi-inno,mi1010ait-1cp # NEC LCD Technologies, Ltd. 12.1" WXGA (1280x800) LVDS TFT LCD panel @@ -280,6 +282,8 @@ properties: - samsung,atna33xc20 # Samsung 12.2" (2560x1600 pixels) TFT LCD panel - samsung,lsn122dl01-c01 + # Samsung Electronics 10.1" WXGA (1280x800) TFT LCD panel + - samsung,ltl101al01 # Samsung Electronics 10.1" WSVGA TFT LCD panel - samsung,ltn101nt05 # Samsung Electronics 14" WXGA (1366x768) TFT LCD panel diff --git a/Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml b/Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml index 6dff59fe4be1..34d5e20c6cb3 100644 --- a/Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml +++ b/Documentation/devicetree/bindings/display/panel/sitronix,st7701.yaml @@ -17,6 +17,9 @@ description: | Techstar TS8550B is 480x854, 2-lane MIPI DSI LCD panel which has inbuilt ST7701 chip. + Densitron DMT028VGHMCMI-1A is 480x640, 2-lane MIPI DSI LCD panel + which has built-in ST7701 chip. + allOf: - $ref: panel-common.yaml# @@ -24,6 +27,7 @@ properties: compatible: items: - enum: + - densitron,dmt028vghmcmi-1a - techstar,ts8550b - const: sitronix,st7701 diff --git a/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt b/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt index 39792f051d2d..9a223df8530c 100644 --- a/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt +++ b/Documentation/devicetree/bindings/display/rockchip/dw_mipi_dsi_rockchip.txt @@ -8,6 +8,7 @@ Required properties: "rockchip,px30-mipi-dsi", "snps,dw-mipi-dsi" "rockchip,rk3288-mipi-dsi", "snps,dw-mipi-dsi" "rockchip,rk3399-mipi-dsi", "snps,dw-mipi-dsi" + "rockchip,rk3568-mipi-dsi", "snps,dw-mipi-dsi" - reg: Represent the physical address range of the controller. - interrupts: Represent the controller's interrupt to the CPU(s). - clocks, clock-names: Phandles to the controller's pll reference diff --git a/Documentation/devicetree/bindings/phy/qcom,hdmi-phy-qmp.yaml b/Documentation/devicetree/bindings/phy/qcom,hdmi-phy-qmp.yaml index eea2e02678ed..83fe4b39b56f 100644 --- a/Documentation/devicetree/bindings/phy/qcom,hdmi-phy-qmp.yaml +++ b/Documentation/devicetree/bindings/phy/qcom,hdmi-phy-qmp.yaml @@ -28,12 +28,15 @@ properties: - const: hdmi_phy clocks: - maxItems: 2 + minItems: 2 + maxItems: 3 clock-names: + minItems: 2 items: - const: iface - const: ref + - const: xo power-domains: maxItems: 1 @@ -44,6 +47,9 @@ properties: vddio-supply: description: phandle to VDD I/O supply regulator + '#clock-cells': + const: 0 + '#phy-cells': const: 0 @@ -75,9 +81,12 @@ examples: "hdmi_phy"; clocks = <&mmcc 116>, - <&gcc 214>; + <&gcc 214>, + <&xo_board>; clock-names = "iface", - "ref"; + "ref", + "xo"; + #clock-cells = <0>; #phy-cells = <0>; vddio-supply = <&vreg_l12a_1p8>; diff --git a/Documentation/gpu/amdgpu/apu-asic-info-table.csv b/Documentation/gpu/amdgpu/apu-asic-info-table.csv new file mode 100644 index 000000000000..98c6988e424e --- /dev/null +++ b/Documentation/gpu/amdgpu/apu-asic-info-table.csv @@ -0,0 +1,8 @@ +Product Name, Code Reference, DCN/DCE version, GC version, VCE/UVD/VCN version, SDMA version +Radeon R* Graphics, CARRIZO/STONEY, DCE 11, 8, VCE 3 / UVD 6, 3 +Ryzen 3000 series / AMD Ryzen Embedded V1*/R1* with Radeon Vega Gfx, RAVEN/PICASSO, DCN 1.0, 9.1.0, VCN 1.0, 4.1.0 +Ryzen 4000 series, RENOIR, DCN 2.1, 9.3, VCN 2.2, 4.1.2 +Ryzen 3000 series / AMD Ryzen Embedded V1*/R1* with Radeon Vega Gfx, RAVEN2, DCN 1.0, 9.2.2, VCN 1.0.1, 4.1.1 +SteamDeck, VANGOGH, DCN 3.0.1, 10.3.1, VCN 3.1.0, 5.2.1 +Ryzen 5000 series, GREEN SARDINE, DCN 2.1, 9.3, VCN 2.2, 4.1.1 +Ryzen 6000 Zen, YELLOW CARP, 3.1.2, 10.3.3, VCN 3.1.1, 5.2.3 diff --git a/Documentation/gpu/amdgpu/dgpu-asic-info-table.csv b/Documentation/gpu/amdgpu/dgpu-asic-info-table.csv new file mode 100644 index 000000000000..84617aa35dab --- /dev/null +++ b/Documentation/gpu/amdgpu/dgpu-asic-info-table.csv @@ -0,0 +1,24 @@ +Product Name, Code Reference, DCN/DCE version, GC version, VCN version, SDMA version +AMD Radeon (TM) HD 8500M/ 8600M /M200 /M320 /M330 /M335 Series, HAINAN, --, 6, --, -- +AMD Radeon HD 7800 /7900 /FireGL Series, TAHITI, DCE 6, 6, VCE 1 / UVD 3, -- +AMD Radeon R7 (TM|HD) M265 /M370 /8500M /8600 /8700 /8700M, OLAND, DCE 6, 6, VCE 1 / UVD 3, -- +AMD Radeon (TM) (HD|R7) 7800 /7970 /8800 /8970 /370/ Series, PITCAIRN, DCE 6, 6, VCE 1 / UVD 3, -- +AMD Radeon (TM|R7|R9|HD) E8860 /M360 /7700 /7800 /8800 /9000(M) /W4100 Series, VERDE, DCE 6, 6, VCE 1 / UVD 3, -- +AMD Radeon HD M280X /M380 /7700 /8950 /W5100, BONAIRE, DCE 8, 7, VCE 2 / UVD 4.2, 1 +AMD Radeon (R9|TM) 200 /390 /W8100 /W9100 Series, HAWAII, DCE 8, 7, VCE 2 / UVD 4.2, 1 +AMD Radeon (TM) R(5|7) M315 /M340 /M360, TOPAZ, *, 8, --, 2 +AMD Radeon (TM) R9 200 /380 /W7100 /S7150 /M390 /M395 Series, TONGA, DCE 10, 8, VCE 3 / UVD 5, 3 +AMD Radeon (FirePro) (TM) R9 Fury Series, FIJI, DCE 10, 8, VCE 3 / UVD 6, 3 +Radeon RX 470 /480 /570 /580 /590 Series - AMD Radeon (TM) (Pro WX) 5100 /E9390 /E9560 /E9565 /V7350 /7100 /P30PH, POLARIS10, DCE 11.2, 8, VCE 3.4 / UVD 6.3, 3 +Radeon (TM) (RX|Pro WX) E9260 /460 /V5300X /550 /560(X) Series, POLARIS11, DCE 11.2, 8, VCE 3.4 / UVD 6.3, 3 +Radeon (RX/Pro) 500 /540(X) /550 /640 /WX2100 /WX3100 /WX200 Series, POLARIS12, DCE 11.2, 8, VCE 3.4 / UVD 6.3, 3 +Radeon (RX|TM) (PRO|WX) Vega /MI25 /V320 /V340L /8200 /9100 /SSG MxGPU, VEGA10, DCE 12, 9.0.1, VCE 4.0.0 / UVD 7.0.0, 4.0.0 +AMD Radeon (Pro) VII /MI50 /MI60, VEGA20, DCE 12, 9.4.0, VCE 4.1.0 / UVD 7.2.0, 4.2.0 +MI100, ARCTURUS, *, 9.4.1, VCN 2.5.0, 4.2.2 +MI200, ALDEBARAN, *, 9.4.2, VCN 2.6.0, 4.4.0 +AMD Radeon (RX|Pro) 5600(M|XT) /5700 (M|XT|XTB) /W5700, NAVI10, DCN 2.0.0, 10.1.10, VCN 2.0.0, 5.0.0 +AMD Radeon (Pro) 5300 /5500XTB/5500(XT|M) /W5500M /W5500, NAVI14, DCN 2.0.0, 10.1.1, VCN 2.0.2, 5.0.2 +AMD Radeon RX 6800(XT) /6900(XT) /W6800, SIENNA_CICHLID, DCN 3.0.0, 10.3.0, VCN 3.0.0, 5.2.0 +AMD Radeon RX 6700 XT / 6800M / 6700M, NAVY_FLOUNDER, DCN 3.0.0, 10.3.2, VCN 3.0.0, 5.2.2 +AMD Radeon RX 6600(XT) /6600M /W6600 /W6600M, DIMGREY_CAVEFISH, DCN 3.0.2, 10.3.4, VCN 3.0.16, 5.2.4 +AMD Radeon RX 6500M /6300M /W6500M /W6300M, BEIGE_GOBY, DCN 3.0.3, 10.3.5, VCN 3.0.33, 5.2.5 diff --git a/Documentation/gpu/amdgpu/display/dc-glossary.rst b/Documentation/gpu/amdgpu/display/dc-glossary.rst index 116f5f0942fd..0b0ffd428dd2 100644 --- a/Documentation/gpu/amdgpu/display/dc-glossary.rst +++ b/Documentation/gpu/amdgpu/display/dc-glossary.rst @@ -170,7 +170,7 @@ consider asking in the amdgfx and update this page. MC Memory Controller - MPC + MPC/MPCC Multiple pipes and plane combine MPO diff --git a/Documentation/gpu/amdgpu/display/dcn-overview.rst b/Documentation/gpu/amdgpu/display/dcn-overview.rst index f98624d7828e..9fea6500448b 100644 --- a/Documentation/gpu/amdgpu/display/dcn-overview.rst +++ b/Documentation/gpu/amdgpu/display/dcn-overview.rst @@ -124,6 +124,65 @@ depth format), bit-depth reduction/dithering would kick in. In OPP, we would also apply a regamma function to introduce the gamma removed earlier back. Eventually, we output data in integer format at DIO. +AMD Hardware Pipeline +--------------------- + +When discussing graphics on Linux, the **pipeline** term can sometimes be +overloaded with multiple meanings, so it is important to define what we mean +when we say **pipeline**. In the DCN driver, we use the term **hardware +pipeline** or **pipeline** or just **pipe** as an abstraction to indicate a +sequence of DCN blocks instantiated to address some specific configuration. DC +core treats DCN blocks as individual resources, meaning we can build a pipeline +by taking resources for all individual hardware blocks to compose one pipeline. +In actuality, we can't connect an arbitrary block from one pipe to a block from +another pipe; they are routed linearly, except for DSC, which can be +arbitrarily assigned as needed. We have this pipeline concept for trying to +optimize bandwidth utilization. + +.. kernel-figure:: pipeline_4k_no_split.svg + +Additionally, let's take a look at parts of the DTN log (see +'Documentation/gpu/amdgpu/display/dc-debug.rst' for more information) since +this log can help us to see part of this pipeline behavior in real-time:: + + HUBP: format addr_hi width height ... + [ 0]: 8h 81h 3840 2160 + [ 1]: 0h 0h 0 0 + [ 2]: 0h 0h 0 0 + [ 3]: 0h 0h 0 0 + [ 4]: 0h 0h 0 0 + ... + MPCC: OPP DPP ... + [ 0]: 0h 0h ... + +The first thing to notice from the diagram and DTN log it is the fact that we +have different clock domains for each part of the DCN blocks. In this example, +we have just a single **pipeline** where the data flows from DCHUB to DIO, as +we intuitively expect. Nonetheless, DCN is flexible, as mentioned before, and +we can split this single pipe differently, as described in the below diagram: + +.. kernel-figure:: pipeline_4k_split.svg + +Now, if we inspect the DTN log again we can see some interesting changes:: + + HUBP: format addr_hi width height ... + [ 0]: 8h 81h 1920 2160 ... + ... + [ 4]: 0h 0h 0 0 ... + [ 5]: 8h 81h 1920 2160 ... + ... + MPCC: OPP DPP ... + [ 0]: 0h 0h ... + [ 5]: 0h 5h ... + +From the above example, we now split the display pipeline into two vertical +parts of 1920x2160 (i.e., 3440x2160), and as a result, we could reduce the +clock frequency in the DPP part. This is not only useful for saving power but +also to better handle the required throughput. The idea to keep in mind here is +that the pipe configuration can vary a lot according to the display +configuration, and it is the DML's responsibility to set up all required +configuration parameters for multiple scenarios supported by our hardware. + Global Sync ----------- diff --git a/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg new file mode 100644 index 000000000000..315ffc5a1a4b --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dcn2_cm_drm_current.svg @@ -0,0 +1,1370 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg2019" + width="1702" + height="1845" + viewBox="0 0 1702 1845" + sodipodi:docname="dcn2_cm_drm_current.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs2023" /> + <sodipodi:namedview + id="namedview2021" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.56413987" + inkscape:cx="1003.2973" + inkscape:cy="691.31792" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="g2025" /> + <g + inkscape:groupmode="layer" + inkscape:label="Image" + id="g2025"> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect34" + width="208.83351" + height="486.09872" + x="0.90158081" + y="132.77872" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1019" + width="126.38867" + height="55.320732" + x="25.960823" + y="188.06937" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1021" + width="126.38867" + height="55.320732" + x="25.960823" + y="346.06937" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1103" + width="126.38867" + height="55.320732" + x="25.960823" + y="266.06937" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1105" + width="126.38867" + height="55.320732" + x="25.960823" + y="426.06937" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1107" + width="126.38867" + height="55.320732" + x="25.960823" + y="506.06934" /> + <path + d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z" + id="path381056" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1131" + width="239.47592" + height="1015.9909" + x="298.65631" + y="82.399658" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1" + id="rect1133" + width="340.44653" + height="525.77448" + x="298.79562" + y="1142.5299" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1237" + width="284.00113" + height="945.41412" + x="827.75012" + y="82.880798" + inkscape:connector-avoid="true" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1239" + width="239.37569" + height="179.03308" + x="1356.9507" + y="98.758331" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1" + id="rect1241" + width="239.4184" + height="713.64905" + x="1356.9543" + y="307.7951" + inkscape:connector-avoid="true" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1345" + width="330.32059" + height="409.44757" + x="1363.8723" + y="1147.7572" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1347" + width="369.8941" + height="682.32245" + x="825.72528" + y="1146.6448" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1349" + width="163.95746" + height="40.144867" + x="1389.9988" + y="190.80583" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1" + id="rect1619" + width="271.99091" + height="42.038273" + x="1393.981" + y="1197.161" + inkscape:connector-avoid="true" /> + <path + d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z" + id="path106-1" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <path + d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z" + id="path106-1-7" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1623" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1268.2837" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1705" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1348.2837" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1707" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1432.2837" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1731" + width="222.34483" + height="44.64616" + x="867.36292" + y="190.42665" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1813" + width="222.34483" + height="44.64616" + x="867.36292" + y="254.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1815" + width="222.34483" + height="44.64616" + x="867.36292" + y="318.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1817" + width="222.34483" + height="44.64616" + x="867.36292" + y="412.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1819" + width="222.34483" + height="44.64616" + x="867.36292" + y="560.42664" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1821" + width="222.34483" + height="44.64616" + x="867.36292" + y="674.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1823" + width="222.34483" + height="44.64616" + x="867.36292" + y="744.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1825" + width="222.34483" + height="44.64616" + x="867.36292" + y="820.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1827" + width="222.34483" + height="44.64616" + x="867.36292" + y="890.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1829" + width="222.34483" + height="44.64616" + x="867.36292" + y="956.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1831" + width="222.34483" + height="44.64616" + x="867.36292" + y="1256.4268" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1833" + width="222.34483" + height="44.64616" + x="867.36292" + y="1402.4268" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1915" + width="222.34483" + height="44.64616" + x="867.36292" + y="1330.4268" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1917" + width="222.34483" + height="44.64616" + x="867.36292" + y="1478.4268" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1919" + width="222.34483" + height="44.64616" + x="867.36292" + y="1548.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1921" + width="222.34483" + height="44.64616" + x="867.36292" + y="1614.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1923" + width="222.34483" + height="44.64616" + x="867.36292" + y="1686.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1925" + width="222.34483" + height="44.64616" + x="867.36292" + y="1754.4268" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1925-3" + width="169.23357" + height="44.678963" + x="325.21747" + y="134.37756" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1954" + width="169.23357" + height="44.678963" + x="325.21747" + y="276.37756" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect1956" + width="168.66573" + height="122.14091" + x="325.50134" + y="358.6615" + inkscape:connector-avoid="true" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1958" + width="169.23357" + height="44.678963" + x="325.21747" + y="672.37756" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1960" + width="169.23357" + height="44.678963" + x="325.21747" + y="744.37756" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1962" + width="169.14041" + height="54.756817" + x="325.26404" + y="814.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1964" + width="169.14041" + height="54.756817" + x="325.26404" + y="886.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1966" + width="169.14041" + height="54.756817" + x="325.26404" + y="952.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1" + id="rect2428" + width="169.0854" + height="61.19017" + x="325.29156" + y="1468.4518" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1" + id="rect2430" + width="169.26669" + height="41.344128" + x="325.20093" + y="1550.3611" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1" + id="rect2432" + width="287.86237" + height="44.416805" + x="325.34854" + y="1194.5088" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1" + id="rect2434" + width="285.86655" + height="44.4207" + x="867.34656" + y="1194.5068" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2509" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2511" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2513" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2515" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2517" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2519" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2521" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2523" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2525" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2527" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2529" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2531" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 442.80064,179.02883 0.91401,36.01283 423.64827,-2.29193" + id="path6876" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1925-3" + inkscape:connection-end="#rect1731" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.45103,156.71704 205.18886,-0.43622 0.59548,162.1112 167.12755,0.0346" + id="path6878" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1925-3" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 447.83425,321.05653 v 19.69319 h 419.52867" + id="path7294" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1954" + inkscape:connection-end="#rect1815" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292" + id="path7296" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1817" + inkscape:connection-start="#rect1954" + sodipodi:nodetypes="cccc" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 867.36292,560.42664 -422.77356,1.33638 0.45008,-79.26417" + id="path7720" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45103,696.74972 H 867.36292" + id="path7726" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1958" + inkscape:connection-end="#rect1821" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 867.36292,766.74972 H 494.45103" + id="path7728" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1823" + inkscape:connection-end="#rect1960" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292" + id="path7730" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1831" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874" + id="path8140" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1962" + inkscape:connection-end="#rect1825" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874" + id="path8142" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1964" + inkscape:connection-end="#rect1827" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874" + id="path8144" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1966" + inkscape:connection-end="#rect1829" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.37697,1500.7498 H 867.36292" + id="path8150" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2428" + inkscape:connection-end="#rect1917" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.46762,1570.7498 h 372.8953" + id="path8152" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2430" + inkscape:connection-end="#rect1919" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368" + id="path8154" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1623" + inkscape:connection-end="#rect1819" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1396.3848,1369.175 -159.2837,-1.364 0.5816,-88.2579 -147.975,-0.8033" + id="path8462" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1705" + inkscape:connection-end="#rect1831" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1089.7077,1500.7498 h 375.3403 v -26.6834" + id="path8668" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1917" + inkscape:connection-end="#rect1707" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1389.9988,212.74973 H 1089.7077" + id="path8672" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1349" + inkscape:connection-end="#rect1731" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233" + id="path8674" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1815" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="58.63356" + y="69.574417" + id="text28675"><tspan + sodipodi:role="line" + id="tspan28673" + x="58.63356" + y="69.574417" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="56.388252" + y="221.86568" + id="text31913"><tspan + sodipodi:role="line" + id="tspan31911" + x="56.388252" + y="221.86568">Matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="53.441296" + y="300.866" + id="text38843"><tspan + sodipodi:role="line" + id="tspan38841" + x="53.441296" + y="300.866">1D LUT</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="53.441296" + y="378.866" + id="text41049"><tspan + sodipodi:role="line" + id="tspan41047" + x="53.441296" + y="378.866">3D LUT</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="40.831493" + y="460.87411" + id="text45037"><tspan + sodipodi:role="line" + id="tspan45035" + x="40.831493" + y="460.87411" + style="font-size:18.6667px">Unpacking</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="62.130371" + y="540.68872" + id="text49945"><tspan + sodipodi:role="line" + id="tspan49943" + x="62.130371" + y="540.68872" + style="font-size:18.6667px">Other</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1423.2806" + y="128.08769" + id="text55719"><tspan + sodipodi:role="line" + id="tspan55717" + x="1423.2806" + y="128.08769" + style="font-size:18.6667px">drm_framebuffer</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1439.9988" + y="218.74973" + id="text62479"><tspan + sodipodi:role="line" + id="tspan62477" + x="1439.9988" + y="218.74973" + style="font-size:18.6667px">format</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1475.2806" + y="340.08771" + id="text64465"><tspan + sodipodi:role="line" + id="tspan64463" + x="1475.2806" + y="340.08771" + style="font-size:18.6667px">drm_plane</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1589.2806" + y="1178.0876" + id="text64469"><tspan + sodipodi:role="line" + id="tspan64467" + x="1589.2806" + y="1178.0876" + style="font-size:18.6667px">drm_crtc</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="872.23993" + y="1172.4491" + id="text64469-9"><tspan + sodipodi:role="line" + id="tspan64467-2" + x="872.23993" + y="1172.4491" + style="font-size:18.6667px">Stream</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="328.26071" + y="1175.6371" + id="text64469-9-2"><tspan + sodipodi:role="line" + id="tspan64467-2-8" + x="328.26071" + y="1175.6371" + style="font-size:18.6667px">MPC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="330.14737" + y="114.41869" + id="text64469-9-9"><tspan + sodipodi:role="line" + id="tspan64467-2-7" + x="330.14737" + y="114.41869" + style="font-size:18.6667px">DPP</tspan></text> + <path + d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z" + id="path106" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1495.9988" + y="1224.7498" + id="text78849"><tspan + sodipodi:role="line" + id="tspan78847" + x="1495.9988" + y="1224.7498" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1417.9988" + y="1294.7498" + id="text78853"><tspan + sodipodi:role="line" + id="tspan78851" + x="1417.9988" + y="1294.7498" + style="font-size:18.6667px">Degamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1451.9988" + y="1376.7498" + id="text78857"><tspan + sodipodi:role="line" + id="tspan78855" + x="1451.9988" + y="1376.7498" + style="font-size:18.6667px">CTM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1427.9988" + y="1458.7498" + id="text78861"><tspan + sodipodi:role="line" + id="tspan78859" + x="1427.9988" + y="1458.7498" + style="font-size:18.6667px">Gamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="949.99878" + y="218.74973" + id="text104653"><tspan + sodipodi:role="line" + id="tspan104651" + x="949.99878" + y="218.74973" + style="font-size:18.6667px">format</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="911.99878" + y="284.74973" + id="text104657"><tspan + sodipodi:role="line" + id="tspan104655" + x="911.99878" + y="284.74973" + style="font-size:18.6667px">bias_and_scale</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="887.99878" + y="346.74973" + id="text104661"><tspan + sodipodi:role="line" + id="tspan104659" + x="887.99878" + y="346.74973" + style="font-size:18.6667px">color space matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="871.99878" + y="442.74973" + id="text104665"><tspan + sodipodi:role="line" + id="tspan104663" + x="871.99878" + y="442.74973" + style="font-size:18.6667px">input_csc_color_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="905.99878" + y="586.74976" + id="text125075"><tspan + sodipodi:role="line" + id="tspan125073" + x="905.99878" + y="586.74976" + style="font-size:18.6667px">in_transfer_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="945.0083" + y="702.85938" + id="text117309"><tspan + sodipodi:role="line" + id="tspan117307" + x="945.0083" + y="702.85938" + style="font-size:18.6667px">hdr_mult</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="874.5556" + y="773.42615" + id="text117309-6"><tspan + sodipodi:role="line" + id="tspan117307-7" + x="874.5556" + y="773.42615" + style="font-size:18.6667px">gamut_remap_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="913.72528" + y="846.55896" + id="text117309-5"><tspan + sodipodi:role="line" + id="tspan117307-3" + x="913.72528" + y="846.55896" + style="font-size:18.6667px">in_shaper_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="937.72528" + y="918.25787" + id="text117309-56"><tspan + sodipodi:role="line" + id="tspan117307-2" + x="937.72528" + y="918.25787" + style="font-size:18.6667px">lut3d_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="945.9895" + y="986.10767" + id="text117309-9"><tspan + sodipodi:role="line" + id="tspan117307-1" + x="945.9895" + y="986.10767" + style="font-size:18.6667px">blend_tf</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="975.91803" + y="1224.5564" + id="text137434"><tspan + sodipodi:role="line" + id="tspan137432" + x="975.91803" + y="1224.5564" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="879.31372" + y="1283.4249" + id="text137434-2"><tspan + sodipodi:role="line" + id="tspan137432-7" + x="879.31372" + y="1283.4249" + style="font-size:18.6667px">gamut_remap_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="925.31372" + y="1359.2747" + id="text137434-0"><tspan + sodipodi:role="line" + id="tspan137432-9" + x="925.31372" + y="1359.2747" + style="font-size:18.6667px">func_shaper</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="930.33252" + y="1430.2566" + id="text137434-3"><tspan + sodipodi:role="line" + id="tspan137432-6" + x="930.33252" + y="1430.2566" + style="font-size:18.6667px">lut3d_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="900.18158" + y="1504.6725" + id="text137434-06"><tspan + sodipodi:role="line" + id="tspan137432-2" + x="900.18158" + y="1504.6725" + style="font-size:18.6667px">out_transfer_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="904.0307" + y="1575.8053" + id="text137434-6"><tspan + sodipodi:role="line" + id="tspan137432-1" + x="904.0307" + y="1575.8053" + style="font-size:18.6667px">csc_color_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="903.16278" + y="1642.1078" + id="text137434-8"><tspan + sodipodi:role="line" + id="tspan137432-79" + x="903.16278" + y="1642.1078" + style="font-size:18.6667px">bit_depth_param</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="939.31372" + y="1713.8068" + id="text137434-20"><tspan + sodipodi:role="line" + id="tspan137432-23" + x="939.31372" + y="1713.8068" + style="font-size:18.6667px">clamping</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="894.0307" + y="1782.5244" + id="text137434-7"><tspan + sodipodi:role="line" + id="tspan137432-5" + x="894.0307" + y="1782.5244" + style="font-size:18.6667px">output_color_space</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="869.63062" + y="117.7968" + id="text176429"><tspan + sodipodi:role="line" + id="tspan176427" + x="869.63062" + y="117.7968" + style="font-size:18.6667px">Plane</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="27.605465" + y="162.20587" + id="text176429-2"><tspan + sodipodi:role="line" + id="tspan176427-0" + x="27.605465" + y="162.20587" + style="font-size:18.6667px">Legend</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="298.63959" + y="59.293999" + id="text176429-9"><tspan + sodipodi:role="line" + id="tspan176427-2" + x="298.63959" + y="59.293999" + style="font-size:18.6667px">DCN 2.0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="826.65735" + y="59.458061" + id="text176429-66"><tspan + sodipodi:role="line" + id="tspan176427-4" + x="826.65735" + y="59.458061" + style="font-size:18.6667px">DC Interface</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1362.9948" + y="59.458061" + id="text176429-95"><tspan + sodipodi:role="line" + id="tspan176427-04" + x="1362.9948" + y="59.458061" + style="font-size:18.6667px">DRM Interface</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="867.34656" + y="1194.5068" + id="text184728"><tspan + sodipodi:role="line" + id="tspan184726" + x="867.34656" + y="1194.5068" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="389.01593" + y="159.8909" + id="text64469-9-3"><tspan + sodipodi:role="line" + id="tspan64467-2-6" + x="389.01593" + y="159.8909" + style="font-size:18.6667px">CNVC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="365.88379" + y="303.59048" + id="text64469-9-1"><tspan + sodipodi:role="line" + id="tspan64467-2-2" + x="365.88379" + y="303.59048" + style="font-size:18.6667px">Input CSC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="409.06488" + y="404.95001" + id="text64469-9-93"><tspan + sodipodi:role="line" + id="tspan64467-2-1" + x="409.06488" + y="404.95001" + style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan + sodipodi:role="line" + x="409.06488" + y="428.28339" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan233797">RAM and ROM</tspan><tspan + sodipodi:role="line" + x="409.06488" + y="451.61676" + style="font-size:10.6667px;text-align:center;text-anchor:middle" + id="tspan242597">(sRGB, BT2020</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="351.16684" + y="700.34918" + id="text64469-9-0"><tspan + sodipodi:role="line" + id="tspan64467-2-3" + x="351.16684" + y="700.34918" + style="font-size:18.6667px">HDR Multiply</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="345.16684" + y="771.33112" + id="text64469-9-6"><tspan + sodipodi:role="line" + id="tspan64467-2-10" + x="345.16684" + y="771.33112" + style="font-size:18.6667px">Gamut Remap</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="412.5184" + y="836.04877" + id="text64469-9-63"><tspan + sodipodi:role="line" + id="tspan64467-2-20" + x="412.5184" + y="836.04877" + style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan + sodipodi:role="line" + x="412.5184" + y="859.38214" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan222533">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="413.54086" + y="908.61554" + id="text64469-9-61"><tspan + sodipodi:role="line" + id="tspan64467-2-55" + x="413.54086" + y="908.61554" + style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan + sodipodi:role="line" + x="413.54086" + y="931.94891" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan221121">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="344.0347" + y="985.33319" + id="text64469-9-47"><tspan + sodipodi:role="line" + id="tspan64467-2-65" + x="344.0347" + y="985.33319" + style="font-size:18.6667px">Blend Gamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="433.84625" + y="1223.411" + id="text64469-9-69"><tspan + sodipodi:role="line" + id="tspan64467-2-37" + x="433.84625" + y="1223.411" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="408.64996" + y="1492.8102" + id="text64469-9-8"><tspan + sodipodi:role="line" + id="tspan64467-2-84" + x="408.64996" + y="1492.8102" + style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan + sodipodi:role="line" + x="408.64996" + y="1516.1436" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan197733">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="385.46863" + y="1575.2261" + id="text64469-9-31"><tspan + sodipodi:role="line" + id="tspan64467-2-49" + x="385.46863" + y="1575.2261" + style="font-size:18.6667px">OCSC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1356.5106" + y="53.140579" + id="text273287"><tspan + sodipodi:role="line" + id="tspan273285" + x="1356.5106" + y="53.140579" /></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1411" + width="177.28049" + height="38.940468" + x="1392.2576" + y="459.24118" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1411.7203" + y="485.93231" + id="text78841"><tspan + sodipodi:role="line" + id="tspan78839" + x="1411.7203" + y="485.93231" + style="font-size:18.6667px">color_encoding</tspan></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1515" + width="175.11876" + height="43.239407" + x="1393.7493" + y="525.6983" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1399.212" + y="553.44904" + id="text78845"><tspan + sodipodi:role="line" + id="tspan78843" + x="1399.212" + y="553.44904">pixel_blend_mode</tspan></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect371322" + width="177.28049" + height="38.940468" + x="1391.6781" + y="385.61713" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1427.5771" + y="409.29523" + id="text78837"><tspan + sodipodi:role="line" + id="tspan78835" + x="1427.5771" + y="409.29523" + style="font-size:18.6667px">color_range</tspan></text> + <path + d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-2" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-7" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-22" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-6" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-1" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-5" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-9" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-4" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-90" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-91" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-59" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg new file mode 100644 index 000000000000..7299ee9b6d64 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/dcn3_cm_drm_current.svg @@ -0,0 +1,1529 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + version="1.1" + id="svg2019" + width="1702" + height="1845" + viewBox="0 0 1702 1845" + sodipodi:docname="dcn3_cm_drm_current.svg" + inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs2023" /> + <sodipodi:namedview + id="namedview2021" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.55760543" + inkscape:cx="1011.4679" + inkscape:cy="249.28021" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="g2025" /> + <g + inkscape:groupmode="layer" + inkscape:label="Image" + id="g2025"> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect34" + width="208.83351" + height="486.09872" + x="0.90158081" + y="132.77872" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1019" + width="126.38867" + height="55.320732" + x="25.960823" + y="188.06937" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1021" + width="126.38867" + height="55.320732" + x="25.960823" + y="346.06937" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1103" + width="126.38867" + height="55.320732" + x="25.960823" + y="266.06937" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1105" + width="126.38867" + height="55.320732" + x="25.960823" + y="426.06937" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1107" + width="126.38867" + height="55.320732" + x="25.960823" + y="506.06934" /> + <path + d="m 402.61883,171.88069 c 0.025,10.97895 0.01,1001.03791 0.049,1012.01891 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-1000.84096 -0.031,-1011.72348 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z" + id="path381056" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1131" + width="239.47592" + height="1015.9909" + x="298.65631" + y="82.399658" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.27861;stroke-opacity:1" + id="rect1133" + width="340.44653" + height="525.77448" + x="298.79562" + y="1142.5299" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1237" + width="284.00113" + height="945.41412" + x="827.75012" + y="82.880798" + inkscape:connector-avoid="true" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1239" + width="239.37569" + height="179.03308" + x="1356.9507" + y="98.758331" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.00744;stroke-opacity:1" + id="rect1241" + width="239.4184" + height="713.64905" + x="1356.9543" + y="307.7951" + inkscape:connector-avoid="true" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1345" + width="330.32059" + height="409.44757" + x="1363.8723" + y="1147.7572" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-opacity:1" + id="rect1347" + width="369.8941" + height="682.32245" + x="825.72528" + y="1146.6448" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1349" + width="163.95746" + height="40.144867" + x="1389.9988" + y="190.80583" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.964132;stroke-opacity:1" + id="rect1619" + width="271.99091" + height="42.038273" + x="1393.981" + y="1197.161" + inkscape:connector-avoid="true" /> + <path + d="m 1469.3028,1238.8328 c 0.025,10.9789 0.01,175.0378 0.049,186.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-174.8409 -0.031,-185.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z" + id="path106-1" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <path + d="m 407.4759,1238.4728 c 0.025,10.9789 0.01,291.0378 0.049,302.0188 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-290.8409 -0.031,-301.7234 0.053,-0.3037 -0.2175,-0.5027 -0.3652,-0.7284 l 1.5347,0.394 z" + id="path106-1-7" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1623" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1268.2837" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1705" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1348.2837" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1707" + width="137.32646" + height="41.782684" + x="1396.3848" + y="1432.2837" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1731" + width="222.34483" + height="44.64616" + x="867.36292" + y="190.42665" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1813" + width="222.34483" + height="44.64616" + x="867.36292" + y="254.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1815" + width="222.34483" + height="44.64616" + x="867.36292" + y="318.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1817" + width="222.34483" + height="44.64616" + x="867.36292" + y="412.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1819" + width="222.34483" + height="44.64616" + x="867.36292" + y="560.42664" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1821" + width="222.34483" + height="44.64616" + x="867.36292" + y="674.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1823" + width="222.34483" + height="44.64616" + x="867.36292" + y="744.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1825" + width="222.34483" + height="44.64616" + x="867.36292" + y="820.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1827" + width="222.34483" + height="44.64616" + x="867.36292" + y="890.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1829" + width="222.34483" + height="44.64616" + x="867.36292" + y="956.42664" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1831" + width="222.34483" + height="44.64616" + x="867.36292" + y="1256.4268" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1833" + width="222.34483" + height="44.64616" + x="867.36292" + y="1402.4268" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1915" + width="222.34483" + height="44.64616" + x="867.36292" + y="1330.4268" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1917" + width="222.34483" + height="44.64616" + x="867.36292" + y="1478.4268" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1919" + width="222.34483" + height="44.64616" + x="867.36292" + y="1548.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1921" + width="222.34483" + height="44.64616" + x="867.36292" + y="1614.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1923" + width="222.34483" + height="44.64616" + x="867.36292" + y="1686.4268" /> + <rect + style="fill:#eeeeee;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1925" + width="222.34483" + height="44.64616" + x="867.36292" + y="1754.4268" /> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1925-3" + width="169.23357" + height="44.678963" + x="325.21747" + y="134.37756" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1954" + width="169.23357" + height="44.678963" + x="325.21747" + y="276.37756" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.87333333;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none" + id="rect1956" + width="168.66573" + height="122.14091" + x="325.50134" + y="358.6615" + inkscape:connector-avoid="true" /> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1958" + width="169.23357" + height="44.678963" + x="325.21747" + y="672.37756" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect1960" + width="169.23357" + height="44.678963" + x="325.21747" + y="744.37756" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1962" + width="169.14041" + height="54.756817" + x="325.26404" + y="814.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1964" + width="169.14041" + height="54.756817" + x="325.26404" + y="886.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.965912;stroke-opacity:1" + id="rect1966" + width="169.14041" + height="54.756817" + x="325.26404" + y="952.42413" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect2418" + width="169.23357" + height="44.678963" + x="325.21747" + y="510.37756" + inkscape:connector-avoid="true" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect2422" + width="169.23357" + height="44.678963" + x="325.21747" + y="1262.3777" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1" + id="rect2424" + width="169.12494" + height="56.528603" + x="325.27179" + y="1322.432" /> + <rect + style="fill:#d0cee2;fill-opacity:1;stroke:#000000;stroke-width:0.981369;stroke-opacity:1" + id="rect2426" + width="169.12494" + height="56.528603" + x="325.27179" + y="1396.432" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:1.02091;stroke-opacity:1" + id="rect2428" + width="169.0854" + height="61.19017" + x="325.29156" + y="1468.4518" /> + <rect + style="fill:#fad7ac;fill-opacity:1;stroke:#000000;stroke-width:0.839627;stroke-opacity:1" + id="rect2430" + width="169.26669" + height="41.344128" + x="325.20093" + y="1550.3611" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13491;stroke-opacity:1" + id="rect2432" + width="287.86237" + height="44.416805" + x="325.34854" + y="1194.5088" /> + <rect + style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.13102;stroke-opacity:1" + id="rect2434" + width="285.86655" + height="44.4207" + x="867.34656" + y="1194.5068" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2509" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2511" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2513" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2515" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2517" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2519" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2521" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2523" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2525" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2527" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2529" /> + <path + style="fill:none;stroke:#000000;stroke-width:2.66666675;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:8.00000024, 8.00000024;stroke-dashoffset:0" + d="m 867.36292,235.07281 v 0" + id="path2531" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 449.83425,179.05653 v 33.6932 h 417.52867" + id="path6876" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1925-3" + inkscape:connection-end="#rect1731" + sodipodi:nodetypes="ccc" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.45103,156.71704 h 216.64955 v 161.7096 h 156.26234" + id="path6878" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1925-3" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 451.83425,321.05653 v 19.69319 h 415.52867" + id="path7294" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1954" + inkscape:connection-end="#rect1815" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45103,298.71704 H 659.10058 V 434.74972 H 867.36292" + id="path7296" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1817" + inkscape:connection-start="#rect1954" + sodipodi:nodetypes="cccc" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 867.36292,560.42664 H 661.10058 V 480.8024 H 494.16705" + id="path7720" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 455.83425,594.37756 V 582.74972 H 867.36292" + id="path7724" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2420" + inkscape:connection-end="#rect1819" + sodipodi:nodetypes="ccc" /> + <rect + style="fill:#afdde9;fill-opacity:1;stroke:#000000;stroke-width:0.872749;stroke-opacity:1" + id="rect2420" + width="169.23357" + height="44.678963" + x="325.21747" + y="594.37756" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45103,696.74972 H 867.36292" + id="path7726" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1958" + inkscape:connection-end="#rect1821" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 867.36292,766.74972 H 494.45103" + id="path7728" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1823" + inkscape:connection-end="#rect1960" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.45105,789.05652 H 657.82418 V 1278.7498 H 867.36292" + id="path7730" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1831" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,841.80254 h 167.41973 v 0.94718 h 205.53874" + id="path8140" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1962" + inkscape:connection-end="#rect1825" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,913.80254 h 167.41973 v -1.05282 h 205.53874" + id="path8142" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1964" + inkscape:connection-end="#rect1827" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.40445,979.80254 h 167.41973 v -1.05282 h 205.53874" + id="path8144" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1966" + inkscape:connection-end="#rect1829" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.39673,1352.7498 H 867.36292" + id="path8146" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2424" + inkscape:connection-end="#rect1915" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.39673,1424.7498 H 867.36292" + id="path8148" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2426" + inkscape:connection-end="#rect1833" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 494.37697,1500.7498 H 867.36292" + id="path8150" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2428" + inkscape:connection-end="#rect1917" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 494.46762,1570.7498 h 372.8953" + id="path8152" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2430" + inkscape:connection-end="#rect1919" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1396.3848,1289.175 H 1288.1445 V 582.74972 h -198.4368" + id="path8154" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1623" + inkscape:connection-end="#rect1819" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1396.3848,1369.175 h -156.2403 v -90.4252 h -150.4368" + id="path8462" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1705" + inkscape:connection-end="#rect1831" + sodipodi:nodetypes="cccc" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="m 1089.7077,1500.7498 h 375.3403 v -26.6834" + id="path8668" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1917" + inkscape:connection-end="#rect1707" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1389.9988,212.74973 H 1089.7077" + id="path8672" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect1349" + inkscape:connection-end="#rect1731" /> + <path + style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:6, 6;stroke-dashoffset:0;stroke-opacity:1" + d="M 1389.9988,230.9507 H 1223.331 v 109.79902 h -133.6233" + id="path8674" + inkscape:connector-type="orthogonal" + inkscape:connector-curvature="0" + inkscape:connection-end="#rect1815" + sodipodi:nodetypes="cccc" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="58.63356" + y="69.574417" + id="text28675"><tspan + sodipodi:role="line" + id="tspan28673" + x="58.63356" + y="69.574417" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="56.388252" + y="221.86568" + id="text31913"><tspan + sodipodi:role="line" + id="tspan31911" + x="56.388252" + y="221.86568">Matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="53.441296" + y="300.866" + id="text38843"><tspan + sodipodi:role="line" + id="tspan38841" + x="53.441296" + y="300.866">1D LUT</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="53.441296" + y="378.866" + id="text41049"><tspan + sodipodi:role="line" + id="tspan41047" + x="53.441296" + y="378.866">3D LUT</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="40.831493" + y="460.87411" + id="text45037"><tspan + sodipodi:role="line" + id="tspan45035" + x="40.831493" + y="460.87411" + style="font-size:18.6667px">Unpacking</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="62.130371" + y="540.68872" + id="text49945"><tspan + sodipodi:role="line" + id="tspan49943" + x="62.130371" + y="540.68872" + style="font-size:18.6667px">Other</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1423.2806" + y="128.08769" + id="text55719"><tspan + sodipodi:role="line" + id="tspan55717" + x="1423.2806" + y="128.08769" + style="font-size:18.6667px">drm_framebuffer</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1439.9988" + y="218.74973" + id="text62479"><tspan + sodipodi:role="line" + id="tspan62477" + x="1439.9988" + y="218.74973" + style="font-size:18.6667px">format</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1475.2806" + y="340.08771" + id="text64465"><tspan + sodipodi:role="line" + id="tspan64463" + x="1475.2806" + y="340.08771" + style="font-size:18.6667px">drm_plane</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1589.2806" + y="1178.0876" + id="text64469"><tspan + sodipodi:role="line" + id="tspan64467" + x="1589.2806" + y="1178.0876" + style="font-size:18.6667px">drm_crtc</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="872.23993" + y="1172.4491" + id="text64469-9"><tspan + sodipodi:role="line" + id="tspan64467-2" + x="872.23993" + y="1172.4491" + style="font-size:18.6667px">Stream</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="328.26071" + y="1175.6371" + id="text64469-9-2"><tspan + sodipodi:role="line" + id="tspan64467-2-8" + x="328.26071" + y="1175.6371" + style="font-size:18.6667px">MPC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="330.14737" + y="114.41869" + id="text64469-9-9"><tspan + sodipodi:role="line" + id="tspan64467-2-7" + x="330.14737" + y="114.41869" + style="font-size:18.6667px">DPP</tspan></text> + <path + d="m 1488.3608,401.47792 c 0.025,10.97895 0.01,773.03788 0.049,784.01888 2.5462,-1.1592 5.0637,-2.3779 7.6202,-3.5187 -2.7411,4.8298 -5.4987,9.6453 -8.2624,14.4607 -2.7925,-4.8257 -5.5993,-9.6453 -8.3856,-14.4751 2.6221,1.1736 5.2217,2.3923 7.8398,3.5721 0,-10.8825 -0.035,-772.84093 -0.031,-783.72345 0.053,-0.30366 -0.2175,-0.50268 -0.3652,-0.72837 l 1.5347,0.39394 z" + id="path106" + sodipodi:nodetypes="cccccccccc" + style="stroke-width:0.205176" + inkscape:transform-center-x="-325.50819" + inkscape:transform-center-y="-121.97185" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1495.9988" + y="1224.7498" + id="text78849"><tspan + sodipodi:role="line" + id="tspan78847" + x="1495.9988" + y="1224.7498" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1417.9988" + y="1294.7498" + id="text78853"><tspan + sodipodi:role="line" + id="tspan78851" + x="1417.9988" + y="1294.7498" + style="font-size:18.6667px">Degamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1451.9988" + y="1376.7498" + id="text78857"><tspan + sodipodi:role="line" + id="tspan78855" + x="1451.9988" + y="1376.7498" + style="font-size:18.6667px">CTM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1427.9988" + y="1458.7498" + id="text78861"><tspan + sodipodi:role="line" + id="tspan78859" + x="1427.9988" + y="1458.7498" + style="font-size:18.6667px">Gamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="949.99878" + y="218.74973" + id="text104653"><tspan + sodipodi:role="line" + id="tspan104651" + x="949.99878" + y="218.74973" + style="font-size:18.6667px">format</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="911.99878" + y="284.74973" + id="text104657"><tspan + sodipodi:role="line" + id="tspan104655" + x="911.99878" + y="284.74973" + style="font-size:18.6667px">bias_and_scale</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="887.99878" + y="346.74973" + id="text104661"><tspan + sodipodi:role="line" + id="tspan104659" + x="887.99878" + y="346.74973" + style="font-size:18.6667px">color space matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="871.99878" + y="442.74973" + id="text104665"><tspan + sodipodi:role="line" + id="tspan104663" + x="871.99878" + y="442.74973" + style="font-size:18.6667px">input_csc_color_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="905.99878" + y="586.74976" + id="text125075"><tspan + sodipodi:role="line" + id="tspan125073" + x="905.99878" + y="586.74976" + style="font-size:18.6667px">in_transfer_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="945.0083" + y="702.85938" + id="text117309"><tspan + sodipodi:role="line" + id="tspan117307" + x="945.0083" + y="702.85938" + style="font-size:18.6667px">hdr_mult</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="874.5556" + y="773.42615" + id="text117309-6"><tspan + sodipodi:role="line" + id="tspan117307-7" + x="874.5556" + y="773.42615" + style="font-size:18.6667px">gamut_remap_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="913.72528" + y="846.55896" + id="text117309-5"><tspan + sodipodi:role="line" + id="tspan117307-3" + x="913.72528" + y="846.55896" + style="font-size:18.6667px">in_shaper_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="937.72528" + y="918.25787" + id="text117309-56"><tspan + sodipodi:role="line" + id="tspan117307-2" + x="937.72528" + y="918.25787" + style="font-size:18.6667px">lut3d_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="945.9895" + y="986.10767" + id="text117309-9"><tspan + sodipodi:role="line" + id="tspan117307-1" + x="945.9895" + y="986.10767" + style="font-size:18.6667px">blend_tf</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="975.91803" + y="1224.5564" + id="text137434"><tspan + sodipodi:role="line" + id="tspan137432" + x="975.91803" + y="1224.5564" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="879.31372" + y="1283.4249" + id="text137434-2"><tspan + sodipodi:role="line" + id="tspan137432-7" + x="879.31372" + y="1283.4249" + style="font-size:18.6667px">gamut_remap_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="925.31372" + y="1359.2747" + id="text137434-0"><tspan + sodipodi:role="line" + id="tspan137432-9" + x="925.31372" + y="1359.2747" + style="font-size:18.6667px">func_shaper</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="930.33252" + y="1430.2566" + id="text137434-3"><tspan + sodipodi:role="line" + id="tspan137432-6" + x="930.33252" + y="1430.2566" + style="font-size:18.6667px">lut3d_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="900.18158" + y="1504.6725" + id="text137434-06"><tspan + sodipodi:role="line" + id="tspan137432-2" + x="900.18158" + y="1504.6725" + style="font-size:18.6667px">out_transfer_func</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="904.0307" + y="1575.8053" + id="text137434-6"><tspan + sodipodi:role="line" + id="tspan137432-1" + x="904.0307" + y="1575.8053" + style="font-size:18.6667px">csc_color_matrix</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="903.16278" + y="1642.1078" + id="text137434-8"><tspan + sodipodi:role="line" + id="tspan137432-79" + x="903.16278" + y="1642.1078" + style="font-size:18.6667px">bit_depth_param</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="939.31372" + y="1713.8068" + id="text137434-20"><tspan + sodipodi:role="line" + id="tspan137432-23" + x="939.31372" + y="1713.8068" + style="font-size:18.6667px">clamping</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="894.0307" + y="1782.5244" + id="text137434-7"><tspan + sodipodi:role="line" + id="tspan137432-5" + x="894.0307" + y="1782.5244" + style="font-size:18.6667px">output_color_space</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="869.63062" + y="117.7968" + id="text176429"><tspan + sodipodi:role="line" + id="tspan176427" + x="869.63062" + y="117.7968" + style="font-size:18.6667px">Plane</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="27.605465" + y="162.20587" + id="text176429-2"><tspan + sodipodi:role="line" + id="tspan176427-0" + x="27.605465" + y="162.20587" + style="font-size:18.6667px">Legend</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="298.63959" + y="59.293999" + id="text176429-9"><tspan + sodipodi:role="line" + id="tspan176427-2" + x="298.63959" + y="59.293999" + style="font-size:18.6667px">DCN 3.0</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="826.65735" + y="59.458061" + id="text176429-66"><tspan + sodipodi:role="line" + id="tspan176427-4" + x="826.65735" + y="59.458061" + style="font-size:18.6667px">DC Interface</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1362.9948" + y="59.458061" + id="text176429-95"><tspan + sodipodi:role="line" + id="tspan176427-04" + x="1362.9948" + y="59.458061" + style="font-size:18.6667px">DRM Interface</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="867.34656" + y="1194.5068" + id="text184728"><tspan + sodipodi:role="line" + id="tspan184726" + x="867.34656" + y="1194.5068" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="389.01593" + y="159.8909" + id="text64469-9-3"><tspan + sodipodi:role="line" + id="tspan64467-2-6" + x="389.01593" + y="159.8909" + style="font-size:18.6667px">CNVC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="365.88379" + y="303.59048" + id="text64469-9-1"><tspan + sodipodi:role="line" + id="tspan64467-2-2" + x="365.88379" + y="303.59048" + style="font-size:18.6667px">Input CSC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="413.06488" + y="390.95001" + id="text64469-9-93"><tspan + sodipodi:role="line" + id="tspan64467-2-1" + x="413.06488" + y="390.95001" + style="font-size:18.6667px;text-align:center;text-anchor:middle">DeGamma</tspan><tspan + sodipodi:role="line" + x="413.06488" + y="414.28339" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan233797">ROM</tspan><tspan + sodipodi:role="line" + x="413.06488" + y="437.61676" + style="font-size:10.6667px;text-align:center;text-anchor:middle" + id="tspan233799">(sRGB, BT2020, Gamma 2.2,</tspan><tspan + sodipodi:role="line" + x="413.06488" + y="460.95013" + style="font-size:10.6667px;text-align:center;text-anchor:middle" + id="tspan242597">PQ, HLG)</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="372.44986" + y="538.83807" + id="text64469-9-94"><tspan + sodipodi:role="line" + id="tspan64467-2-78" + x="372.44986" + y="538.83807" + style="font-size:18.6667px">Post CSC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:16px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="335.31775" + y="622.23511" + id="text64469-9-4"><tspan + sodipodi:role="line" + id="tspan64467-2-5" + x="335.31775" + y="622.23511" + style="font-size:16px">Gamma Correction</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="351.16684" + y="700.34918" + id="text64469-9-0"><tspan + sodipodi:role="line" + id="tspan64467-2-3" + x="351.16684" + y="700.34918" + style="font-size:18.6667px">HDR Multiply</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="345.16684" + y="771.33112" + id="text64469-9-6"><tspan + sodipodi:role="line" + id="tspan64467-2-10" + x="345.16684" + y="771.33112" + style="font-size:18.6667px">Gamut Remap</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="412.5184" + y="836.04877" + id="text64469-9-63"><tspan + sodipodi:role="line" + id="tspan64467-2-20" + x="412.5184" + y="836.04877" + style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan + sodipodi:role="line" + x="412.5184" + y="859.38214" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan222533">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="413.54086" + y="908.61554" + id="text64469-9-61"><tspan + sodipodi:role="line" + id="tspan64467-2-55" + x="413.54086" + y="908.61554" + style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan + sodipodi:role="line" + x="413.54086" + y="931.94891" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan221121">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="344.0347" + y="985.33319" + id="text64469-9-47"><tspan + sodipodi:role="line" + id="tspan64467-2-65" + x="344.0347" + y="985.33319" + style="font-size:18.6667px">Blend Gamma</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="433.84625" + y="1223.411" + id="text64469-9-69"><tspan + sodipodi:role="line" + id="tspan64467-2-37" + x="433.84625" + y="1223.411" + style="font-size:18.6667px">Blender</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="343.73291" + y="1290.2421" + id="text64469-9-45"><tspan + sodipodi:role="line" + id="tspan64467-2-25" + x="343.73291" + y="1290.2421" + style="font-size:18.6667px">Gamut Remap</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="408.74442" + y="1344.2428" + id="text64469-9-474"><tspan + sodipodi:role="line" + id="tspan64467-2-4" + x="408.74442" + y="1344.2428" + style="font-size:18.6667px;text-align:center;text-anchor:middle">Shaper LUT</tspan><tspan + sodipodi:role="line" + x="408.74442" + y="1367.5762" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan208303">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="407.1257" + y="1420.2435" + id="text64469-9-30"><tspan + sodipodi:role="line" + id="tspan64467-2-786" + x="407.1257" + y="1420.2435" + style="font-size:18.6667px;text-align:center;text-anchor:middle">3D LUT</tspan><tspan + sodipodi:role="line" + x="407.1257" + y="1443.5769" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan204749">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="408.64996" + y="1492.8102" + id="text64469-9-8"><tspan + sodipodi:role="line" + id="tspan64467-2-84" + x="408.64996" + y="1492.8102" + style="font-size:18.6667px;text-align:center;text-anchor:middle">Gamma</tspan><tspan + sodipodi:role="line" + x="408.64996" + y="1516.1436" + style="font-size:18.6667px;text-align:center;text-anchor:middle" + id="tspan197733">RAM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="385.46863" + y="1575.2261" + id="text64469-9-31"><tspan + sodipodi:role="line" + id="tspan64467-2-49" + x="385.46863" + y="1575.2261" + style="font-size:18.6667px">OCSC</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1356.5106" + y="53.140579" + id="text273287"><tspan + sodipodi:role="line" + id="tspan273285" + x="1356.5106" + y="53.140579" /></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1411" + width="177.28049" + height="38.940468" + x="1392.2576" + y="459.24118" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1411.7203" + y="485.93231" + id="text78841"><tspan + sodipodi:role="line" + id="tspan78839" + x="1411.7203" + y="485.93231" + style="font-size:18.6667px">color_encoding</tspan></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect1515" + width="175.11876" + height="43.239407" + x="1393.7493" + y="525.6983" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:17.3333px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1399.212" + y="553.44904" + id="text78845"><tspan + sodipodi:role="line" + id="tspan78843" + x="1399.212" + y="553.44904">pixel_blend_mode</tspan></text> + <rect + style="fill:#f9f7ed;fill-opacity:1;stroke:#000000;stroke-opacity:1" + id="rect371322" + width="177.28049" + height="38.940468" + x="1391.6781" + y="385.61713" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:18.6667px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none" + x="1427.5771" + y="409.29523" + id="text78837"><tspan + sodipodi:role="line" + id="tspan78835" + x="1427.5771" + y="409.29523" + style="font-size:18.6667px">color_range</tspan></text> + <path + d="m 1469.6815,1334.9145 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1467.8882,1256.0056 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0628 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-2" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1487.6154,441.80981 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-7" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 1489.4088,515.3385 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-22" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 400.8254,264.26491 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-6" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,346.76052 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-1" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 404.2055,500.78482 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-0" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,581.69367 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-61" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,658.80913 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-5" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.6188,732.33782 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-9" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.4121,800.48637 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-4" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 402.2055,875.80845 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-90" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 400.4121,942.16362 c 3.2597,-1.48411 6.4827,-3.04435 9.7556,-4.50482 -3.5093,6.18331 -7.0396,12.34823 -10.5778,18.51307 -3.575,-6.17798 -7.1683,-12.34815 -10.7354,-18.53146 3.3569,1.50251 6.685,3.06275 10.0367,4.57314 0,0 0,0 1.5209,-0.0499 z" + id="path371636-7-91" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 407.9989,1311.6005 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.513 -3.575,-6.1779 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-77" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 407.9989,1381.5424 c 3.2597,-1.4841 6.4827,-3.0443 9.7556,-4.5048 -3.5093,6.1833 -7.0396,12.3482 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3482 -10.7354,-18.5315 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-11" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + <path + d="m 407.9989,1458.6579 c 3.2597,-1.4841 6.4827,-3.0444 9.7556,-4.5049 -3.5093,6.1834 -7.0396,12.3483 -10.5778,18.5131 -3.575,-6.178 -7.1683,-12.3481 -10.7354,-18.5314 3.3569,1.5025 6.685,3.0627 10.0367,4.5731 0,0 0,0 1.5209,-0.05 z" + id="path371636-7-59" + sodipodi:nodetypes="cccccc" + style="stroke-width:0.262672" + inkscape:transform-center-x="-416.72543" + inkscape:transform-center-y="-156.15191" /> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/display-manager.rst b/Documentation/gpu/amdgpu/display/display-manager.rst index 7ce31f89d9a0..b7abb18cfc82 100644 --- a/Documentation/gpu/amdgpu/display/display-manager.rst +++ b/Documentation/gpu/amdgpu/display/display-manager.rst @@ -40,3 +40,144 @@ Atomic Implementation .. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c :functions: amdgpu_dm_atomic_check amdgpu_dm_atomic_commit_tail + +Color Management Properties +=========================== + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c + :doc: overview + +.. kernel-doc:: drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c + :internal: + + +DC Color Capabilities between DCN generations +--------------------------------------------- + +DRM/KMS framework defines three CRTC color correction properties: degamma, +color transformation matrix (CTM) and gamma, and two properties for degamma and +gamma LUT sizes. AMD DC programs some of the color correction features +pre-blending but DRM/KMS has not per-plane color correction properties. + +In general, the DRM CRTC color properties are programmed to DC, as follows: +CRTC gamma after blending, and CRTC degamma pre-blending. Although CTM is +programmed after blending, it is mapped to DPP hw blocks (pre-blending). Other +color caps available in the hw is not currently exposed by DRM interface and +are bypassed. + +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h + :doc: color-management-caps + +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/dc.h + :internal: + +The color pipeline has undergone major changes between DCN hardware +generations. What's possible to do before and after blending depends on +hardware capabilities, as illustrated below by the DCN 2.0 and DCN 3.0 families +schemas. + +**DCN 2.0 family color caps and mapping** + +.. kernel-figure:: dcn2_cm_drm_current.svg + +**DCN 3.0 family color caps and mapping** + +.. kernel-figure:: dcn3_cm_drm_current.svg + +Blend Mode Properties +===================== + +Pixel blend mode is a DRM plane composition property of :c:type:`drm_plane` used to +describes how pixels from a foreground plane (fg) are composited with the +background plane (bg). Here, we present main concepts of DRM blend mode to help +to understand how this property is mapped to AMD DC interface. See more about +this DRM property and the alpha blending equations in :ref:`DRM Plane +Composition Properties <plane_composition_properties>`. + +Basically, a blend mode sets the alpha blending equation for plane +composition that fits the mode in which the alpha channel affects the state of +pixel color values and, therefore, the resulted pixel color. For +example, consider the following elements of the alpha blending equation: + +- *fg.rgb*: Each of the RGB component values from the foreground's pixel. +- *fg.alpha*: Alpha component value from the foreground's pixel. +- *bg.rgb*: Each of the RGB component values from the background. +- *plane_alpha*: Plane alpha value set by the **plane "alpha" property**, see + more in :ref:`DRM Plane Composition Properties <plane_composition_properties>`. + +in the basic alpha blending equation:: + + out.rgb = alpha * fg.rgb + (1 - alpha) * bg.rgb + +the alpha channel value of each pixel in a plane is ignored and only the plane +alpha affects the resulted pixel color values. + +DRM has three blend mode to define the blend formula in the plane composition: + +* **None**: Blend formula that ignores the pixel alpha. + +* **Pre-multiplied**: Blend formula that assumes the pixel color values in a + plane was already pre-multiplied by its own alpha channel before storage. + +* **Coverage**: Blend formula that assumes the pixel color values were not + pre-multiplied with the alpha channel values. + +and pre-multiplied is the default pixel blend mode, that means, when no blend +mode property is created or defined, DRM considers the plane's pixels has +pre-multiplied color values. On IGT GPU tools, the kms_plane_alpha_blend test +provides a set of subtests to verify plane alpha and blend mode properties. + +The DRM blend mode and its elements are then mapped by AMDGPU display manager +(DM) to program the blending configuration of the Multiple Pipe/Plane Combined +(MPC), as follows: + +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h + :doc: mpc-overview + +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h + :functions: mpcc_blnd_cfg + +Therefore, the blending configuration for a single MPCC instance on the MPC +tree is defined by :c:type:`mpcc_blnd_cfg`, where +:c:type:`pre_multiplied_alpha` is the alpha pre-multiplied mode flag used to +set :c:type:`MPCC_ALPHA_MULTIPLIED_MODE`. It controls whether alpha is +multiplied (true/false), being only true for DRM pre-multiplied blend mode. +:c:type:`mpcc_alpha_blend_mode` defines the alpha blend mode regarding pixel +alpha and plane alpha values. It sets one of the three modes for +:c:type:`MPCC_ALPHA_BLND_MODE`, as described below. + +.. kernel-doc:: drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h + :functions: mpcc_alpha_blend_mode + +DM then maps the elements of `enum mpcc_alpha_blend_mode` to those in the DRM +blend formula, as follows: + +* *MPC pixel alpha* matches *DRM fg.alpha* as the alpha component value + from the plane's pixel +* *MPC global alpha* matches *DRM plane_alpha* when the pixel alpha should + be ignored and, therefore, pixel values are not pre-multiplied +* *MPC global gain* assumes *MPC global alpha* value when both *DRM + fg.alpha* and *DRM plane_alpha* participate in the blend equation + +In short, *fg.alpha* is ignored by selecting +:c:type:`MPCC_ALPHA_BLEND_MODE_GLOBAL_ALPHA`. On the other hand, (plane_alpha * +fg.alpha) component becomes available by selecting +:c:type:`MPCC_ALPHA_BLEND_MODE_PER_PIXEL_ALPHA_COMBINED_GLOBAL_GAIN`. And the +:c:type:`MPCC_ALPHA_MULTIPLIED_MODE` defines if the pixel color values are +pre-multiplied by alpha or not. + +Blend configuration flow +------------------------ + +The alpha blending equation is configured from DRM to DC interface by the +following path: + +1. When updating a :c:type:`drm_plane_state <drm_plane_state>`, DM calls + :c:type:`fill_blending_from_plane_state()` that maps + :c:type:`drm_plane_state <drm_plane_state>` attributes to + :c:type:`dc_plane_info <dc_plane_info>` struct to be handled in the + OS-agnostic component (DC). + +2. On DC interface, :c:type:`struct mpcc_blnd_cfg <mpcc_blnd_cfg>` programs the + MPCC blend configuration considering the :c:type:`dc_plane_info + <dc_plane_info>` input from DPP. diff --git a/Documentation/gpu/amdgpu/display/index.rst b/Documentation/gpu/amdgpu/display/index.rst index c1fb2fb3c710..f8a4f53d70d8 100644 --- a/Documentation/gpu/amdgpu/display/index.rst +++ b/Documentation/gpu/amdgpu/display/index.rst @@ -28,4 +28,5 @@ table of content: display-manager.rst dc-debug.rst dcn-overview.rst + mpo-overview.rst dc-glossary.rst diff --git a/Documentation/gpu/amdgpu/display/mpo-cursor.svg b/Documentation/gpu/amdgpu/display/mpo-cursor.svg new file mode 100644 index 000000000000..9d9de76847c3 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/mpo-cursor.svg @@ -0,0 +1,435 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="160.5318mm" + height="65.443306mm" + viewBox="0 0 160.5318 65.443308" + version="1.1" + id="svg843" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="mpo-cursor.svg"> + <defs + id="defs837"> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1568" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1562" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.4,0,0,-0.4,-4,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker1837" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1835" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1580" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1568-5" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send-7-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1568-5-2" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1568-7" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send-9-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1568-7-1" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send-9-6-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1568-7-1-3" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.35" + inkscape:cx="895.68984" + inkscape:cy="-284.87808" + inkscape:document-units="mm" + inkscape:current-layer="g1433-6" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1376" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata840"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(70.035531,-11.72001)"> + <g + id="g1438" + transform="matrix(0.33108827,0,0,0.33108827,-46.847588,7.8396545)"> + <rect + y="51.228218" + x="-69.09626" + height="34.773811" + width="66.523811" + id="rect1388" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392" + y="73.238098" + x="-59.718166" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="73.238098" + x="-59.718166" + id="tspan1390" + sodipodi:role="line">Cursor</tspan></text> + </g> + <g + id="g1433" + transform="matrix(0.33108827,0,0,0.33108827,-49.701591,6.5552955)"> + <rect + y="116.32738" + x="-60.476192" + height="34.773811" + width="66.523811" + id="rect1388-3" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392-6" + y="138.44888" + x="-53.932037" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="138.44888" + x="-53.932037" + id="tspan1390-7" + sodipodi:role="line">Plane 1</tspan></text> + </g> + <g + id="g1428" + transform="matrix(0.33108827,0,0,0.33108827,-46.847588,7.8396518)"> + <rect + y="173.66814" + x="-69.09626" + height="34.773811" + width="66.523811" + id="rect1388-5" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392-3" + y="195.78964" + x="-62.437382" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="195.78964" + x="-62.437382" + id="tspan1390-5" + sodipodi:role="line">Plane 2</tspan></text> + </g> + <g + id="g1433-6" + transform="translate(116.41667,-9.0714256)"> + <g + id="g1467" + transform="matrix(0.33108827,0,0,0.33108827,-132.72925,15.626721)"> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1388-3-2" + width="66.523811" + height="34.773811" + x="-60.476192" + y="116.32738" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-45.380619" + y="138.33725" + id="text1392-6-9"><tspan + sodipodi:role="line" + id="tspan1390-7-1" + x="-45.380619" + y="138.33725" + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332">CRTC</tspan></text> + </g> + <g + id="g1438-2" + transform="matrix(0.33108827,0,0,0.33108827,-92.282164,27.16881)"> + <rect + y="51.228218" + x="-69.09626" + height="34.773811" + width="66.523811" + id="rect1388-7" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392-0" + y="73.238098" + x="-59.718166" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="73.238098" + x="-59.718166" + id="tspan1390-9" + sodipodi:role="line">Cursor</tspan></text> + </g> + <g + id="g1433-3" + transform="matrix(0.33108827,0,0,0.33108827,-61.59731,5.6152398)"> + <rect + y="116.32738" + x="-60.476192" + height="34.773811" + width="66.523811" + id="rect1388-3-6" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392-6-0" + y="138.44888" + x="-53.932037" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="138.44888" + x="-53.932037" + id="tspan1390-7-6" + sodipodi:role="line">Plane 1</tspan></text> + </g> + <g + id="g1428-2" + transform="matrix(0.33108827,0,0,0.33108827,-58.743296,6.7994816)"> + <rect + y="173.66814" + x="-69.09626" + height="34.773811" + width="66.523811" + id="rect1388-5-6" + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <text + id="text1392-3-1" + y="195.78964" + x="-62.437382" + 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" + xml:space="preserve"><tspan + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332" + y="195.78964" + x="-62.437382" + id="tspan1390-5-8" + sodipodi:role="line">Plane 2</tspan></text> + </g> + <g + id="g1467-7" + transform="matrix(0.33108827,0,0,0.33108827,-28.233674,5.6152398)"> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:1.87854159;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1388-3-2-9" + width="66.523811" + height="34.773811" + x="-60.476192" + y="116.32738" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-45.380619" + y="138.33725" + id="text1392-6-9-2"><tspan + sodipodi:role="line" + id="tspan1390-7-1-0" + x="-45.380619" + y="138.33725" + style="font-weight:bold;font-size:12.69999981px;stroke-width:0.26458332">CRTC</tspan></text> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:1.05120528px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.08760043" + x="-164.26541" + y="24.302296" + id="text1531"><tspan + sodipodi:role="line" + id="tspan1529" + x="-164.26541" + y="24.302296" + style="font-weight:bold;font-size:4.6720233px;stroke-width:0.08760043">DRM</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:1.05120528px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.08760043" + x="-89.233742" + y="24.341078" + id="text1531-2"><tspan + sodipodi:role="line" + id="tspan1529-3" + x="-89.233742" + y="24.341078" + style="font-weight:bold;font-size:4.6720233px;stroke-width:0.08760043">AMD Hardware</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send)" + d="m -164.26541,39.407343 h 20.27325 v 11.262913" + id="path1551" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-7)" + d="m -164.11597,80.385815 h 20.27325 v -11.26291" + id="path1551-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-7-2)" + d="m -59.24211,70.452123 h 20.273243 V 59.18921" + id="path1551-9-8" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-9)" + d="m -163.61178,59.821549 h 9.26062" + id="path1551-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-9-6)" + d="m -93.426241,50.16968 h 9.260617" + id="path1551-3-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.53318286;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Send-9-6-9)" + d="m -59.637503,50.169684 h 9.260618" + id="path1551-3-2-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/mpo-overview.rst b/Documentation/gpu/amdgpu/display/mpo-overview.rst new file mode 100644 index 000000000000..0499aa92d08d --- /dev/null +++ b/Documentation/gpu/amdgpu/display/mpo-overview.rst @@ -0,0 +1,242 @@ +======================== +Multiplane Overlay (MPO) +======================== + +.. note:: You will get more from this page if you have already read the + 'Documentation/gpu/amdgpu/display/dcn-overview.rst'. + + +Multiplane Overlay (MPO) allows for multiple framebuffers to be composited via +fixed-function hardware in the display controller rather than using graphics or +compute shaders for composition. This can yield some power savings if it means +the graphics/compute pipelines can be put into low-power states. In summary, +MPO can bring the following benefits: + +* Decreased GPU and CPU workload - no composition shaders needed, no extra + buffer copy needed, GPU can remain idle. +* Plane independent page flips - No need to be tied to global compositor + page-flip present rate, reduced latency, independent timing. + +.. note:: Keep in mind that MPO is all about power-saving; if you want to learn + more about power-save in the display context, check the link: + `Power <https://gitlab.freedesktop.org/pq/color-and-hdr/-/blob/main/doc/power.rst>`__. + +Multiplane Overlay is only available using the DRM atomic model. The atomic +model only uses a single userspace IOCTL for configuring the display hardware +(modesetting, page-flipping, etc) - drmModeAtomicCommit. To query hardware +resources and limitations userspace also calls into drmModeGetResources which +reports back the number of planes, CRTCs, and connectors. There are three types +of DRM planes that the driver can register and work with: + +* ``DRM_PLANE_TYPE_PRIMARY``: Primary planes represent a "main" plane for a + CRTC, primary planes are the planes operated upon by CRTC modesetting and + flipping operations. +* ``DRM_PLANE_TYPE_CURSOR``: Cursor planes represent a "cursor" plane for a + CRTC. Cursor planes are the planes operated upon by the cursor IOCTLs +* ``DRM_PLANE_TYPE_OVERLAY``: Overlay planes represent all non-primary, + non-cursor planes. Some drivers refer to these types of planes as "sprites" + internally. + +To illustrate how it works, let's take a look at a device that exposes the +following planes to userspace: + +* 4 Primary planes (1 per CRTC). +* 4 Cursor planes (1 per CRTC). +* 1 Overlay plane (shared among CRTCs). + +.. note:: Keep in mind that different ASICs might expose other numbers of + planes. + +For this hardware example, we have 4 pipes (if you don't know what AMD pipe +means, look at 'Documentation/gpu/amdgpu/display/dcn-overview.rst', section +"AMD Hardware Pipeline"). Typically most AMD devices operate in a pipe-split +configuration for optimal single display output (e.g., 2 pipes per plane). + +A typical MPO configuration from userspace - 1 primary + 1 overlay on a single +display - will see 4 pipes in use, 2 per plane. + +At least 1 pipe must be used per plane (primary and overlay), so for this +hypothetical hardware that we are using as an example, we have an absolute +limit of 4 planes across all CRTCs. Atomic commits will be rejected for display +configurations using more than 4 planes. Again, it is important to stress that +every DCN has different restrictions; here, we are just trying to provide the +concept idea. + +Plane Restrictions +================== + +AMDGPU imposes restrictions on the use of DRM planes in the driver. + +Atomic commits will be rejected for commits which do not follow these +restrictions: + +* Overlay planes must be in ARGB8888 or XRGB8888 format +* Planes cannot be placed outside of the CRTC destination rectangle +* Planes cannot be downscaled more than 1/4x of their original size +* Planes cannot be upscaled more than 16x of their original size + +Not every property is available on every plane: + +* Only primary planes have color-space and non-RGB format support +* Only overlay planes have alpha blending support + +Cursor Restrictions +=================== + +Before we start to describe some restrictions around cursor and MPO, see the +below image: + +.. kernel-figure:: mpo-cursor.svg + +The image on the left side represents how DRM expects the cursor and planes to +be blended. However, AMD hardware handles cursors differently, as you can see +on the right side; basically, our cursor cannot be drawn outside its associated +plane as it is being treated as part of the plane. Another consequence of that +is that cursors inherit the color and scale from the plane. + +As a result of the above behavior, do not use legacy API to set up the cursor +plane when working with MPO; otherwise, you might encounter unexpected +behavior. + +In short, AMD HW has no dedicated cursor planes. A cursor is attached to +another plane and therefore inherits any scaling or color processing from its +parent plane. + +Use Cases +========= + +Picture-in-Picture (PIP) playback - Underlay strategy +----------------------------------------------------- + +Video playback should be done using the "primary plane as underlay" MPO +strategy. This is a 2 planes configuration: + +* 1 YUV DRM Primary Plane (e.g. NV12 Video) +* 1 RGBA DRM Overlay Plane (e.g. ARGB8888 desktop). The compositor should + prepare the framebuffers for the planes as follows: + - The overlay plane contains general desktop UI, video player controls, and video subtitles + - Primary plane contains one or more videos + +.. note:: Keep in mind that we could extend this configuration to more planes, + but that is currently not supported by our driver yet (maybe if we have a + userspace request in the future, we can change that). + +See below a single-video example: + +.. kernel-figure:: single-display-mpo.svg + +.. note:: We could extend this behavior to more planes, but that is currently + not supported by our driver. + +The video buffer should be used directly for the primary plane. The video can +be scaled and positioned for the desktop using the properties: CRTC_X, CRTC_Y, +CRTC_W, and CRTC_H. The primary plane should also have the color encoding and +color range properties set based on the source content: + +* ``COLOR_RANGE``, ``COLOR_ENCODING`` + +The overlay plane should be the native size of the CRTC. The compositor must +draw a transparent cutout for where the video should be placed on the desktop +(i.e., set the alpha to zero). The primary plane video will be visible through +the underlay. The overlay plane's buffer may remain static while the primary +plane's framebuffer is used for standard double-buffered playback. + +The compositor should create a YUV buffer matching the native size of the CRTC. +Each video buffer should be composited onto this YUV buffer for direct YUV +scanout. The primary plane should have the color encoding and color range +properties set based on the source content: ``COLOR_RANGE``, +``COLOR_ENCODING``. However, be mindful that the source color space and +encoding match for each video since it affect the entire plane. + +The overlay plane should be the native size of the CRTC. The compositor must +draw a transparent cutout for where each video should be placed on the desktop +(i.e., set the alpha to zero). The primary plane videos will be visible through +the underlay. The overlay plane's buffer may remain static while compositing +operations for video playback will be done on the video buffer. + +This kernel interface is validated using IGT GPU Tools. The following tests can +be run to validate positioning, blending, scaling under a variety of sequences +and interactions with operations such as DPMS and S3: + +- ``kms_plane@plane-panning-bottom-right-pipe-*-planes`` +- ``kms_plane@plane-panning-bottom-right-suspend-pipe-*-`` +- ``kms_plane@plane-panning-top-left-pipe-*-`` +- ``kms_plane@plane-position-covered-pipe-*-`` +- ``kms_plane@plane-position-hole-dpms-pipe-*-`` +- ``kms_plane@plane-position-hole-pipe-*-`` +- ``kms_plane_multiple@atomic-pipe-*-tiling-`` +- ``kms_plane_scaling@pipe-*-plane-scaling`` +- ``kms_plane_alpha_blend@pipe-*-alpha-basic`` +- ``kms_plane_alpha_blend@pipe-*-alpha-transparant-fb`` +- ``kms_plane_alpha_blend@pipe-*-alpha-opaque-fb`` +- ``kms_plane_alpha_blend@pipe-*-constant-alpha-min`` +- ``kms_plane_alpha_blend@pipe-*-constant-alpha-mid`` +- ``kms_plane_alpha_blend@pipe-*-constant-alpha-max`` + +Multiple Display MPO +-------------------- + +AMDGPU supports display MPO when using multiple displays; however, this feature +behavior heavily relies on the compositor implementation. Keep in mind that +usespace can define different policies. For example, some OSes can use MPO to +protect the plane that handles the video playback; notice that we don't have +many limitations for a single display. Nonetheless, this manipulation can have +many more restrictions for a multi-display scenario. The below example shows a +video playback in the middle of two displays, and it is up to the compositor to +define a policy on how to handle it: + +.. kernel-figure:: multi-display-hdcp-mpo.svg + +Let's discuss some of the hardware limitations we have when dealing with +multi-display with MPO. + +Limitations +~~~~~~~~~~~ + +For simplicity's sake, for discussing the hardware limitation, this +documentation supposes an example where we have two displays and video playback +that will be moved around different displays. + +* **Hardware limitations** + +From the DCN overview page, each display requires at least one pipe and each +MPO plane needs another pipe. As a result, when the video is in the middle of +the two displays, we need to use 2 pipes. See the example below where we avoid +pipe split: + +- 1 display (1 pipe) + MPO (1 pipe), we will use two pipes +- 2 displays (2 pipes) + MPO (1-2 pipes); we will use 4 pipes. MPO in the + middle of both displays needs 2 pipes. +- 3 Displays (3 pipes) + MPO (1-2 pipes), we need 5 pipes. + +If we use MPO with multiple displays, the userspace has to decide to enable +multiple MPO by the price of limiting the number of external displays supported +or disable it in favor of multiple displays; it is a policy decision. For +example: + +* When ASIC has 3 pipes, AMD hardware can NOT support 2 displays with MPO +* When ASIC has 4 pipes, AMD hardware can NOT support 3 displays with MPO + +Let's briefly explore how userspace can handle these two display configurations +on an ASIC that only supports three pipes. We can have: + +.. kernel-figure:: multi-display-hdcp-mpo-less-pipe-ex.svg + +- Total pipes are 3 +- User lights up 2 displays (2 out of 3 pipes are used) +- User launches video (1 pipe used for MPO) +- Now, if the user moves the video in the middle of 2 displays, one part of the + video won't be MPO since we have used 3/3 pipes. + +* **Scaling limitation** + +MPO cannot handle scaling less than 0.25 and more than x16. For example: + +If 4k video (3840x2160) is playing in windowed mode, the physical size of the +window cannot be smaller than (960x540). + +.. note:: These scaling limitations might vary from ASIC to ASIC. + +* **Size Limitation** + +The minimum MPO size is 12px. diff --git a/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo-less-pipe-ex.svg b/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo-less-pipe-ex.svg new file mode 100644 index 000000000000..6d06b39e83fa --- /dev/null +++ b/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo-less-pipe-ex.svg @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="103.08798mm" + height="30.335283mm" + viewBox="0 0 103.08798 30.335284" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="multi-display-hdcp-mpo-less-pipe-ex.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1133" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1133-0" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="205.69673" + inkscape:cy="33.960031" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1288" + inkscape:window-height="1376" + inkscape:window-x="1272" + inkscape:window-y="27" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(112.75816,51.721433)"> + <rect + style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836" + width="48.988979" + height="29.48851" + x="-112.44358" + y="-51.189243" + ry="0" /> + <rect + style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.38327959;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834" + width="14.422765" + height="15.872559" + x="-78.227928" + y="-44.469936" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-71.189278" + y="-48.114422" + id="text844"><tspan + sodipodi:role="line" + x="-71.189278" + y="-48.114422" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846">Protected</tspan><tspan + sodipodi:role="line" + x="-71.189278" + y="-45.584015" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2288">MPO plane</tspan></text> + <rect + style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-3" + width="48.988979" + height="29.48851" + x="-58.973743" + y="-51.406849" + ry="0" /> + <rect + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.2500253;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834-6" + width="6.1374092" + height="15.872559" + x="-58.632965" + y="-44.469936" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-107.96788" + y="-47.033775" + id="text844-7"><tspan + sodipodi:role="line" + x="-107.96788" + y="-47.033775" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-3">#1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-15.20074" + y="-46.715996" + id="text844-7-2"><tspan + sodipodi:role="line" + x="-15.20074" + y="-46.715996" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-3-9">#2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-88.926605" + y="-23.173674" + id="text844-1"><tspan + sodipodi:role="line" + x="-88.926605" + y="-23.173674" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7">Desktop</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-33.770744" + y="-23.819901" + id="text844-1-0"><tspan + sodipodi:role="line" + x="-33.770744" + y="-23.819901" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7-9">Desktop</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-75.17498" + y="-41.219398" + id="text844-7-2-3"><tspan + sodipodi:role="line" + x="-75.17498" + y="-41.219398" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:0.06901112" + id="tspan846-3-9-6">#3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-47.142235" + y="-48.056866" + id="text844-0"><tspan + sodipodi:role="line" + x="-47.142235" + y="-48.056866" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2288-2">Software</tspan><tspan + sodipodi:role="line" + x="-47.142235" + y="-45.526459" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2313">Composited Video</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-36.23288" + y="-34.592064" + id="text844-1-6"><tspan + sodipodi:role="line" + x="-36.23288" + y="-34.592064" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7-1">Video will not be displayed</tspan></text> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo.svg b/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo.svg new file mode 100644 index 000000000000..84d53a558b05 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/multi-display-hdcp-mpo.svg @@ -0,0 +1,171 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="103.08798mm" + height="30.335283mm" + viewBox="0 0 103.08798 30.335284" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="multi-display-hdcp-mpo.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1133" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1133-0" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="196.85789" + inkscape:cy="33.960027" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1288" + inkscape:window-height="1376" + inkscape:window-x="1272" + inkscape:window-y="27" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(112.75816,51.721433)"> + <rect + style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836" + width="48.988979" + height="29.48851" + x="-112.44358" + y="-51.189243" + ry="0" /> + <rect + style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.38327959;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834" + width="14.422765" + height="15.872559" + x="-78.227928" + y="-44.469936" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-71.189278" + y="-48.114422" + id="text844"><tspan + sodipodi:role="line" + x="-71.189278" + y="-48.114422" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846">Protected</tspan><tspan + sodipodi:role="line" + x="-71.189278" + y="-45.584015" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2288">MPO plane</tspan></text> + <rect + style="fill:#ffe680;fill-opacity:1;stroke:#000000;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-3" + width="48.988979" + height="29.48851" + x="-58.973743" + y="-51.406849" + ry="0" /> + <rect + style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:0.2500253;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834-6" + width="6.1374092" + height="15.872559" + x="-58.632965" + y="-44.469936" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-88.926605" + y="-23.173674" + id="text844-1"><tspan + sodipodi:role="line" + x="-88.926605" + y="-23.173674" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7">Desktop</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-33.770744" + y="-23.819901" + id="text844-1-0"><tspan + sodipodi:role="line" + x="-33.770744" + y="-23.819901" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7-9">Desktop</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-70.364128" + y="-35.740372" + id="text844-7-2-3"><tspan + sodipodi:role="line" + x="-70.364128" + y="-35.740372" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:3.52777767px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#ffffff;stroke-width:0.06901112" + id="tspan846-3-9-6">Video</tspan></text> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/pipeline_4k_no_split.svg b/Documentation/gpu/amdgpu/display/pipeline_4k_no_split.svg new file mode 100644 index 000000000000..5fa289d99fcd --- /dev/null +++ b/Documentation/gpu/amdgpu/display/pipeline_4k_no_split.svg @@ -0,0 +1,958 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1055.4928" + height="404.60379" + viewBox="0 0 279.26579 107.05142" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="pipeline_4k_no_split.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker8858" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8616" + style="fill:#aa00d4;fill-opacity:1;fill-rule:evenodd;stroke:#aa00d4;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Send" + orient="auto" + refY="0" + refX="0" + id="Arrow2Send" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8622" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8592" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8610" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-8" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-5" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-1" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-1" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3-4" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-6-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-1-0" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker8858-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8616-5" + style="fill:#00ffcc;fill-opacity:1;fill-rule:evenodd;stroke:#00ffcc;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-56" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3-9" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-3" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-4" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-4" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-7" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="213.41584" + inkscape:cy="301.17934" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1376" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + units="px" + inkscape:snap-global="false" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(349.34521,-0.81564989)"> + <rect + style="fill:none;stroke:#000000;stroke-width:1.00353587;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" + id="rect834" + width="30.251244" + height="88.477814" + x="-317.81958" + y="14.782127" + ry="2.5590618e-06" /> + <text + xml:space="preserve" + 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" + x="-314.73792" + y="21.83947" + id="text838"><tspan + sodipodi:role="line" + id="tspan836" + x="-314.73792" + y="21.83947" + style="stroke-width:0.16370411">DCHUB</tspan></text> + <g + id="g2025" + transform="translate(-2.4916954,-1.2533369)"> + <text + id="text838-5" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3" + sodipodi:role="line">DPP</tspan><tspan + id="tspan936" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <text + xml:space="preserve" + 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" + x="-297.75696" + y="109.44505" + id="text1063"><tspan + sodipodi:role="line" + id="tspan1061" + x="-297.75696" + y="115.23865" + style="stroke-width:0.1637041" /></text> + <g + id="g1878" + transform="translate(-0.62971878)"> + <text + id="text846" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(0)</tspan></text> + <g + id="g1853"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <g + transform="translate(-0.62971878,18.810271)" + id="g1878-1"> + <text + id="text846-2" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844-7" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863-0" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(1)</tspan></text> + <g + id="g1853-9"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850-3" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <g + transform="translate(-0.62971878,57.029814)" + id="g1878-8"> + <text + id="text846-7" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844-9" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863-20" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(5)</tspan></text> + <g + id="g1853-2"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850-37" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-310.7348" + y="72.106789" + id="text8862-5"><tspan + sodipodi:role="line" + id="tspan8860-9" + x="-310.7348" + y="72.106789" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#44aa00;stroke-width:0.26458332">...</tspan></text> + <path + 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-94)" + d="m -288.90777,32.862737 h 14.20296" + id="path1171" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-264.85431" + y="62.072891" + id="text8862-5-8"><tspan + sodipodi:role="line" + id="tspan8860-9-4" + x="-264.85431" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <g + id="g2025-5" + transform="translate(40.522337,-1.1484419)" /> + <g + id="g7343" + transform="translate(40.522337,-1.2533369)"> + <text + id="text838-5-6" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3" + sodipodi:role="line">MPC</tspan><tspan + id="tspan936-2" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <g + id="g7343-2" + transform="translate(84.178583,-1.2533369)"> + <text + id="text838-5-6-54" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3-7" + sodipodi:role="line">OPP</tspan><tspan + id="tspan936-2-44" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0-3" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-221.84029" + y="62.072891" + id="text8862-5-8-6"><tspan + sodipodi:role="line" + id="tspan8860-9-4-5" + x="-221.84029" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6)" + d="m -240.90479,32.86192 h 10.61353" + id="path1171-3" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0)" + d="m -198.19009,32.86192 h 10.61353" + id="path1171-3-8" + inkscape:connector-curvature="0" /> + <g + id="g7343-2-2" + transform="translate(127.15447,-1.1484419)"> + <text + id="text838-5-6-54-0" + y="65.122154" + x="-254.32814" + 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" + xml:space="preserve"><tspan + id="tspan936-2-44-8" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="65.122154" + x="-254.32814" + sodipodi:role="line">OPTC</tspan></text> + <rect + ry="2.4256708e-06" + y="20.805576" + x="-269.46042" + height="83.865906" + width="30.277332" + id="rect834-5-0-3-9" + style="fill:none;stroke:#000000;stroke-width:0.97745234;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-2)" + d="m -154.34485,32.86192 h 10.61353" + id="path1171-3-8-6" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-178.18404" + y="62.072891" + id="text8862-5-8-6-0"><tspan + sodipodi:role="line" + id="tspan8860-9-4-5-4" + x="-178.18404" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <path + style="fill:#000000;stroke:#000000;stroke-width:0.96187615;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-8)" + d="m -335.20986,59.030276 h 14.20296" + id="path1171-17" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-349.77686" + y="61.404655" + id="text838-2"><tspan + sodipodi:role="line" + id="tspan836-7" + x="-349.77686" + y="61.404655" + style="stroke-width:0.16370411">SDP</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291667, 1.32291667;stroke-dashoffset:0;stroke-opacity:1" + d="M -279.04164,107.86706 V 0.89985833" + id="path11907" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.3229167, 1.3229167;stroke-dashoffset:0;stroke-opacity:1" + d="M -235.57438,107.86707 V 0.89985663" + id="path11907-6-1" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291671, 1.32291671;stroke-dashoffset:0;stroke-opacity:1" + d="M -149.96277,107.86707 V 0.89985223" + id="path11907-6-1-0" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-257.38275" + y="5.003336" + id="text838-6"><tspan + sodipodi:role="line" + id="tspan836-1" + x="-257.38275" + y="5.003336" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411">DPPCLK</tspan><tspan + sodipodi:role="line" + x="-257.38275" + y="13.188541" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411" + id="tspan12658">535.916Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-192.85298" + y="5.003336" + id="text838-6-5"><tspan + sodipodi:role="line" + id="tspan836-1-9" + x="-192.85298" + y="5.003336" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411">DISPCLK</tspan><tspan + sodipodi:role="line" + x="-192.85298" + y="13.188541" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411" + id="tspan12662">541.275 Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-302.03766" + y="5.003336" + id="text838-6-5-4"><tspan + sodipodi:role="line" + id="tspan836-1-9-9" + x="-312.23135" + y="5.003336" + style="font-size:4.93888903px;stroke-width:0.16370411;text-anchor:middle;text-align:center">DCFCLK</tspan><tspan + sodipodi:role="line" + x="-312.23135" + y="13.188541" + style="font-size:4.93888903px;stroke-width:0.16370411;text-anchor:middle;text-align:center" + id="tspan12660">506 Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-96.075348" + y="4.568048" + id="text838-6-5-0"><tspan + sodipodi:role="line" + id="tspan836-1-9-91" + x="-96.075348" + y="4.568048" + style="font-size:4.93888903px;stroke-width:0.16370411">SymCLK</tspan></text> + <g + id="g7343-2-2-7" + transform="translate(168.61494,-1.1484419)"> + <text + id="text838-5-6-54-0-7" + y="65.122154" + x="-254.32814" + 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" + xml:space="preserve"><tspan + id="tspan936-2-44-8-1" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="65.122154" + x="-254.32814" + sodipodi:role="line">DIO</tspan></text> + <rect + ry="2.4256708e-06" + y="20.805576" + x="-269.46042" + height="83.865906" + width="30.277332" + id="rect834-5-0-3-9-1" + style="fill:none;stroke:#000000;stroke-width:0.97745234;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291672, 1.32291672;stroke-dashoffset:0;stroke-opacity:1" + d="M -108.38539,107.86707 V 0.89985092" + id="path11907-6-1-0-5" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-143.52292" + y="5.0467439" + id="text838-6-5-0-9"><tspan + sodipodi:role="line" + id="tspan836-1-9-91-7" + x="-143.52292" + y="5.0467439" + style="font-size:4.93888903px;stroke-width:0.16370411">VirtualPCLK</tspan></text> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-2-7)" + d="m -112.24183,60.747629 h 10.61353" + id="path1171-3-8-6-7" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/pipeline_4k_split.svg b/Documentation/gpu/amdgpu/display/pipeline_4k_split.svg new file mode 100644 index 000000000000..b43119e7eb8a --- /dev/null +++ b/Documentation/gpu/amdgpu/display/pipeline_4k_split.svg @@ -0,0 +1,1062 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="1055.4928" + height="404.60379" + viewBox="0 0 279.26579 107.05142" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="pipeline_no_split_4k.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker8858" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8616" + style="fill:#aa00d4;fill-opacity:1;fill-rule:evenodd;stroke:#aa00d4;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Send" + orient="auto" + refY="0" + refX="0" + id="Arrow2Send" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8622" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-0.3,0,0,-0.3,0.69,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow1Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8592" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.8,0,0,-0.8,-10,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Lend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Lend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8610" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="matrix(-1.1,0,0,-1.1,-1.1,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-8" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-5" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-1" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-1" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3-4" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-6-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-1-0" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-2-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-9-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="marker8858-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path8616-5" + style="fill:#00ffcc;fill-opacity:1;fill-rule:evenodd;stroke:#00ffcc;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-3-3" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-6-56" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-8-0-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1200-9-3-9" + style="fill:#008000;fill-opacity:1;fill-rule:evenodd;stroke:#008000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-9" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-3" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-4" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-1" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-4" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2-4" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6-9" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-8" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-7" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend-94-6-0-2-7" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1200-7-9-7-6-6" + style="fill:#ff0000;fill-opacity:1;fill-rule:evenodd;stroke:#ff0000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1" + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z" + transform="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="491.27298" + inkscape:cy="306.89362" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="2560" + inkscape:window-height="1376" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + showguides="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + units="px" + inkscape:snap-global="false" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(349.34521,-0.81564989)"> + <rect + style="fill:none;stroke:#000000;stroke-width:1.00353587;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" + id="rect834" + width="30.251244" + height="88.477814" + x="-317.81958" + y="14.782127" + ry="2.5590618e-06" /> + <text + xml:space="preserve" + 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" + x="-314.73792" + y="21.83947" + id="text838"><tspan + sodipodi:role="line" + id="tspan836" + x="-314.73792" + y="21.83947" + style="stroke-width:0.16370411">DCHUB</tspan></text> + <g + id="g2025" + transform="translate(-2.4916954,-1.2533369)"> + <text + id="text838-5" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3" + sodipodi:role="line">DPP</tspan><tspan + id="tspan936" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <text + xml:space="preserve" + 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" + x="-297.75696" + y="109.44505" + id="text1063"><tspan + sodipodi:role="line" + id="tspan1061" + x="-297.75696" + y="115.23865" + style="stroke-width:0.1637041" /></text> + <g + id="g1878" + transform="translate(-0.62971878)"> + <text + id="text846" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(0)</tspan></text> + <g + id="g1853"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <g + transform="translate(-0.62971878,18.810271)" + id="g1878-1"> + <text + id="text846-2" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844-7" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863-0" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(1)</tspan></text> + <g + id="g1853-9"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850-3" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <g + transform="translate(-0.62971878,57.029814)" + id="g1878-8"> + <text + id="text846-7" + y="30.716068" + x="-302.27368" + 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:#44aa00;fill-opacity:1;stroke:none;stroke-width:0.16370411" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="30.716068" + x="-302.27368" + id="tspan844-9" + sodipodi:role="line">HUBP</tspan><tspan + id="tspan863-20" + style="text-align:center;text-anchor:middle;fill:#44aa00;stroke-width:0.16370411" + y="38.901276" + x="-302.27368" + sodipodi:role="line">(5)</tspan></text> + <g + id="g1853-2"> + <rect + style="fill:none;fill-opacity:1;stroke:#55d400;stroke-width:0.94157624;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect1850-37" + width="24.708241" + height="17.224693" + x="-314.41837" + y="24.241148" /> + </g> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-310.7348" + y="72.106789" + id="text8862-5"><tspan + sodipodi:role="line" + id="tspan8860-9" + x="-310.7348" + y="72.106789" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#44aa00;stroke-width:0.26458332">...</tspan></text> + <g + id="g2031" + transform="translate(-2.4568452,2.9399645)"> + <text + id="text838-5-3" + y="84.805916" + x="-254.56604" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="84.805916" + x="-254.56604" + id="tspan836-3-6" + sodipodi:role="line">DPP</tspan><tspan + id="tspan936-1" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="92.991119" + x="-254.56604" + sodipodi:role="line">(5)</tspan></text> + <rect + ry="7.8154301e-07" + y="73.432686" + x="-269.70468" + height="27.021317" + width="30.696136" + id="rect834-5-2" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + 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-9)" + d="m -289.17681,89.892551 h 14.20296" + id="path1171-1" + inkscape:connector-curvature="0" /> + <path + 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-94)" + d="m -288.90777,32.862737 h 14.20296" + id="path1171" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-264.85431" + y="62.072891" + id="text8862-5-8"><tspan + sodipodi:role="line" + id="tspan8860-9-4" + x="-264.85431" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <g + id="g2025-5" + transform="translate(40.522337,-1.1484419)" /> + <g + id="g7343" + transform="translate(40.522337,-1.2533369)"> + <text + id="text838-5-6" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3" + sodipodi:role="line">MPC</tspan><tspan + id="tspan936-2" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <g + id="g7343-1" + transform="translate(40.522337,56.303939)"> + <text + id="text838-5-6-5" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3-5" + sodipodi:role="line">MPC</tspan><tspan + id="tspan936-2-4" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(5)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0-7" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <g + id="g7343-2" + transform="translate(84.178583,-1.2533369)"> + <text + id="text838-5-6-54" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3-7" + sodipodi:role="line">OPP</tspan><tspan + id="tspan936-2-44" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0-3" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-221.84029" + y="62.072891" + id="text8862-5-8-6"><tspan + sodipodi:role="line" + id="tspan8860-9-4-5" + x="-221.84029" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6)" + d="m -240.90479,32.86192 h 10.61353" + id="path1171-3" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-7)" + d="m -241.09039,89.891298 h 10.61353" + id="path1171-3-5" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0)" + d="m -198.19009,32.86192 h 10.61353" + id="path1171-3-8" + inkscape:connector-curvature="0" /> + <g + id="g7343-2-6" + transform="translate(84.178583,56.303939)"> + <text + id="text838-5-6-54-8" + y="31.969406" + x="-254.53119" + 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" + xml:space="preserve"><tspan + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="31.969406" + x="-254.53119" + id="tspan836-3-3-7-8" + sodipodi:role="line">OPP</tspan><tspan + id="tspan936-2-44-4" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="40.15461" + x="-254.53119" + sodipodi:role="line">(0)</tspan></text> + <rect + ry="7.8154301e-07" + y="20.596174" + x="-269.66983" + height="27.021315" + width="30.696135" + id="rect834-5-0-3-3" + style="fill:none;stroke:#000000;stroke-width:0.55864918;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-1)" + d="m -198.00111,89.891298 h 10.61353" + id="path1171-3-8-9" + inkscape:connector-curvature="0" /> + <g + id="g7343-2-2" + transform="translate(127.15447,-1.1484419)"> + <text + id="text838-5-6-54-0" + y="65.122154" + x="-254.32814" + 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" + xml:space="preserve"><tspan + id="tspan936-2-44-8" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="65.122154" + x="-254.32814" + sodipodi:role="line">OPTC</tspan></text> + <rect + ry="2.4256708e-06" + y="20.805576" + x="-269.46042" + height="83.865906" + width="30.277332" + id="rect834-5-0-3-9" + style="fill:none;stroke:#000000;stroke-width:0.97745234;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-2)" + d="m -154.34485,32.86192 h 10.61353" + id="path1171-3-8-6" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-2-4)" + d="m -154.34485,89.891298 h 10.61353" + id="path1171-3-8-6-5" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:3.17499995px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-178.18404" + y="62.072891" + id="text8862-5-8-6-0"><tspan + sodipodi:role="line" + id="tspan8860-9-4-5-4" + x="-178.18404" + y="62.072891" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:14.11111069px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';fill:#000000;stroke-width:0.26458332">...</tspan></text> + <path + style="fill:#000000;stroke:#000000;stroke-width:0.96187615;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-8)" + d="m -335.20986,59.030276 h 14.20296" + id="path1171-17" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-349.77686" + y="61.404655" + id="text838-2"><tspan + sodipodi:role="line" + id="tspan836-7" + x="-349.77686" + y="61.404655" + style="stroke-width:0.16370411">SDP</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291667, 1.32291667;stroke-dashoffset:0;stroke-opacity:1" + d="M -279.04164,107.86706 V 0.89985833" + id="path11907" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.3229167, 1.3229167;stroke-dashoffset:0;stroke-opacity:1" + d="M -235.57438,107.86707 V 0.89985663" + id="path11907-6-1" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291671, 1.32291671;stroke-dashoffset:0;stroke-opacity:1" + d="M -149.96277,107.86707 V 0.89985223" + id="path11907-6-1-0" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-257.38275" + y="5.003336" + id="text838-6"><tspan + sodipodi:role="line" + id="tspan836-1" + x="-257.38275" + y="5.003336" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411">DPPCLK</tspan><tspan + sodipodi:role="line" + x="-257.38275" + y="13.188541" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411" + id="tspan12658">267.958Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-192.85298" + y="5.003336" + id="text838-6-5"><tspan + sodipodi:role="line" + id="tspan836-1-9" + x="-192.85298" + y="5.003336" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411">DISPCLK</tspan><tspan + sodipodi:role="line" + x="-192.85298" + y="13.188541" + style="font-size:4.93888903px;text-align:center;text-anchor:middle;stroke-width:0.16370411" + id="tspan12662">541.275 Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-302.03766" + y="5.003336" + id="text838-6-5-4"><tspan + sodipodi:role="line" + id="tspan836-1-9-9" + x="-312.23135" + y="5.003336" + style="font-size:4.93888903px;stroke-width:0.16370411;text-anchor:middle;text-align:center">DCFCLK</tspan><tspan + sodipodi:role="line" + x="-312.23135" + y="13.188541" + style="font-size:4.93888903px;stroke-width:0.16370411;text-anchor:middle;text-align:center" + id="tspan12660">506 Mhz</tspan></text> + <text + xml:space="preserve" + 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" + x="-96.075348" + y="4.568048" + id="text838-6-5-0"><tspan + sodipodi:role="line" + id="tspan836-1-9-91" + x="-96.075348" + y="4.568048" + style="font-size:4.93888903px;stroke-width:0.16370411">SymCLK</tspan></text> + <g + id="g7343-2-2-7" + transform="translate(168.61494,-1.1484419)"> + <text + id="text838-5-6-54-0-7" + y="65.122154" + x="-254.32814" + 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" + xml:space="preserve"><tspan + id="tspan936-2-44-8-1" + style="text-align:center;text-anchor:middle;stroke-width:0.16370411" + y="65.122154" + x="-254.32814" + sodipodi:role="line">DIO</tspan></text> + <rect + ry="2.4256708e-06" + y="20.805576" + x="-269.46042" + height="83.865906" + width="30.277332" + id="rect834-5-0-3-9-1" + style="fill:none;stroke:#000000;stroke-width:0.97745234;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none" /> + </g> + <path + style="fill:none;stroke:#000000;stroke-width:1.32291663;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:1.32291672, 1.32291672;stroke-dashoffset:0;stroke-opacity:1" + d="M -108.38539,107.86707 V 0.89985092" + id="path11907-6-1-0-5" + inkscape:connector-curvature="0" /> + <text + xml:space="preserve" + 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" + x="-143.52292" + y="5.0467439" + id="text838-6-5-0-9"><tspan + sodipodi:role="line" + id="tspan836-1-9-91-7" + x="-143.52292" + y="5.0467439" + style="font-size:4.93888903px;stroke-width:0.16370411">VirtualPCLK</tspan></text> + <path + style="fill:none;stroke:#ff0000;stroke-width:0.83149505;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend-94-6-0-2-7)" + d="m -112.24183,60.747629 h 10.61353" + id="path1171-3-8-6-7" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/single-display-mpo-multi-video.svg b/Documentation/gpu/amdgpu/display/single-display-mpo-multi-video.svg new file mode 100644 index 000000000000..fa807115cfe2 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/single-display-mpo-multi-video.svg @@ -0,0 +1,339 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="112.16296mm" + height="93.314507mm" + viewBox="0 0 112.16296 93.314508" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="single-display-mpo-multi-video.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1133" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1006" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1133-0" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="255.95284" + inkscape:cy="222.25473" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1514" + inkscape:window-height="1376" + inkscape:window-x="1046" + inkscape:window-y="27" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(26.189925,5.2546503)"> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-2.2053311" + y="32.839729" + id="text844"><tspan + sodipodi:role="line" + x="-2.2053313" + y="32.839729" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846">Video Buffer (YUV)</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="30.867918" + y="87.638779" + id="text844-2"><tspan + sodipodi:role="line" + x="30.867918" + y="87.638779" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-0">CRTC Output</tspan></text> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.53249496;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:1.59748484, 0.53249495;stroke-dashoffset:0" + id="rect969" + width="111.63046" + height="44.238331" + x="-25.923677" + y="-4.9884028" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="48.037342" + y="45.781586" + id="text844-2-9"><tspan + sodipodi:role="line" + x="48.037342" + y="45.781586" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2868">Hardware Composition</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.48997903;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutL)" + d="m 32.66992,40.326865 v 9.760144" + id="path989" + inkscape:connector-curvature="0" /> + <g + id="g4447" + style="stroke:#000000"> + <rect + ry="0" + y="0.23764905" + x="-23.784248" + height="29.48851" + width="48.988979" + id="rect836" + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="3.8184125" + x="-20.589451" + height="6.9794898" + width="11.594959" + id="rect836-2-6" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891468;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="3.8184123" + x="-5.6613555" + height="6.9794903" + width="11.594959" + id="rect836-2-6-1" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="3.8184121" + x="10.374816" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-8" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="18.386644" + x="-20.341679" + height="6.9794903" + width="11.594959" + id="rect836-2-6-7" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="18.386644" + x="-5.4135842" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-9" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="18.386644" + x="10.622585" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-8-2" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + </g> + <rect + style="fill:#808080;fill-opacity:1;stroke:#808080;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2" + width="48.988979" + height="29.48851" + x="31.367332" + y="0.45039755" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891468;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-3" + width="11.594959" + height="6.9794898" + x="34.56213" + y="4.0311608" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-1-7" + width="11.594959" + height="6.9794903" + x="49.490223" + y="4.0311608" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-1-8-5" + width="11.594959" + height="6.9794908" + x="65.526398" + y="4.0311604" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-7-9" + width="11.594959" + height="6.9794903" + x="34.809902" + y="18.599392" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-1-9-2" + width="11.594959" + height="6.9794908" + x="49.737995" + y="18.599392" + ry="0" /> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836-2-6-1-8-2-2" + width="11.594959" + height="6.9794908" + x="65.774162" + y="18.599392" + ry="0" /> + <g + id="g4562" + transform="translate(0,11.22532)"> + <rect + ry="0" + y="43.21352" + x="5.9767256" + height="29.48851" + width="48.988979" + id="rect836-97" + style="fill:#808080;fill-opacity:1;stroke:#808080;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="46.794285" + x="9.1715231" + height="6.9794898" + width="11.594959" + id="rect836-2-6-36" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891468;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="46.794285" + x="24.099619" + height="6.9794903" + width="11.594959" + id="rect836-2-6-1-1" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="46.794285" + x="40.135792" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-8-29" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="61.362514" + x="9.4192953" + height="6.9794903" + width="11.594959" + id="rect836-2-6-7-3" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="61.362514" + x="24.347389" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-9-1" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <rect + ry="0" + y="61.362514" + x="40.38356" + height="6.9794908" + width="11.594959" + id="rect836-2-6-1-8-2-9" + style="fill:#008000;fill-opacity:1;stroke:#000000;stroke-width:0.14891469;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813358px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="57.012939" + y="33.603645" + id="text844-4"><tspan + sodipodi:role="line" + x="57.012939" + y="33.603645" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-7">Desktop Buffer (ARGB)</tspan></text> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/display/single-display-mpo.svg b/Documentation/gpu/amdgpu/display/single-display-mpo.svg new file mode 100644 index 000000000000..fb53b0920c87 --- /dev/null +++ b/Documentation/gpu/amdgpu/display/single-display-mpo.svg @@ -0,0 +1,266 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="148.71147mm" + height="38.356358mm" + viewBox="0 0 148.71148 38.356358" + version="1.1" + id="svg8" + inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" + sodipodi:docname="single-display-mpo.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1133" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Send" + orient="auto" + refY="0" + refX="0" + id="Arrow1Send" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1006" + d="M 0,0 5,-5 -12.5,0 5,5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="matrix(-0.2,0,0,-0.2,-1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="TriangleOutL" + orient="auto" + refY="0" + refX="0" + id="TriangleOutL-6" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path1133-0" + d="M 5.77,0 -2.88,5 V -5 Z" + style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1" + transform="scale(0.8)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.979899" + inkscape:cx="266.07058" + inkscape:cy="81.254796" + inkscape:document-units="mm" + inkscape:current-layer="layer1" + showgrid="false" + inkscape:window-width="1514" + inkscape:window-height="1376" + inkscape:window-x="1046" + inkscape:window-y="27" + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(26.323559,-14.790568)"> + <rect + style="fill:#999999;fill-opacity:1;stroke:#999999;stroke-width:0.62916809;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect836" + width="48.988979" + height="29.48851" + x="4.9472256" + y="17.075632" + ry="0" /> + <g + id="g905" + transform="matrix(0.26082945,0,0,0.26082945,-26.950235,-0.99631462)"> + <rect + y="67.568451" + x="12.473214" + height="60.854164" + width="102.43154" + id="rect834" + style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <path + inkscape:transform-center-y="-3.581986e-06" + inkscape:transform-center-x="-3.3106064" + d="m 73.620805,97.995537 -9.931819,5.734143 -9.931819,5.73413 0,-11.468274 0,-11.468276 9.931819,5.734139 z" + inkscape:randomized="0" + inkscape:rounded="0" + inkscape:flatsided="false" + sodipodi:arg2="1.0471976" + sodipodi:arg1="0" + sodipodi:r2="6.6212125" + sodipodi:r1="13.242425" + sodipodi:cy="97.995537" + sodipodi:cx="60.37838" + sodipodi:sides="3" + id="path840" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.22854495;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + sodipodi:type="star" /> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="-10.357052" + y="34.176075" + id="text844"><tspan + sodipodi:role="line" + id="tspan842" + x="-10.357052" + y="34.176075" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112">Video Buffer (YUV)</tspan><tspan + sodipodi:role="line" + x="-10.357052" + y="36.706482" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846">DRM PRIMARY PLANE</tspan></text> + <rect + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.5216589;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834-3" + width="26.717165" + height="15.872559" + x="16.083126" + y="23.883608" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="28.437061" + y="49.158085" + id="text844-6"><tspan + sodipodi:role="line" + x="28.437061" + y="49.158085" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-5">Desktop Buffer (ARGB)</tspan><tspan + sodipodi:role="line" + x="28.437061" + y="51.688492" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan886">DRM OVERLAY PLANE</tspan></text> + <g + id="g2874" + transform="matrix(1.0858687,0,0,1.0858687,-4.5597909,-2.06277)"> + <rect + ry="0" + y="17.624969" + x="71.504173" + height="27.156607" + width="45.115009" + id="rect836-9" + style="fill:#999999;fill-opacity:1;stroke:#999999;stroke-width:0.57941455;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" /> + <g + id="g905-5" + transform="matrix(0.24020349,0,0,0.24020349,78.763353,7.664402)"> + <rect + style="fill:#008000;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="rect834-6" + width="102.43154" + height="60.854164" + x="12.473214" + y="67.568451" /> + <path + sodipodi:type="star" + style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.22854495;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" + id="path840-2" + sodipodi:sides="3" + sodipodi:cx="60.37838" + sodipodi:cy="97.995537" + sodipodi:r1="13.242425" + sodipodi:r2="6.6212125" + sodipodi:arg1="0" + sodipodi:arg2="1.0471976" + inkscape:flatsided="false" + inkscape:rounded="0" + inkscape:randomized="0" + d="m 73.620805,97.995537 -9.931819,5.734143 -9.931819,5.73413 0,-11.468274 0,-11.468276 9.931819,5.734139 z" + inkscape:transform-center-x="-3.3106064" + inkscape:transform-center-y="-3.581986e-06" /> + </g> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="97.551666" + y="50.221046" + id="text844-2"><tspan + sodipodi:role="line" + x="97.551666" + y="50.221046" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-0">CRTC Output</tspan></text> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.42211887;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:1.26635657, 0.42211886;stroke-dashoffset:0" + id="rect969" + width="81.806648" + height="37.934238" + x="-26.112499" + y="15.001627" /> + <text + xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:0.82813352px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.06901112" + x="64.474419" + y="31.883568" + id="text844-2-9"><tspan + sodipodi:role="line" + x="64.474419" + y="31.883568" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan846-0-3">Hardware</tspan><tspan + sodipodi:role="line" + x="64.474419" + y="34.413975" + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:2.02432632px;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;stroke-width:0.06901112" + id="tspan2868">Composition</tspan></text> + <path + style="fill:none;stroke:#000000;stroke-width:0.48997903;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutL)" + d="m 57.401149,24.81643 h 9.760144" + id="path989" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.48997903;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#TriangleOutL-6)" + d="m 57.401149,41.794278 h 9.760144" + id="path989-6" + inkscape:connector-curvature="0" /> + </g> +</svg> diff --git a/Documentation/gpu/amdgpu/driver-misc.rst b/Documentation/gpu/amdgpu/driver-misc.rst index e3d6b2fa2493..1800543d45f7 100644 --- a/Documentation/gpu/amdgpu/driver-misc.rst +++ b/Documentation/gpu/amdgpu/driver-misc.rst @@ -32,6 +32,23 @@ unique_id .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c :doc: unique_id +Accelerated Processing Units (APU) Info +--------------------------------------- + +.. csv-table:: + :header-rows: 1 + :widths: 3, 2, 2, 1, 1, 1 + :file: ./apu-asic-info-table.csv + +Discrete GPU Info +----------------- + +.. csv-table:: + :header-rows: 1 + :widths: 3, 2, 2, 1, 1, 1 + :file: ./dgpu-asic-info-table.csv + + GPU Memory Usage Information ============================ diff --git a/Documentation/gpu/amdgpu/thermal.rst b/Documentation/gpu/amdgpu/thermal.rst index 997231b6adcf..5e27e4eb3959 100644 --- a/Documentation/gpu/amdgpu/thermal.rst +++ b/Documentation/gpu/amdgpu/thermal.rst @@ -72,7 +72,8 @@ card's RLC (RunList Controller) firmware powers off the gfx engine dynamically when there is no workload on gfx or compute pipes. GFXOFF is on by default on supported GPUs. -Userspace can interact with GFXOFF through a debugfs interface: +Userspace can interact with GFXOFF through a debugfs interface (all values in +`uint32_t`, unless otherwise noted): ``amdgpu_gfxoff`` ----------------- @@ -104,3 +105,18 @@ Read it to check current GFXOFF's status of a GPU:: If GFXOFF is enabled, the value will be transitioning around [0, 3], always getting into 0 when possible. When it's disabled, it's always at 2. Returns ``-EINVAL`` if it's not supported. + +``amdgpu_gfxoff_count`` +----------------------- + +Read it to get the total GFXOFF entry count at the time of query since system +power-up. The value is an `uint64_t` type, however, due to firmware limitations, +it can currently overflow as an `uint32_t`. *Only supported in vangogh* + +``amdgpu_gfxoff_residency`` +--------------------------- + +Write 1 to amdgpu_gfxoff_residency to start logging, and 0 to stop. Read it to +get average GFXOFF residency % multiplied by 100 during the last logging +interval. E.g. a value of 7854 means 78.54% of the time in the last logging +interval the GPU was in GFXOFF mode. *Only supported in vangogh* diff --git a/Documentation/gpu/drm-kms-helpers.rst b/Documentation/gpu/drm-kms-helpers.rst index 2d473bc64c9f..dbc85fd7a971 100644 --- a/Documentation/gpu/drm-kms-helpers.rst +++ b/Documentation/gpu/drm-kms-helpers.rst @@ -122,13 +122,13 @@ format Helper Functions Reference .. kernel-doc:: drivers/gpu/drm/drm_format_helper.c :export: -Framebuffer CMA Helper Functions Reference +Framebuffer DMA Helper Functions Reference ========================================== -.. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c - :doc: framebuffer cma helper functions +.. kernel-doc:: drivers/gpu/drm/drm_fb_dma_helper.c + :doc: framebuffer dma helper functions -.. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c +.. kernel-doc:: drivers/gpu/drm/drm_fb_dma_helper.c :export: Framebuffer GEM Helper Reference diff --git a/Documentation/gpu/drm-kms.rst b/Documentation/gpu/drm-kms.rst index 6f9c064fd323..b4377a545425 100644 --- a/Documentation/gpu/drm-kms.rst +++ b/Documentation/gpu/drm-kms.rst @@ -532,6 +532,8 @@ Standard Plane Properties .. kernel-doc:: drivers/gpu/drm/drm_plane.c :doc: standard plane properties +.. _plane_composition_properties: + Plane Composition Properties ---------------------------- diff --git a/Documentation/gpu/drm-mm.rst b/Documentation/gpu/drm-mm.rst index f32ccce5722d..a79fd3549ff8 100644 --- a/Documentation/gpu/drm-mm.rst +++ b/Documentation/gpu/drm-mm.rst @@ -300,12 +300,12 @@ Drivers that want to map the GEM object upfront instead of handling page faults can implement their own mmap file operation handler. For platforms without MMU the GEM core provides a helper method -drm_gem_cma_get_unmapped_area(). The mmap() routines will call this to get a +drm_gem_dma_get_unmapped_area(). The mmap() routines will call this to get a proposed address for the mapping. -To use drm_gem_cma_get_unmapped_area(), drivers must fill the struct +To use drm_gem_dma_get_unmapped_area(), drivers must fill the struct :c:type:`struct file_operations <file_operations>` get_unmapped_area field with -a pointer on drm_gem_cma_get_unmapped_area(). +a pointer on drm_gem_dma_get_unmapped_area(). More detailed information about get_unmapped_area can be found in Documentation/admin-guide/mm/nommu-mmap.rst @@ -355,16 +355,16 @@ GEM Function Reference .. kernel-doc:: drivers/gpu/drm/drm_gem.c :export: -GEM CMA Helper Functions Reference +GEM DMA Helper Functions Reference ---------------------------------- -.. kernel-doc:: drivers/gpu/drm/drm_gem_cma_helper.c - :doc: cma helpers +.. kernel-doc:: drivers/gpu/drm/drm_gem_dma_helper.c + :doc: dma helpers -.. kernel-doc:: include/drm/drm_gem_cma_helper.h +.. kernel-doc:: include/drm/drm_gem_dma_helper.h :internal: -.. kernel-doc:: drivers/gpu/drm/drm_gem_cma_helper.c +.. kernel-doc:: drivers/gpu/drm/drm_gem_dma_helper.c :export: GEM SHMEM Helper Function Reference diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst index 7ff89559b3b7..393d218e4a0c 100644 --- a/Documentation/gpu/todo.rst +++ b/Documentation/gpu/todo.rst @@ -322,18 +322,6 @@ Contact: Daniel Vetter, Noralf Tronnes Level: Advanced -idr_init_base() ---------------- - -DRM core&drivers uses a lot of idr (integer lookup directories) for mapping -userspace IDs to internal objects, and in most places ID=0 means NULL and hence -is never used. Switching to idr_init_base() for these would make the idr more -efficient. - -Contact: Daniel Vetter - -Level: Starter - struct drm_gem_object_funcs --------------------------- @@ -343,19 +331,6 @@ converted, except for struct drm_driver.gem_prime_mmap. Level: Intermediate -Rename CMA helpers to DMA helpers ---------------------------------- - -CMA (standing for contiguous memory allocator) is really a bit an accident of -what these were used for first, a much better name would be DMA helpers. In the -text these should even be called coherent DMA memory helpers (so maybe CDM, but -no one knows what that means) since underneath they just use dma_alloc_coherent. - -Contact: Laurent Pinchart, Daniel Vetter - -Level: Intermediate (mostly because it is a huge tasks without good partial -milestones, not technically itself that challenging) - connector register/unregister fixes ----------------------------------- @@ -617,17 +592,6 @@ Contact: Javier Martinez Canillas <javierm@redhat.com> Level: Intermediate -Convert Kernel Selftests (kselftest) to KUnit tests when appropriate --------------------------------------------------------------------- - -Many of the `Kselftest <https://www.kernel.org/doc/html/latest/dev-tools/kselftest.html>`_ -tests in DRM could be converted to Kunit tests instead, since that framework -is more suitable for unit testing. - -Contact: Javier Martinez Canillas <javierm@redhat.com> - -Level: Starter - Enable trinity for DRM ---------------------- diff --git a/Documentation/gpu/vkms.rst b/Documentation/gpu/vkms.rst index 973e2d43108b..49db221c0f52 100644 --- a/Documentation/gpu/vkms.rst +++ b/Documentation/gpu/vkms.rst @@ -118,15 +118,10 @@ Add Plane Features There's lots of plane features we could add support for: -- Clearing primary plane: clear primary plane before plane composition (at the - start) for correctness of pixel blend ops. It also guarantees alpha channel - is cleared in the target buffer for stable crc. [Good to get started] - - ARGB format on primary plane: blend the primary plane into background with translucent alpha. -- Support when the primary plane isn't exactly matching the output size: blend - the primary plane into the black background. +- Add background color KMS property[Good to get started]. - Full alpha blending on all planes. |