summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/include/mach/arb_sema.h
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2010-10-15 22:42:14 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:36:49 -0800
commitdc5d224993e210b6821abc0a380ae0ad2046391d (patch)
treeee0f77cc9916a94d05d0681685728a4ab5538c0a /arch/arm/mach-tegra/include/mach/arb_sema.h
parent3205d6ae5e92224e6d64e53fc1de5a22d143aea2 (diff)
ARM: tegra: hardware arbitration semaphore support
add apis to use the hardware arbitration semaphores in order to share hardware modules between kernel drivers and AVP firmware (e.g., the BSEA (audio bitstream) engine and AES block) Change-Id: I500ef0797223bc702151ad14e0e2156f50644a2a Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/include/mach/arb_sema.h')
-rw-r--r--arch/arm/mach-tegra/include/mach/arb_sema.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/mach/arb_sema.h b/arch/arm/mach-tegra/include/mach/arb_sema.h
new file mode 100644
index 000000000000..374c5a913700
--- /dev/null
+++ b/arch/arm/mach-tegra/include/mach/arb_sema.h
@@ -0,0 +1,34 @@
+/*
+ * arch/arm/mach-tegra/include/mach/arb_sema.h
+ *
+ * Hardware arbitration semaphore interface
+ *
+ * Copyright (c) 2010, NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __MACH_TEGRA_ARB_SEMA_H
+#define __MACH_TEGRA_ARB_SEMA_H
+
+enum tegra_arb_module {
+ TEGRA_ARB_AES = 0,
+};
+
+int tegra_arb_mutex_lock_timeout(enum tegra_arb_module lock, int msecs);
+
+int tegra_arb_mutex_unlock(enum tegra_arb_module lock);
+
+#endif