On Thu, Mar 05, 2015 at 02:51:27PM +0530, Sonika Jindal wrote: > For primary plane, we can use the plane's state for src width and height > like sprite plane. > > Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> > --- > drivers/gpu/drm/i915/intel_display.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index e1b0c4d..afdc101 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -3001,6 +3001,7 @@ static void skylake_update_primary_plane(struct drm_crtc *crtc, I think longer-term we need to switch this callback over to the plane callbacks and stop passing drm_crtc around. But this is a step into the right direction at least. -Daniel > int pipe = intel_crtc->pipe; > u32 plane_ctl, stride_div; > unsigned long surf_addr; > + struct drm_plane *plane; > > if (!intel_crtc->primary_enabled) { > I915_WRITE(PLANE_CTL(pipe, 0), 0); > @@ -3060,14 +3061,15 @@ static void skylake_update_primary_plane(struct drm_crtc *crtc, > MISSING_CASE(fb->modifier[0]); > } > > + plane = crtc->primary; > plane_ctl |= PLANE_CTL_PLANE_GAMMA_DISABLE; > - if (crtc->primary->state->rotation == BIT(DRM_ROTATE_180)) > + if (plane->state->rotation == BIT(DRM_ROTATE_180)) > plane_ctl |= PLANE_CTL_ROTATE_180; > > obj = intel_fb_obj(fb); > stride_div = intel_fb_stride_alignment(dev, fb->modifier[0], > fb->pixel_format); > - surf_addr = intel_plane_obj_offset(to_intel_plane(crtc->primary), obj); > + surf_addr = intel_plane_obj_offset(to_intel_plane(plane), obj); > > I915_WRITE(PLANE_CTL(pipe, 0), plane_ctl); > > @@ -3079,8 +3081,8 @@ static void skylake_update_primary_plane(struct drm_crtc *crtc, > I915_WRITE(PLANE_POS(pipe, 0), 0); > I915_WRITE(PLANE_OFFSET(pipe, 0), (y << 16) | x); > I915_WRITE(PLANE_SIZE(pipe, 0), > - (intel_crtc->config->pipe_src_h - 1) << 16 | > - (intel_crtc->config->pipe_src_w - 1)); > + ((plane->state->src_h >> 16) - 1) << 16 | > + ((plane->state->src_w >> 16) - 1)); > I915_WRITE(PLANE_STRIDE(pipe, 0), fb->pitches[0] / stride_div); > I915_WRITE(PLANE_SURF(pipe, 0), surf_addr); > > -- > 1.7.10.4 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx