drivers/gpu/drm/msm/registers/display/mdp4.xml
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/msm/registers/display/mdp4.xml
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/msm/registers/display/mdp4.xml- Extension
.xml- Size
- 21898 bytes
- Lines
- 505
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: drivers/gpu
- Status
- atlas-only
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
<?xml version="1.0" encoding="UTF-8"?>
<database xmlns="http://nouveau.freedesktop.org/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://gitlab.freedesktop.org/freedreno/ rules-fd.xsd">
<import file="freedreno_copyright.xml"/>
<import file="display/mdp_common.xml"/>
<domain name="MDP4" width="32">
<enum name="mdp4_pipe">
<brief>pipe names, index into PIPE[]</brief>
<value name="VG1" value="0"/>
<value name="VG2" value="1"/>
<value name="RGB1" value="2"/>
<value name="RGB2" value="3"/>
<value name="RGB3" value="4"/>
<value name="VG3" value="5"/>
<value name="VG4" value="6"/>
</enum>
<enum name="mdp4_mixer">
<value name="MIXER0" value="0"/>
<value name="MIXER1" value="1"/>
<value name="MIXER2" value="2"/>
</enum>
<enum name="mdp4_intf">
<!--
A bit confusing the enums for interface selection:
enum {
LCDC_RGB_INTF, /* 0 */
DTV_INTF = LCDC_RGB_INTF, /* 0 */
MDDI_LCDC_INTF, /* 1 */
MDDI_INTF, /* 2 */
EBI2_INTF, /* 3 */
TV_INTF = EBI2_INTF, /* 3 */
DSI_VIDEO_INTF,
DSI_CMD_INTF
};
there is some overlap, and not all the values end up getting
written to hw (mdp4_display_intf_sel() remaps the last two
values to MDDI_LCDC_INTF/MDDI_INTF with extra bits set).. so
taking some liberties in guessing the actual meanings/names:
-->
<value name="INTF_LCDC_DTV" value="0"/> <!-- LCDC RGB or DTV (external) -->
<value name="INTF_DSI_VIDEO" value="1"/>
<value name="INTF_DSI_CMD" value="2"/>
<value name="INTF_EBI2_TV" value="3"/> <!-- EBI2 or TV (external) -->
</enum>
<enum name="mdp4_cursor_format">
<value name="CURSOR_ARGB" value="1"/>
<value name="CURSOR_XRGB" value="2"/>
</enum>
<enum name="mdp4_frame_format">
<value name="FRAME_LINEAR" value="0"/>
<value name="FRAME_TILE_ARGB_4X4" value="1"/>
<value name="FRAME_TILE_YCBCR_420" value="2"/>
</enum>
<enum name="mdp4_scale_unit">
<value name="SCALE_FIR" value="0"/>
<value name="SCALE_MN_PHASE" value="1"/>
<value name="SCALE_PIXEL_RPT" value="2"/>
</enum>
<bitset name="mdp4_layermixer_in_cfg" inline="yes">
<brief>appears to map pipe to mixer stage</brief>
<bitfield name="PIPE0" low="0" high="2" type="mdp_mixer_stage_id"/>
<bitfield name="PIPE0_MIXER1" pos="3" type="boolean"/>
<bitfield name="PIPE1" low="4" high="6" type="mdp_mixer_stage_id"/>
<bitfield name="PIPE1_MIXER1" pos="7" type="boolean"/>
<bitfield name="PIPE2" low="8" high="10" type="mdp_mixer_stage_id"/>
Annotation
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.