OSDN Git Service

drm/rcar-du: Use drm_mode_get_hv_timing() to populate plane clip rectangle
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 23 Jan 2018 17:08:53 +0000 (19:08 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 2 Feb 2018 14:50:28 +0000 (16:50 +0200)
Use drm_mode_get_hv_timing() to fill out the plane clip rectangle.

No functional changes as the code already uses crtc_state->mode
to populate the clip, which is also what drm_mode_get_hv_timing()
uses.

Once everyone agrees on this we can move the clip handling into
drm_atomic_helper_check_plane_state().

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180123170857.13818-1-ville.syrjala@linux.intel.com
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
drivers/gpu/drm/rcar-du/rcar_du_plane.c

index 4a3d16c..5687a94 100644 (file)
@@ -572,7 +572,7 @@ int __rcar_du_plane_atomic_check(struct drm_plane *plane,
 {
        struct drm_device *dev = plane->dev;
        struct drm_crtc_state *crtc_state;
-       struct drm_rect clip;
+       struct drm_rect clip = {};
        int ret;
 
        if (!state->crtc) {
@@ -589,10 +589,9 @@ int __rcar_du_plane_atomic_check(struct drm_plane *plane,
        if (IS_ERR(crtc_state))
                return PTR_ERR(crtc_state);
 
-       clip.x1 = 0;
-       clip.y1 = 0;
-       clip.x2 = crtc_state->mode.hdisplay;
-       clip.y2 = crtc_state->mode.vdisplay;
+       if (crtc_state->enable)
+               drm_mode_get_hv_timing(&crtc_state->mode,
+                                      &clip.x2, &clip.y2);
 
        ret = drm_atomic_helper_check_plane_state(state, crtc_state, &clip,
                                                  DRM_PLANE_HELPER_NO_SCALING,