| /kernel/linux/linux-6.6/drivers/gpu/drm/ |
| D | drm_panel.c | 36 * DOC: drm panel 38 * The DRM panel helpers allow drivers to register panel objects with a 47 * drm_panel_init - initialize a panel 48 * @panel: DRM panel 49 * @dev: parent device of the panel 50 * @funcs: panel operations 52 * the panel interface 54 * Initialize the panel structure for subsequent registration with 57 void drm_panel_init(struct drm_panel *panel, struct device *dev, in drm_panel_init() argument 60 INIT_LIST_HEAD(&panel->list); in drm_panel_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/panel/ |
| D | Makefile | 2 obj-$(CONFIG_DRM_PANEL_ABT_Y030XX067A) += panel-abt-y030xx067a.o 3 obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o 4 obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o 5 obj-$(CONFIG_DRM_PANEL_AUO_A030JTN01) += panel-auo-a030jtn01.o 6 obj-$(CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0) += panel-boe-bf060y8m-aj0.o 7 obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o 8 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o 9 obj-$(CONFIG_DRM_PANEL_DSI_CM) += panel-dsi-cm.o 10 obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o 11 obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o [all …]
|
| D | Kconfig | 6 Panel registration and lookup framework. 12 tristate "ABT Y030XX067A 320x480 LCD panel" 17 Y030XX067A 320x480 3.0" panel as found in the YLM RG-280M, RG-300 21 tristate "ARM Versatile panel driver" 27 reference designs. The panel is detected using special registers 31 tristate "ASUS Z00T TM5P5 NT35596 panel" 37 NT35596 1080x1920 video mode panel as found in some Asus 45 Say Y here to enable support for the AUO A030JTN01 320x480 3.0" panel 49 tristate "Boe BF060Y8M-AJ0 panel" 55 5.99" AMOLED modules. The panel has a 1080x2160 resolution and [all …]
|
| D | panel-seiko-43wvf1g.c | 6 * Based on Panel Simple driver by Thierry Reding <treding@nvidia.com> 33 * @width: width (in millimeters) of the panel's active display area 34 * @height: height (in millimeters) of the panel's active display area 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 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() 70 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes() 76 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in seiko_panel_get_fixed_modes() [all …]
|
| D | panel-samsung-atna33xc20.c | 5 * Panel driver for the Samsung ATNA33XC20 panel. This panel can't be handled 46 static inline struct atana33xc20_panel *to_atana33xc20(struct drm_panel *panel) in to_atana33xc20() argument 48 return container_of(panel, struct atana33xc20_panel, base); in to_atana33xc20() 142 static int atana33xc20_disable(struct drm_panel *panel) in atana33xc20_disable() argument 144 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_disable() 172 static int atana33xc20_enable(struct drm_panel *panel) in atana33xc20_enable() argument 174 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_enable() 203 static int atana33xc20_unprepare(struct drm_panel *panel) in atana33xc20_unprepare() argument 205 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_unprepare() 213 * Purposely do a put_sync, don't use autosuspend. The panel's tcon in atana33xc20_unprepare() [all …]
|
| D | panel-novatek-nt39016.c | 3 * Novatek NT39016 TFT LCD panel driver 65 static inline struct nt39016 *to_nt39016(struct drm_panel *panel) in to_nt39016() argument 67 return container_of(panel, struct nt39016, drm_panel); in to_nt39016() 120 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_prepare() local 123 err = regulator_enable(panel->supply); in nt39016_prepare() 135 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_prepare() 137 gpiod_set_value_cansleep(panel->reset_gpio, 0); in nt39016_prepare() 141 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs, in nt39016_prepare() 151 regulator_disable(panel->supply); in nt39016_prepare() 157 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_unprepare() local [all …]
|
| D | panel-orisetech-ota5601a.c | 3 * Orisetech OTA5601A TFT LCD panel driver 42 static inline struct ota5601a *to_ota5601a(struct drm_panel *panel) in to_ota5601a() argument 44 return container_of(panel, struct ota5601a, drm_panel); in to_ota5601a() 113 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_prepare() local 116 err = regulator_enable(panel->supply); in ota5601a_prepare() 123 gpiod_set_value_cansleep(panel->reset_gpio, 1); in ota5601a_prepare() 125 gpiod_set_value_cansleep(panel->reset_gpio, 0); in ota5601a_prepare() 129 err = regmap_multi_reg_write(panel->map, ota5601a_panel_regs, in ota5601a_prepare() 141 regulator_disable(panel->supply); in ota5601a_prepare() 147 struct ota5601a *panel = to_ota5601a(drm_panel); in ota5601a_unprepare() local [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/ |
| D | drm_panel.c | 36 * DOC: drm panel 38 * The DRM panel helpers allow drivers to register panel objects with a 47 * drm_panel_init - initialize a panel 48 * @panel: DRM panel 49 * @dev: parent device of the panel 50 * @funcs: panel operations 52 * the panel interface 54 * Initialize the panel structure for subsequent registration with 57 void drm_panel_init(struct drm_panel *panel, struct device *dev, in drm_panel_init() argument 60 INIT_LIST_HEAD(&panel->list); in drm_panel_init() [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/display/panel/ |
| D | panel-simple.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-simple.yaml# 17 The panel may use an OF graph binding for the association to the display, 20 If the panel is more advanced a dedicated binding file is required. 23 - $ref: panel-common.yaml# 32 # Ampire AM-1280800N3TZQW-T00H 10.1" WQVGA TFT LCD panel 34 # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel 36 # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel 38 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 40 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 42 # AU Optronics Corporation 10.1" WXGA TFT LCD panel [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/display/panel/ |
| D | panel-simple.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-simple.yaml# 17 The panel may use an OF graph binding for the association to the display, 20 If the panel is more advanced a dedicated binding file is required. 23 - $ref: panel-common.yaml# 32 # Ampire AM-1280800N3TZQW-T00H 10.1" WQVGA TFT LCD panel 34 # Ampire AM-480272H3TMQW-T01H 4.3" WQVGA TFT LCD panel 36 # Ampire AM-800480L1TMQW-T00H 5" WVGA TFT LCD panel 38 # Ampire AM-800480R3TMQW-A1H 7.0" WVGA TFT LCD panel 40 # Ampire AM-800600P5TMQW-TB8H 8.0" SVGA TFT LCD panel 42 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel [all …]
|
| D | panel-simple-dsi.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-simple-dsi.yaml# 17 The panel may use an OF graph binding for the association to the display, 20 If the panel is more advanced a dedicated binding file is required. 29 # AU Optronics Corporation 8.0" WUXGA TFT LCD panel 31 # Boe Corporation 8.0" WUXGA TFT LCD panel 33 # Innolux P079ZCA 7.85" 768x1024 TFT LCD panel 35 # JDI FHD_R63452 1080x1920 5.2" IPS LCD Panel 37 # Khadas TS050 5" 1080x1920 LCD panel 39 # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel 41 # LG ACX467AKM-7 4.95" 1080×1920 LCD Panel [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/panel/ |
| D | Makefile | 2 obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o 3 obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o 4 obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o 5 obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o 6 obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o 7 obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o 8 obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o 9 obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o 10 obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o 11 obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.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 "ASUS Z00T TM5P5 NT35596 panel" 28 NT35596 1080x1920 video mode panel as found in some Asus 32 tristate "Boe Himax8279d panel" 38 TFT-LCD modules. The panel has a 1200x1920 resolution and uses 43 tristate "BOE TV101WUM and AUO KD101N80 45NA 1200x1920 panel" 49 45NA WUXGA PANEL DSI Video Mode panel 52 tristate "Generic LVDS panel driver" [all …]
|
| D | panel-seiko-43wvf1g.c | 6 * Based on Panel Simple driver by Thierry Reding <treding@nvidia.com> 31 * @width: width (in millimeters) of the panel's active display area 32 * @height: height (in millimeters) of the panel's active display area 52 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument 54 return container_of(panel, struct seiko_panel, base); in to_seiko_panel() 57 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel, in seiko_panel_get_fixed_modes() argument 63 if (!panel->desc) in seiko_panel_get_fixed_modes() 66 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes() 67 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes() 73 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in seiko_panel_get_fixed_modes() [all …]
|
| D | panel-novatek-nt39016.c | 3 * Novatek NT39016 TFT LCD panel driver 66 static inline struct nt39016 *to_nt39016(struct drm_panel *panel) in to_nt39016() argument 68 return container_of(panel, struct nt39016, drm_panel); in to_nt39016() 121 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_prepare() local 124 err = regulator_enable(panel->supply); in nt39016_prepare() 136 gpiod_set_value_cansleep(panel->reset_gpio, 1); in nt39016_prepare() 138 gpiod_set_value_cansleep(panel->reset_gpio, 0); in nt39016_prepare() 142 err = regmap_multi_reg_write(panel->map, nt39016_panel_regs, in nt39016_prepare() 152 regulator_disable(panel->supply); in nt39016_prepare() 158 struct nt39016 *panel = to_nt39016(drm_panel); in nt39016_unprepare() local [all …]
|
| /kernel/linux/linux-6.6/drivers/input/misc/ |
| D | ibm-panel.c | 15 #define DEVICE_NAME "ibm-panel" 26 static u8 ibm_panel_calculate_checksum(struct ibm_panel *panel) in ibm_panel_calculate_checksum() argument 32 for (i = 0; i < sizeof(panel->command) - 1; ++i) { in ibm_panel_calculate_checksum() 33 sum += panel->command[i]; in ibm_panel_calculate_checksum() 47 static void ibm_panel_process_command(struct ibm_panel *panel) in ibm_panel_process_command() argument 52 if (panel->command[0] != 0xff && panel->command[1] != 0xf0) { in ibm_panel_process_command() 53 dev_dbg(&panel->input->dev, "command invalid: %02x %02x\n", in ibm_panel_process_command() 54 panel->command[0], panel->command[1]); in ibm_panel_process_command() 58 chksum = ibm_panel_calculate_checksum(panel); in ibm_panel_process_command() 59 if (chksum != panel->command[sizeof(panel->command) - 1]) { in ibm_panel_process_command() [all …]
|
| /kernel/linux/linux-5.10/drivers/gpu/drm/i915/display/ |
| D | intel_panel.c | 176 /* adjusted_mode has been preset to be the panel's fixed mode */ 297 * when calculating the panel ratio. in panel_fitter_scaling() 495 struct intel_panel *panel = &connector->panel; in clamp_user_to_hw() local 498 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw() 499 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw() 508 struct intel_panel *panel = &connector->panel; in scale_hw_to_user() local 510 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user() 518 struct intel_panel *panel = &connector->panel; in intel_panel_compute_brightness() local 520 drm_WARN_ON(&dev_priv->drm, panel->backlight.max == 0); in intel_panel_compute_brightness() 527 return panel->backlight.max - val + panel->backlight.min; in intel_panel_compute_brightness() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/i915/display/ |
| D | intel_backlight.c | 65 struct intel_panel *panel = &connector->panel; in clamp_user_to_hw() local 68 hw_level = scale(user_level, 0, user_max, 0, panel->backlight.max); in clamp_user_to_hw() 69 hw_level = clamp(hw_level, panel->backlight.min, panel->backlight.max); in clamp_user_to_hw() 78 struct intel_panel *panel = &connector->panel; in scale_hw_to_user() local 80 return scale(hw_level, panel->backlight.min, panel->backlight.max, in scale_hw_to_user() 87 struct intel_panel *panel = &connector->panel; in intel_backlight_invert_pwm_level() local 89 drm_WARN_ON(&i915->drm, panel->backlight.pwm_level_max == 0); in intel_backlight_invert_pwm_level() 96 return panel->backlight.pwm_level_max - val + panel->backlight.pwm_level_min; in intel_backlight_invert_pwm_level() 106 struct intel_panel *panel = &connector->panel; in intel_backlight_set_pwm_level() local 110 panel->backlight.pwm_funcs->set(conn_state, val); in intel_backlight_set_pwm_level() [all …]
|
| D | intel_dp_aux_backlight.c | 120 struct intel_panel *panel = &connector->panel; in intel_dp_aux_supports_hdr_backlight() local 144 * don't have this data in panel EDID. In case we find panel in intel_dp_aux_supports_hdr_backlight() 153 …"[CONNECTOR:%d:%s] Panel is missing HDR static metadata. Possible support for Intel HDR backlight … in intel_dp_aux_supports_hdr_backlight() 159 panel->backlight.edp.intel.sdr_uses_aux = in intel_dp_aux_supports_hdr_backlight() 169 struct intel_panel *panel = &connector->panel; in intel_dp_aux_hdr_get_backlight() local 181 if (!panel->backlight.edp.intel.sdr_uses_aux) { in intel_dp_aux_hdr_get_backlight() 182 u32 pwm_level = panel->backlight.pwm_funcs->get(connector, pipe); in intel_dp_aux_hdr_get_backlight() 188 return panel->backlight.max; in intel_dp_aux_hdr_get_backlight() 222 struct intel_panel *panel = &connector->panel; in intel_dp_aux_hdr_set_backlight() local 224 if (panel->backlight.edp.intel.sdr_uses_aux) { in intel_dp_aux_hdr_set_backlight() [all …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/msm/dp/ |
| D | dp_panel.c | 23 static void dp_panel_read_psr_cap(struct dp_panel_private *panel) in dp_panel_read_psr_cap() argument 28 dp_panel = &panel->dp_panel; in dp_panel_read_psr_cap() 32 rlen = drm_dp_dpcd_read(panel->aux, DP_PSR_SUPPORT, in dp_panel_read_psr_cap() 35 drm_dbg_dp(panel->drm_dev, in dp_panel_read_psr_cap() 49 struct dp_panel_private *panel; in dp_panel_read_dpcd() local 56 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_read_dpcd() 59 rlen = drm_dp_dpcd_read(panel->aux, offset, in dp_panel_read_dpcd() 75 drm_dbg_dp(panel->drm_dev, in dp_panel_read_dpcd() 80 rlen = drm_dp_dpcd_read(panel->aux, offset, in dp_panel_read_dpcd() 107 drm_dbg_dp(panel->drm_dev, "version: %d.%d\n", major, minor); in dp_panel_read_dpcd() [all …]
|
| /kernel/linux/linux-5.10/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 …]
|
| /kernel/linux/linux-6.6/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 …]
|
| /kernel/linux/linux-6.6/drivers/gpu/drm/bridge/ |
| D | panel.c | 21 struct drm_panel *panel; member 42 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_connector_get_modes() 131 drm_panel_prepare(panel_bridge->panel); in panel_bridge_atomic_pre_enable() 151 drm_panel_enable(panel_bridge->panel); in panel_bridge_atomic_enable() 171 drm_panel_disable(panel_bridge->panel); in panel_bridge_atomic_disable() 191 drm_panel_unprepare(panel_bridge->panel); in panel_bridge_atomic_post_disable() 199 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_get_modes() 206 struct drm_panel *panel = panel_bridge->panel; in panel_bridge_debugfs_init() local 208 root = debugfs_create_dir("panel", root); in panel_bridge_debugfs_init() 209 if (panel->funcs->debugfs_init) in panel_bridge_debugfs_init() [all …]
|
| /kernel/linux/linux-6.6/include/drm/ |
| D | drm_panel.h | 44 * struct drm_panel_funcs - perform operations on a given panel 47 * starts to transmit video data. Panel drivers can use this to turn the panel 60 * necessary to turn off the panel to avoid visual glitches. This is done in 63 * is visible on the panel. It is then safe for the display controller to 67 * the panel. This is the job of the .unprepare() function. 77 * Turn on panel and perform set up. 81 int (*prepare)(struct drm_panel *panel); 86 * Enable panel (turn on back light, etc.). 90 int (*enable)(struct drm_panel *panel); 95 * Disable panel (turn off back light, etc.). [all …]
|
| /kernel/linux/linux-5.10/include/drm/ |
| D | drm_panel.h | 41 * struct drm_panel_funcs - perform operations on a given panel 44 * starts to transmit video data. Panel drivers can use this to turn the panel 57 * necessary to turn off the panel to avoid visual glitches. This is done in 60 * is visible on the panel. It is then safe for the display controller to 64 * the panel. This is the job of the .unprepare() function. 74 * Turn on panel and perform set up. 78 int (*prepare)(struct drm_panel *panel); 83 * Enable panel (turn on back light, etc.). 87 int (*enable)(struct drm_panel *panel); 92 * Disable panel (turn off back light, etc.). [all …]
|