/Linux-v5.4/drivers/gpu/drm/ |
D | drm_panel.c | 34 * DOC: drm panel 36 * The DRM panel helpers allow drivers to register panel objects with a 45 * drm_panel_init - initialize a panel 46 * @panel: DRM panel 48 * Sets up internal fields of the panel so that it can subsequently be added 51 void drm_panel_init(struct drm_panel *panel) in drm_panel_init() argument 53 INIT_LIST_HEAD(&panel->list); in drm_panel_init() 58 * drm_panel_add - add a panel to the global registry 59 * @panel: panel to add 61 * Add a panel to the global registry so that it can be looked up by display [all …]
|
/Linux-v5.4/drivers/gpu/drm/i915/display/ |
D | intel_panel.c | 175 /* adjusted_mode has been preset to be the panel's fixed mode */ 234 WARN(1, "bad panel fit mode: %d\n", fitting_mode); in intel_pch_panel_fitting() 292 * when calculating the panel ratio. in panel_fitter_scaling() 426 WARN(1, "bad panel fit mode: %d\n", fitting_mode); in intel_gmch_panel_fitting() 487 struct intel_panel *panel = &connector->panel; in scale_user_to_hw() local 490 panel->backlight.min, panel->backlight.max); in scale_user_to_hw() 498 struct intel_panel *panel = &connector->panel; in clamp_user_to_hw() local 501 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw() 502 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw() 511 struct intel_panel *panel = &connector->panel; in scale_hw_to_user() local [all …]
|
/Linux-v5.4/drivers/gpu/drm/panel/ |
D | Makefile | 2 obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o 3 obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o 4 obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o 5 obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o 6 obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o 7 obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o 8 obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o 9 obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o 10 obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o 11 obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o [all …]
|
D | Kconfig | 6 Panel registration and lookup framework. 12 tristate "ARM Versatile panel driver" 18 reference designs. The panel is detected using special registers 22 tristate "Generic LVDS panel driver" 29 backlight handling if the panel is attached to a backlight controller. 37 DRM panel driver for dumb panels that need at most a regulator and 39 that it can be automatically turned off when the panel goes into a 43 tristate "Feiyang FY07024DI26A30-D MIPI-DSI LCD panel" 69 tristate "Innolux P079ZCA panel" 75 TFT-LCD modules. The panel has a 1024x768 resolution and uses [all …]
|
D | panel-seiko-43wvf1g.c | 6 * Based on Panel Simple driver by Thierry Reding <treding@nvidia.com> 32 * @width: width (in millimeters) of the panel's active display area 33 * @height: height (in millimeters) of the panel's active display area 54 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument 56 return container_of(panel, struct seiko_panel, base); in to_seiko_panel() 59 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel) in seiko_panel_get_fixed_modes() argument 61 struct drm_connector *connector = panel->base.connector; in seiko_panel_get_fixed_modes() 62 struct drm_device *drm = panel->base.drm; in seiko_panel_get_fixed_modes() 66 if (!panel->desc) in seiko_panel_get_fixed_modes() 69 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes() [all …]
|
D | panel-novatek-nt39016.c | 3 * Novatek NT39016 TFT LCD panel driver 69 static inline struct nt39016 *to_nt39016(struct drm_panel *panel) in to_nt39016() argument 71 return container_of(panel, struct nt39016, drm_panel); in to_nt39016() 124 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_prepare() local 127 err = regulator_enable(panel->supply); in nt39016_prepare() 129 dev_err(panel->dev, "Failed to enable power supply: %d", err); in nt39016_prepare() 139 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_prepare() 141 gpiod_set_value_cansleep(panel->reset_gpio, 0); in nt39016_prepare() 145 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs, in nt39016_prepare() 148 dev_err(panel->dev, "Failed to init registers: %d", err); in nt39016_prepare() [all …]
|
D | panel-arm-versatile.c | 3 * Panel driver for the ARM Versatile family reference designs from 51 /* The Versatile can detect the connected panel type */ 70 * @name: the name of this panel 78 * @mode: the DRM display mode for this panel 82 * @bus_flags: the DRM bus flags for this panel e.g. inverted clock 86 * @width_mm: the panel width in mm 90 * @height_mm: the panel height in mm 94 * @ib2: the panel may be connected on an IB2 daughterboard 108 * @panel: the DRM panel instance for this device 110 struct drm_panel panel; member [all …]
|
D | panel-rocktech-jh057n00900.c | 3 * Rockteck jh057n00900 5.5" MIPI-DSI panel driver 22 #define DRV_NAME "panel-rocktech-jh057n00900" 48 struct drm_panel panel; member 58 static inline struct jh057n *panel_to_jh057n(struct drm_panel *panel) in panel_to_jh057n() argument 60 return container_of(panel, struct jh057n, panel); in panel_to_jh057n() 78 * Init sequence was supplied by the panel vendor. Most of the commands in jh057n_init_sequence() 133 /* Panel is operational 120 msec after reset */ in jh057n_init_sequence() 139 DRM_DEV_DEBUG_DRIVER(dev, "Panel init sequence done\n"); in jh057n_init_sequence() 143 static int jh057n_enable(struct drm_panel *panel) in jh057n_enable() argument 145 struct jh057n *ctx = panel_to_jh057n(panel); in jh057n_enable() [all …]
|
D | panel-lvds.c | 3 * Generic LVDS panel driver 27 struct drm_panel panel; member 44 static inline struct panel_lvds *to_panel_lvds(struct drm_panel *panel) in to_panel_lvds() argument 46 return container_of(panel, struct panel_lvds, panel); in to_panel_lvds() 49 static int panel_lvds_disable(struct drm_panel *panel) in panel_lvds_disable() argument 51 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_disable() 62 static int panel_lvds_unprepare(struct drm_panel *panel) in panel_lvds_unprepare() argument 64 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_unprepare() 75 static int panel_lvds_prepare(struct drm_panel *panel) in panel_lvds_prepare() argument 77 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_prepare() [all …]
|
D | panel-ronbo-rb070d30.c | 7 * This file based on panel-ilitek-ili9881c.c 30 struct drm_panel panel; member 43 static inline struct rb070d30_panel *panel_to_rb070d30_panel(struct drm_panel *panel) in panel_to_rb070d30_panel() argument 45 return container_of(panel, struct rb070d30_panel, panel); in panel_to_rb070d30_panel() 48 static int rb070d30_panel_prepare(struct drm_panel *panel) in rb070d30_panel_prepare() argument 50 struct rb070d30_panel *ctx = panel_to_rb070d30_panel(panel); in rb070d30_panel_prepare() 67 static int rb070d30_panel_unprepare(struct drm_panel *panel) in rb070d30_panel_unprepare() argument 69 struct rb070d30_panel *ctx = panel_to_rb070d30_panel(panel); in rb070d30_panel_unprepare() 78 static int rb070d30_panel_enable(struct drm_panel *panel) in rb070d30_panel_enable() argument 80 struct rb070d30_panel *ctx = panel_to_rb070d30_panel(panel); in rb070d30_panel_enable() [all …]
|
D | panel-sharp-ls037v7dw01.c | 3 * Sharp LS037V7DW01 LCD Panel Driver 7 * Based on the omapdrm-specific panel-sharp-ls037v7dw01 driver 25 struct drm_panel panel; member 37 container_of(p, struct ls037v7dw01_panel, panel) 39 static int ls037v7dw01_disable(struct drm_panel *panel) in ls037v7dw01_disable() argument 41 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_disable() 52 static int ls037v7dw01_unprepare(struct drm_panel *panel) in ls037v7dw01_unprepare() argument 54 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_unprepare() 60 static int ls037v7dw01_prepare(struct drm_panel *panel) in ls037v7dw01_prepare() argument 62 struct ls037v7dw01_panel *lcd = to_ls037v7dw01_device(panel); in ls037v7dw01_prepare() [all …]
|
D | panel-olimex-lcd-olinuxino.c | 3 * LCD-OLinuXino support for panel driver 63 struct drm_panel panel; member 78 static inline struct lcd_olinuxino *to_lcd_olinuxino(struct drm_panel *panel) in to_lcd_olinuxino() argument 80 return container_of(panel, struct lcd_olinuxino, panel); in to_lcd_olinuxino() 83 static int lcd_olinuxino_disable(struct drm_panel *panel) in lcd_olinuxino_disable() argument 85 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_disable() 97 static int lcd_olinuxino_unprepare(struct drm_panel *panel) in lcd_olinuxino_unprepare() argument 99 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_unprepare() 112 static int lcd_olinuxino_prepare(struct drm_panel *panel) in lcd_olinuxino_prepare() argument 114 struct lcd_olinuxino *lcd = to_lcd_olinuxino(panel); in lcd_olinuxino_prepare() [all …]
|
D | panel-samsung-s6d16d0.c | 3 * MIPI-DSI Samsung s6d16d0 panel driver. This is a 864x480 4 * AMOLED panel with a command-only DSI interface. 20 struct drm_panel panel; member 50 static inline struct s6d16d0 *panel_to_s6d16d0(struct drm_panel *panel) in panel_to_s6d16d0() argument 52 return container_of(panel, struct s6d16d0, panel); in panel_to_s6d16d0() 55 static int s6d16d0_unprepare(struct drm_panel *panel) in s6d16d0_unprepare() argument 57 struct s6d16d0 *s6 = panel_to_s6d16d0(panel); in s6d16d0_unprepare() 76 static int s6d16d0_prepare(struct drm_panel *panel) in s6d16d0_prepare() argument 78 struct s6d16d0 *s6 = panel_to_s6d16d0(panel); in s6d16d0_prepare() 114 static int s6d16d0_enable(struct drm_panel *panel) in s6d16d0_enable() argument [all …]
|
D | panel-lg-lg4573.c | 6 * drivers/gpu/drm/panel/panel-ld9040.c 30 struct drm_panel panel; member 35 static inline struct lg4573 *panel_to_lg4573(struct drm_panel *panel) in panel_to_lg4573() argument 37 return container_of(panel, struct lg4573, panel); in panel_to_lg4573() 48 dev_dbg(ctx->panel.dev, "writing data: %x\n", data); in lg4573_spi_write_u16() 115 dev_dbg(ctx->panel.dev, "transfer display mode settings\n"); in lg4573_display_mode_settings() 131 dev_dbg(ctx->panel.dev, "transfer power settings\n"); in lg4573_power_settings() 156 dev_dbg(ctx->panel.dev, "transfer gamma settings\n"); in lg4573_gamma_settings() 165 dev_dbg(ctx->panel.dev, "initializing LCD\n"); in lg4573_init() 183 static int lg4573_disable(struct drm_panel *panel) in lg4573_disable() argument [all …]
|
D | panel-feiyang-fy07024di26a30d.c | 22 struct drm_panel panel; member 31 static inline struct feiyang *panel_to_feiyang(struct drm_panel *panel) in panel_to_feiyang() argument 33 return container_of(panel, struct feiyang, panel); in panel_to_feiyang() 50 static int feiyang_prepare(struct drm_panel *panel) in feiyang_prepare() argument 52 struct feiyang *ctx = panel_to_feiyang(panel); in feiyang_prepare() 97 static int feiyang_enable(struct drm_panel *panel) in feiyang_enable() argument 99 struct feiyang *ctx = panel_to_feiyang(panel); in feiyang_enable() 110 static int feiyang_disable(struct drm_panel *panel) in feiyang_disable() argument 112 struct feiyang *ctx = panel_to_feiyang(panel); in feiyang_disable() 118 static int feiyang_unprepare(struct drm_panel *panel) in feiyang_unprepare() argument [all …]
|
D | panel-raydium-rm67191.c | 3 * Raydium RM67191 MIPI-DSI panel driver 24 /* Panel specific color-format bits */ 198 struct drm_panel panel; member 228 static inline struct rad_panel *to_rad_panel(struct drm_panel *panel) in to_rad_panel() argument 230 return container_of(panel, struct rad_panel, panel); in to_rad_panel() 266 static int rad_panel_prepare(struct drm_panel *panel) in rad_panel_prepare() argument 268 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_prepare() 290 static int rad_panel_unprepare(struct drm_panel *panel) in rad_panel_unprepare() argument 292 struct rad_panel *rad = to_rad_panel(panel); in rad_panel_unprepare() 318 static int rad_panel_enable(struct drm_panel *panel) in rad_panel_enable() argument [all …]
|
D | panel-sharp-ls043t1le01.c | 7 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 38 static inline struct sharp_nt_panel *to_sharp_nt_panel(struct drm_panel *panel) in to_sharp_nt_panel() argument 40 return container_of(panel, struct sharp_nt_panel, base); in to_sharp_nt_panel() 103 static int sharp_nt_panel_disable(struct drm_panel *panel) in sharp_nt_panel_disable() argument 105 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_disable() 117 static int sharp_nt_panel_unprepare(struct drm_panel *panel) in sharp_nt_panel_unprepare() argument 119 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_unprepare() 127 dev_err(panel->dev, "failed to set panel off: %d\n", ret); in sharp_nt_panel_unprepare() 140 static int sharp_nt_panel_prepare(struct drm_panel *panel) in sharp_nt_panel_prepare() argument 142 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_prepare() [all …]
|
D | panel-panasonic-vvx10f034n00.c | 7 * Based on AUO panel driver by Rob Clark <robdclark@gmail.com> 24 * When power is turned off to this panel a minimum off time of 500ms has to be 45 static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel) in to_wuxga_nt_panel() argument 47 return container_of(panel, struct wuxga_nt_panel, base); in to_wuxga_nt_panel() 55 static int wuxga_nt_panel_disable(struct drm_panel *panel) in wuxga_nt_panel_disable() argument 57 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_disable() 76 static int wuxga_nt_panel_unprepare(struct drm_panel *panel) in wuxga_nt_panel_unprepare() argument 78 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_unprepare() 90 static int wuxga_nt_panel_prepare(struct drm_panel *panel) in wuxga_nt_panel_prepare() argument 92 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_prepare() [all …]
|
D | panel-osd-osd101t2587-53ts.c | 32 static inline struct osd101t2587_panel *ti_osd_panel(struct drm_panel *panel) in ti_osd_panel() argument 34 return container_of(panel, struct osd101t2587_panel, base); in ti_osd_panel() 37 static int osd101t2587_panel_disable(struct drm_panel *panel) in osd101t2587_panel_disable() argument 39 struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel); in osd101t2587_panel_disable() 54 static int osd101t2587_panel_unprepare(struct drm_panel *panel) in osd101t2587_panel_unprepare() argument 56 struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel); in osd101t2587_panel_unprepare() 67 static int osd101t2587_panel_prepare(struct drm_panel *panel) in osd101t2587_panel_prepare() argument 69 struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel); in osd101t2587_panel_prepare() 82 static int osd101t2587_panel_enable(struct drm_panel *panel) in osd101t2587_panel_enable() argument 84 struct osd101t2587_panel *osd101t2587 = ti_osd_panel(panel); in osd101t2587_panel_enable() [all …]
|
/Linux-v5.4/drivers/video/fbdev/mmp/ |
D | core.c | 37 * this function fetches modelist from phy/panel: 39 * or get from panel 46 if (path->panel && path->panel->get_modelist) in path_get_modelist() 47 return path->panel->get_modelist(path->panel, modelist); in path_get_modelist() 53 * panel list is used to pair panel/path when path/panel registered 56 * panel driver do panel register/unregister 64 * mmp_register_panel - register panel to panel_list and connect to path 65 * @p: panel to be registered 67 * this function provides interface for panel drivers to register panel 68 * to panel_list and connect to path which matchs panel->plat_path_name. [all …]
|
/Linux-v5.4/include/drm/ |
D | drm_panel.h | 38 * struct drm_panel_funcs - perform operations on a given panel 41 * starts to transmit video data. Panel drivers can use this to turn the panel 54 * necessary to turn off the panel to avoid visual glitches. This is done in 57 * is visible on the panel. It is then safe for the display controller to 61 * the panel. This is the job of the .unprepare() function. 67 * Turn on panel and perform set up. 69 int (*prepare)(struct drm_panel *panel); 74 * Enable panel (turn on back light, etc.). 76 int (*enable)(struct drm_panel *panel); 81 * Disable panel (turn off back light, etc.). [all …]
|
/Linux-v5.4/drivers/video/fbdev/omap2/omapfb/displays/ |
D | Kconfig | 2 menu "OMAPFB Panel and Encoder Drivers" 39 tristate "Generic DPI panel" 44 tristate "Generic DSI Command Mode Panel" 50 tristate "ACX565AKM Panel" 54 This is the LCD panel used on Nokia N900 57 tristate "LG.Philips LB035Q02 LCD Panel" 60 LCD Panel used on the Gumstix Overo Palo35 63 tristate "Sharp LS037V7DW01 LCD Panel" 67 LCD Panel used in TI's SDP3430 and EVM boards 70 tristate "TPO TD028TTEC1 LCD Panel" [all …]
|
/Linux-v5.4/Documentation/devicetree/bindings/display/panel/ |
D | panel-common.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-common.yaml# 18 When referenced from panel device tree bindings the properties defined in this 19 document are defined as follows. The panel device tree bindings are 36 The label property specifies a symbolic name for the panel as a 43 non-descriptive information. For instance an LCD panel in a system that 44 contains a single panel shall not be labelled "LCD" if that name is not 56 panel-timing: 60 require specific display timings. The panel-timing subnode expresses those 63 Documentation/devicetree/bindings/display/panel/display-timing.txt. 73 the nature of those connections is specific to the panel type, the [all …]
|
D | ilitek,ili9322.txt | 1 Ilitek ILI9322 TFT panel driver with SPI control bus 4 streams that get adapted and scaled to the panel. The panel output has 9 - compatible: "dlink,dir-685-panel", "ilitek,ili9322" 11 - reg: address of the panel on the SPI bus 23 - pixelclk-active: see display/panel/display-timing.txt 24 - de-active: see display/panel/display-timing.txt 25 - hsync-active: see display/panel/display-timing.txt 26 - vsync-active: see display/panel/display-timing.txt 28 The panel must obey the rules for a SPI slave device as specified in 33 media/video-interfaces.txt. This node should describe panel's video bus. [all …]
|
/Linux-v5.4/drivers/gpu/drm/fsl-dcu/ |
D | fsl_dcu_drm_rgb.c | 53 drm_panel_detach(fsl_con->panel); in fsl_dcu_drm_connector_destroy() 70 return drm_panel_get_modes(fsl_connector->panel); in fsl_dcu_drm_connector_get_modes() 88 struct drm_panel *panel) in fsl_dcu_attach_panel() argument 111 ret = drm_panel_attach(panel, connector); in fsl_dcu_attach_panel() 113 dev_err(fsl_dev->dev, "failed to attach panel\n"); in fsl_dcu_attach_panel() 129 struct drm_panel *panel; in fsl_dcu_create_outputs() local 134 panel_node = of_parse_phandle(fsl_dev->np, "fsl,panel", 0); in fsl_dcu_create_outputs() 136 fsl_dev->connector.panel = of_drm_find_panel(panel_node); in fsl_dcu_create_outputs() 138 if (IS_ERR(fsl_dev->connector.panel)) in fsl_dcu_create_outputs() 139 return PTR_ERR(fsl_dev->connector.panel); in fsl_dcu_create_outputs() [all …]
|