| /Linux-v5.4/drivers/gpu/drm/ | 
| D | drm_panel.c | 34  * DOC: drm panel36  * 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.o3 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 driver69 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 from51 /* 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 driver22 #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 driver27 	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.c30 	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 Driver7  * 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 driver63 	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 864x4804  * 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.c30 	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;  member31 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 driver24 /* 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()  argument34 	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 panel41  * 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 bus4 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 …]
 
 |