drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.h- Extension
.h- Size
- 23452 bytes
- Lines
- 802
- Domain
- Driver Families
- Bucket
- drivers/gpu
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kernel.hlinux/bug.hlinux/bitmap.hlinux/err.h
Detected Declarations
struct dpu_scaler_blkstruct dpu_csc_blkstruct dpu_pp_blkstruct dpu_dsc_blkstruct dpu_sspp_v13_rec_blkstruct dpu_qos_lut_entrystruct dpu_qos_lut_tblstruct dpu_rotation_cfgstruct dpu_capsstruct dpu_sspp_sub_blksstruct dpu_lm_sub_blksstruct dpu_dspp_sub_blksstruct dpu_pingpong_sub_blksstruct dpu_dsc_sub_blksstruct dpu_clk_ctrl_regstruct dpu_mdp_cfgstruct dpu_ctl_cfgstruct dpu_sspp_cfgstruct dpu_lm_cfgstruct dpu_dspp_cfgstruct dpu_pingpong_cfgstruct dpu_merge_3d_cfgstruct dpu_dsc_cfgstruct dpu_intf_cfgstruct dpu_wb_cfgstruct dpu_cwb_cfgstruct dpu_vbif_dynamic_ot_cfgstruct dpu_vbif_dynamic_ot_tblstruct dpu_vbif_qos_tblstruct dpu_vbif_cfgstruct dpu_cdm_cfgstruct dpu_perf_cdp_cfgstruct dpu_mdss_versionstruct dpu_perf_cfgstruct dpu_mdss_cfgenum dpu_qos_lut_usageenum dpu_clk_ctrl_type
Annotated Snippet
struct dpu_scaler_blk {
char name[DPU_HW_BLK_NAME_LEN];
u32 base;
u32 len;
u32 version;
};
struct dpu_csc_blk {
char name[DPU_HW_BLK_NAME_LEN];
u32 base;
u32 len;
};
/**
* struct dpu_pp_blk : Pixel processing sub-blk information
* @name: string name for debug purposes
* @base: offset of this sub-block relative to the block offset
* @len: register block length of this sub-block
* @version: HW Algorithm version
*/
struct dpu_pp_blk {
char name[DPU_HW_BLK_NAME_LEN];
u32 base;
u32 len;
u32 version;
};
/**
* struct dpu_dsc_blk - DSC Encoder sub-blk information
* @name: string name for debug purposes
* @base: offset of this sub-block relative to the block offset
* @len: register block length of this sub-block
*/
struct dpu_dsc_blk {
char name[DPU_HW_BLK_NAME_LEN];
u32 base;
u32 len;
};
/**
* struct dpu_sspp_v13_rec_blk - SSPP REC sub-blk information
* @name: string name for debug purposes
* @base: offset of this sub-block relative to the block offset
* @len: register block length of this sub-block
*/
struct dpu_sspp_v13_rec_blk {
char name[DPU_HW_BLK_NAME_LEN];
u32 base;
u32 len;
};
/**
* enum dpu_qos_lut_usage - define QoS LUT use cases
*/
enum dpu_qos_lut_usage {
DPU_QOS_LUT_USAGE_LINEAR,
DPU_QOS_LUT_USAGE_MACROTILE,
DPU_QOS_LUT_USAGE_NRT,
DPU_QOS_LUT_USAGE_MAX,
};
/**
* struct dpu_qos_lut_entry - define QoS LUT table entry
* @fl: fill level, or zero on last entry to indicate default lut
* @lut: lut to use if equal to or less than fill level
*/
struct dpu_qos_lut_entry {
u32 fl;
u64 lut;
};
/**
* struct dpu_qos_lut_tbl - define QoS LUT table
* @nentry: number of entry in this table
* @entries: Pointer to table entries
*/
struct dpu_qos_lut_tbl {
u32 nentry;
const struct dpu_qos_lut_entry *entries;
};
/**
* struct dpu_rotation_cfg - define inline rotation config
* @rot_maxheight: max pre rotated height allowed for rotation
* @rot_num_formats: number of elements in @rot_format_list
* @rot_format_list: list of supported rotator formats
*/
struct dpu_rotation_cfg {
u32 rot_maxheight;
size_t rot_num_formats;
Annotation
- Immediate include surface: `linux/kernel.h`, `linux/bug.h`, `linux/bitmap.h`, `linux/err.h`.
- Detected declarations: `struct dpu_scaler_blk`, `struct dpu_csc_blk`, `struct dpu_pp_blk`, `struct dpu_dsc_blk`, `struct dpu_sspp_v13_rec_blk`, `struct dpu_qos_lut_entry`, `struct dpu_qos_lut_tbl`, `struct dpu_rotation_cfg`, `struct dpu_caps`, `struct dpu_sspp_sub_blks`.
- Atlas domain: Driver Families / drivers/gpu.
- Implementation status: source implementation candidate.
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.