On Wed, Oct 14, 2015 at 04:51:05PM +0200, Daniel Vetter wrote: > We don't need 2 separate unions. > > Note that this was done intentinoally > > Author: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> > Date: Wed May 6 14:35:38 2015 +0300 > > drm/i915: Add a partial GGTT view type > > on Tvrtko's request, but without a clear justification. Rotated views > are also not checking for matching paramters in i915_ggtt_view_equal, > which seems like a bug. But this patch here doesn't change that. > > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 4 ++-- > drivers/gpu/drm/i915/i915_gem_gtt.h | 5 +---- > drivers/gpu/drm/i915/intel_display.c | 4 ++-- > 3 files changed, 5 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index bead61e0de1b..15dfefd58d08 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -3283,7 +3283,7 @@ static struct sg_table * > intel_rotate_fb_obj_pages(struct i915_ggtt_view *ggtt_view, > struct drm_i915_gem_object *obj) > { > - struct intel_rotation_info *rot_info = &ggtt_view->rotation_info; > + struct intel_rotation_info *rot_info = &ggtt_view->params.rotation_info; > unsigned int size_pages = rot_info->size >> PAGE_SHIFT; > unsigned int size_pages_uv; > struct sg_page_iter sg_iter; > @@ -3515,7 +3515,7 @@ i915_ggtt_view_size(struct drm_i915_gem_object *obj, > if (view->type == I915_GGTT_VIEW_NORMAL) { > return obj->base.size; > } else if (view->type == I915_GGTT_VIEW_ROTATED) { > - return view->rotation_info.size; > + return view->params.rotation_info.size; > } else if (view->type == I915_GGTT_VIEW_PARTIAL) { > return view->params.partial.size << PAGE_SHIFT; > } else { > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.h b/drivers/gpu/drm/i915/i915_gem_gtt.h > index 9fbb07d6eaad..2e1f6493c9e7 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.h > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.h > @@ -156,13 +156,10 @@ struct i915_ggtt_view { > u64 offset; > unsigned int size; > } partial; > + struct intel_rotation_info rotation_info; > } params; > > struct sg_table *pages; > - > - union { > - struct intel_rotation_info rotation_info; > - }; So, I basically just sent the same patch, except I made the union anonymous, and I renamed 'rotation_info' to 'rotated' to match the type. > }; > > extern const struct i915_ggtt_view i915_ggtt_view_normal; > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 2c9d822b29b6..57459fedf216 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -2247,7 +2247,7 @@ static void > intel_fill_fb_ggtt_view(struct i915_ggtt_view *view, struct drm_framebuffer *fb, > const struct drm_plane_state *plane_state) > { > - struct intel_rotation_info *info = &view->rotation_info; > + struct intel_rotation_info *info = &view->params.rotation_info; > unsigned int tile_height, tile_pitch; > > *view = i915_ggtt_view_normal; > @@ -2909,7 +2909,7 @@ unsigned long intel_plane_obj_offset(struct intel_plane *intel_plane, > offset = (unsigned char *)vma->node.start; > > if (plane == 1) { > - offset += vma->ggtt_view.rotation_info.uv_start_page * > + offset += vma->ggtt_view.params.rotation_info.uv_start_page * > PAGE_SIZE; > } > > -- > 2.5.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx