Lines Matching full:bridge

24  * The DRM bridge connector helper object provides a DRM connector
30 * To use the helper, display controller drivers create a bridge connector with
36 * The DRM bridge connector operations are implemented based on the operations
38 * to the bridge closest to the connector (at the end of the chain) that
41 * To make use of this helper, all bridges in the chain shall report bridge
42 * operation flags (&drm_bridge->ops) and bridge output type
64 * The last bridge in the chain (closest to the connector) that provides
71 * The last bridge in the chain (closest to the connector) that provides
78 * The last bridge in the chain (closest to the connector) that provides
85 * The last bridge in the chain (closest to the connector) that provides
95 * Bridge Connector Hot-Plug Handling
103 struct drm_bridge *bridge; in drm_bridge_connector_hpd_notify() local
106 drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) { in drm_bridge_connector_hpd_notify()
107 if (bridge->funcs->hpd_notify) in drm_bridge_connector_hpd_notify()
108 bridge->funcs->hpd_notify(bridge, status); in drm_bridge_connector_hpd_notify()
164 * Bridge Connector Functions
215 struct drm_bridge *bridge; in drm_bridge_connector_debugfs_init() local
217 list_for_each_entry(bridge, &encoder->bridge_chain, chain_node) { in drm_bridge_connector_debugfs_init()
218 if (bridge->funcs->debugfs_init) in drm_bridge_connector_debugfs_init()
219 bridge->funcs->debugfs_init(bridge, root); in drm_bridge_connector_debugfs_init()
235 * Bridge Connector Helper Functions
239 struct drm_bridge *bridge) in drm_bridge_connector_get_modes_edid() argument
249 edid = drm_bridge_get_edid(bridge, connector); in drm_bridge_connector_get_modes_edid()
270 struct drm_bridge *bridge; in drm_bridge_connector_get_modes() local
276 bridge = bridge_connector->bridge_edid; in drm_bridge_connector_get_modes()
277 if (bridge) in drm_bridge_connector_get_modes()
278 return drm_bridge_connector_get_modes_edid(connector, bridge); in drm_bridge_connector_get_modes()
284 bridge = bridge_connector->bridge_modes; in drm_bridge_connector_get_modes()
285 if (bridge) in drm_bridge_connector_get_modes()
286 return bridge->funcs->get_modes(bridge, connector); in drm_bridge_connector_get_modes()
304 * Bridge Connector Initialisation
310 * @encoder: the encoder where the bridge chain starts
314 * the @encoder. All bridges in the chain shall report bridge operation flags
315 * (&drm_bridge->ops) and bridge output type (&drm_bridge->type), and none of
327 struct drm_bridge *bridge, *panel_bridge = NULL; in drm_bridge_connector_init() local
352 drm_for_each_bridge_in_chain(encoder, bridge) { in drm_bridge_connector_init()
353 if (!bridge->interlace_allowed) in drm_bridge_connector_init()
356 if (bridge->ops & DRM_BRIDGE_OP_EDID) in drm_bridge_connector_init()
357 bridge_connector->bridge_edid = bridge; in drm_bridge_connector_init()
358 if (bridge->ops & DRM_BRIDGE_OP_HPD) in drm_bridge_connector_init()
359 bridge_connector->bridge_hpd = bridge; in drm_bridge_connector_init()
360 if (bridge->ops & DRM_BRIDGE_OP_DETECT) in drm_bridge_connector_init()
361 bridge_connector->bridge_detect = bridge; in drm_bridge_connector_init()
362 if (bridge->ops & DRM_BRIDGE_OP_MODES) in drm_bridge_connector_init()
363 bridge_connector->bridge_modes = bridge; in drm_bridge_connector_init()
365 if (!drm_bridge_get_next_bridge(bridge)) in drm_bridge_connector_init()
366 connector_type = bridge->type; in drm_bridge_connector_init()
369 if (!drm_bridge_get_next_bridge(bridge) && in drm_bridge_connector_init()
370 bridge->of_node) in drm_bridge_connector_init()
371 connector->fwnode = fwnode_handle_get(of_fwnode_handle(bridge->of_node)); in drm_bridge_connector_init()
374 if (bridge->ddc) in drm_bridge_connector_init()
375 ddc = bridge->ddc; in drm_bridge_connector_init()
377 if (drm_bridge_is_panel(bridge)) in drm_bridge_connector_init()
378 panel_bridge = bridge; in drm_bridge_connector_init()