Lines Matching full:bridge

22  * The DRM bridge connector helper object provides a DRM connector
28 * To use the helper, display controller drivers create a bridge connector with
34 * The DRM bridge connector operations are implemented based on the operations
36 * to the bridge closest to the connector (at the end of the chain) that
39 * To make use of this helper, all bridges in the chain shall report bridge
40 * operation flags (&drm_bridge->ops) and bridge output type
62 * The last bridge in the chain (closest to the connector) that provides
69 * The last bridge in the chain (closest to the connector) that provides
76 * The last bridge in the chain (closest to the connector) that provides
83 * The last bridge in the chain (closest to the connector) that provides
93 * Bridge Connector Hot-Plug Handling
101 struct drm_bridge *bridge; in drm_bridge_connector_hpd_notify() local
104 drm_for_each_bridge_in_chain(bridge_connector->encoder, bridge) { in drm_bridge_connector_hpd_notify()
105 if (bridge->funcs->hpd_notify) in drm_bridge_connector_hpd_notify()
106 bridge->funcs->hpd_notify(bridge, status); in drm_bridge_connector_hpd_notify()
153 * Bridge Connector Functions
208 struct drm_bridge *bridge; in drm_bridge_connector_debugfs_init() local
210 list_for_each_entry(bridge, &encoder->bridge_chain, chain_node) { in drm_bridge_connector_debugfs_init()
211 if (bridge->funcs->debugfs_init) in drm_bridge_connector_debugfs_init()
212 bridge->funcs->debugfs_init(bridge, root); in drm_bridge_connector_debugfs_init()
227 * Bridge Connector Helper Functions
231 struct drm_bridge *bridge) in drm_bridge_connector_get_modes_edid() argument
241 edid = bridge->funcs->get_edid(bridge, connector); in drm_bridge_connector_get_modes_edid()
262 struct drm_bridge *bridge; in drm_bridge_connector_get_modes() local
268 bridge = bridge_connector->bridge_edid; in drm_bridge_connector_get_modes()
269 if (bridge) in drm_bridge_connector_get_modes()
270 return drm_bridge_connector_get_modes_edid(connector, bridge); in drm_bridge_connector_get_modes()
276 bridge = bridge_connector->bridge_modes; in drm_bridge_connector_get_modes()
277 if (bridge) in drm_bridge_connector_get_modes()
278 return bridge->funcs->get_modes(bridge, connector); in drm_bridge_connector_get_modes()
296 * Bridge Connector Initialisation
302 * @encoder: the encoder where the bridge chain starts
306 * the @encoder. All bridges in the chain shall report bridge operation flags
307 * (&drm_bridge->ops) and bridge output type (&drm_bridge->type), and none of
319 struct drm_bridge *bridge, *panel_bridge = NULL; in drm_bridge_connector_init() local
344 drm_for_each_bridge_in_chain(encoder, bridge) { in drm_bridge_connector_init()
345 if (!bridge->interlace_allowed) in drm_bridge_connector_init()
348 if (bridge->ops & DRM_BRIDGE_OP_EDID) in drm_bridge_connector_init()
349 bridge_connector->bridge_edid = bridge; in drm_bridge_connector_init()
350 if (bridge->ops & DRM_BRIDGE_OP_HPD) in drm_bridge_connector_init()
351 bridge_connector->bridge_hpd = bridge; in drm_bridge_connector_init()
352 if (bridge->ops & DRM_BRIDGE_OP_DETECT) in drm_bridge_connector_init()
353 bridge_connector->bridge_detect = bridge; in drm_bridge_connector_init()
354 if (bridge->ops & DRM_BRIDGE_OP_MODES) in drm_bridge_connector_init()
355 bridge_connector->bridge_modes = bridge; in drm_bridge_connector_init()
357 if (!drm_bridge_get_next_bridge(bridge)) in drm_bridge_connector_init()
358 connector_type = bridge->type; in drm_bridge_connector_init()
360 if (bridge->ddc) in drm_bridge_connector_init()
361 ddc = bridge->ddc; in drm_bridge_connector_init()
363 if (drm_bridge_is_panel(bridge)) in drm_bridge_connector_init()
364 panel_bridge = bridge; in drm_bridge_connector_init()