include/video/mmp_disp.h
Source file repositories/reference/linux-study-clean/include/video/mmp_disp.h
File Facts
- System
- Linux kernel
- Corpus path
include/video/mmp_disp.h- Extension
.h- Size
- 7226 bytes
- Lines
- 346
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kthread.h
Detected Declarations
struct mmp_winstruct mmp_addrstruct mmp_modestruct mmp_pathstruct mmp_overlaystruct mmp_panelstruct mmp_overlay_opsstruct mmp_overlaystruct mmp_panelstruct mmp_path_opsstruct mmp_pathstruct mmp_path_infostruct mmp_buffer_driver_mach_infostruct mmp_mach_path_configstruct mmp_mach_plat_infostruct mmp_mach_panel_infofunction pixfmt_to_stridefunction mmp_path_set_modefunction mmp_path_set_onofffunction mmp_path_get_modelistfunction mmp_overlay_set_fetchfunction mmp_overlay_set_onofffunction mmp_overlay_set_winfunction mmp_overlay_set_addr
Annotated Snippet
struct mmp_win {
/* position/size of window */
u16 xsrc;
u16 ysrc;
u16 xdst;
u16 ydst;
u16 xpos;
u16 ypos;
u16 left_crop;
u16 right_crop;
u16 up_crop;
u16 bottom_crop;
int pix_fmt;
/*
* pitch[0]: graphics/video layer line length or y pitch
* pitch[1]/pitch[2]: video u/v pitch if non-zero
*/
u32 pitch[3];
};
struct mmp_addr {
/* phys address */
u32 phys[6];
};
/* path related para: mode */
struct mmp_mode {
const char *name;
u32 refresh;
u32 xres;
u32 yres;
u32 left_margin;
u32 right_margin;
u32 upper_margin;
u32 lower_margin;
u32 hsync_len;
u32 vsync_len;
u32 hsync_invert;
u32 vsync_invert;
u32 invert_pixclock;
u32 pixclock_freq;
int pix_fmt_out;
};
/* main structures */
struct mmp_path;
struct mmp_overlay;
struct mmp_panel;
/* status types */
enum {
MMP_OFF = 0,
MMP_ON,
};
static inline const char *stat_name(int stat)
{
switch (stat) {
case MMP_OFF:
return "OFF";
case MMP_ON:
return "ON";
default:
return "UNKNOWNSTAT";
}
}
struct mmp_overlay_ops {
/* should be provided by driver */
void (*set_fetch)(struct mmp_overlay *overlay, int fetch_id);
void (*set_onoff)(struct mmp_overlay *overlay, int status);
void (*set_win)(struct mmp_overlay *overlay, struct mmp_win *win);
int (*set_addr)(struct mmp_overlay *overlay, struct mmp_addr *addr);
};
/* overlay describes a z-order indexed slot in each path. */
struct mmp_overlay {
int id;
const char *name;
struct mmp_path *path;
/* overlay info: private data */
int dmafetch_id;
struct mmp_addr addr;
struct mmp_win win;
/* state */
int open_count;
int status;
struct mutex access_ok;
Annotation
- Immediate include surface: `linux/kthread.h`.
- Detected declarations: `struct mmp_win`, `struct mmp_addr`, `struct mmp_mode`, `struct mmp_path`, `struct mmp_overlay`, `struct mmp_panel`, `struct mmp_overlay_ops`, `struct mmp_overlay`, `struct mmp_panel`, `struct mmp_path_ops`.
- Atlas domain: Repository Root And Misc / include.
- 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.