drivers/gpu/drm/omapdrm/dss/omapdss.h
Source file repositories/reference/linux-study-clean/drivers/gpu/drm/omapdrm/dss/omapdss.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/gpu/drm/omapdrm/dss/omapdss.h- Extension
.h- Size
- 8695 bytes
- Lines
- 317
- 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
drm/drm_color_mgmt.hdrm/drm_crtc.hdrm/drm_mode.hlinux/device.hlinux/interrupt.hlinux/list.hlinux/platform_data/omapdss.hvideo/videomode.h
Detected Declarations
struct dispc_devicestruct drm_connectorstruct dss_devicestruct dss_lcd_mgr_configstruct hdmi_avi_infoframestruct omap_drm_privatestruct omap_dss_devicestruct snd_aes_iec958struct snd_cea_861_aud_ifstruct omap_dss_cpr_coefsstruct omap_overlay_infostruct omap_overlay_manager_infostruct omap_dss_writeback_infostruct omapdss_dsi_opsstruct omap_dss_devicestruct dss_pdataenum omap_display_typeenum omap_plane_idenum omap_channelenum omap_color_modeenum omap_dss_load_modeenum omap_dss_trans_key_typeenum omap_dss_signal_levelenum omap_dss_signal_edgeenum omap_dss_venc_typeenum omap_dss_rotation_typeenum omap_overlay_capsenum omap_dss_output_idenum dss_writeback_channel
Annotated Snippet
struct omap_dss_cpr_coefs {
s16 rr, rg, rb;
s16 gr, gg, gb;
s16 br, bg, bb;
};
struct omap_overlay_info {
dma_addr_t paddr;
dma_addr_t p_uv_addr; /* for NV12 format */
u16 screen_width;
u16 width;
u16 height;
u32 fourcc;
u8 rotation;
enum omap_dss_rotation_type rotation_type;
u16 pos_x;
u16 pos_y;
u16 out_width; /* if 0, out_width == width */
u16 out_height; /* if 0, out_height == height */
u8 global_alpha;
u8 pre_mult_alpha;
u8 zorder;
enum drm_color_encoding color_encoding;
enum drm_color_range color_range;
};
struct omap_overlay_manager_info {
u32 default_color;
enum omap_dss_trans_key_type trans_key_type;
u32 trans_key;
bool trans_enabled;
bool partial_alpha_enabled;
bool cpr_enable;
struct omap_dss_cpr_coefs cpr_coefs;
};
struct omap_dss_writeback_info {
u32 paddr;
u32 p_uv_addr;
u16 buf_width;
u16 width;
u16 height;
u32 fourcc;
u8 rotation;
enum omap_dss_rotation_type rotation_type;
u8 pre_mult_alpha;
};
struct omapdss_dsi_ops {
int (*update)(struct omap_dss_device *dssdev);
bool (*is_video_mode)(struct omap_dss_device *dssdev);
};
struct omap_dss_device {
struct device *dev;
struct dss_device *dss;
struct drm_bridge *bridge;
struct drm_bridge *next_bridge;
struct drm_panel *panel;
struct list_head list;
/*
* DSS type that this device generates (for DSS internal devices) or
* requires (for external encoders, connectors and panels). Must be a
* non-zero (different than OMAP_DISPLAY_TYPE_NONE) value.
*/
enum omap_display_type type;
const char *name;
const struct omapdss_dsi_ops *dsi_ops;
u32 bus_flags;
/* OMAP DSS output specific fields */
/* DISPC channel for this output */
enum omap_channel dispc_channel;
/* output instance */
enum omap_dss_output_id id;
/* port number in DT */
unsigned int of_port;
Annotation
- Immediate include surface: `drm/drm_color_mgmt.h`, `drm/drm_crtc.h`, `drm/drm_mode.h`, `linux/device.h`, `linux/interrupt.h`, `linux/list.h`, `linux/platform_data/omapdss.h`, `video/videomode.h`.
- Detected declarations: `struct dispc_device`, `struct drm_connector`, `struct dss_device`, `struct dss_lcd_mgr_config`, `struct hdmi_avi_infoframe`, `struct omap_drm_private`, `struct omap_dss_device`, `struct snd_aes_iec958`, `struct snd_cea_861_aud_if`, `struct omap_dss_cpr_coefs`.
- 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.