Signed-off-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Sean Paul <seanpaul at chromium.org>
---
 drivers/gpu/drm/drm_plane_helper.c   | 11 ++---------
 drivers/gpu/drm/i915/intel_display.c | 10 ++--------
 drivers/gpu/drm/i915/intel_sprite.c  | 11 ++---------
 include/drm/drm_plane.h              | 23 +++++++++++++++++++++++
 4 files changed, 29 insertions(+), 26 deletions(-)

diff --git a/drivers/gpu/drm/drm_plane_helper.c 
b/drivers/gpu/drm/drm_plane_helper.c
index 7899fc1..7a7dddf 100644
--- a/drivers/gpu/drm/drm_plane_helper.c
+++ b/drivers/gpu/drm/drm_plane_helper.c
@@ -130,15 +130,8 @@ int drm_plane_helper_check_state(struct drm_plane_state 
*state,
        unsigned int rotation = state->rotation;
        int hscale, vscale;

-       src->x1 = state->src_x;
-       src->y1 = state->src_y;
-       src->x2 = state->src_x + state->src_w;
-       src->y2 = state->src_y + state->src_h;
-
-       dst->x1 = state->crtc_x;
-       dst->y1 = state->crtc_y;
-       dst->x2 = state->crtc_x + state->crtc_w;
-       dst->y2 = state->crtc_y + state->crtc_h;
+       *src = drm_plane_state_src(state);
+       *dst = drm_plane_state_dest(state);

        if (!fb) {
                state->visible = false;
diff --git a/drivers/gpu/drm/i915/intel_display.c 
b/drivers/gpu/drm/i915/intel_display.c
index fbcfed6..a15083d 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2817,14 +2817,8 @@ intel_find_initial_plane_obj(struct intel_crtc 
*intel_crtc,
        plane_state->crtc_w = fb->width;
        plane_state->crtc_h = fb->height;

-       intel_state->base.src.x1 = plane_state->src_x;
-       intel_state->base.src.y1 = plane_state->src_y;
-       intel_state->base.src.x2 = plane_state->src_x + plane_state->src_w;
-       intel_state->base.src.y2 = plane_state->src_y + plane_state->src_h;
-       intel_state->base.dst.x1 = plane_state->crtc_x;
-       intel_state->base.dst.y1 = plane_state->crtc_y;
-       intel_state->base.dst.x2 = plane_state->crtc_x + plane_state->crtc_w;
-       intel_state->base.dst.y2 = plane_state->crtc_y + plane_state->crtc_h;
+       intel_state->base.src = drm_plane_state_src(plane_state);
+       intel_state->base.dst = drm_plane_state_dest(plane_state);

        obj = intel_fb_obj(fb);
        if (i915_gem_object_is_tiled(obj))
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index 73a521f..8231ca4 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -769,15 +769,8 @@ intel_check_sprite_plane(struct drm_plane *plane,
        bool can_scale;
        int ret;

-       src->x1 = state->base.src_x;
-       src->y1 = state->base.src_y;
-       src->x2 = state->base.src_x + state->base.src_w;
-       src->y2 = state->base.src_y + state->base.src_h;
-
-       dst->x1 = state->base.crtc_x;
-       dst->y1 = state->base.crtc_y;
-       dst->x2 = state->base.crtc_x + state->base.crtc_w;
-       dst->y2 = state->base.crtc_y + state->base.crtc_h;
+       *src = drm_plane_state_src(&state->base);
+       *dst = drm_plane_state_dest(&state->base);

        if (!fb) {
                state->base.visible = false;
diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
index 43cf193..baba331 100644
--- a/include/drm/drm_plane.h
+++ b/include/drm/drm_plane.h
@@ -88,6 +88,29 @@ struct drm_plane_state {
        struct drm_atomic_state *state;
 };

+static inline struct drm_rect
+drm_plane_state_src(const struct drm_plane_state *state)
+{
+       struct drm_rect src = {
+               .x1 = state->src_x,
+               .y1 = state->src_y,
+               .x2 = state->src_x + state->src_w,
+               .y2 = state->src_y + state->src_h,
+       };
+       return src;
+}
+
+static inline struct drm_rect
+drm_plane_state_dest(const struct drm_plane_state *state)
+{
+       struct drm_rect dest = {
+               .x1 = state->crtc_x,
+               .y1 = state->crtc_y,
+               .x2 = state->crtc_x + state->crtc_w,
+               .y2 = state->crtc_y + state->crtc_h,
+       };
+       return dest;
+}

 /**
  * struct drm_plane_funcs - driver plane control functions
-- 
2.7.4

Reply via email to