Lines Matching refs:bridge
17 struct drm_bridge bridge;
24 drm_bridge_to_panel_bridge(struct drm_bridge *bridge)
26 return container_of(bridge, struct panel_bridge, bridge);
56 static int panel_bridge_attach(struct drm_bridge *bridge,
59 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
66 if (!bridge->encoder) {
74 ret = drm_connector_init(bridge->dev, connector,
83 bridge->encoder);
88 static void panel_bridge_detach(struct drm_bridge *bridge)
90 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
98 * drm_device pointer can only be retrieved when the bridge is attached.
104 static void panel_bridge_pre_enable(struct drm_bridge *bridge)
106 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
111 static void panel_bridge_enable(struct drm_bridge *bridge)
113 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
118 static void panel_bridge_disable(struct drm_bridge *bridge)
120 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
125 static void panel_bridge_post_disable(struct drm_bridge *bridge)
127 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
132 static int panel_bridge_get_modes(struct drm_bridge *bridge,
135 struct panel_bridge *panel_bridge = drm_bridge_to_panel_bridge(bridge);
164 * wrap that panel in the new bridge, and the result can then be
168 * with connector creation. When done with the bridge (after
169 * drm_mode_config_cleanup() if the bridge has already been attached), then
217 panel_bridge->bridge.funcs = &panel_bridge_bridge_funcs;
219 panel_bridge->bridge.of_node = panel->dev->of_node;
221 panel_bridge->bridge.ops = DRM_BRIDGE_OP_MODES;
222 panel_bridge->bridge.type = connector_type;
224 drm_bridge_add(&panel_bridge->bridge);
226 return &panel_bridge->bridge;
234 * @bridge: The drm_bridge being freed.
236 void drm_panel_bridge_remove(struct drm_bridge *bridge)
240 if (!bridge)
243 if (bridge->funcs != &panel_bridge_bridge_funcs)
246 panel_bridge = drm_bridge_to_panel_bridge(bridge);
248 drm_bridge_remove(bridge);
249 devm_kfree(panel_bridge->panel->dev, bridge);
255 struct drm_bridge **bridge = res;
257 drm_panel_bridge_remove(*bridge);
263 * @dev: device to tie the bridge lifetime to
283 * @dev: device to tie the bridge lifetime to
298 struct drm_bridge **ptr, *bridge;
305 bridge = drm_panel_bridge_add_typed(panel, connector_type);
306 if (!IS_ERR(bridge)) {
307 *ptr = bridge;
313 return bridge;
318 * drm_panel_bridge_connector - return the connector for the panel bridge
319 * @bridge: The drm_bridge.
326 struct drm_connector *drm_panel_bridge_connector(struct drm_bridge *bridge)
330 panel_bridge = drm_bridge_to_panel_bridge(bridge);