Lines Matching refs:bridge
71 void drm_bridge_add(struct drm_bridge *bridge) in drm_bridge_add() argument
74 list_add_tail(&bridge->list, &bridge_list); in drm_bridge_add()
84 void drm_bridge_remove(struct drm_bridge *bridge) in drm_bridge_remove() argument
87 list_del_init(&bridge->list); in drm_bridge_remove()
114 int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge, in drm_bridge_attach() argument
119 if (!encoder || !bridge) in drm_bridge_attach()
125 if (bridge->dev) in drm_bridge_attach()
128 bridge->dev = encoder->dev; in drm_bridge_attach()
129 bridge->encoder = encoder; in drm_bridge_attach()
131 if (bridge->funcs->attach) { in drm_bridge_attach()
132 ret = bridge->funcs->attach(bridge); in drm_bridge_attach()
134 bridge->dev = NULL; in drm_bridge_attach()
135 bridge->encoder = NULL; in drm_bridge_attach()
141 previous->next = bridge; in drm_bridge_attach()
143 encoder->bridge = bridge; in drm_bridge_attach()
149 void drm_bridge_detach(struct drm_bridge *bridge) in drm_bridge_detach() argument
151 if (WARN_ON(!bridge)) in drm_bridge_detach()
154 if (WARN_ON(!bridge->dev)) in drm_bridge_detach()
157 if (bridge->funcs->detach) in drm_bridge_detach()
158 bridge->funcs->detach(bridge); in drm_bridge_detach()
160 bridge->dev = NULL; in drm_bridge_detach()
189 bool drm_bridge_mode_fixup(struct drm_bridge *bridge, in drm_bridge_mode_fixup() argument
195 if (!bridge) in drm_bridge_mode_fixup()
198 if (bridge->funcs->mode_fixup) in drm_bridge_mode_fixup()
199 ret = bridge->funcs->mode_fixup(bridge, mode, adjusted_mode); in drm_bridge_mode_fixup()
201 ret = ret && drm_bridge_mode_fixup(bridge->next, mode, adjusted_mode); in drm_bridge_mode_fixup()
222 enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge, in drm_bridge_mode_valid() argument
227 if (!bridge) in drm_bridge_mode_valid()
230 if (bridge->funcs->mode_valid) in drm_bridge_mode_valid()
231 ret = bridge->funcs->mode_valid(bridge, mode); in drm_bridge_mode_valid()
236 return drm_bridge_mode_valid(bridge->next, mode); in drm_bridge_mode_valid()
250 void drm_bridge_disable(struct drm_bridge *bridge) in drm_bridge_disable() argument
252 if (!bridge) in drm_bridge_disable()
255 drm_bridge_disable(bridge->next); in drm_bridge_disable()
257 if (bridge->funcs->disable) in drm_bridge_disable()
258 bridge->funcs->disable(bridge); in drm_bridge_disable()
272 void drm_bridge_post_disable(struct drm_bridge *bridge) in drm_bridge_post_disable() argument
274 if (!bridge) in drm_bridge_post_disable()
277 if (bridge->funcs->post_disable) in drm_bridge_post_disable()
278 bridge->funcs->post_disable(bridge); in drm_bridge_post_disable()
280 drm_bridge_post_disable(bridge->next); in drm_bridge_post_disable()
296 void drm_bridge_mode_set(struct drm_bridge *bridge, in drm_bridge_mode_set() argument
300 if (!bridge) in drm_bridge_mode_set()
303 if (bridge->funcs->mode_set) in drm_bridge_mode_set()
304 bridge->funcs->mode_set(bridge, mode, adjusted_mode); in drm_bridge_mode_set()
306 drm_bridge_mode_set(bridge->next, mode, adjusted_mode); in drm_bridge_mode_set()
321 void drm_bridge_pre_enable(struct drm_bridge *bridge) in drm_bridge_pre_enable() argument
323 if (!bridge) in drm_bridge_pre_enable()
326 drm_bridge_pre_enable(bridge->next); in drm_bridge_pre_enable()
328 if (bridge->funcs->pre_enable) in drm_bridge_pre_enable()
329 bridge->funcs->pre_enable(bridge); in drm_bridge_pre_enable()
343 void drm_bridge_enable(struct drm_bridge *bridge) in drm_bridge_enable() argument
345 if (!bridge) in drm_bridge_enable()
348 if (bridge->funcs->enable) in drm_bridge_enable()
349 bridge->funcs->enable(bridge); in drm_bridge_enable()
351 drm_bridge_enable(bridge->next); in drm_bridge_enable()
367 void drm_atomic_bridge_disable(struct drm_bridge *bridge, in drm_atomic_bridge_disable() argument
370 if (!bridge) in drm_atomic_bridge_disable()
373 drm_atomic_bridge_disable(bridge->next, state); in drm_atomic_bridge_disable()
375 if (bridge->funcs->atomic_disable) in drm_atomic_bridge_disable()
376 bridge->funcs->atomic_disable(bridge, state); in drm_atomic_bridge_disable()
377 else if (bridge->funcs->disable) in drm_atomic_bridge_disable()
378 bridge->funcs->disable(bridge); in drm_atomic_bridge_disable()
395 void drm_atomic_bridge_post_disable(struct drm_bridge *bridge, in drm_atomic_bridge_post_disable() argument
398 if (!bridge) in drm_atomic_bridge_post_disable()
401 if (bridge->funcs->atomic_post_disable) in drm_atomic_bridge_post_disable()
402 bridge->funcs->atomic_post_disable(bridge, state); in drm_atomic_bridge_post_disable()
403 else if (bridge->funcs->post_disable) in drm_atomic_bridge_post_disable()
404 bridge->funcs->post_disable(bridge); in drm_atomic_bridge_post_disable()
406 drm_atomic_bridge_post_disable(bridge->next, state); in drm_atomic_bridge_post_disable()
423 void drm_atomic_bridge_pre_enable(struct drm_bridge *bridge, in drm_atomic_bridge_pre_enable() argument
426 if (!bridge) in drm_atomic_bridge_pre_enable()
429 drm_atomic_bridge_pre_enable(bridge->next, state); in drm_atomic_bridge_pre_enable()
431 if (bridge->funcs->atomic_pre_enable) in drm_atomic_bridge_pre_enable()
432 bridge->funcs->atomic_pre_enable(bridge, state); in drm_atomic_bridge_pre_enable()
433 else if (bridge->funcs->pre_enable) in drm_atomic_bridge_pre_enable()
434 bridge->funcs->pre_enable(bridge); in drm_atomic_bridge_pre_enable()
450 void drm_atomic_bridge_enable(struct drm_bridge *bridge, in drm_atomic_bridge_enable() argument
453 if (!bridge) in drm_atomic_bridge_enable()
456 if (bridge->funcs->atomic_enable) in drm_atomic_bridge_enable()
457 bridge->funcs->atomic_enable(bridge, state); in drm_atomic_bridge_enable()
458 else if (bridge->funcs->enable) in drm_atomic_bridge_enable()
459 bridge->funcs->enable(bridge); in drm_atomic_bridge_enable()
461 drm_atomic_bridge_enable(bridge->next, state); in drm_atomic_bridge_enable()
477 struct drm_bridge *bridge; in of_drm_find_bridge() local
481 list_for_each_entry(bridge, &bridge_list, list) { in of_drm_find_bridge()
482 if (bridge->of_node == np) { in of_drm_find_bridge()
484 return bridge; in of_drm_find_bridge()