/linux/drivers/gpu/drm/ |
H A 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 structur 57 drm_panel_init(struct drm_panel * panel,struct device * dev,const struct drm_panel_funcs * funcs,int connector_type) drm_panel_init() argument 76 drm_panel_add(struct drm_panel * panel) drm_panel_add() argument 90 drm_panel_remove(struct drm_panel * panel) drm_panel_remove() argument 108 drm_panel_prepare(struct drm_panel * panel) drm_panel_prepare() argument 156 drm_panel_unprepare(struct drm_panel * panel) drm_panel_unprepare() argument 203 drm_panel_enable(struct drm_panel * panel) drm_panel_enable() argument 241 drm_panel_disable(struct drm_panel * panel) drm_panel_disable() argument 280 drm_panel_get_modes(struct drm_panel * panel,struct drm_connector * connector) drm_panel_get_modes() argument 317 struct drm_panel *panel; of_drm_find_panel() local 426 struct drm_panel *panel; drm_panel_add_follower() local 468 struct drm_panel *panel = follower->panel; drm_panel_remove_follower() local 536 drm_panel_of_backlight(struct drm_panel * panel) drm_panel_of_backlight() argument [all...] |
/linux/drivers/gpu/drm/i915/display/ |
H A 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(display->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 …]
|
H A D | intel_dsi_dcs_backlight.c | 50 struct intel_panel *panel = &connector->panel; in dcs_get_backlight() local 54 size_t len = panel->backlight.max > U8_MAX ? 2 : 1; in dcs_get_backlight() 56 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_get_backlight() 69 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_set_backlight() local 73 size_t len = panel->backlight.max > U8_MAX ? 2 : 1; in dcs_set_backlight() 83 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_set_backlight() 96 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_disable_backlight() local 102 for_each_dsi_port(port, panel->vbt.dsi.cabc_ports) { in dcs_disable_backlight() 110 for_each_dsi_port(port, panel->vbt.dsi.bl_ports) { in dcs_disable_backlight() 131 struct intel_panel *panel = &to_intel_connector(conn_state->connector)->panel; in dcs_enable_backlight() local [all …]
|
/linux/drivers/input/misc/ |
H A 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 …]
|
/linux/drivers/gpu/drm/panel/ |
H A 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 53 static inline struct seiko_panel *to_seiko_panel(struct drm_panel *panel) in to_seiko_panel() argument 55 return container_of(panel, struct seiko_panel, base); in to_seiko_panel() 58 static int seiko_panel_get_fixed_modes(struct seiko_panel *panel, in seiko_panel_get_fixed_modes() argument 64 if (!panel->desc) in seiko_panel_get_fixed_modes() 67 for (i = 0; i < panel->desc->num_timings; i++) { in seiko_panel_get_fixed_modes() 68 const struct display_timing *dt = &panel->desc->timings[i]; in seiko_panel_get_fixed_modes() 74 dev_err(panel->base.dev, "failed to add mode %ux%u\n", in seiko_panel_get_fixed_modes() [all …]
|
H A D | panel-samsung-atna33xc20.c | 5 * Panel driver for the Samsung ATNA33XC20 panel. This panel can't be handled 44 static inline struct atana33xc20_panel *to_atana33xc20(struct drm_panel *panel) in to_atana33xc20() argument 46 return container_of(panel, struct atana33xc20_panel, base); in to_atana33xc20() 140 static int atana33xc20_disable(struct drm_panel *panel) in atana33xc20_disable() argument 142 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_disable() 165 static int atana33xc20_enable(struct drm_panel *panel) in atana33xc20_enable() argument 167 struct atana33xc20_panel *p = to_atana33xc20(panel); in atana33xc20_enable() 191 static int atana33xc20_unprepare(struct drm_panel *panel) in atana33xc20_unprepare() argument 196 * Purposely do a put_sync, don't use autosuspend. The panel's tcon in atana33xc20_unprepare() 201 * to get the EDID or otherwise send DP AUX commands to the panel. in atana33xc20_unprepare() [all …]
|
H A 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 …]
|
H A 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 …]
|
H A D | panel-visionox-rm69299.c | 19 struct drm_panel panel; member 25 static inline struct visionox_rm69299 *panel_to_ctx(struct drm_panel *panel) in panel_to_ctx() argument 27 return container_of(panel, struct visionox_rm69299, panel); in panel_to_ctx() 39 * Reset sequence of visionox panel requires the panel to be in visionox_rm69299_power_on() 60 static int visionox_rm69299_unprepare(struct drm_panel *panel) in visionox_rm69299_unprepare() argument 62 struct visionox_rm69299 *ctx = panel_to_ctx(panel); in visionox_rm69299_unprepare() 69 dev_err(ctx->panel.dev, "set_display_off cmd failed ret = %d\n", ret); in visionox_rm69299_unprepare() 76 dev_err(ctx->panel.dev, "enter_sleep cmd failed ret = %d\n", ret); in visionox_rm69299_unprepare() 84 static int visionox_rm69299_prepare(struct drm_panel *panel) in visionox_rm69299_prepare() argument 86 struct visionox_rm69299 *ctx = panel_to_ctx(panel); in visionox_rm69299_prepare() [all …]
|
H A D | panel-synaptics-r63353.c | 64 static inline struct r63353_panel *to_r63353_panel(struct drm_panel *panel) in to_r63353_panel() argument 66 return container_of(panel, struct r63353_panel, base); in to_r63353_panel() 158 static int r63353_panel_prepare(struct drm_panel *panel) in r63353_panel_prepare() argument 160 struct r63353_panel *rpanel = to_r63353_panel(panel); in r63353_panel_prepare() 204 static int r63353_panel_unprepare(struct drm_panel *panel) in r63353_panel_unprepare() argument 206 struct r63353_panel *rpanel = to_r63353_panel(panel); in r63353_panel_unprepare() 226 static int r63353_panel_get_modes(struct drm_panel *panel, in r63353_panel_get_modes() argument 229 struct r63353_panel *rpanel = to_r63353_panel(panel); in r63353_panel_get_modes() 260 struct r63353_panel *panel; in r63353_panel_probe() local 262 panel = devm_kzalloc(&dsi->dev, sizeof(*panel), GFP_KERNEL); in r63353_panel_probe() [all …]
|
H A 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 …]
|
H A D | panel-widechips-ws2401.c | 3 * Panel driver for the WideChips WS2401 480x800 DPI RGB panel, used in 34 #define WS2401_READ_ID1 0xda /* Read panel ID 1 */ 35 #define WS2401_READ_ID2 0xdb /* Read panel ID 2 */ 36 #define WS2401_READ_ID3 0xdc /* Read panel ID 3 */ 48 #define WS2401_PANELCTL 0xf6 /* Panel control */ 58 * struct ws2401 - state container for a panel controlled by the WS2401 66 /** @panel: the DRM panel instance for this device */ 67 struct drm_panel panel; member 68 /** @width: the width of this panel in mm */ 70 /** @height: the height of this panel in mm */ [all …]
|
H A D | panel-lvds.c | 3 * Generic LVDS panel driver 27 struct drm_panel panel; member 45 static inline struct panel_lvds *to_panel_lvds(struct drm_panel *panel) in to_panel_lvds() argument 47 return container_of(panel, struct panel_lvds, panel); in to_panel_lvds() 50 static int panel_lvds_unprepare(struct drm_panel *panel) in panel_lvds_unprepare() argument 52 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_unprepare() 63 static int panel_lvds_prepare(struct drm_panel *panel) in panel_lvds_prepare() argument 65 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_prepare() 84 static int panel_lvds_get_modes(struct drm_panel *panel, in panel_lvds_get_modes() argument 87 struct panel_lvds *lvds = to_panel_lvds(panel); in panel_lvds_get_modes() [all …]
|
H A D | panel-boe-th101mb31ig002-28a.c | 38 struct drm_panel panel; in boe_th101mb31ig002_reset() 180 static int boe_th101mb31ig002_disable(struct drm_panel *panel) 182 struct boe_th101mb31ig002 *ctx = container_of(panel, 184 panel); in boe_th101mb31ig002_get_modes() argument 202 static int boe_th101mb31ig002_unprepare(struct drm_panel *panel) in boe_th101mb31ig002_get_modes() 204 struct boe_th101mb31ig002 *ctx = container_of(panel, in boe_th101mb31ig002_get_modes() 206 panel); in boe_th101mb31ig002_get_modes() 218 static int boe_th101mb31ig002_prepare(struct drm_panel *panel) 220 struct boe_th101mb31ig002 *ctx = container_of(panel, in boe_th101mb31ig002_get_orientation() argument 222 panel); in boe_th101mb31ig002_get_orientation() 21 struct drm_panel panel; global() member 42 boe_th101mb31ig002_enable(struct drm_panel * panel) boe_th101mb31ig002_enable() argument 112 boe_th101mb31ig002_disable(struct drm_panel * panel) boe_th101mb31ig002_disable() argument 134 boe_th101mb31ig002_unprepare(struct drm_panel * panel) boe_th101mb31ig002_unprepare() argument 147 boe_th101mb31ig002_prepare(struct drm_panel * panel) boe_th101mb31ig002_prepare() argument [all...] |
/linux/Documentation/devicetree/bindings/display/panel/ |
H A D | panel-edp-legacy.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-edp-legacy.yaml# 7 title: Legacy eDP panels from before the "edp-panel" compatible 14 "edp-panel" compatible was introduced. It is kept around to support old 15 dts files. The only reason one might add a new panel here instead of using 16 the generic "edp-panel" is if it needed to be used on an eDP controller 17 that doesn't support the generic "edp-panel" compatible, but it should be 18 a strong preference to add the generic "edp-panel" compatible instead. 21 - $ref: panel-common.yaml# 29 # AU Optronics Corporation 10.1" WSVGA TFT LCD panel 31 # AUO B116XAK01 eDP TFT LCD panel [all …]
|
H A 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 # Khadas TS050 V2 5" 1080x1920 LCD panel 41 # Kingdisplay KD097D04 9.7" 1536x2048 TFT LCD panel [all …]
|
H A D | panel-dsi-cm.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-dsi-cm.yaml# 17 panel is assumed to have native backlight support. 18 The panel may use an OF graph binding for the association 23 - $ref: panel-common.yaml# 30 - motorola,droid4-panel # Panel from Motorola Droid4 phone 31 - nokia,himalaya # Panel from Nokia N950 phone 32 - tpo,taal # Panel from OMAP4 SDP board 33 - const: panel-dsi-cm # Generic DSI command mode panel compatible fallback 42 more than one power supply with panel-specific constraints governing the 44 supply is sufficient, either because the panel has a single power rail, or [all …]
|
H A D | rocktech,jh057n00900.yaml | 4 $id: http://devicetree.org/schemas/display/panel/rocktech,jh057n00900.yaml# 7 title: Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel 14 Rocktech JH057N00900 is a 720x1440 TFT LCD panel 18 - $ref: panel-common.yaml# 23 # Anberic RG353V-V2 5.0" 640x480 TFT LCD panel 24 - anbernic,rg353v-panel-v2 25 # GameForce Chi 3.5" 640x480 TFT LCD panel 26 - gameforce,chi-panel 27 # Powkiddy RGB10MAX3 5.0" 720x1280 TFT LCD panel 28 - powkiddy,rgb10max3-panel [all …]
|
H A 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 55 panel-timing: 58 require specific display timings. The panel-timing subnode expresses those 60 $ref: panel-timing.yaml# 83 This panel is supposed to communicate that it's ready via HPD [all …]
|
H A D | panel-lvds.yaml | 4 $id: http://devicetree.org/schemas/display/panel/panel-lvds.yaml# 7 title: Generic LVDS Display Panel 14 - $ref: panel-common.yaml# 21 const: panel-lvds 42 # Admatec 9904379 10.1" 1024x600 LVDS panel 45 # Chunghwa Picture Tubes Ltd. 7" WXGA (800x1280) TFT LCD LVDS panel 47 # EDT ETML0700Z9NDHA 7.0" WSVGA (1024x600) color TFT LCD LVDS panel 49 # HannStar Display Corp. HSD101PWW2 10.1" WXGA (1280x800) LVDS panel 51 # Hydis Technologies 7" WXGA (800x1280) TFT LCD LVDS panel 53 - tbs,a711-panel [all …]
|
/linux/drivers/gpu/drm/msm/dp/ |
H A D | dp_panel.c | 27 static void dp_panel_read_psr_cap(struct dp_panel_private *panel) in dp_panel_read_psr_cap() argument 32 dp_panel = &panel->dp_panel; in dp_panel_read_psr_cap() 36 rlen = drm_dp_dpcd_read(panel->aux, DP_PSR_SUPPORT, in dp_panel_read_psr_cap() 39 drm_dbg_dp(panel->drm_dev, in dp_panel_read_psr_cap() 51 struct dp_panel_private *panel; in dp_panel_read_dpcd() local 55 panel = container_of(dp_panel, struct dp_panel_private, dp_panel); in dp_panel_read_dpcd() 57 rc = drm_dp_read_dpcd_caps(panel->aux, dpcd); in dp_panel_read_dpcd() 61 dp_panel->vsc_sdp_supported = drm_dp_vsc_sdp_supported(panel->aux, dpcd); in dp_panel_read_dpcd() 78 drm_dbg_dp(panel->drm_dev, "version: %d.%d\n", major, minor); in dp_panel_read_dpcd() 79 drm_dbg_dp(panel->drm_dev, "link_rate=%d\n", link_info->rate); in dp_panel_read_dpcd() [all …]
|
/linux/drivers/video/fbdev/mmp/ |
H A 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/drivers/gpu/drm/bridge/ |
H A D | panel.c | 23 struct drm_panel *panel; member 44 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_connector_get_modes() 128 drm_panel_prepare(panel_bridge->panel); in panel_bridge_atomic_pre_enable() 148 drm_panel_enable(panel_bridge->panel); in panel_bridge_atomic_enable() 168 drm_panel_disable(panel_bridge->panel); in panel_bridge_atomic_disable() 188 drm_panel_unprepare(panel_bridge->panel); in panel_bridge_atomic_post_disable() 196 return drm_panel_get_modes(panel_bridge->panel, connector); in panel_bridge_get_modes() 203 struct drm_panel *panel = panel_bridge->panel; in panel_bridge_debugfs_init() local 205 root = debugfs_create_dir("panel", root); in panel_bridge_debugfs_init() 206 if (panel->funcs->debugfs_init) in panel_bridge_debugfs_init() [all …]
|
/linux/include/drm/ |
H A 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 …]
|
/linux/drivers/video/fbdev/omap2/omapfb/displays/ |
H A D | Kconfig | 2 menu "OMAPFB Panel and Encoder Drivers" 39 tristate "Generic DPI panel" 44 tristate "Generic DSI Command Mode Panel" 51 tristate "ACX565AKM Panel" 55 This is the LCD panel used on Nokia N900 58 tristate "LG.Philips LB035Q02 LCD Panel" 61 LCD Panel used on the Gumstix Overo Palo35 64 tristate "Sharp LS037V7DW01 LCD Panel" 68 LCD Panel used in TI's SDP3430 and EVM boards 71 tristate "TPO TD028TTEC1 LCD Panel" [all …]
|