Message ID | 1435053882-27849-3-git-send-email-tvrtko.ursulin@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jun 23, 2015 at 11:04:42AM +0100, Tvrtko Ursulin wrote: > From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > > Currently object size is returned for the rotated VMA size which can be > bigger than the rotated view itself. Since the binding code pads all > excess size with scratch pages the only minor issue with this is wasting > some GGTT space, but still feels nicer to fix and report the real size. > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > --- > drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 43472c4..8e7cd22 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -2898,9 +2898,10 @@ size_t > i915_ggtt_view_size(struct drm_i915_gem_object *obj, > const struct i915_ggtt_view *view) > { > - if (view->type == I915_GGTT_VIEW_NORMAL || > - view->type == I915_GGTT_VIEW_ROTATED) { > + if (view->type == I915_GGTT_VIEW_NORMAL) { > return obj->base.size; > + } else if (view->type == I915_GGTT_VIEW_ROTATED) { > + return view->rotation_info.pages << PAGE_SHIFT; Time to change that variable name. pages is already used in both the vma and obj to represent the struct sg_table, not the count. -Chris
On 06/23/2015 11:29 AM, Chris Wilson wrote: > On Tue, Jun 23, 2015 at 11:04:42AM +0100, Tvrtko Ursulin wrote: >> From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> >> Currently object size is returned for the rotated VMA size which can be >> bigger than the rotated view itself. Since the binding code pads all >> excess size with scratch pages the only minor issue with this is wasting >> some GGTT space, but still feels nicer to fix and report the real size. >> >> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> >> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> >> --- >> drivers/gpu/drm/i915/i915_gem_gtt.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c >> index 43472c4..8e7cd22 100644 >> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c >> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c >> @@ -2898,9 +2898,10 @@ size_t >> i915_ggtt_view_size(struct drm_i915_gem_object *obj, >> const struct i915_ggtt_view *view) >> { >> - if (view->type == I915_GGTT_VIEW_NORMAL || >> - view->type == I915_GGTT_VIEW_ROTATED) { >> + if (view->type == I915_GGTT_VIEW_NORMAL) { >> return obj->base.size; >> + } else if (view->type == I915_GGTT_VIEW_ROTATED) { >> + return view->rotation_info.pages << PAGE_SHIFT; > > Time to change that variable name. pages is already used in both the vma > and obj to represent the struct sg_table, not the count. Changed to "size_t size" as per IRC discussion and resent the series. Thought that will be cleaner since two of of three patches are now v2. Regards, Tvrtko
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c index 43472c4..8e7cd22 100644 --- a/drivers/gpu/drm/i915/i915_gem_gtt.c +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c @@ -2898,9 +2898,10 @@ size_t i915_ggtt_view_size(struct drm_i915_gem_object *obj, const struct i915_ggtt_view *view) { - if (view->type == I915_GGTT_VIEW_NORMAL || - view->type == I915_GGTT_VIEW_ROTATED) { + if (view->type == I915_GGTT_VIEW_NORMAL) { return obj->base.size; + } else if (view->type == I915_GGTT_VIEW_ROTATED) { + return view->rotation_info.pages << PAGE_SHIFT; } else if (view->type == I915_GGTT_VIEW_PARTIAL) { return view->params.partial.size << PAGE_SHIFT; } else {