OSDN Git Service

drm/i915: Use pipe_src_w in overlay code
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 7 Dec 2016 17:28:07 +0000 (19:28 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 22 Dec 2016 19:30:31 +0000 (21:30 +0200)
Replace the use of crtc->mode.h/vdisplay with the more appropriate
config->pipe_src_w/h.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1481131693-27993-6-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/intel_overlay.c

index a618511..615ac3c 100644 (file)
@@ -938,12 +938,13 @@ static void update_pfit_vscale_ratio(struct intel_overlay *overlay)
 static int check_overlay_dst(struct intel_overlay *overlay,
                             struct drm_intel_overlay_put_image *rec)
 {
-       struct drm_display_mode *mode = &overlay->crtc->base.mode;
+       const struct intel_crtc_state *pipe_config =
+               overlay->crtc->config;
 
-       if (rec->dst_x < mode->hdisplay &&
-           rec->dst_x + rec->dst_width <= mode->hdisplay &&
-           rec->dst_y < mode->vdisplay &&
-           rec->dst_y + rec->dst_height <= mode->vdisplay)
+       if (rec->dst_x < pipe_config->pipe_src_w &&
+           rec->dst_x + rec->dst_width <= pipe_config->pipe_src_w &&
+           rec->dst_y < pipe_config->pipe_src_h &&
+           rec->dst_y + rec->dst_height <= pipe_config->pipe_src_h)
                return 0;
        else
                return -EINVAL;
@@ -1163,7 +1164,6 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
                goto out_unlock;
 
        if (overlay->crtc != crtc) {
-               struct drm_display_mode *mode = &crtc->base.mode;
                ret = intel_overlay_switch_off(overlay);
                if (ret != 0)
                        goto out_unlock;
@@ -1176,7 +1176,7 @@ int intel_overlay_put_image_ioctl(struct drm_device *dev, void *data,
                crtc->overlay = overlay;
 
                /* line too wide, i.e. one-line-mode */
-               if (mode->hdisplay > 1024 &&
+               if (crtc->config->pipe_src_w > 1024 &&
                    intel_panel_fitter_pipe(dev_priv) == crtc->pipe) {
                        overlay->pfit_active = true;
                        update_pfit_vscale_ratio(overlay);