// SPDX-License-Identifier: GPL-2.0-only /* * Tegra host1x Syncpoints * * Copyright (c) 2010-2013, NVIDIA Corporation. */ #include <linux/io.h> #include "../dev.h" #include "../syncpt.h" /* * Write the current syncpoint value back to hw. */ static void syncpt_restore(struct host1x_syncpt *sp) { … } /* * Write the current waitbase value back to hw. */ static void syncpt_restore_wait_base(struct host1x_syncpt *sp) { … } /* * Read waitbase value from hw. */ static void syncpt_read_wait_base(struct host1x_syncpt *sp) { … } /* * Updates the last value read from hardware. */ static u32 syncpt_load(struct host1x_syncpt *sp) { … } /* * Write a cpu syncpoint increment to the hardware, without touching * the cache. */ static int syncpt_cpu_incr(struct host1x_syncpt *sp) { … } /** * syncpt_assign_to_channel() - Assign syncpoint to channel * @sp: syncpoint * @ch: channel * * On chips with the syncpoint protection feature (Tegra186+), assign @sp to * @ch, preventing other channels from incrementing the syncpoints. If @ch is * NULL, unassigns the syncpoint. * * On older chips, do nothing. */ static void syncpt_assign_to_channel(struct host1x_syncpt *sp, struct host1x_channel *ch) { … } /** * syncpt_enable_protection() - Enable syncpoint protection * @host: host1x instance * * On chips with the syncpoint protection feature (Tegra186+), enable this * feature. On older chips, do nothing. */ static void syncpt_enable_protection(struct host1x *host) { … } static const struct host1x_syncpt_ops host1x_syncpt_ops = …;