diff options
author | Sidath Senanayake <sidaths@google.com> | 2020-10-27 11:38:49 +0000 |
---|---|---|
committer | Sidath Senanayake <sidaths@google.com> | 2020-10-27 11:38:49 +0000 |
commit | 72f2457ff7355ff0389efe5bc9cec3365362d8c4 (patch) | |
tree | 8f5fb993bd2a8eb181c880b180b6401b46f76620 /mali_kbase/mali_kbase_fence_ops.c | |
parent | d4ca6eb7268ee2db9deabd1745b505c6e1c162f9 (diff) | |
download | gpu-72f2457ff7355ff0389efe5bc9cec3365362d8c4.tar.gz |
Mali Valhall DDK r27p0 KMD
Provenance:
7e6f74ec1 (collaborate/EAC/v_r27p0)
VX504X08X-BU-00000-r27p0-01eac0 - Android DDK
VX504X08X-SW-99006-r27p0-01eac0 - Android Renderscript AOSP parts
VX504X08X-BU-60000-r27p0-01eac0 - Android Document Bundle
VX504X08X-DC-11001-r27p0-01eac0 - Valhall Android DDK Software Errata
Signed-off-by: Sidath Senanayake <sidaths@google.com>
Change-Id: Ib59de731b034cc7e2631e35f1b0063b8f6894ecc
Diffstat (limited to 'mali_kbase/mali_kbase_fence_ops.c')
-rw-r--r-- | mali_kbase/mali_kbase_fence_ops.c | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/mali_kbase/mali_kbase_fence_ops.c b/mali_kbase/mali_kbase_fence_ops.c new file mode 100644 index 0000000..c470374 --- /dev/null +++ b/mali_kbase/mali_kbase_fence_ops.c @@ -0,0 +1,84 @@ +/* + * + * (C) COPYRIGHT 2020 ARM Limited. All rights reserved. + * + * This program is free software and is provided to you under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation, and any use by you of this program is subject to the terms + * of such GNU licence. + * + * 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. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, you can access it online at + * http://www.gnu.org/licenses/gpl-2.0.html. + * + * SPDX-License-Identifier: GPL-2.0 + * + */ + +#include <linux/atomic.h> +#include <linux/list.h> +#include <mali_kbase_fence_defs.h> +#include <mali_kbase.h> + +static const char * +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) +kbase_fence_get_driver_name(struct fence *fence) +#else +kbase_fence_get_driver_name(struct dma_fence *fence) +#endif +{ + return kbase_drv_name; +} + +static const char * +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) +kbase_fence_get_timeline_name(struct fence *fence) +#else +kbase_fence_get_timeline_name(struct dma_fence *fence) +#endif +{ + return kbase_timeline_name; +} + +static bool +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) +kbase_fence_enable_signaling(struct fence *fence) +#else +kbase_fence_enable_signaling(struct dma_fence *fence) +#endif +{ + return true; +} + +static void +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) +kbase_fence_fence_value_str(struct fence *fence, char *str, int size) +#else +kbase_fence_fence_value_str(struct dma_fence *fence, char *str, int size) +#endif +{ +#if (KERNEL_VERSION(5, 1, 0) > LINUX_VERSION_CODE) + snprintf(str, size, "%u", fence->seqno); +#else + snprintf(str, size, "%llu", fence->seqno); +#endif +} + +#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)) +const struct fence_ops kbase_fence_ops = { + .wait = fence_default_wait, +#else +const struct dma_fence_ops kbase_fence_ops = { + .wait = dma_fence_default_wait, +#endif + .get_driver_name = kbase_fence_get_driver_name, + .get_timeline_name = kbase_fence_get_timeline_name, + .enable_signaling = kbase_fence_enable_signaling, + .fence_value_str = kbase_fence_fence_value_str +}; + |