[PATCH v3] drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI

Sinclair Yeh syeh at vmware.com
Thu May 18 16:24:40 UTC 2017


vmwgfx part: Reviewed-by: Sinclair Yeh <syeh at vmware.com>

On Wed, May 17, 2017 at 09:39:11PM -0400, Robert Foss wrote:
> Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ defines to the UAPI
> as a convenience.
> 
> Ideally the DRM_ROTATE_ and DRM_REFLECT_ property ids are looked up
> through the atomic API, but realizing that userspace is likely to take
> shortcuts and assume that the enum values are what is sent over the
> wire.
> 
> As a result these defines are provided purely as a convenience to
> userspace applications.
> 
> Signed-off-by: Robert Foss <robert.foss at collabora.com>
> ---
> Changes since v2:
>  - Changed define prefix from DRM_MODE_PROP_ to DRM_MODE_
>  - Fix compilation errors
>  - Changed comment formatting
>  - Deduplicated comment lines
>  - Clarified DRM_MODE_PROP_REFLECT_ comment
> 
> Changes since v1:
>  - Moved defines from drm.h to drm_mode.h
>  - Changed define prefix from DRM_ to DRM_MODE_PROP_ 
>  - Updated uses of the defines to the new prefix
>  - Removed include from drm_rect.c
>  - Stopped using the BIT() macro 
> 
>  drivers/gpu/drm/arm/malidp_drv.h                |  2 +-
>  drivers/gpu/drm/arm/malidp_planes.c             | 18 ++++-----
>  drivers/gpu/drm/armada/armada_overlay.c         |  2 +-
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 20 +++++-----
>  drivers/gpu/drm/drm_atomic.c                    |  2 +-
>  drivers/gpu/drm/drm_atomic_helper.c             |  2 +-
>  drivers/gpu/drm/drm_blend.c                     | 43 ++++++++++-----------
>  drivers/gpu/drm/drm_fb_helper.c                 |  4 +-
>  drivers/gpu/drm/drm_plane_helper.c              |  2 +-
>  drivers/gpu/drm/drm_rect.c                      | 36 +++++++++---------
>  drivers/gpu/drm/i915/i915_debugfs.c             | 14 +++----
>  drivers/gpu/drm/i915/intel_atomic_plane.c       |  6 +--
>  drivers/gpu/drm/i915/intel_display.c            | 50 ++++++++++++-------------
>  drivers/gpu/drm/i915/intel_fbc.c                |  2 +-
>  drivers/gpu/drm/i915/intel_fbdev.c              |  2 +-
>  drivers/gpu/drm/i915/intel_sprite.c             | 20 +++++-----
>  drivers/gpu/drm/imx/ipuv3-plane.c               |  2 +-
>  drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c       | 30 +++++++--------
>  drivers/gpu/drm/nouveau/nv50_display.c          |  2 +-
>  drivers/gpu/drm/omapdrm/omap_drv.c              |  4 +-
>  drivers/gpu/drm/omapdrm/omap_fb.c               | 18 ++++-----
>  drivers/gpu/drm/omapdrm/omap_plane.c            | 16 ++++----
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c             |  4 +-
>  include/drm/drm_blend.h                         | 21 +----------
>  include/uapi/drm/drm_mode.h                     | 49 +++++++++++++++++++++++-
>  25 files changed, 201 insertions(+), 170 deletions(-)
> 
> diff --git a/drivers/gpu/drm/arm/malidp_drv.h b/drivers/gpu/drm/arm/malidp_drv.h
> index 040311ffcaec..2e2033140efc 100644
> --- a/drivers/gpu/drm/arm/malidp_drv.h
> +++ b/drivers/gpu/drm/arm/malidp_drv.h
> @@ -65,6 +65,6 @@ void malidp_de_planes_destroy(struct drm_device *drm);
>  int malidp_crtc_init(struct drm_device *drm);
>  
>  /* often used combination of rotational bits */
> -#define MALIDP_ROTATED_MASK	(DRM_ROTATE_90 | DRM_ROTATE_270)
> +#define MALIDP_ROTATED_MASK	(DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_270)
>  
>  #endif  /* __MALIDP_DRV_H__ */
> diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/malidp_planes.c
> index 814fda23cead..063a8d2b0be3 100644
> --- a/drivers/gpu/drm/arm/malidp_planes.c
> +++ b/drivers/gpu/drm/arm/malidp_planes.c
> @@ -80,7 +80,7 @@ static void malidp_plane_reset(struct drm_plane *plane)
>  	state = kzalloc(sizeof(*state), GFP_KERNEL);
>  	if (state) {
>  		state->base.plane = plane;
> -		state->base.rotation = DRM_ROTATE_0;
> +		state->base.rotation = DRM_MODE_ROTATE_0;
>  		plane->state = &state->base;
>  	}
>  }
> @@ -221,7 +221,7 @@ static int malidp_de_plane_check(struct drm_plane *plane,
>  		return ret;
>  
>  	/* packed RGB888 / BGR888 can't be rotated or flipped */
> -	if (state->rotation != DRM_ROTATE_0 &&
> +	if (state->rotation != DRM_MODE_ROTATE_0 &&
>  	    (fb->format->format == DRM_FORMAT_RGB888 ||
>  	     fb->format->format == DRM_FORMAT_BGR888))
>  		return -EINVAL;
> @@ -315,12 +315,12 @@ static void malidp_de_plane_update(struct drm_plane *plane,
>  	val &= ~LAYER_ROT_MASK;
>  
>  	/* setup the rotation and axis flip bits */
> -	if (plane->state->rotation & DRM_ROTATE_MASK)
> -		val |= ilog2(plane->state->rotation & DRM_ROTATE_MASK) <<
> +	if (plane->state->rotation & DRM_MODE_ROTATE_MASK)
> +		val |= ilog2(plane->state->rotation & DRM_MODE_ROTATE_MASK) <<
>  		       LAYER_ROT_OFFSET;
> -	if (plane->state->rotation & DRM_REFLECT_X)
> +	if (plane->state->rotation & DRM_MODE_REFLECT_X)
>  		val |= LAYER_H_FLIP;
> -	if (plane->state->rotation & DRM_REFLECT_Y)
> +	if (plane->state->rotation & DRM_MODE_REFLECT_Y)
>  		val |= LAYER_V_FLIP;
>  
>  	/*
> @@ -370,8 +370,8 @@ int malidp_de_planes_init(struct drm_device *drm)
>  	struct malidp_plane *plane = NULL;
>  	enum drm_plane_type plane_type;
>  	unsigned long crtcs = 1 << drm->mode_config.num_crtc;
> -	unsigned long flags = DRM_ROTATE_0 | DRM_ROTATE_90 | DRM_ROTATE_180 |
> -			      DRM_ROTATE_270 | DRM_REFLECT_X | DRM_REFLECT_Y;
> +	unsigned long flags = DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_180 |
> +			      DRM_MODE_ROTATE_270 | DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y;
>  	u32 *formats;
>  	int ret, i, j, n;
>  
> @@ -420,7 +420,7 @@ int malidp_de_planes_init(struct drm_device *drm)
>  			continue;
>  		}
>  
> -		drm_plane_create_rotation_property(&plane->base, DRM_ROTATE_0, flags);
> +		drm_plane_create_rotation_property(&plane->base, DRM_MODE_ROTATE_0, flags);
>  		malidp_hw_write(malidp->dev, MALIDP_ALPHA_LUT,
>  				plane->layer->base + MALIDP_LAYER_COMPOSE);
>  	}
> diff --git a/drivers/gpu/drm/armada/armada_overlay.c b/drivers/gpu/drm/armada/armada_overlay.c
> index 424e465ff407..e9a29df4b443 100644
> --- a/drivers/gpu/drm/armada/armada_overlay.c
> +++ b/drivers/gpu/drm/armada/armada_overlay.c
> @@ -125,7 +125,7 @@ armada_ovl_plane_update(struct drm_plane *plane, struct drm_crtc *crtc,
>  				 src_x, src_y, src_w, src_h);
>  
>  	ret = drm_plane_helper_check_update(plane, crtc, fb, &src, &dest, &clip,
> -					    DRM_ROTATE_0,
> +					    DRM_MODE_ROTATE_0,
>  					    0, INT_MAX, true, false, &visible);
>  	if (ret)
>  		return ret;
> diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> index 29cc10d053eb..1124200bb280 100644
> --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
> @@ -678,8 +678,8 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
>  		if (!state->bpp[i])
>  			return -EINVAL;
>  
> -		switch (state->base.rotation & DRM_ROTATE_MASK) {
> -		case DRM_ROTATE_90:
> +		switch (state->base.rotation & DRM_MODE_ROTATE_MASK) {
> +		case DRM_MODE_ROTATE_90:
>  			offset = ((y_offset + state->src_y + patched_src_w - 1) /
>  				  ydiv) * fb->pitches[i];
>  			offset += ((x_offset + state->src_x) / xdiv) *
> @@ -688,7 +688,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
>  					  fb->pitches[i];
>  			state->pstride[i] = -fb->pitches[i] - state->bpp[i];
>  			break;
> -		case DRM_ROTATE_180:
> +		case DRM_MODE_ROTATE_180:
>  			offset = ((y_offset + state->src_y + patched_src_h - 1) /
>  				  ydiv) * fb->pitches[i];
>  			offset += ((x_offset + state->src_x + patched_src_w - 1) /
> @@ -697,7 +697,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
>  					   state->bpp[i]) - fb->pitches[i];
>  			state->pstride[i] = -2 * state->bpp[i];
>  			break;
> -		case DRM_ROTATE_270:
> +		case DRM_MODE_ROTATE_270:
>  			offset = ((y_offset + state->src_y) / ydiv) *
>  				 fb->pitches[i];
>  			offset += ((x_offset + state->src_x + patched_src_h - 1) /
> @@ -707,7 +707,7 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_plane *p,
>  					  (2 * state->bpp[i]);
>  			state->pstride[i] = fb->pitches[i] - state->bpp[i];
>  			break;
> -		case DRM_ROTATE_0:
> +		case DRM_MODE_ROTATE_0:
>  		default:
>  			offset = ((y_offset + state->src_y) / ydiv) *
>  				 fb->pitches[i];
> @@ -864,11 +864,11 @@ static int atmel_hlcdc_plane_init_properties(struct atmel_hlcdc_plane *plane,
>  		int ret;
>  
>  		ret = drm_plane_create_rotation_property(&plane->base,
> -							 DRM_ROTATE_0,
> -							 DRM_ROTATE_0 |
> -							 DRM_ROTATE_90 |
> -							 DRM_ROTATE_180 |
> -							 DRM_ROTATE_270);
> +							 DRM_MODE_ROTATE_0,
> +							 DRM_MODE_ROTATE_0 |
> +							 DRM_MODE_ROTATE_90 |
> +							 DRM_MODE_ROTATE_180 |
> +							 DRM_MODE_ROTATE_270);
>  		if (ret)
>  			return ret;
>  	}
> diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c
> index f32506a7c1d6..f434d79de37e 100644
> --- a/drivers/gpu/drm/drm_atomic.c
> +++ b/drivers/gpu/drm/drm_atomic.c
> @@ -769,7 +769,7 @@ int drm_atomic_plane_set_property(struct drm_plane *plane,
>  	} else if (property == config->prop_src_h) {
>  		state->src_h = val;
>  	} else if (property == plane->rotation_property) {
> -		if (!is_power_of_2(val & DRM_ROTATE_MASK))
> +		if (!is_power_of_2(val & DRM_MODE_ROTATE_MASK))
>  			return -EINVAL;
>  		state->rotation = val;
>  	} else if (property == plane->zpos_property) {
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index 8be9719284b0..165baa9a37e1 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -3220,7 +3220,7 @@ void drm_atomic_helper_plane_reset(struct drm_plane *plane)
>  
>  	if (plane->state) {
>  		plane->state->plane = plane;
> -		plane->state->rotation = DRM_ROTATE_0;
> +		plane->state->rotation = DRM_MODE_ROTATE_0;
>  	}
>  }
>  EXPORT_SYMBOL(drm_atomic_helper_plane_reset);
> diff --git a/drivers/gpu/drm/drm_blend.c b/drivers/gpu/drm/drm_blend.c
> index a0d0d6843288..6202b13e4a4f 100644
> --- a/drivers/gpu/drm/drm_blend.c
> +++ b/drivers/gpu/drm/drm_blend.c
> @@ -119,15 +119,15 @@
>   * drm_property_create_bitmask()) called "rotation" and has the following
>   * bitmask enumaration values:
>   *
> - * DRM_ROTATE_0:
> + * DRM_MODE_ROTATE_0:
>   * 	"rotate-0"
> - * DRM_ROTATE_90:
> + * DRM_MODE_ROTATE_90:
>   * 	"rotate-90"
> - * DRM_ROTATE_180:
> + * DRM_MODE_ROTATE_180:
>   * 	"rotate-180"
> - * DRM_ROTATE_270:
> + * DRM_MODE_ROTATE_270:
>   * 	"rotate-270"
> - * DRM_REFLECT_X:
> + * DRM_MODE_REFLECT_X:
>   * 	"reflect-x"
>   * DRM_REFELCT_Y:
>   * 	"reflect-y"
> @@ -142,17 +142,17 @@ int drm_plane_create_rotation_property(struct drm_plane *plane,
>  				       unsigned int supported_rotations)
>  {
>  	static const struct drm_prop_enum_list props[] = {
> -		{ __builtin_ffs(DRM_ROTATE_0) - 1,   "rotate-0" },
> -		{ __builtin_ffs(DRM_ROTATE_90) - 1,  "rotate-90" },
> -		{ __builtin_ffs(DRM_ROTATE_180) - 1, "rotate-180" },
> -		{ __builtin_ffs(DRM_ROTATE_270) - 1, "rotate-270" },
> -		{ __builtin_ffs(DRM_REFLECT_X) - 1,  "reflect-x" },
> -		{ __builtin_ffs(DRM_REFLECT_Y) - 1,  "reflect-y" },
> +		{ __builtin_ffs(DRM_MODE_ROTATE_0) - 1,   "rotate-0" },
> +		{ __builtin_ffs(DRM_MODE_ROTATE_90) - 1,  "rotate-90" },
> +		{ __builtin_ffs(DRM_MODE_ROTATE_180) - 1, "rotate-180" },
> +		{ __builtin_ffs(DRM_MODE_ROTATE_270) - 1, "rotate-270" },
> +		{ __builtin_ffs(DRM_MODE_REFLECT_X) - 1,  "reflect-x" },
> +		{ __builtin_ffs(DRM_MODE_REFLECT_Y) - 1,  "reflect-y" },
>  	};
>  	struct drm_property *prop;
>  
> -	WARN_ON((supported_rotations & DRM_ROTATE_MASK) == 0);
> -	WARN_ON(!is_power_of_2(rotation & DRM_ROTATE_MASK));
> +	WARN_ON((supported_rotations & DRM_MODE_ROTATE_MASK) == 0);
> +	WARN_ON(!is_power_of_2(rotation & DRM_MODE_ROTATE_MASK));
>  	WARN_ON(rotation & ~supported_rotations);
>  
>  	prop = drm_property_create_bitmask(plane->dev, 0, "rotation",
> @@ -178,14 +178,14 @@ EXPORT_SYMBOL(drm_plane_create_rotation_property);
>   * @supported_rotations: Supported rotations
>   *
>   * Attempt to simplify the rotation to a form that is supported.
> - * Eg. if the hardware supports everything except DRM_REFLECT_X
> + * Eg. if the hardware supports everything except DRM_MODE_REFLECT_X
>   * one could call this function like this:
>   *
> - * drm_rotation_simplify(rotation, DRM_ROTATE_0 |
> - *                       DRM_ROTATE_90 | DRM_ROTATE_180 |
> - *                       DRM_ROTATE_270 | DRM_REFLECT_Y);
> + * drm_rotation_simplify(rotation, DRM_MODE_ROTATE_0 |
> + *                       DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_180 |
> + *                       DRM_MODE_ROTATE_270 | DRM_MODE_REFLECT_Y);
>   *
> - * to eliminate the DRM_ROTATE_X flag. Depending on what kind of
> + * to eliminate the DRM_MODE_ROTATE_X flag. Depending on what kind of
>   * transforms the hardware supports, this function may not
>   * be able to produce a supported transform, so the caller should
>   * check the result afterwards.
> @@ -194,9 +194,10 @@ unsigned int drm_rotation_simplify(unsigned int rotation,
>  				   unsigned int supported_rotations)
>  {
>  	if (rotation & ~supported_rotations) {
> -		rotation ^= DRM_REFLECT_X | DRM_REFLECT_Y;
> -		rotation = (rotation & DRM_REFLECT_MASK) |
> -		           BIT((ffs(rotation & DRM_ROTATE_MASK) + 1) % 4);
> +		rotation ^= DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y;
> +		rotation = (rotation & DRM_MODE_REFLECT_MASK) |
> +		           BIT((ffs(rotation & DRM_MODE_ROTATE_MASK) + 1)
> +		           % 4);
>  	}
>  
>  	return rotation;
> diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
> index 1f178b878e42..574af01d3ce9 100644
> --- a/drivers/gpu/drm/drm_fb_helper.c
> +++ b/drivers/gpu/drm/drm_fb_helper.c
> @@ -378,7 +378,7 @@ static int restore_fbdev_mode_atomic(struct drm_fb_helper *fb_helper)
>  			goto fail;
>  		}
>  
> -		plane_state->rotation = DRM_ROTATE_0;
> +		plane_state->rotation = DRM_MODE_ROTATE_0;
>  
>  		plane->old_fb = plane->fb;
>  		plane_mask |= 1 << drm_plane_index(plane);
> @@ -431,7 +431,7 @@ static int restore_fbdev_mode_legacy(struct drm_fb_helper *fb_helper)
>  		if (plane->rotation_property)
>  			drm_mode_plane_set_obj_prop(plane,
>  						    plane->rotation_property,
> -						    DRM_ROTATE_0);
> +						    DRM_MODE_ROTATE_0);
>  	}
>  
>  	for (i = 0; i < fb_helper->crtc_count; i++) {
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index b84a295230fc..ac1c514cad2c 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -336,7 +336,7 @@ int drm_primary_helper_update(struct drm_plane *plane, struct drm_crtc *crtc,
>  
>  	ret = drm_plane_helper_check_update(plane, crtc, fb,
>  					    &src, &dest, &clip,
> -					    DRM_ROTATE_0,
> +					    DRM_MODE_ROTATE_0,
>  					    DRM_PLANE_HELPER_NO_SCALING,
>  					    DRM_PLANE_HELPER_NO_SCALING,
>  					    false, false, &visible);
> diff --git a/drivers/gpu/drm/drm_rect.c b/drivers/gpu/drm/drm_rect.c
> index bc5575960ebc..9817c1445ba9 100644
> --- a/drivers/gpu/drm/drm_rect.c
> +++ b/drivers/gpu/drm/drm_rect.c
> @@ -310,38 +310,38 @@ void drm_rect_rotate(struct drm_rect *r,
>  {
>  	struct drm_rect tmp;
>  
> -	if (rotation & (DRM_REFLECT_X | DRM_REFLECT_Y)) {
> +	if (rotation & (DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y)) {
>  		tmp = *r;
>  
> -		if (rotation & DRM_REFLECT_X) {
> +		if (rotation & DRM_MODE_REFLECT_X) {
>  			r->x1 = width - tmp.x2;
>  			r->x2 = width - tmp.x1;
>  		}
>  
> -		if (rotation & DRM_REFLECT_Y) {
> +		if (rotation & DRM_MODE_REFLECT_Y) {
>  			r->y1 = height - tmp.y2;
>  			r->y2 = height - tmp.y1;
>  		}
>  	}
>  
> -	switch (rotation & DRM_ROTATE_MASK) {
> -	case DRM_ROTATE_0:
> +	switch (rotation & DRM_MODE_ROTATE_MASK) {
> +	case DRM_MODE_ROTATE_0:
>  		break;
> -	case DRM_ROTATE_90:
> +	case DRM_MODE_ROTATE_90:
>  		tmp = *r;
>  		r->x1 = tmp.y1;
>  		r->x2 = tmp.y2;
>  		r->y1 = width - tmp.x2;
>  		r->y2 = width - tmp.x1;
>  		break;
> -	case DRM_ROTATE_180:
> +	case DRM_MODE_ROTATE_180:
>  		tmp = *r;
>  		r->x1 = width - tmp.x2;
>  		r->x2 = width - tmp.x1;
>  		r->y1 = height - tmp.y2;
>  		r->y2 = height - tmp.y1;
>  		break;
> -	case DRM_ROTATE_270:
> +	case DRM_MODE_ROTATE_270:
>  		tmp = *r;
>  		r->x1 = height - tmp.y2;
>  		r->x2 = height - tmp.y1;
> @@ -373,8 +373,8 @@ EXPORT_SYMBOL(drm_rect_rotate);
>   * them when doing a rotatation and its inverse.
>   * That is, if you do ::
>   *
> - *     drm_rotate(&r, width, height, rotation);
> - *     drm_rotate_inv(&r, width, height, rotation);
> + *     DRM_MODE_PROP_ROTATE(&r, width, height, rotation);
> + *     DRM_MODE_ROTATE_inv(&r, width, height, rotation);
>   *
>   * you will always get back the original rectangle.
>   */
> @@ -384,24 +384,24 @@ void drm_rect_rotate_inv(struct drm_rect *r,
>  {
>  	struct drm_rect tmp;
>  
> -	switch (rotation & DRM_ROTATE_MASK) {
> -	case DRM_ROTATE_0:
> +	switch (rotation & DRM_MODE_ROTATE_MASK) {
> +	case DRM_MODE_ROTATE_0:
>  		break;
> -	case DRM_ROTATE_90:
> +	case DRM_MODE_ROTATE_90:
>  		tmp = *r;
>  		r->x1 = width - tmp.y2;
>  		r->x2 = width - tmp.y1;
>  		r->y1 = tmp.x1;
>  		r->y2 = tmp.x2;
>  		break;
> -	case DRM_ROTATE_180:
> +	case DRM_MODE_ROTATE_180:
>  		tmp = *r;
>  		r->x1 = width - tmp.x2;
>  		r->x2 = width - tmp.x1;
>  		r->y1 = height - tmp.y2;
>  		r->y2 = height - tmp.y1;
>  		break;
> -	case DRM_ROTATE_270:
> +	case DRM_MODE_ROTATE_270:
>  		tmp = *r;
>  		r->x1 = tmp.y1;
>  		r->x2 = tmp.y2;
> @@ -412,15 +412,15 @@ void drm_rect_rotate_inv(struct drm_rect *r,
>  		break;
>  	}
>  
> -	if (rotation & (DRM_REFLECT_X | DRM_REFLECT_Y)) {
> +	if (rotation & (DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y)) {
>  		tmp = *r;
>  
> -		if (rotation & DRM_REFLECT_X) {
> +		if (rotation & DRM_MODE_REFLECT_X) {
>  			r->x1 = width - tmp.x2;
>  			r->x2 = width - tmp.x1;
>  		}
>  
> -		if (rotation & DRM_REFLECT_Y) {
> +		if (rotation & DRM_MODE_REFLECT_Y) {
>  			r->y1 = height - tmp.y2;
>  			r->y2 = height - tmp.y1;
>  		}
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index d689e511744e..bf6d4498a94a 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -3095,17 +3095,17 @@ static const char *plane_rotation(unsigned int rotation)
>  {
>  	static char buf[48];
>  	/*
> -	 * According to doc only one DRM_ROTATE_ is allowed but this
> +	 * According to doc only one DRM_MODE_ROTATE_ is allowed but this
>  	 * will print them all to visualize if the values are misused
>  	 */
>  	snprintf(buf, sizeof(buf),
>  		 "%s%s%s%s%s%s(0x%08x)",
> -		 (rotation & DRM_ROTATE_0) ? "0 " : "",
> -		 (rotation & DRM_ROTATE_90) ? "90 " : "",
> -		 (rotation & DRM_ROTATE_180) ? "180 " : "",
> -		 (rotation & DRM_ROTATE_270) ? "270 " : "",
> -		 (rotation & DRM_REFLECT_X) ? "FLIPX " : "",
> -		 (rotation & DRM_REFLECT_Y) ? "FLIPY " : "",
> +		 (rotation & DRM_MODE_ROTATE_0) ? "0 " : "",
> +		 (rotation & DRM_MODE_ROTATE_90) ? "90 " : "",
> +		 (rotation & DRM_MODE_ROTATE_180) ? "180 " : "",
> +		 (rotation & DRM_MODE_ROTATE_270) ? "270 " : "",
> +		 (rotation & DRM_MODE_REFLECT_X) ? "FLIPX " : "",
> +		 (rotation & DRM_MODE_REFLECT_Y) ? "FLIPY " : "",
>  		 rotation);
>  
>  	return buf;
> diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
> index cfb47293fd53..a40c82c65450 100644
> --- a/drivers/gpu/drm/i915/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
> @@ -55,7 +55,7 @@ intel_create_plane_state(struct drm_plane *plane)
>  		return NULL;
>  
>  	state->base.plane = plane;
> -	state->base.rotation = DRM_ROTATE_0;
> +	state->base.rotation = DRM_MODE_ROTATE_0;
>  	state->ckey.flags = I915_SET_COLORKEY_NONE;
>  
>  	return state;
> @@ -178,8 +178,8 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
>  
>  	/* CHV ignores the mirror bit when the rotate bit is set :( */
>  	if (IS_CHERRYVIEW(dev_priv) &&
> -	    state->rotation & DRM_ROTATE_180 &&
> -	    state->rotation & DRM_REFLECT_X) {
> +	    state->rotation & DRM_MODE_ROTATE_180 &&
> +	    state->rotation & DRM_MODE_REFLECT_X) {
>  		DRM_DEBUG_KMS("Cannot rotate and reflect at the same time\n");
>  		return -EINVAL;
>  	}
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 3617927af269..016aa3f6e69a 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2468,7 +2468,7 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv,
>  
>  		offset = _intel_compute_tile_offset(dev_priv, &x, &y,
>  						    fb, i, fb->pitches[i],
> -						    DRM_ROTATE_0, tile_size);
> +						    DRM_MODE_ROTATE_0, tile_size);
>  		offset /= tile_size;
>  
>  		if (fb->modifier != DRM_FORMAT_MOD_LINEAR) {
> @@ -2503,7 +2503,7 @@ intel_fill_fb_info(struct drm_i915_private *dev_priv,
>  			drm_rect_rotate(&r,
>  					rot_info->plane[i].width * tile_width,
>  					rot_info->plane[i].height * tile_height,
> -					DRM_ROTATE_270);
> +					DRM_MODE_ROTATE_270);
>  			x = r.x1;
>  			y = r.y1;
>  
> @@ -2939,7 +2939,7 @@ int skl_check_plane_surface(struct intel_plane_state *plane_state)
>  	if (drm_rotation_90_or_270(rotation))
>  		drm_rect_rotate(&plane_state->base.src,
>  				fb->width << 16, fb->height << 16,
> -				DRM_ROTATE_270);
> +				DRM_MODE_ROTATE_270);
>  
>  	/*
>  	 * Handle the AUX surface first since
> @@ -3017,10 +3017,10 @@ static u32 i9xx_plane_ctl(const struct intel_crtc_state *crtc_state,
>  	    fb->modifier == I915_FORMAT_MOD_X_TILED)
>  		dspcntr |= DISPPLANE_TILED;
>  
> -	if (rotation & DRM_ROTATE_180)
> +	if (rotation & DRM_MODE_ROTATE_180)
>  		dspcntr |= DISPPLANE_ROTATE_180;
>  
> -	if (rotation & DRM_REFLECT_X)
> +	if (rotation & DRM_MODE_REFLECT_X)
>  		dspcntr |= DISPPLANE_MIRROR;
>  
>  	return dspcntr;
> @@ -3048,10 +3048,10 @@ int i9xx_check_plane_surface(struct intel_plane_state *plane_state)
>  		int src_w = drm_rect_width(&plane_state->base.src) >> 16;
>  		int src_h = drm_rect_height(&plane_state->base.src) >> 16;
>  
> -		if (rotation & DRM_ROTATE_180) {
> +		if (rotation & DRM_MODE_ROTATE_180) {
>  			src_x += src_w - 1;
>  			src_y += src_h - 1;
> -		} else if (rotation & DRM_REFLECT_X) {
> +		} else if (rotation & DRM_MODE_REFLECT_X) {
>  			src_x += src_w - 1;
>  		}
>  	}
> @@ -3271,17 +3271,17 @@ static u32 skl_plane_ctl_tiling(uint64_t fb_modifier)
>  static u32 skl_plane_ctl_rotation(unsigned int rotation)
>  {
>  	switch (rotation) {
> -	case DRM_ROTATE_0:
> +	case DRM_MODE_ROTATE_0:
>  		break;
>  	/*
> -	 * DRM_ROTATE_ is counter clockwise to stay compatible with Xrandr
> +	 * DRM_MODE_ROTATE_ is counter clockwise to stay compatible with Xrandr
>  	 * while i915 HW rotation is clockwise, thats why this swapping.
>  	 */
> -	case DRM_ROTATE_90:
> +	case DRM_MODE_ROTATE_90:
>  		return PLANE_CTL_ROTATE_270;
> -	case DRM_ROTATE_180:
> +	case DRM_MODE_ROTATE_180:
>  		return PLANE_CTL_ROTATE_180;
> -	case DRM_ROTATE_270:
> +	case DRM_MODE_ROTATE_270:
>  		return PLANE_CTL_ROTATE_90;
>  	default:
>  		MISSING_CASE(rotation);
> @@ -4671,7 +4671,7 @@ int skl_update_scaler_crtc(struct intel_crtc_state *state)
>  	const struct drm_display_mode *adjusted_mode = &state->base.adjusted_mode;
>  
>  	return skl_update_scaler(state, !state->base.active, SKL_CRTC_INDEX,
> -		&state->scaler_state.scaler_id, DRM_ROTATE_0,
> +		&state->scaler_state.scaler_id, DRM_MODE_ROTATE_0,
>  		state->pipe_src_w, state->pipe_src_h,
>  		adjusted_mode->crtc_hdisplay, adjusted_mode->crtc_vdisplay);
>  }
> @@ -9239,7 +9239,7 @@ static u32 i9xx_cursor_ctl(const struct intel_crtc_state *crtc_state,
>  		return 0;
>  	}
>  
> -	if (plane_state->base.rotation & DRM_ROTATE_180)
> +	if (plane_state->base.rotation & DRM_MODE_ROTATE_180)
>  		cntl |= CURSOR_ROTATE_180;
>  
>  	return cntl;
> @@ -9300,7 +9300,7 @@ static void intel_crtc_update_cursor(struct drm_crtc *crtc,
>  
>  		/* ILK+ do this automagically */
>  		if (HAS_GMCH_DISPLAY(dev_priv) &&
> -		    plane_state->base.rotation & DRM_ROTATE_180) {
> +		    plane_state->base.rotation & DRM_MODE_ROTATE_180) {
>  			base += (plane_state->base.crtc_h *
>  				 plane_state->base.crtc_w - 1) * 4;
>  		}
> @@ -13613,22 +13613,22 @@ intel_primary_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
>  
>  	if (INTEL_GEN(dev_priv) >= 9) {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_90 |
> -			DRM_ROTATE_180 | DRM_ROTATE_270;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 |
> +			DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270;
>  	} else if (IS_CHERRYVIEW(dev_priv) && pipe == PIPE_B) {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_180 |
> -			DRM_REFLECT_X;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180 |
> +			DRM_MODE_REFLECT_X;
>  	} else if (INTEL_GEN(dev_priv) >= 4) {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_180;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
>  	} else {
> -		supported_rotations = DRM_ROTATE_0;
> +		supported_rotations = DRM_MODE_ROTATE_0;
>  	}
>  
>  	if (INTEL_GEN(dev_priv) >= 4)
>  		drm_plane_create_rotation_property(&primary->base,
> -						   DRM_ROTATE_0,
> +						   DRM_MODE_ROTATE_0,
>  						   supported_rotations);
>  
>  	drm_plane_helper_add(&primary->base, &intel_plane_helper_funcs);
> @@ -13783,9 +13783,9 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, enum pipe pipe)
>  
>  	if (INTEL_GEN(dev_priv) >= 4)
>  		drm_plane_create_rotation_property(&cursor->base,
> -						   DRM_ROTATE_0,
> -						   DRM_ROTATE_0 |
> -						   DRM_ROTATE_180);
> +						   DRM_MODE_ROTATE_0,
> +						   DRM_MODE_ROTATE_0 |
> +						   DRM_MODE_ROTATE_180);
>  
>  	if (INTEL_GEN(dev_priv) >= 9)
>  		state->scaler_id = -1;
> diff --git a/drivers/gpu/drm/i915/intel_fbc.c b/drivers/gpu/drm/i915/intel_fbc.c
> index ded2add18b26..db7f8f0a1f36 100644
> --- a/drivers/gpu/drm/i915/intel_fbc.c
> +++ b/drivers/gpu/drm/i915/intel_fbc.c
> @@ -801,7 +801,7 @@ static bool intel_fbc_can_activate(struct intel_crtc *crtc)
>  		return false;
>  	}
>  	if (INTEL_GEN(dev_priv) <= 4 && !IS_G4X(dev_priv) &&
> -	    cache->plane.rotation != DRM_ROTATE_0) {
> +	    cache->plane.rotation != DRM_MODE_ROTATE_0) {
>  		fbc->no_fbc_reason = "rotation unsupported";
>  		return false;
>  	}
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index 332254a8eebe..03347c6ae599 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -211,7 +211,7 @@ static int intelfb_create(struct drm_fb_helper *helper,
>  	 * This also validates that any existing fb inherited from the
>  	 * BIOS is suitable for own access.
>  	 */
> -	vma = intel_pin_and_fence_fb_obj(&ifbdev->fb->base, DRM_ROTATE_0);
> +	vma = intel_pin_and_fence_fb_obj(&ifbdev->fb->base, DRM_MODE_ROTATE_0);
>  	if (IS_ERR(vma)) {
>  		ret = PTR_ERR(vma);
>  		goto out_unlock;
> diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
> index 8c87c717c7cd..191e14ddde0c 100644
> --- a/drivers/gpu/drm/i915/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/intel_sprite.c
> @@ -398,10 +398,10 @@ static u32 vlv_sprite_ctl(const struct intel_crtc_state *crtc_state,
>  	if (fb->modifier == I915_FORMAT_MOD_X_TILED)
>  		sprctl |= SP_TILED;
>  
> -	if (rotation & DRM_ROTATE_180)
> +	if (rotation & DRM_MODE_ROTATE_180)
>  		sprctl |= SP_ROTATE_180;
>  
> -	if (rotation & DRM_REFLECT_X)
> +	if (rotation & DRM_MODE_REFLECT_X)
>  		sprctl |= SP_MIRROR;
>  
>  	if (key->flags & I915_SET_COLORKEY_SOURCE)
> @@ -533,7 +533,7 @@ static u32 ivb_sprite_ctl(const struct intel_crtc_state *crtc_state,
>  	if (fb->modifier == I915_FORMAT_MOD_X_TILED)
>  		sprctl |= SPRITE_TILED;
>  
> -	if (rotation & DRM_ROTATE_180)
> +	if (rotation & DRM_MODE_ROTATE_180)
>  		sprctl |= SPRITE_ROTATE_180;
>  
>  	if (key->flags & I915_SET_COLORKEY_DESTINATION)
> @@ -674,7 +674,7 @@ static u32 ilk_sprite_ctl(const struct intel_crtc_state *crtc_state,
>  	if (fb->modifier == I915_FORMAT_MOD_X_TILED)
>  		dvscntr |= DVS_TILED;
>  
> -	if (rotation & DRM_ROTATE_180)
> +	if (rotation & DRM_MODE_ROTATE_180)
>  		dvscntr |= DVS_ROTATE_180;
>  
>  	if (key->flags & I915_SET_COLORKEY_DESTINATION)
> @@ -1145,15 +1145,15 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
>  
>  	if (INTEL_GEN(dev_priv) >= 9) {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_90 |
> -			DRM_ROTATE_180 | DRM_ROTATE_270;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 |
> +			DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270;
>  	} else if (IS_CHERRYVIEW(dev_priv) && pipe == PIPE_B) {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_180 |
> -			DRM_REFLECT_X;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180 |
> +			DRM_MODE_REFLECT_X;
>  	} else {
>  		supported_rotations =
> -			DRM_ROTATE_0 | DRM_ROTATE_180;
> +			DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_180;
>  	}
>  
>  	intel_plane->pipe = pipe;
> @@ -1180,7 +1180,7 @@ intel_sprite_plane_create(struct drm_i915_private *dev_priv,
>  		goto fail;
>  
>  	drm_plane_create_rotation_property(&intel_plane->base,
> -					   DRM_ROTATE_0,
> +					   DRM_MODE_ROTATE_0,
>  					   supported_rotations);
>  
>  	drm_plane_helper_add(&intel_plane->base, &intel_plane_helper_funcs);
> diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
> index d63e853a0300..49546222c6d3 100644
> --- a/drivers/gpu/drm/imx/ipuv3-plane.c
> +++ b/drivers/gpu/drm/imx/ipuv3-plane.c
> @@ -273,7 +273,7 @@ void ipu_plane_state_reset(struct drm_plane *plane)
>  
>  	if (ipu_state) {
>  		ipu_state->base.plane = plane;
> -		ipu_state->base.rotation = DRM_ROTATE_0;
> +		ipu_state->base.rotation = DRM_MODE_ROTATE_0;
>  	}
>  
>  	plane->state = &ipu_state->base;
> diff --git a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> index a38c5fe6cc19..5e7d9af4cba8 100644
> --- a/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> +++ b/drivers/gpu/drm/msm/mdp/mdp5/mdp5_plane.c
> @@ -67,11 +67,11 @@ static void mdp5_plane_install_rotation_property(struct drm_device *dev,
>  		struct drm_plane *plane)
>  {
>  	drm_plane_create_rotation_property(plane,
> -					   DRM_ROTATE_0,
> -					   DRM_ROTATE_0 |
> -					   DRM_ROTATE_180 |
> -					   DRM_REFLECT_X |
> -					   DRM_REFLECT_Y);
> +					   DRM_MODE_ROTATE_0,
> +					   DRM_MODE_ROTATE_0 |
> +					   DRM_MODE_ROTATE_180 |
> +					   DRM_MODE_REFLECT_X |
> +					   DRM_MODE_REFLECT_Y);
>  }
>  
>  /* helper to install properties which are common to planes and crtcs */
> @@ -369,14 +369,14 @@ static int mdp5_plane_atomic_check_with_state(struct drm_crtc_state *crtc_state,
>  			caps |= MDP_PIPE_CAP_SCALE;
>  
>  		rotation = drm_rotation_simplify(state->rotation,
> -						 DRM_ROTATE_0 |
> -						 DRM_REFLECT_X |
> -						 DRM_REFLECT_Y);
> +						 DRM_MODE_ROTATE_0 |
> +						 DRM_MODE_REFLECT_X |
> +						 DRM_MODE_REFLECT_Y);
>  
> -		if (rotation & DRM_REFLECT_X)
> +		if (rotation & DRM_MODE_REFLECT_X)
>  			caps |= MDP_PIPE_CAP_HFLIP;
>  
> -		if (rotation & DRM_REFLECT_Y)
> +		if (rotation & DRM_MODE_REFLECT_Y)
>  			caps |= MDP_PIPE_CAP_VFLIP;
>  
>  		if (plane->type == DRM_PLANE_TYPE_CURSOR)
> @@ -970,11 +970,11 @@ static int mdp5_plane_mode_set(struct drm_plane *plane,
>  	DBG("scale config = %x", config);
>  
>  	rotation = drm_rotation_simplify(pstate->rotation,
> -					 DRM_ROTATE_0 |
> -					 DRM_REFLECT_X |
> -					 DRM_REFLECT_Y);
> -	hflip = !!(rotation & DRM_REFLECT_X);
> -	vflip = !!(rotation & DRM_REFLECT_Y);
> +					 DRM_MODE_ROTATE_0 |
> +					 DRM_MODE_REFLECT_X |
> +					 DRM_MODE_REFLECT_Y);
> +	hflip = !!(rotation & DRM_MODE_REFLECT_X);
> +	vflip = !!(rotation & DRM_MODE_REFLECT_Y);
>  
>  	spin_lock_irqsave(&mdp5_plane->pipe_lock, flags);
>  
> diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
> index a7663249b3ba..9303daa79aba 100644
> --- a/drivers/gpu/drm/nouveau/nv50_display.c
> +++ b/drivers/gpu/drm/nouveau/nv50_display.c
> @@ -1033,7 +1033,7 @@ nv50_wndw_reset(struct drm_plane *plane)
>  		plane->funcs->atomic_destroy_state(plane, plane->state);
>  	plane->state = &asyw->state;
>  	plane->state->plane = plane;
> -	plane->state->rotation = DRM_ROTATE_0;
> +	plane->state->rotation = DRM_MODE_ROTATE_0;
>  }
>  
>  static void
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
> index e1f47f0b3ccf..663e930a7b0f 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -577,7 +577,7 @@ static void dev_lastclose(struct drm_device *dev)
>  
>  		drm_object_property_set_value(&crtc->base,
>  					      crtc->primary->rotation_property,
> -					      DRM_ROTATE_0);
> +					      DRM_MODE_ROTATE_0);
>  	}
>  
>  	for (i = 0; i < priv->num_planes; i++) {
> @@ -588,7 +588,7 @@ static void dev_lastclose(struct drm_device *dev)
>  
>  		drm_object_property_set_value(&plane->base,
>  					      plane->rotation_property,
> -					      DRM_ROTATE_0);
> +					      DRM_MODE_ROTATE_0);
>  	}
>  
>  	if (priv->fbdev) {
> diff --git a/drivers/gpu/drm/omapdrm/omap_fb.c b/drivers/gpu/drm/omapdrm/omap_fb.c
> index 29dc677dd4d3..5ca0537bb427 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fb.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fb.c
> @@ -167,30 +167,30 @@ void omap_framebuffer_update_scanout(struct drm_framebuffer *fb,
>  		uint32_t w = win->src_w;
>  		uint32_t h = win->src_h;
>  
> -		switch (win->rotation & DRM_ROTATE_MASK) {
> +		switch (win->rotation & DRM_MODE_ROTATE_MASK) {
>  		default:
>  			dev_err(fb->dev->dev, "invalid rotation: %02x",
>  					(uint32_t)win->rotation);
>  			/* fallthru to default to no rotation */
>  		case 0:
> -		case DRM_ROTATE_0:
> +		case DRM_MODE_ROTATE_0:
>  			orient = 0;
>  			break;
> -		case DRM_ROTATE_90:
> +		case DRM_MODE_ROTATE_90:
>  			orient = MASK_XY_FLIP | MASK_X_INVERT;
>  			break;
> -		case DRM_ROTATE_180:
> +		case DRM_MODE_ROTATE_180:
>  			orient = MASK_X_INVERT | MASK_Y_INVERT;
>  			break;
> -		case DRM_ROTATE_270:
> +		case DRM_MODE_ROTATE_270:
>  			orient = MASK_XY_FLIP | MASK_Y_INVERT;
>  			break;
>  		}
>  
> -		if (win->rotation & DRM_REFLECT_X)
> +		if (win->rotation & DRM_MODE_REFLECT_X)
>  			orient ^= MASK_X_INVERT;
>  
> -		if (win->rotation & DRM_REFLECT_Y)
> +		if (win->rotation & DRM_MODE_REFLECT_Y)
>  			orient ^= MASK_Y_INVERT;
>  
>  		/* adjust x,y offset for flip/invert: */
> @@ -205,9 +205,9 @@ void omap_framebuffer_update_scanout(struct drm_framebuffer *fb,
>  		info->rotation_type = OMAP_DSS_ROT_TILER;
>  		info->screen_width  = omap_gem_tiled_stride(plane->bo, orient);
>  	} else {
> -		switch (win->rotation & DRM_ROTATE_MASK) {
> +		switch (win->rotation & DRM_MODE_ROTATE_MASK) {
>  		case 0:
> -		case DRM_ROTATE_0:
> +		case DRM_MODE_ROTATE_0:
>  			/* OK */
>  			break;
>  
> diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm/omap_plane.c
> index 9168154d749e..d3d6818c68f8 100644
> --- a/drivers/gpu/drm/omapdrm/omap_plane.c
> +++ b/drivers/gpu/drm/omapdrm/omap_plane.c
> @@ -141,7 +141,7 @@ static void omap_plane_atomic_disable(struct drm_plane *plane,
>  	struct omap_plane_state *omap_state = to_omap_plane_state(plane->state);
>  	struct omap_plane *omap_plane = to_omap_plane(plane);
>  
> -	plane->state->rotation = DRM_ROTATE_0;
> +	plane->state->rotation = DRM_MODE_ROTATE_0;
>  	omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
>  			   ? 0 : omap_plane->id;
>  
> @@ -177,7 +177,7 @@ static int omap_plane_atomic_check(struct drm_plane *plane,
>  	if (state->crtc_y + state->crtc_h > crtc_state->adjusted_mode.vdisplay)
>  		return -EINVAL;
>  
> -	if (state->rotation != DRM_ROTATE_0 &&
> +	if (state->rotation != DRM_MODE_ROTATE_0 &&
>  	    !omap_framebuffer_supports_rotation(state->fb))
>  		return -EINVAL;
>  
> @@ -213,15 +213,15 @@ void omap_plane_install_properties(struct drm_plane *plane,
>  	if (priv->has_dmm) {
>  		if (!plane->rotation_property)
>  			drm_plane_create_rotation_property(plane,
> -							   DRM_ROTATE_0,
> -							   DRM_ROTATE_0 | DRM_ROTATE_90 |
> -							   DRM_ROTATE_180 | DRM_ROTATE_270 |
> -							   DRM_REFLECT_X | DRM_REFLECT_Y);
> +							   DRM_MODE_ROTATE_0,
> +							   DRM_MODE_ROTATE_0 | DRM_MODE_ROTATE_90 |
> +							   DRM_MODE_ROTATE_180 | DRM_MODE_ROTATE_270 |
> +							   DRM_MODE_REFLECT_X | DRM_MODE_REFLECT_Y);
>  
>  		/* Attach the rotation property also to the crtc object */
>  		if (plane->rotation_property && obj != &plane->base)
>  			drm_object_attach_property(obj, plane->rotation_property,
> -						   DRM_ROTATE_0);
> +						   DRM_MODE_ROTATE_0);
>  	}
>  
>  	drm_object_attach_property(obj, priv->zorder_prop, 0);
> @@ -273,7 +273,7 @@ static void omap_plane_reset(struct drm_plane *plane)
>  	 */
>  	omap_state->zorder = plane->type == DRM_PLANE_TYPE_PRIMARY
>  			   ? 0 : omap_plane->id;
> -	omap_state->base.rotation = DRM_ROTATE_0;
> +	omap_state->base.rotation = DRM_MODE_ROTATE_0;
>  
>  	plane->state = &omap_state->base;
>  	plane->state->plane = plane;
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> index ef9f3a2a4030..a8876b070168 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> @@ -566,7 +566,7 @@ int vmw_du_primary_plane_atomic_check(struct drm_plane *plane,
>  
>  	ret = drm_plane_helper_check_update(plane, state->crtc, new_fb,
>  					    &src, &dest, &clip,
> -					    DRM_ROTATE_0,
> +					    DRM_MODE_ROTATE_0,
>  					    DRM_PLANE_HELPER_NO_SCALING,
>  					    DRM_PLANE_HELPER_NO_SCALING,
>  					    false, true, &visible);
> @@ -845,7 +845,7 @@ void vmw_du_plane_reset(struct drm_plane *plane)
>  
>  	plane->state = &vps->base;
>  	plane->state->plane = plane;
> -	plane->state->rotation = DRM_ROTATE_0;
> +	plane->state->rotation = DRM_MODE_ROTATE_0;
>  }
>  
>  
> diff --git a/include/drm/drm_blend.h b/include/drm/drm_blend.h
> index 13221cf9b3eb..340383810a37 100644
> --- a/include/drm/drm_blend.h
> +++ b/include/drm/drm_blend.h
> @@ -25,31 +25,14 @@
>  
>  #include <linux/list.h>
>  #include <linux/ctype.h>
> +#include <drm/drm_mode.h>
>  
>  struct drm_device;
>  struct drm_atomic_state;
>  
> -/*
> - * Rotation property bits. DRM_ROTATE_<degrees> rotates the image by the
> - * specified amount in degrees in counter clockwise direction. DRM_REFLECT_X and
> - * DRM_REFLECT_Y reflects the image along the specified axis prior to rotation
> - *
> - * WARNING: These defines are UABI since they're exposed in the rotation
> - * property.
> - */
> -#define DRM_ROTATE_0	BIT(0)
> -#define DRM_ROTATE_90	BIT(1)
> -#define DRM_ROTATE_180	BIT(2)
> -#define DRM_ROTATE_270	BIT(3)
> -#define DRM_ROTATE_MASK (DRM_ROTATE_0   | DRM_ROTATE_90 | \
> -			 DRM_ROTATE_180 | DRM_ROTATE_270)
> -#define DRM_REFLECT_X	BIT(4)
> -#define DRM_REFLECT_Y	BIT(5)
> -#define DRM_REFLECT_MASK (DRM_REFLECT_X | DRM_REFLECT_Y)
> -
>  static inline bool drm_rotation_90_or_270(unsigned int rotation)
>  {
> -	return rotation & (DRM_ROTATE_90 | DRM_ROTATE_270);
> +	return rotation & (DRM_MODE_ROTATE_90 | DRM_MODE_ROTATE_270);
>  }
>  
>  int drm_plane_create_rotation_property(struct drm_plane *plane,
> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
> index 8c67fc03d53d..f630fd16e1a6 100644
> --- a/include/uapi/drm/drm_mode.h
> +++ b/include/uapi/drm/drm_mode.h
> @@ -75,7 +75,7 @@ extern "C" {
>    * (define not exposed to user space).
>    */
>  #define DRM_MODE_FLAG_3D_MASK			(0x1f<<14)
> -#define  DRM_MODE_FLAG_3D_NONE			(0<<14)
> +#define  DRM_MODE_FLAG_3D_NONE		(0<<14)
>  #define  DRM_MODE_FLAG_3D_FRAME_PACKING		(1<<14)
>  #define  DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE	(2<<14)
>  #define  DRM_MODE_FLAG_3D_LINE_ALTERNATIVE	(3<<14)
> @@ -127,6 +127,53 @@ extern "C" {
>  #define DRM_MODE_LINK_STATUS_GOOD	0
>  #define DRM_MODE_LINK_STATUS_BAD	1
>  
> +/*
> + * DRM_MODE_ROTATE_<degrees>
> + *
> + * Signals that a drm plane has been rotated <degrees> degrees in counter
> + * clockwise direction.
> + *
> + * This define is provided as a convenience, looking up the property id
> + * using the name->prop id lookup is the preferred method.
> + */
> +#define DRM_MODE_ROTATE_0       (1<<0)
> +#define DRM_MODE_ROTATE_90      (1<<1)
> +#define DRM_MODE_ROTATE_180     (1<<2)
> +#define DRM_MODE_ROTATE_270     (1<<3)
> +
> +/*
> + * DRM_MODE_ROTATE_MASK
> + *
> + * Bitmask used to look for drm plane rotations.
> + */
> +#define DRM_MODE_ROTATE_MASK (\
> +		DRM_MODE_ROTATE_0  | \
> +		DRM_MODE_ROTATE_90  | \
> +		DRM_MODE_ROTATE_180 | \
> +		DRM_MODE_ROTATE_270)
> +
> +/*
> + * DRM_MODE_REFLECT_<axis>
> + *
> + * Signals that the contents of a drm plane has been reflected in
> + * the <axis> axis.
> + *
> + * This define is provided as a convenience, looking up the property id
> + * using the name->prop id lookup is the preferred method.
> + */
> +#define DRM_MODE_REFLECT_X      (1<<4)
> +#define DRM_MODE_REFLECT_Y      (1<<5)
> +
> +/*
> + * DRM_MODE_REFLECT_MASK
> + *
> + * Bitmask used to look for drm plane reflections.
> + */
> +#define DRM_MODE_REFLECT_MASK (\
> +		DRM_MODE_REFLECT_X | \
> +		DRM_MODE_REFLECT_Y)
> +
> +
>  struct drm_mode_modeinfo {
>  	__u32 clock;
>  	__u16 hdisplay;
> -- 
> 2.11.0.453.g787f75f05
> 


More information about the dri-devel mailing list