Re: [PATCH v4 2/2] drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI

From: Daniel Vetter
Date: Mon May 22 2017 - 05:11:54 EST


On Mon, May 22, 2017 at 09:51:22AM +0200, Daniel Vetter wrote:
> On Fri, May 19, 2017 at 04:50:17PM -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@xxxxxxxxxxxxx>
> > Reviewed-by: Emil Velikov <emil.velikov@xxxxxxxxxxxxx>
> > Reviewed-by: Sinclair Yeh <syeh@xxxxxxxxxx>
> > Acked-by: Liviu Dudau <Liviu.Dudau@xxxxxxx>
> > ---
> > Changes since v3:
> > - Switched away from past tense in comments
> > - Add define name change to previously mis-spelled DRM_REFLECT_X comment
> > - Improved the comment for the DRM_MODE_REFLECT_<axis> comment
> >
> > 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
>
> I know everyone else is different, but I like to keep these in the commit
> message (even better when they're annotated with the names of reviewers
> who made the suggestion). So added it to the commit.
>
> Anyway applied, thanks.

Ok, this turns into a mess because drm-intel isn't in sync and oh the fun.
But I guess I'll survive :-)
-Daniel

> -Daniel
>
> >
> > 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 | 45 +++++++++++-----------
> > 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, 202 insertions(+), 171 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 dee67ef6c670..db6aeec50b82 100644
> > --- a/drivers/gpu/drm/drm_blend.c
> > +++ b/drivers/gpu/drm/drm_blend.c
> > @@ -119,17 +119,17 @@
> > * 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_REFLECT_Y:
> > + * DRM_MODE_REFLECT_Y:
> > * "reflect-y"
> > *
> > * Rotation is the specified amount in degrees in counter clockwise direction,
> > @@ -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..403339f98a92 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 is 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 is reflected in the <axis> axis,
> > + * in the same way as mirroring.
> > + *
> > + * 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
> >
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch