Hi Philipp, thanks for the patch! On 17 March 2017 at 22:04, Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> wrote: > Add a helper to check if all fences in a fence array are from a given > context. For convenience, the function can also handle being given a > non-array fence. > > Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > --- Looks good to me, please feel free to add my Acked-by: Sumit Semwal <sumit.semwal@xxxxxxxxxx> > drivers/dma-buf/dma-fence-array.c | 26 ++++++++++++++++++++++++++ > include/linux/dma-fence-array.h | 2 ++ > 2 files changed, 28 insertions(+) > > diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c > index 67eb7c8fb88c3..0350829ba62e7 100644 > --- a/drivers/dma-buf/dma-fence-array.c > +++ b/drivers/dma-buf/dma-fence-array.c > @@ -144,3 +144,29 @@ struct dma_fence_array *dma_fence_array_create(int num_fences, > return array; > } > EXPORT_SYMBOL(dma_fence_array_create); > + > +/** > + * dma_fence_match_context - Check if all fences are from the given context > + * @fence: [in] fence or fence array > + * @context: [in] fence context to check all fences against > + * > + * Checks the provided fence or, for a fence array, all fences in the array > + * against the given context. Returns false if any fence is from a different > + * context. > + */ > +bool dma_fence_match_context(struct dma_fence *fence, u64 context) > +{ > + struct dma_fence_array *array = to_dma_fence_array(fence); > + unsigned i; > + > + if (!dma_fence_is_array(fence)) > + return fence->context == context; > + > + for (i = 0; i < array->num_fences; i++) { > + if (array->fences[i]->context != context) > + return false; > + } > + > + return true; > +} > +EXPORT_SYMBOL(dma_fence_match_context); > diff --git a/include/linux/dma-fence-array.h b/include/linux/dma-fence-array.h > index 5900945f962dd..332a5420243c4 100644 > --- a/include/linux/dma-fence-array.h > +++ b/include/linux/dma-fence-array.h > @@ -83,4 +83,6 @@ struct dma_fence_array *dma_fence_array_create(int num_fences, > u64 context, unsigned seqno, > bool signal_on_any); > > +bool dma_fence_match_context(struct dma_fence *fence, u64 context); > + > #endif /* __LINUX_DMA_FENCE_ARRAY_H */ > -- > 2.11.0 > Best, Sumit. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel