Lines Matching full:panel
38 * struct drm_panel_funcs - perform operations on a given panel
39 * @disable: disable panel (turn off back light, etc.)
40 * @unprepare: turn off panel
41 * @prepare: turn on panel and perform set up
42 * @enable: enable panel (turn on back light, etc.)
43 * @get_modes: add modes to the connector that the panel is attached to and
49 * starts to transmit video data. Panel drivers can use this to turn the panel
62 * necessary to turn off the panel to avoid visual glitches. This is done in
65 * is visible on the panel. It is then safe for the display controller to
69 * the panel. This is the job of the .unprepare() function.
72 int (*disable)(struct drm_panel *panel);
73 int (*unprepare)(struct drm_panel *panel);
74 int (*prepare)(struct drm_panel *panel);
75 int (*enable)(struct drm_panel *panel);
76 int (*get_modes)(struct drm_panel *panel);
77 int (*get_timings)(struct drm_panel *panel, unsigned int num_timings,
82 * struct drm_panel - DRM panel object
83 * @drm: DRM device owning the panel
84 * @connector: DRM connector that the panel is attached to
85 * @dev: parent device of the panel
86 * @funcs: operations that can be performed on the panel
87 * @list: panel entry in registry
100 * drm_disable_unprepare - power off a panel
101 * @panel: DRM panel
103 * Calling this function will completely power off a panel (assert the panel's
105 * is usually no longer possible to communicate with the panel until another
110 static inline int drm_panel_unprepare(struct drm_panel *panel) in drm_panel_unprepare() argument
112 if (panel && panel->funcs && panel->funcs->unprepare) in drm_panel_unprepare()
113 return panel->funcs->unprepare(panel); in drm_panel_unprepare()
115 return panel ? -ENOSYS : -EINVAL; in drm_panel_unprepare()
119 * drm_panel_disable - disable a panel
120 * @panel: DRM panel
122 * This will typically turn off the panel's backlight or disable the display
128 static inline int drm_panel_disable(struct drm_panel *panel) in drm_panel_disable() argument
130 if (panel && panel->funcs && panel->funcs->disable) in drm_panel_disable()
131 return panel->funcs->disable(panel); in drm_panel_disable()
133 return panel ? -ENOSYS : -EINVAL; in drm_panel_disable()
137 * drm_panel_prepare - power on a panel
138 * @panel: DRM panel
141 * the panel. After this has completed it is possible to communicate with any
146 static inline int drm_panel_prepare(struct drm_panel *panel) in drm_panel_prepare() argument
148 if (panel && panel->funcs && panel->funcs->prepare) in drm_panel_prepare()
149 return panel->funcs->prepare(panel); in drm_panel_prepare()
151 return panel ? -ENOSYS : -EINVAL; in drm_panel_prepare()
155 * drm_panel_enable - enable a panel
156 * @panel: DRM panel
158 * Calling this function will cause the panel display drivers to be turned on
164 static inline int drm_panel_enable(struct drm_panel *panel) in drm_panel_enable() argument
166 if (panel && panel->funcs && panel->funcs->enable) in drm_panel_enable()
167 return panel->funcs->enable(panel); in drm_panel_enable()
169 return panel ? -ENOSYS : -EINVAL; in drm_panel_enable()
173 * drm_panel_get_modes - probe the available display modes of a panel
174 * @panel: DRM panel
176 * The modes probed from the panel are automatically added to the connector
177 * that the panel is attached to.
179 * Return: The number of modes available from the panel on success or a
182 static inline int drm_panel_get_modes(struct drm_panel *panel) in drm_panel_get_modes() argument
184 if (panel && panel->funcs && panel->funcs->get_modes) in drm_panel_get_modes()
185 return panel->funcs->get_modes(panel); in drm_panel_get_modes()
187 return panel ? -ENOSYS : -EINVAL; in drm_panel_get_modes()
190 void drm_panel_init(struct drm_panel *panel);
192 int drm_panel_add(struct drm_panel *panel);
193 void drm_panel_remove(struct drm_panel *panel);
195 int drm_panel_attach(struct drm_panel *panel, struct drm_connector *connector);
196 int drm_panel_detach(struct drm_panel *panel);