mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
drm: Add support for optional per-plane rotation property
Not all planes on the system may support the same rotations/reflections,
so make it possible to create a separate property for each plane.
This way userspace gets told exactly which rotations/reflections are
possible for each plane.
v2: Add drm_plane_create_rotation_property() helper
v3: Drop the BIT(), __builtin_ffs(x) - 1,
Moar WARNs for bad parameters
Deal with superfluous code shuffling
Signed-off-by: Ville Syrjälä <[email protected]>
Reviewed-by: Chris Wilson <[email protected]> (v1)
Reviewed-by: Joonas Lahtinen <[email protected]>
Signed-off-by: Daniel Vetter <[email protected]>
Link: http://patchwork.freedesktop.org/patch/msgid/[email protected]
This commit is contained in:
parent
6e0c7c3358
commit
d138dd3c0c
5 changed files with 49 additions and 3 deletions
|
|
@ -54,6 +54,9 @@ static inline bool drm_rotation_90_or_270(unsigned int rotation)
|
|||
|
||||
struct drm_property *drm_mode_create_rotation_property(struct drm_device *dev,
|
||||
unsigned int supported_rotations);
|
||||
int drm_plane_create_rotation_property(struct drm_plane *plane,
|
||||
unsigned int rotation,
|
||||
unsigned int supported_rotations);
|
||||
unsigned int drm_rotation_simplify(unsigned int rotation,
|
||||
unsigned int supported_rotations);
|
||||
|
||||
|
|
|
|||
|
|
@ -385,6 +385,7 @@ enum drm_plane_type {
|
|||
* @type: type of plane (overlay, primary, cursor)
|
||||
* @state: current atomic state for this plane
|
||||
* @zpos_property: zpos property for this plane
|
||||
* @rotation_property: rotation property for this plane
|
||||
* @helper_private: mid-layer private data
|
||||
*/
|
||||
struct drm_plane {
|
||||
|
|
@ -431,6 +432,7 @@ struct drm_plane {
|
|||
struct drm_plane_state *state;
|
||||
|
||||
struct drm_property *zpos_property;
|
||||
struct drm_property *rotation_property;
|
||||
};
|
||||
|
||||
#define obj_to_plane(x) container_of(x, struct drm_plane, base)
|
||||
|
|
|
|||
Loading…
Reference in a new issue