| /Linux-v4.19/include/drm/ |
| D | drm_panel.h | 71 int (*disable)(struct drm_panel *panel); 72 int (*unprepare)(struct drm_panel *panel); 73 int (*prepare)(struct drm_panel *panel); 74 int (*enable)(struct drm_panel *panel); 75 int (*get_modes)(struct drm_panel *panel); 76 int (*get_timings)(struct drm_panel *panel, unsigned int num_timings, 109 static inline int drm_panel_unprepare(struct drm_panel *panel) in drm_panel_unprepare() argument 111 if (panel && panel->funcs && panel->funcs->unprepare) in drm_panel_unprepare() 112 return panel->funcs->unprepare(panel); in drm_panel_unprepare() 114 return panel ? -ENOSYS : -EINVAL; in drm_panel_unprepare() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/i915/ |
| D | intel_panel.c | 414 struct intel_panel *panel = &connector->panel; in scale_user_to_hw() local 417 panel->backlight.min, panel->backlight.max); in scale_user_to_hw() 425 struct intel_panel *panel = &connector->panel; in clamp_user_to_hw() local 428 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw() 429 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw() 438 struct intel_panel *panel = &connector->panel; in scale_hw_to_user() local 440 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user() 448 struct intel_panel *panel = &connector->panel; in intel_panel_compute_brightness() local 450 WARN_ON(panel->backlight.max == 0); in intel_panel_compute_brightness() 457 return panel->backlight.max - val + panel->backlight.min; in intel_panel_compute_brightness() [all …]
|
| D | intel_dsi_dcs_backlight.c | 115 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_enable_backlight() local 143 dcs_set_backlight(conn_state, panel->backlight.level); in dcs_enable_backlight() 149 struct intel_panel *panel = &connector->panel; in dcs_setup_backlight() local 151 panel->backlight.max = PANEL_PWM_MAX_VALUE; in dcs_setup_backlight() 152 panel->backlight.level = PANEL_PWM_MAX_VALUE; in dcs_setup_backlight() 162 struct intel_panel *panel = &intel_connector->panel; in intel_dsi_dcs_init_backlight_funcs() local 170 panel->backlight.setup = dcs_setup_backlight; in intel_dsi_dcs_init_backlight_funcs() 171 panel->backlight.enable = dcs_enable_backlight; in intel_dsi_dcs_init_backlight_funcs() 172 panel->backlight.disable = dcs_disable_backlight; in intel_dsi_dcs_init_backlight_funcs() 173 panel->backlight.set = dcs_set_backlight; in intel_dsi_dcs_init_backlight_funcs() [all …]
|
| D | intel_dp_aux_backlight.c | 219 intel_dp_aux_set_backlight(conn_state, connector->panel.backlight.level); in intel_dp_aux_enable_backlight() 231 struct intel_panel *panel = &connector->panel; in intel_dp_aux_setup_backlight() local 234 panel->backlight.max = 0xFFFF; in intel_dp_aux_setup_backlight() 236 panel->backlight.max = 0xFF; in intel_dp_aux_setup_backlight() 238 panel->backlight.min = 0; in intel_dp_aux_setup_backlight() 239 panel->backlight.level = intel_dp_aux_get_backlight(connector); in intel_dp_aux_setup_backlight() 241 panel->backlight.enabled = panel->backlight.level != 0; in intel_dp_aux_setup_backlight() 265 struct intel_panel *panel = &intel_connector->panel; in intel_dp_aux_init_backlight_funcs() local 273 panel->backlight.setup = intel_dp_aux_setup_backlight; in intel_dp_aux_init_backlight_funcs() 274 panel->backlight.enable = intel_dp_aux_enable_backlight; in intel_dp_aux_init_backlight_funcs() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/panel/ |
| D | panel-seiko-43wvf1g.c | 55 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument 57 return container_of(panel, struct seiko_panel, base); in to_seiko_panel() 60 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel) in seiko_panel_get_fixed_modes() argument 62 struct drm_connector *connector = panel->base.connector; in seiko_panel_get_fixed_modes() 63 struct drm_device *drm = panel->base.drm; in seiko_panel_get_fixed_modes() 67 if (!panel->desc) in seiko_panel_get_fixed_modes() 70 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes() 71 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes() 86 if (panel->desc->num_timings == 1) in seiko_panel_get_fixed_modes() 93 for (i = 0; i < panel->desc->num_modes; i++) { in seiko_panel_get_fixed_modes() [all …]
|
| 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_ILITEK_IL9322) += panel-ilitek-ili9322.o 6 obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o 7 obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o 8 obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o 9 obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o 10 obj-$(CONFIG_DRM_PANEL_ORISETECH_OTM8009A) += panel-orisetech-otm8009a.o 11 obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o [all …]
|
| D | panel-lg-lg4573.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 185 struct lg4573 *ctx = panel_to_lg4573(panel); in lg4573_disable() [all …]
|
| D | panel-lvds.c | 32 struct drm_panel panel; member 49 static inline struct panel_lvds *to_panel_lvds(struct drm_panel *panel) in to_panel_lvds() argument 51 return container_of(panel, struct panel_lvds, panel); in to_panel_lvds() 54 static int panel_lvds_disable(struct drm_panel *panel) in panel_lvds_disable() argument 56 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_disable() 67 static int panel_lvds_unprepare(struct drm_panel *panel) in panel_lvds_unprepare() argument 69 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_unprepare() 80 static int panel_lvds_prepare(struct drm_panel *panel) in panel_lvds_prepare() argument 82 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_prepare() 101 static int panel_lvds_enable(struct drm_panel *panel) in panel_lvds_enable() argument [all …]
|
| D | panel-sharp-lq101r1sx01.c | 37 static inline struct sharp_panel *to_sharp_panel(struct drm_panel *panel) in to_sharp_panel() argument 39 return container_of(panel, struct sharp_panel, base); in to_sharp_panel() 92 static int sharp_panel_disable(struct drm_panel *panel) in sharp_panel_disable() argument 94 struct sharp_panel *sharp = to_sharp_panel(panel); in sharp_panel_disable() 106 static int sharp_panel_unprepare(struct drm_panel *panel) in sharp_panel_unprepare() argument 108 struct sharp_panel *sharp = to_sharp_panel(panel); in sharp_panel_unprepare() 118 dev_err(panel->dev, "failed to set display off: %d\n", err); in sharp_panel_unprepare() 122 dev_err(panel->dev, "failed to enter sleep mode: %d\n", err); in sharp_panel_unprepare() 167 static int sharp_panel_prepare(struct drm_panel *panel) in sharp_panel_prepare() argument 169 struct sharp_panel *sharp = to_sharp_panel(panel); in sharp_panel_prepare() [all …]
|
| D | Kconfig | 11 tristate "ARM Versatile panel driver" 17 reference designs. The panel is detected using special registers 21 tristate "Generic LVDS panel driver" 28 backlight handling if the panel is attached to a backlight controller. 36 DRM panel driver for dumb panels that need at most a regulator and 38 that it can be automatically turned off when the panel goes into a 59 tristate "Innolux P079ZCA panel" 65 TFT-LCD modules. The panel has a 1024x768 resolution and uses 70 tristate "JDI LT070ME05000 WUXGA DSI panel" 76 panel as found in Google Nexus 7 (2013) devices. [all …]
|
| D | panel-sharp-ls043t1le01.c | 48 static inline struct sharp_nt_panel *to_sharp_nt_panel(struct drm_panel *panel) in to_sharp_nt_panel() argument 50 return container_of(panel, struct sharp_nt_panel, base); in to_sharp_nt_panel() 113 static int sharp_nt_panel_disable(struct drm_panel *panel) in sharp_nt_panel_disable() argument 115 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_disable() 127 static int sharp_nt_panel_unprepare(struct drm_panel *panel) in sharp_nt_panel_unprepare() argument 129 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_unprepare() 137 dev_err(panel->dev, "failed to set panel off: %d\n", ret); in sharp_nt_panel_unprepare() 150 static int sharp_nt_panel_prepare(struct drm_panel *panel) in sharp_nt_panel_prepare() argument 152 struct sharp_nt_panel *sharp_nt = to_sharp_nt_panel(panel); in sharp_nt_panel_prepare() 175 dev_err(panel->dev, "failed to init panel: %d\n", ret); in sharp_nt_panel_prepare() [all …]
|
| D | panel-samsung-ld9040.c | 92 struct drm_panel panel; member 113 static inline struct ld9040 *panel_to_ld9040(struct drm_panel *panel) in panel_to_ld9040() argument 115 return container_of(panel, struct ld9040, panel); in panel_to_ld9040() 220 static int ld9040_disable(struct drm_panel *panel) in ld9040_disable() argument 225 static int ld9040_unprepare(struct drm_panel *panel) in ld9040_unprepare() argument 227 struct ld9040 *ctx = panel_to_ld9040(panel); in ld9040_unprepare() 239 static int ld9040_prepare(struct drm_panel *panel) in ld9040_prepare() argument 241 struct ld9040 *ctx = panel_to_ld9040(panel); in ld9040_prepare() 253 ld9040_unprepare(panel); in ld9040_prepare() 258 static int ld9040_enable(struct drm_panel *panel) in ld9040_enable() argument [all …]
|
| D | panel-panasonic-vvx10f034n00.c | 55 static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel) in to_wuxga_nt_panel() argument 57 return container_of(panel, struct wuxga_nt_panel, base); in to_wuxga_nt_panel() 65 static int wuxga_nt_panel_disable(struct drm_panel *panel) in wuxga_nt_panel_disable() argument 67 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_disable() 86 static int wuxga_nt_panel_unprepare(struct drm_panel *panel) in wuxga_nt_panel_unprepare() argument 88 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_unprepare() 100 static int wuxga_nt_panel_prepare(struct drm_panel *panel) in wuxga_nt_panel_prepare() argument 102 struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel); in wuxga_nt_panel_prepare() 134 dev_err(panel->dev, "failed to set panel on: %d\n", ret); in wuxga_nt_panel_prepare() 148 static int wuxga_nt_panel_enable(struct drm_panel *panel) in wuxga_nt_panel_enable() argument [all …]
|
| D | panel-innolux-p079zca.c | 65 static inline struct innolux_panel *to_innolux_panel(struct drm_panel *panel) in to_innolux_panel() argument 67 return container_of(panel, struct innolux_panel, base); in to_innolux_panel() 70 static int innolux_panel_disable(struct drm_panel *panel) in innolux_panel_disable() argument 72 struct innolux_panel *innolux = to_innolux_panel(panel); in innolux_panel_disable() 82 DRM_DEV_ERROR(panel->dev, "failed to set display off: %d\n", in innolux_panel_disable() 90 static int innolux_panel_unprepare(struct drm_panel *panel) in innolux_panel_unprepare() argument 92 struct innolux_panel *innolux = to_innolux_panel(panel); in innolux_panel_unprepare() 100 DRM_DEV_ERROR(panel->dev, "failed to enter sleep mode: %d\n", in innolux_panel_unprepare() 123 static int innolux_panel_prepare(struct drm_panel *panel) in innolux_panel_prepare() argument 125 struct innolux_panel *innolux = to_innolux_panel(panel); in innolux_panel_prepare() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/ |
| D | drm_panel.c | 48 void drm_panel_init(struct drm_panel *panel) in drm_panel_init() argument 50 INIT_LIST_HEAD(&panel->list); in drm_panel_init() 63 int drm_panel_add(struct drm_panel *panel) in drm_panel_add() argument 66 list_add_tail(&panel->list, &panel_list); in drm_panel_add() 79 void drm_panel_remove(struct drm_panel *panel) in drm_panel_remove() argument 82 list_del_init(&panel->list); in drm_panel_remove() 102 int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector) in drm_panel_attach() argument 104 if (panel->connector) in drm_panel_attach() 107 panel->connector = connector; in drm_panel_attach() 108 panel->drm = connector->dev; in drm_panel_attach() [all …]
|
| /Linux-v4.19/drivers/video/fbdev/mmp/ |
| D | core.c | 59 if (path->panel && path->panel->get_modelist) in path_get_modelist() 60 return path->panel->get_modelist(path->panel, modelist); in path_get_modelist() 85 void mmp_register_panel(struct mmp_panel *panel) in mmp_register_panel() argument 92 list_add_tail(&panel->node, &panel_list); in mmp_register_panel() 96 if (!strcmp(panel->plat_path_name, path->name)) { in mmp_register_panel() 97 dev_info(panel->dev, "connect to path %s\n", in mmp_register_panel() 99 path->panel = panel; in mmp_register_panel() 115 void mmp_unregister_panel(struct mmp_panel *panel) in mmp_unregister_panel() argument 120 list_del(&panel->node); in mmp_unregister_panel() 123 if (path->panel && path->panel == panel) { in mmp_unregister_panel() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/fsl-dcu/ |
| D | fsl_dcu_drm_rgb.c | 58 drm_panel_detach(fsl_con->panel); in fsl_dcu_drm_connector_destroy() 73 int (*get_modes)(struct drm_panel *panel); in fsl_dcu_drm_connector_get_modes() 77 if (fsl_connector->panel && fsl_connector->panel->funcs && in fsl_dcu_drm_connector_get_modes() 78 fsl_connector->panel->funcs->get_modes) { in fsl_dcu_drm_connector_get_modes() 79 get_modes = fsl_connector->panel->funcs->get_modes; in fsl_dcu_drm_connector_get_modes() 80 num_modes = get_modes(fsl_connector->panel); in fsl_dcu_drm_connector_get_modes() 101 struct drm_panel *panel) in fsl_dcu_attach_panel() argument 124 ret = drm_panel_attach(panel, connector); in fsl_dcu_attach_panel() 142 struct drm_panel *panel; in fsl_dcu_create_outputs() local 149 fsl_dev->connector.panel = of_drm_find_panel(panel_node); in fsl_dcu_create_outputs() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/bridge/ |
| D | panel.c | 23 struct drm_panel *panel; member 44 return drm_panel_get_modes(panel_bridge->panel); in panel_bridge_connector_get_modes() 85 ret = drm_panel_attach(panel_bridge->panel, &panel_bridge->connector); in panel_bridge_attach() 96 drm_panel_detach(panel_bridge->panel); in panel_bridge_detach() 103 drm_panel_prepare(panel_bridge->panel); in panel_bridge_pre_enable() 110 drm_panel_enable(panel_bridge->panel); in panel_bridge_enable() 117 drm_panel_disable(panel_bridge->panel); in panel_bridge_disable() 124 drm_panel_unprepare(panel_bridge->panel); in panel_bridge_post_disable() 156 struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel, in drm_panel_bridge_add() argument 161 if (!panel) in drm_panel_bridge_add() [all …]
|
| /Linux-v4.19/drivers/video/fbdev/ |
| D | amba-clcd.c | 73 if (fb->panel->backlight) { in clcdfb_disable() 74 fb->panel->backlight->props.power = FB_BLANK_POWERDOWN; in clcdfb_disable() 75 backlight_update_status(fb->panel->backlight); in clcdfb_disable() 126 if (fb->panel->backlight) { in clcdfb_enable() 127 fb->panel->backlight->props.power = FB_BLANK_UNBLANK; in clcdfb_enable() 128 backlight_update_status(fb->panel->backlight); in clcdfb_enable() 144 if (fb->panel->caps && fb->board->caps) in clcdfb_set_bitfields() 145 caps = fb->panel->caps & fb->board->caps; in clcdfb_set_bitfields() 148 caps = fb->panel->cntl & CNTL_BGR ? in clcdfb_set_bitfields() 155 if (!(fb->panel->cntl & CNTL_LCDTFT)) in clcdfb_set_bitfields() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/exynos/ |
| D | exynos_drm_dpi.c | 31 struct drm_panel *panel; member 49 if (ctx->panel && !ctx->panel->connector) in exynos_dpi_detect() 50 drm_panel_attach(ctx->panel, &ctx->connector); in exynos_dpi_detect() 89 if (ctx->panel) in exynos_dpi_get_modes() 90 return ctx->panel->funcs->get_modes(ctx->panel); in exynos_dpi_get_modes() 131 if (ctx->panel) { in exynos_dpi_enable() 132 drm_panel_prepare(ctx->panel); in exynos_dpi_enable() 133 drm_panel_enable(ctx->panel); in exynos_dpi_enable() 141 if (ctx->panel) { in exynos_dpi_disable() 142 drm_panel_disable(ctx->panel); in exynos_dpi_disable() [all …]
|
| /Linux-v4.19/drivers/gpu/drm/msm/disp/mdp4/ |
| D | mdp4_lvds_connector.c | 27 struct drm_panel *panel; member 37 if (!mdp4_lvds_connector->panel) { in mdp4_lvds_connector_detect() 38 mdp4_lvds_connector->panel = in mdp4_lvds_connector_detect() 40 if (IS_ERR(mdp4_lvds_connector->panel)) in mdp4_lvds_connector_detect() 41 mdp4_lvds_connector->panel = NULL; in mdp4_lvds_connector_detect() 44 return mdp4_lvds_connector->panel ? in mdp4_lvds_connector_detect() 63 struct drm_panel *panel = mdp4_lvds_connector->panel; in mdp4_lvds_connector_get_modes() local 66 if (panel) { in mdp4_lvds_connector_get_modes() 67 drm_panel_attach(panel, connector); in mdp4_lvds_connector_get_modes() 69 ret = panel->funcs->get_modes(panel); in mdp4_lvds_connector_get_modes() [all …]
|
| /Linux-v4.19/drivers/video/fbdev/omap/ |
| D | lcd_mipid.c | 48 panel) 61 struct lcd_panel panel; member 164 set_data_lines(md, md->panel.data_lines); in send_init_string() 212 static int mipid_set_bklight_level(struct lcd_panel *panel, unsigned int level) in mipid_set_bklight_level() argument 214 struct mipid_device *md = to_mipid_device(panel); in mipid_set_bklight_level() 230 static unsigned int mipid_get_bklight_level(struct lcd_panel *panel) in mipid_get_bklight_level() argument 232 struct mipid_device *md = to_mipid_device(panel); in mipid_get_bklight_level() 240 static unsigned int mipid_get_bklight_max(struct lcd_panel *panel) in mipid_get_bklight_max() argument 242 struct mipid_device *md = to_mipid_device(panel); in mipid_get_bklight_max() 251 static unsigned long mipid_get_caps(struct lcd_panel *panel) in mipid_get_caps() argument [all …]
|
| /Linux-v4.19/drivers/gpu/drm/mxsfb/ |
| D | mxsfb_out.c | 41 if (mxsfb->panel) in mxsfb_panel_get_modes() 42 return mxsfb->panel->funcs->get_modes(mxsfb->panel); in mxsfb_panel_get_modes() 58 if (mxsfb->panel) in mxsfb_panel_connector_detect() 69 if (mxsfb->panel) in mxsfb_panel_connector_destroy() 70 drm_panel_detach(mxsfb->panel); in mxsfb_panel_connector_destroy() 88 struct drm_panel *panel; in mxsfb_create_output() local 91 ret = drm_of_find_panel_or_bridge(drm->dev->of_node, 0, 0, &panel, NULL); in mxsfb_create_output() 103 mxsfb->panel = panel; in mxsfb_create_output()
|
| /Linux-v4.19/drivers/gpu/drm/tegra/ |
| D | output.c | 28 if (output->panel) { in tegra_output_connector_get_modes() 29 err = output->panel->funcs->get_modes(output->panel); in tegra_output_connector_get_modes() 69 if (!output->panel) in tegra_output_connector_detect() 104 struct device_node *ddc, *panel; in tegra_output_probe() local 110 panel = of_parse_phandle(output->of_node, "nvidia,panel", 0); in tegra_output_probe() 111 if (panel) { in tegra_output_probe() 112 output->panel = of_drm_find_panel(panel); in tegra_output_probe() 113 if (IS_ERR(output->panel)) in tegra_output_probe() 114 return PTR_ERR(output->panel); in tegra_output_probe() 116 of_node_put(panel); in tegra_output_probe() [all …]
|
| /Linux-v4.19/Documentation/devicetree/bindings/display/panel/ |
| D | samsung,ld9040.txt | 1 Samsung LD9040 AMOLED LCD parallel RGB panel with SPI control bus 5 - reg: address of the panel on SPI bus 9 - display-timings: timings for the connected panel according to [1] 11 The panel must obey rules for SPI slave device specified in document [2]. 16 - panel-width-mm: physical panel width [mm] 17 - panel-height-mm: physical panel height [mm] 21 node should describe panel's video bus. 23 [1]: Documentation/devicetree/bindings/display/panel/display-timing.txt 40 panel-width-mm = <90>; 41 panel-height-mm = <154>;
|