On Fri, Mar 17, 2017 at 11:17:59PM +0200, ville.syrjala@xxxxxxxxxxxxxxx wrote: > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > Pull the code to calculate the IVB-BDW sprite control register value > into a separate function. Allows us to pre-compute it in the future. > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > +static void > +ivb_update_plane(struct drm_plane *plane, > + const struct intel_crtc_state *crtc_state, > + const struct intel_plane_state *plane_state) > +{ > + struct drm_device *dev = plane->dev; > + struct drm_i915_private *dev_priv = to_i915(dev); > + struct intel_plane *intel_plane = to_intel_plane(plane); > + struct drm_framebuffer *fb = plane_state->base.fb; > + enum pipe pipe = intel_plane->pipe; > + u32 sprctl, sprscale = 0; > + u32 sprsurf_offset, linear_offset; > + unsigned int rotation = plane_state->base.rotation; > + const struct drm_intel_sprite_colorkey *key = &plane_state->ckey; > + int crtc_x = plane_state->base.dst.x1; > + int crtc_y = plane_state->base.dst.y1; > + uint32_t crtc_w = drm_rect_width(&plane_state->base.dst); > + uint32_t crtc_h = drm_rect_height(&plane_state->base.dst); > + uint32_t x = plane_state->base.src.x1 >> 16; > + uint32_t y = plane_state->base.src.y1 >> 16; > + uint32_t src_w = drm_rect_width(&plane_state->base.src) >> 16; > + uint32_t src_h = drm_rect_height(&plane_state->base.src) >> 16; struct crtc_rectangle { int x, y; u32 w, h; } crtc_r = crtc_rectangle(plane_state); struct source_rectangle { int x, y; u32 w, h; } src_r = source_rectangle(plane_state); c_rect / s_rect? crtc_rect / src_rect. Just idly mentioning the large blocks of repeated code. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx