[Intel-gfx] [PATCH v1 1/2] drm/i915: Contain the WA_REG macro
Daniel Vetter
daniel at ffwll.ch
Fri Aug 14 01:51:21 PDT 2015
On Wed, Aug 12, 2015 at 04:40:03PM +0100, Dave Gordon wrote:
> On 11/08/15 15:44, Arun Siluvery wrote:
> >From: Mika Kuoppala <mika.kuoppala at intel.com>
> >
> >Prevent leaking the if scoping by containing the WA_REG
> >macro inside its own scope.
> >
> >Reported-by: Arun Siluvery <arun.siluvery at linux.intel.com>
> >Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
> >---
> > drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >index 1c14233..cf61262 100644
> >--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >@@ -780,11 +780,11 @@ static int wa_add(struct drm_i915_private *dev_priv,
> > return 0;
> > }
> >
> >-#define WA_REG(addr, mask, val) { \
> >+#define WA_REG(addr, mask, val) do { \
> > const int r = wa_add(dev_priv, (addr), (mask), (val)); \
> > if (r) \
> > return r; \
> >- }
> >+ } while(0)
> >
> > #define WA_SET_BIT_MASKED(addr, mask) \
> > WA_REG(addr, (mask), _MASKED_BIT_ENABLE(mask))
>
> On the one hand, yes, this definitely needs the do-while wrapper.
>
> OTOH, hiding a conditional 'return' inside a macro is an abomination :( At
> least it's only local to this file ...
>
> So, on the grounds that this makes it more correct if no less ugly:
>
> Reviewed-by: Dave Gordon <david.s.gordon at intel.com>
Queued for -next, thanks for the patch. And I fixed the checkpatch ERROR,
tsk ;-)
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list