[ SYSTEM ]: Linux srv.persadacompanies.com 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
[ SERVER ]: Apache | PHP: 8.4.19
[ USER ]: persadamedika | IP: 45.64.1.108
GEFORCE FILE MANAGER
/
usr
/
src
/
kernels
/
4.18.0-553.63.1.el8_10.x86_64
/
include
/
video
/
UPLOAD:
NAME
SIZE
QUICK PERMS
ACTIONS
📄 atmel_lcdc.h
6,966 B
SET
[ EDIT ]
|
[ DEL ]
📄 aty128.h
13,593 B
SET
[ EDIT ]
|
[ DEL ]
📄 broadsheetfb.h
2,169 B
SET
[ EDIT ]
|
[ DEL ]
📄 cirrus.h
5,801 B
SET
[ EDIT ]
|
[ DEL ]
📄 cvisionppc.h
1,577 B
SET
[ EDIT ]
|
[ DEL ]
📄 da8xx-fb.h
2,035 B
SET
[ EDIT ]
|
[ DEL ]
📄 display_timing.h
3,188 B
SET
[ EDIT ]
|
[ DEL ]
📄 edid.h
228 B
SET
[ EDIT ]
|
[ DEL ]
📄 gbe.h
10,798 B
SET
[ EDIT ]
|
[ DEL ]
📄 hecubafb.h
1,540 B
SET
[ EDIT ]
|
[ DEL ]
📄 ili9320.h
5,940 B
SET
[ EDIT ]
|
[ DEL ]
📄 imx-ipu-image-convert.h
7,141 B
SET
[ EDIT ]
|
[ DEL ]
📄 imx-ipu-v3.h
15,254 B
SET
[ EDIT ]
|
[ DEL ]
📄 kyro.h
2,419 B
SET
[ EDIT ]
|
[ DEL ]
📄 mach64.h
48,267 B
SET
[ EDIT ]
|
[ DEL ]
📄 maxinefb.h
1,268 B
SET
[ EDIT ]
|
[ DEL ]
📄 mbxfb.h
2,207 B
SET
[ EDIT ]
|
[ DEL ]
📄 metronomefb.h
1,520 B
SET
[ EDIT ]
|
[ DEL ]
📄 mipi_display.h
5,074 B
SET
[ EDIT ]
|
[ DEL ]
📄 mmp_disp.h
7,793 B
SET
[ EDIT ]
|
[ DEL ]
📄 neomagic.h
5,014 B
SET
[ EDIT ]
|
[ DEL ]
📄 newport.h
19,126 B
SET
[ EDIT ]
|
[ DEL ]
📄 nomodeset.h
137 B
SET
[ EDIT ]
|
[ DEL ]
📄 of_display_timing.h
814 B
SET
[ EDIT ]
|
[ DEL ]
📄 of_videomode.h
367 B
SET
[ EDIT ]
|
[ DEL ]
📄 omap-panel-data.h
2,237 B
SET
[ EDIT ]
|
[ DEL ]
📄 omapfb_dss.h
25,182 B
SET
[ EDIT ]
|
[ DEL ]
📄 omapvrfb.h
2,442 B
SET
[ EDIT ]
|
[ DEL ]
📄 permedia2.h
9,175 B
SET
[ EDIT ]
|
[ DEL ]
📄 platform_lcd.h
589 B
SET
[ EDIT ]
|
[ DEL ]
📄 pm3fb.h
46,399 B
SET
[ EDIT ]
|
[ DEL ]
📄 pmag-ba-fb.h
1,048 B
SET
[ EDIT ]
|
[ DEL ]
📄 pmagb-b-fb.h
2,400 B
SET
[ EDIT ]
|
[ DEL ]
📄 pxa168fb.h
2,739 B
SET
[ EDIT ]
|
[ DEL ]
📄 radeon.h
111,836 B
SET
[ EDIT ]
|
[ DEL ]
📄 s1d13xxxfb.h
10,188 B
SET
[ EDIT ]
|
[ DEL ]
📄 sa1100fb.h
1,294 B
SET
[ EDIT ]
|
[ DEL ]
📄 samsung_fimd.h
17,203 B
SET
[ EDIT ]
|
[ DEL ]
📄 sh_mobile_lcdc.h
6,135 B
SET
[ EDIT ]
|
[ DEL ]
📄 sisfb.h
1,261 B
SET
[ EDIT ]
|
[ DEL ]
📄 sstfb.h
11,306 B
SET
[ EDIT ]
|
[ DEL ]
📄 tdfx.h
5,445 B
SET
[ EDIT ]
|
[ DEL ]
📄 tgafb.h
7,106 B
SET
[ EDIT ]
|
[ DEL ]
📄 trident.h
3,312 B
SET
[ EDIT ]
|
[ DEL ]
📄 udlfb.h
2,849 B
SET
[ EDIT ]
|
[ DEL ]
📄 uvesafb.h
2,920 B
SET
[ EDIT ]
|
[ DEL ]
📄 vga.h
14,053 B
SET
[ EDIT ]
|
[ DEL ]
📄 videomode.h
1,379 B
SET
[ EDIT ]
|
[ DEL ]
📄 w100fb.h
3,805 B
SET
[ EDIT ]
|
[ DEL ]
DELETE SELECTED
[ CLOSE ]
EDIT: mmp_disp.h
/* * linux/include/video/mmp_disp.h * Header file for Marvell MMP Display Controller * * Copyright (C) 2012 Marvell Technology Group Ltd. * Authors: Zhou Zhu <zzhu3@marvell.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. * */ #ifndef _MMP_DISP_H_ #define _MMP_DISP_H_ #include <linux/kthread.h> enum { PIXFMT_UYVY = 0, PIXFMT_VYUY, PIXFMT_YUYV, PIXFMT_YUV422P, PIXFMT_YVU422P, PIXFMT_YUV420P, PIXFMT_YVU420P, PIXFMT_RGB565 = 0x100, PIXFMT_BGR565, PIXFMT_RGB1555, PIXFMT_BGR1555, PIXFMT_RGB888PACK, PIXFMT_BGR888PACK, PIXFMT_RGB888UNPACK, PIXFMT_BGR888UNPACK, PIXFMT_RGBA888, PIXFMT_BGRA888, PIXFMT_RGB666, /* for output usage */ PIXFMT_PSEUDOCOLOR = 0x200, }; static inline int pixfmt_to_stride(int pix_fmt) { switch (pix_fmt) { case PIXFMT_RGB565: case PIXFMT_BGR565: case PIXFMT_RGB1555: case PIXFMT_BGR1555: case PIXFMT_UYVY: case PIXFMT_VYUY: case PIXFMT_YUYV: return 2; case PIXFMT_RGB888UNPACK: case PIXFMT_BGR888UNPACK: case PIXFMT_RGBA888: case PIXFMT_BGRA888: return 4; case PIXFMT_RGB888PACK: case PIXFMT_BGR888PACK: return 3; case PIXFMT_YUV422P: case PIXFMT_YVU422P: case PIXFMT_YUV420P: case PIXFMT_YVU420P: case PIXFMT_PSEUDOCOLOR: return 1; default: return 0; } } /* parameters used by path/overlay */ /* overlay related para: win/addr */ 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; struct mmp_overlay_ops *ops; }; /* panel type */ enum { PANELTYPE_ACTIVE = 0, PANELTYPE_SMART, PANELTYPE_TV, PANELTYPE_DSI_CMD, PANELTYPE_DSI_VIDEO, }; struct mmp_panel { /* use node to register to list */ struct list_head node; const char *name; /* path name used to connect to proper path configed */ const char *plat_path_name; struct device *dev; int panel_type; void *plat_data; int (*get_modelist)(struct mmp_panel *panel, struct mmp_mode **modelist); void (*set_mode)(struct mmp_panel *panel, struct mmp_mode *mode); void (*set_onoff)(struct mmp_panel *panel, int status); }; struct mmp_path_ops { int (*check_status)(struct mmp_path *path); struct mmp_overlay *(*get_overlay)(struct mmp_path *path, int overlay_id); int (*get_modelist)(struct mmp_path *path, struct mmp_mode **modelist); /* follow ops should be provided by driver */ void (*set_mode)(struct mmp_path *path, struct mmp_mode *mode); void (*set_onoff)(struct mmp_path *path, int status); /* todo: add query */ }; /* path output types */ enum { PATH_OUT_PARALLEL, PATH_OUT_DSI, PATH_OUT_HDMI, }; /* path is main part of mmp-disp */ struct mmp_path { /* use node to register to list */ struct list_head node; /* init data */ struct device *dev; int id; const char *name; int output_type; struct mmp_panel *panel; void *plat_data; /* dynamic use */ struct mmp_mode mode; /* state */ int open_count; int status; struct mutex access_ok; struct mmp_path_ops ops; /* layers */ int overlay_num; struct mmp_overlay overlays[0]; }; extern struct mmp_path *mmp_get_path(const char *name); static inline void mmp_path_set_mode(struct mmp_path *path, struct mmp_mode *mode) { if (path) path->ops.set_mode(path, mode); } static inline void mmp_path_set_onoff(struct mmp_path *path, int status) { if (path) path->ops.set_onoff(path, status); } static inline int mmp_path_get_modelist(struct mmp_path *path, struct mmp_mode **modelist) { if (path) return path->ops.get_modelist(path, modelist); return 0; } static inline struct mmp_overlay *mmp_path_get_overlay( struct mmp_path *path, int overlay_id) { if (path) return path->ops.get_overlay(path, overlay_id); return NULL; } static inline void mmp_overlay_set_fetch(struct mmp_overlay *overlay, int fetch_id) { if (overlay) overlay->ops->set_fetch(overlay, fetch_id); } static inline void mmp_overlay_set_onoff(struct mmp_overlay *overlay, int status) { if (overlay) overlay->ops->set_onoff(overlay, status); } static inline void mmp_overlay_set_win(struct mmp_overlay *overlay, struct mmp_win *win) { if (overlay) overlay->ops->set_win(overlay, win); } static inline int mmp_overlay_set_addr(struct mmp_overlay *overlay, struct mmp_addr *addr) { if (overlay) return overlay->ops->set_addr(overlay, addr); return 0; } /* * driver data is set from each detailed ctrl driver for path usage * it defined a common interface that plat driver need to implement */ struct mmp_path_info { /* driver data, set when registed*/ const char *name; struct device *dev; int id; int output_type; int overlay_num; void (*set_mode)(struct mmp_path *path, struct mmp_mode *mode); void (*set_onoff)(struct mmp_path *path, int status); struct mmp_overlay_ops *overlay_ops; void *plat_data; }; extern struct mmp_path *mmp_register_path( struct mmp_path_info *info); extern void mmp_unregister_path(struct mmp_path *path); extern void mmp_register_panel(struct mmp_panel *panel); extern void mmp_unregister_panel(struct mmp_panel *panel); /* defintions for platform data */ /* interface for buffer driver */ struct mmp_buffer_driver_mach_info { const char *name; const char *path_name; int overlay_id; int dmafetch_id; int default_pixfmt; }; /* interface for controllers driver */ struct mmp_mach_path_config { const char *name; int overlay_num; int output_type; u32 path_config; u32 link_config; u32 dsi_rbswap; }; struct mmp_mach_plat_info { const char *name; const char *clk_name; int path_num; struct mmp_mach_path_config *paths; }; /* interface for panel drivers */ struct mmp_mach_panel_info { const char *name; void (*plat_set_onoff)(int status); const char *plat_path_name; }; #endif /* _MMP_DISP_H_ */