drm: Add drm_atomic_get_old/new_private_obj_state
This pair of functions return the old/new private object state for the given private_obj, or NULL if the private_obj is not part of the global atomic state. Reviewed-by: Alexandru Gheorghe <alexandru-cosmin.gheorghe@arm.com> Signed-off-by: James Qian Wang (Arm Technology China) <james.qian.wang@arm.com> Signed-off-by: Liviu Dudau <liviu.dudau@arm.com>
This commit is contained in:
parent
7c13e5cc23
commit
9801a7eadf
|
@ -797,6 +797,50 @@ drm_atomic_get_private_obj_state(struct drm_atomic_state *state,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_atomic_get_private_obj_state);
|
EXPORT_SYMBOL(drm_atomic_get_private_obj_state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_atomic_get_old_private_obj_state
|
||||||
|
* @state: global atomic state object
|
||||||
|
* @obj: private_obj to grab
|
||||||
|
*
|
||||||
|
* This function returns the old private object state for the given private_obj,
|
||||||
|
* or NULL if the private_obj is not part of the global atomic state.
|
||||||
|
*/
|
||||||
|
struct drm_private_state *
|
||||||
|
drm_atomic_get_old_private_obj_state(struct drm_atomic_state *state,
|
||||||
|
struct drm_private_obj *obj)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < state->num_private_objs; i++)
|
||||||
|
if (obj == state->private_objs[i].ptr)
|
||||||
|
return state->private_objs[i].old_state;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_atomic_get_old_private_obj_state);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_atomic_get_new_private_obj_state
|
||||||
|
* @state: global atomic state object
|
||||||
|
* @obj: private_obj to grab
|
||||||
|
*
|
||||||
|
* This function returns the new private object state for the given private_obj,
|
||||||
|
* or NULL if the private_obj is not part of the global atomic state.
|
||||||
|
*/
|
||||||
|
struct drm_private_state *
|
||||||
|
drm_atomic_get_new_private_obj_state(struct drm_atomic_state *state,
|
||||||
|
struct drm_private_obj *obj)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < state->num_private_objs; i++)
|
||||||
|
if (obj == state->private_objs[i].ptr)
|
||||||
|
return state->private_objs[i].new_state;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(drm_atomic_get_new_private_obj_state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_atomic_get_connector_state - get connector state
|
* drm_atomic_get_connector_state - get connector state
|
||||||
* @state: global atomic state object
|
* @state: global atomic state object
|
||||||
|
@ -1236,4 +1280,3 @@ int drm_atomic_debugfs_init(struct drm_minor *minor)
|
||||||
minor->debugfs_root, minor);
|
minor->debugfs_root, minor);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -452,6 +452,12 @@ void drm_atomic_private_obj_fini(struct drm_private_obj *obj);
|
||||||
struct drm_private_state * __must_check
|
struct drm_private_state * __must_check
|
||||||
drm_atomic_get_private_obj_state(struct drm_atomic_state *state,
|
drm_atomic_get_private_obj_state(struct drm_atomic_state *state,
|
||||||
struct drm_private_obj *obj);
|
struct drm_private_obj *obj);
|
||||||
|
struct drm_private_state *
|
||||||
|
drm_atomic_get_old_private_obj_state(struct drm_atomic_state *state,
|
||||||
|
struct drm_private_obj *obj);
|
||||||
|
struct drm_private_state *
|
||||||
|
drm_atomic_get_new_private_obj_state(struct drm_atomic_state *state,
|
||||||
|
struct drm_private_obj *obj);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_atomic_get_existing_crtc_state - get crtc state, if it exists
|
* drm_atomic_get_existing_crtc_state - get crtc state, if it exists
|
||||||
|
|
Loading…
Reference in New Issue