Lines Matching full:bridge
17 struct drm_bridge bridge; member
24 drm_bridge_to_panel_bridge(struct drm_bridge *bridge) in drm_bridge_to_panel_bridge() argument
26 return container_of(bridge, struct panel_bridge, bridge); in drm_bridge_to_panel_bridge()
56 static int panel_bridge_attach(struct drm_bridge *bridge, in panel_bridge_attach() argument
59 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_attach()
66 if (!bridge->encoder) { in panel_bridge_attach()
74 ret = drm_connector_init(bridge->dev, connector, in panel_bridge_attach()
83 bridge->encoder); in panel_bridge_attach()
88 static void panel_bridge_detach(struct drm_bridge *bridge) in panel_bridge_detach() argument
92 static void panel_bridge_pre_enable(struct drm_bridge *bridge) in panel_bridge_pre_enable() argument
94 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_pre_enable()
99 static void panel_bridge_enable(struct drm_bridge *bridge) in panel_bridge_enable() argument
101 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_enable()
106 static void panel_bridge_disable(struct drm_bridge *bridge) in panel_bridge_disable() argument
108 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_disable()
113 static void panel_bridge_post_disable(struct drm_bridge *bridge) in panel_bridge_post_disable() argument
115 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_post_disable()
120 static int panel_bridge_get_modes(struct drm_bridge *bridge, in panel_bridge_get_modes() argument
123 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge); in panel_bridge_get_modes()
152 * wrap that panel in the new bridge, and the result can then be
156 * with connector creation. When done with the bridge (after
157 * drm_mode_config_cleanup() if the bridge has already been attached), then
205 panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs; in drm_panel_bridge_add_typed()
207 panel_bridge->bridge.of_node = panel->dev->of_node; in drm_panel_bridge_add_typed()
209 panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES; in drm_panel_bridge_add_typed()
210 panel_bridge->bridge.type = connector_type; in drm_panel_bridge_add_typed()
212 drm_bridge_add(&panel_bridge->bridge); in drm_panel_bridge_add_typed()
214 return &panel_bridge->bridge; in drm_panel_bridge_add_typed()
222 * @bridge: The drm_bridge being freed.
224 void drm_panel_bridge_remove(struct drm_bridge *bridge) in drm_panel_bridge_remove() argument
228 if (!bridge) in drm_panel_bridge_remove()
231 if (bridge->funcs != &panel_bridge_bridge_funcs) in drm_panel_bridge_remove()
234 panel_bridge = drm_bridge_to_panel_bridge(bridge); in drm_panel_bridge_remove()
236 drm_bridge_remove(bridge); in drm_panel_bridge_remove()
237 devm_kfree(panel_bridge->panel->dev, bridge); in drm_panel_bridge_remove()
243 struct drm_bridge **bridge = res; in devm_drm_panel_bridge_release() local
245 drm_panel_bridge_remove(*bridge); in devm_drm_panel_bridge_release()
251 * @dev: device to tie the bridge lifetime to
271 * @dev: device to tie the bridge lifetime to
286 struct drm_bridge **ptr, *bridge; in devm_drm_panel_bridge_add_typed() local
293 bridge = drm_panel_bridge_add_typed(panel, connector_type); in devm_drm_panel_bridge_add_typed()
294 if (!IS_ERR(bridge)) { in devm_drm_panel_bridge_add_typed()
295 *ptr = bridge; in devm_drm_panel_bridge_add_typed()
301 return bridge; in devm_drm_panel_bridge_add_typed()
306 * drm_panel_bridge_connector - return the connector for the panel bridge
307 * @bridge: The drm_bridge.
314 struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge) in drm_panel_bridge_connector() argument
318 panel_bridge = drm_bridge_to_panel_bridge(bridge); in drm_panel_bridge_connector()