On Fri, 20 Jan 2017, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: > The sgt iterators cause an > > drivers/gpu/drm/i915/i915_gpu_error.c:846 i915_error_object_create() warn: statement has no effect 7 > > everywhere they are used. If we change the code slightly, we can achieve > the same increment without altering the output or raising a warning. I've never liked using logical OR short circuiting for assignments like this anyway, so I think this is an improvement no matter what. Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> > > text data bss dec hex filename > 1267906 20587 3168 1291661 13b58d before > 1267906 20587 3168 1291661 13b58d after > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 1b340eb0db19..ebe2f6c737f7 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -2620,8 +2620,8 @@ static inline struct scatterlist *__sg_next(struct scatterlist *sg) > #define for_each_sgt_dma(__dmap, __iter, __sgt) \ > for ((__iter) = __sgt_iter((__sgt)->sgl, true); \ > ((__dmap) = (__iter).dma + (__iter).curr); \ > - (((__iter).curr += PAGE_SIZE) < (__iter).max) || \ > - ((__iter) = __sgt_iter(__sg_next((__iter).sgp), true), 0)) > + (((__iter).curr += PAGE_SIZE) >= (__iter).max) ? \ > + (__iter) = __sgt_iter(__sg_next((__iter).sgp), true), 0 : 0) > > /** > * for_each_sgt_page - iterate over the pages of the given sg_table > @@ -2633,8 +2633,8 @@ static inline struct scatterlist *__sg_next(struct scatterlist *sg) > for ((__iter) = __sgt_iter((__sgt)->sgl, false); \ > ((__pp) = (__iter).pfn == 0 ? NULL : \ > pfn_to_page((__iter).pfn + ((__iter).curr >> PAGE_SHIFT))); \ > - (((__iter).curr += PAGE_SIZE) < (__iter).max) || \ > - ((__iter) = __sgt_iter(__sg_next((__iter).sgp), false), 0)) > + (((__iter).curr += PAGE_SIZE) >= (__iter).max) ? \ > + (__iter) = __sgt_iter(__sg_next((__iter).sgp), false), 0 : 0) > > static inline const struct intel_device_info * > intel_info(const struct drm_i915_private *dev_priv) -- Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx