On Fri, Feb 17, 2017 at 07:58:59AM +0000, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <[email protected]>
> 
> Use the "*batch++ = " style as in the ring emission for better
> readability and also simplify the logic a bit by consolidating
> the offset and size calculations and overflow checking. The
> latter is a programming error so it is not required to check
> for it after each write to the object, but rather do it once the
> whole state has been written and fail the driver if something
> went wrong.
> 
> v2: Rebase.
> 
> v3: Keep track of offsets and sizes in bytes for simplicity
>     and rename function pointer variable to _fn suffix.
>     (Chris Wilson)
> 
> v4: Fix size calc broken in v3 and add alignment warning. (Chris Wilson)
> 
> v5: Fix return code.
> 
> v6: I added an exit from loop in v5 but forgot to put back
>     the object teardown.
> 
> Signed-off-by: Tvrtko Ursulin <[email protected]>
> Reviewed-by: Chris Wilson <[email protected]> (v5)
> Cc: Chris Wilson <[email protected]>

> +     /*
> +      * Emit the two workaround batch buffers, recording the offset from the
> +      * start of the workaround batch buffer object for each and their
> +      * respective sizes.
> +      */
> +     for (i = 0; i < ARRAY_SIZE(wa_bb_fn); i++) {
> +             wa_bb[i]->offset = batch_ptr - batch;
> +             if (WARN_ON(!IS_ALIGNED(wa_bb[i]->offset, CACHELINE_BYTES))) {
> +                     ret = -EINVAL;
> +                     break;
> +             }
> +             batch_ptr = wa_bb_fn[i](engine, batch_ptr);
> +             wa_bb[i]->size = batch_ptr - (batch + wa_bb[i]->offset);
>       }
>  
> -out:
> +     BUG_ON(batch_ptr - batch > CTX_WA_BB_OBJ_SIZE);

Ok, I didn't spot it last time, so hopefully not missing anything this
time!
Reviewed-by: Chris Wilson <[email protected]>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to