/* * fence-array: aggregates fence to be waited together * * Copyright (C) 2016 Collabora Ltd * Copyright (C) 2016 Advanced Micro Devices, Inc. * Authors: * Gustavo Padovan <gustavo@padovan.org> * Christian König <christian.koenig@amd.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. */ #ifndef __LINUX_DMA_FENCE_ARRAY_H #define __LINUX_DMA_FENCE_ARRAY_H #include <linux/dma-fence.h> /** * struct dma_fence_array_cb - callback helper for fence array * @cb: fence callback structure for signaling * @array: reference to the parent fence array object */ struct dma_fence_array_cb { struct dma_fence_cb cb; struct dma_fence_array *array; }; /** * struct dma_fence_array - fence to represent an array of fences * @base: fence base class * @lock: spinlock for fence handling * @num_fences: number of fences in the array * @num_pending: fences in the array still pending * @fences: array of the fences */ struct dma_fence_array { struct dma_fence base; spinlock_t lock; unsigned num_fences; atomic_t num_pending; struct dma_fence **fences; }; extern const struct dma_fence_ops dma_fence_array_ops; /** * dma_fence_is_array - check if a fence is from the array subsclass * @fence: fence to test * * Return true if it is a dma_fence_array and false otherwise. */
static inline bool dma_fence_is_array(struct dma_fence *fence) { return fence->ops == &dma_fence_array_ops; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Gustavo Fernando Padovan | 17 | 85.00% | 1 | 50.00% |
Chris Wilson | 3 | 15.00% | 1 | 50.00% |
Total | 20 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Gustavo Fernando Padovan | 32 | 86.49% | 1 | 50.00% |
Chris Wilson | 5 | 13.51% | 1 | 50.00% |
Total | 37 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Gustavo Fernando Padovan | 112 | 78.87% | 2 | 50.00% |
Chris Wilson | 27 | 19.01% | 1 | 25.00% |
Christian König | 3 | 2.11% | 1 | 25.00% |
Total | 142 | 100.00% | 4 | 100.00% |