drm/atomic: Make private objs proper objects
Make the atomic private object stuff less special by introducing proper base classes for the object and its state. Drivers can embed these in their own appropriate objects, after which these things will work exactly like the plane/crtc/connector states during atomic operations. v2: Reorder to not depend on drm_dynarray (Daniel) Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> #v1 Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170712155102.26276-3-ville.syrjala@linux.intel.com
This commit is contained in:
@ -404,12 +404,17 @@ struct drm_dp_payload {
|
||||
int vcpi;
|
||||
};
|
||||
|
||||
#define to_dp_mst_topology_state(x) container_of(x, struct drm_dp_mst_topology_state, base)
|
||||
|
||||
struct drm_dp_mst_topology_state {
|
||||
struct drm_private_state base;
|
||||
int avail_slots;
|
||||
struct drm_atomic_state *state;
|
||||
struct drm_dp_mst_topology_mgr *mgr;
|
||||
};
|
||||
|
||||
#define to_dp_mst_topology_mgr(x) container_of(x, struct drm_dp_mst_topology_mgr, base)
|
||||
|
||||
/**
|
||||
* struct drm_dp_mst_topology_mgr - DisplayPort MST manager
|
||||
*
|
||||
@ -418,6 +423,11 @@ struct drm_dp_mst_topology_state {
|
||||
* on the GPU.
|
||||
*/
|
||||
struct drm_dp_mst_topology_mgr {
|
||||
/**
|
||||
* @base: Base private object for atomic
|
||||
*/
|
||||
struct drm_private_obj base;
|
||||
|
||||
/**
|
||||
* @dev: device pointer for adding i2c devices etc.
|
||||
*/
|
||||
|
Reference in New Issue
Block a user