mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
drm/bridge: Provide a helper to retrieve current bridge state
The current bridge state is accessible from the drm_bridge structure, but since it's fairly indirect it's not easy to figure out. Provide a helper to retrieve it. Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20250313-bridge-connector-v6-2-511c54a604fb@kernel.org Signed-off-by: Maxime Ripard <mripard@kernel.org>
This commit is contained in:
parent
98007a0d56
commit
93b244866c
|
|
@ -957,6 +957,38 @@ static inline struct drm_bridge *of_drm_find_bridge(struct device_node *np)
|
|||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
* drm_bridge_get_current_state() - Get the current bridge state
|
||||
* @bridge: bridge object
|
||||
*
|
||||
* This function must be called with the modeset lock held.
|
||||
*
|
||||
* RETURNS:
|
||||
*
|
||||
* The current bridge state, or NULL if there is none.
|
||||
*/
|
||||
static inline struct drm_bridge_state *
|
||||
drm_bridge_get_current_state(struct drm_bridge *bridge)
|
||||
{
|
||||
if (!bridge)
|
||||
return NULL;
|
||||
|
||||
/*
|
||||
* Only atomic bridges will have bridge->base initialized by
|
||||
* drm_atomic_private_obj_init(), so we need to make sure we're
|
||||
* working with one before we try to use the lock.
|
||||
*/
|
||||
if (!bridge->funcs || !bridge->funcs->atomic_reset)
|
||||
return NULL;
|
||||
|
||||
drm_modeset_lock_assert_held(&bridge->base.lock);
|
||||
|
||||
if (!bridge->base.state)
|
||||
return NULL;
|
||||
|
||||
return drm_priv_to_bridge_state(bridge->base.state);
|
||||
}
|
||||
|
||||
/**
|
||||
* drm_bridge_get_next_bridge() - Get the next bridge in the chain
|
||||
* @bridge: bridge object
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user