On Wed, 22 Jan 2020 12:16:49 +0100
Boris Brezillon <boris.brezil...@collabora.com> wrote:

> +
> +/**
> + * drm_atomic_get_bridge_state - get bridge state
> + * @state: global atomic state object
> + * @bridge: bridge to get state object for
> + *
> + * This function returns the bridge state for the given bridge, allocating it
> + * if needed. It will also grab the relevant bridge lock to make sure that 
> the
> + * state is consistent.
> + *
> + * Returns:
> + *
> + * Either the allocated state or the error code encoded into the pointer. 
> When
> + * the error is EDEADLK then the w/w mutex code has detected a deadlock and 
> the
> + * entire atomic sequence must be restarted.
> + */
> +struct drm_bridge_state *
> +drm_atomic_get_bridge_state(struct drm_atomic_state *state,
> +                         struct drm_bridge *bridge)
> +{
> +     struct drm_private_state *obj_state;
> +
> +     obj_state = drm_atomic_get_private_obj_state(state, &bridge->base);
> +     if (IS_ERR(obj_state))
> +             return ERR_CAST(obj_state);
> +
> +     return drm_priv_to_bridge_state(obj_state);
> +}
> +EXPORT_SYMBOL(drm_atomic_get_bridge_state);
> +
> +/**
> + * drm_atomic_get_old_bridge_state - get old bridge state, if it exists
> + * @state: global atomic state object
> + * @bridge: bridge to grab
> + *
> + * This function returns the old bridge state for the given bridge, or NULL 
> if
> + * the bridge is not part of the global atomic state.
> + */
> +struct drm_bridge_state *
> +drm_atomic_get_old_bridge_state(struct drm_atomic_state *state,
> +                             struct drm_bridge *bridge)
> +{
> +     struct drm_private_state *obj_state;
> +
> +     obj_state = drm_atomic_get_old_private_obj_state(state, &bridge->base);
> +     if (!obj_state)
> +             return NULL;
> +
> +     return drm_priv_to_bridge_state(obj_state);
> +}
> +EXPORT_SYMBOL(drm_atomic_get_old_bridge_state);
> +
> +/**
> + * drm_atomic_get_new_bridge_state - get new bridge state, if it exists
> + * @state: global atomic state object
> + * @bridge: bridge to grab
> + *
> + * This function returns the new bridge state for the given bridge, or NULL 
> if
> + * the bridge is not part of the global atomic state.
> + */
> +struct drm_bridge_state *
> +drm_atomic_get_new_bridge_state(struct drm_atomic_state *state,
> +                             struct drm_bridge *bridge)
> +{
> +     struct drm_private_state *obj_state;
> +
> +     obj_state = drm_atomic_get_new_private_obj_state(state, &bridge->base);
> +     if (!obj_state)
> +             return NULL;
> +
> +     return drm_priv_to_bridge_state(obj_state);
> +}
> +EXPORT_SYMBOL(drm_atomic_get_new_bridge_state);
> +

Oops, I placed those helpers in the #ifdef CONFIG_DEBUG_FS section.

>  #endif
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to