summaryrefslogtreecommitdiffstats
path: root/gcbv/mirror/include/gcx.h
diff options
context:
space:
mode:
authorCraig Stout <craig.stout@ti.com>2012-06-14 11:10:30 -0700
committerCraig Stout <craig.stout@ti.com>2012-06-14 20:08:19 -0700
commit8b1254def8dfc3d843bc22acc3c66295d42d1718 (patch)
tree2f706e0dddf53a979b344b91242436d25c24fc47 /gcbv/mirror/include/gcx.h
parent6878136fd3840c22571cf5d1925d2b2a769dace6 (diff)
downloadhardware_ti_omap4-8b1254def8dfc3d843bc22acc3c66295d42d1718.zip
hardware_ti_omap4-8b1254def8dfc3d843bc22acc3c66295d42d1718.tar.gz
hardware_ti_omap4-8b1254def8dfc3d843bc22acc3c66295d42d1718.tar.bz2
bltsville: userspace gc320 implementation.
Change-Id: Ifcb693466f6d3b5cb2232a1cccdf07cfa97bb0c5 Signed-off-by: Craig Stout <craig.stout@ti.com>
Diffstat (limited to 'gcbv/mirror/include/gcx.h')
-rw-r--r--gcbv/mirror/include/gcx.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/gcbv/mirror/include/gcx.h b/gcbv/mirror/include/gcx.h
new file mode 100644
index 0000000..431c3c5
--- /dev/null
+++ b/gcbv/mirror/include/gcx.h
@@ -0,0 +1,100 @@
+/*
+ * This file is provided under a dual BSD/GPLv2 license. When using or
+ * redistributing this file, you may do so under either license.
+ *
+ * GPL LICENSE SUMMARY
+ *
+ * Copyright(c) 2012,
+ * Texas Instruments, Inc. and Vivante Corporation.
+ *
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions 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.
+ *
+ * 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 St - Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * The full GNU General Public License is included in this distribution in
+ * the file called "COPYING".
+ *
+ * BSD LICENSE
+ *
+ * Copyright(c) 2012,
+ * Texas Instruments, Inc. and Vivante Corporation.
+ *
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ * * Neither the name of Vivante Corporation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef GCX_H
+#define GCX_H
+
+#include <pthread.h>
+#include "gcerror.h"
+#include "gcreg.h"
+#include "gcdbglog.h"
+
+#ifndef countof
+#define countof(a) \
+ (sizeof(a) / sizeof(a[0]))
+#endif
+
+#define GCLOCK_TYPE \
+ pthread_mutex_t
+
+#define GCDEFINE_LOCK(name) \
+ pthread_mutex_t name = PTHREAD_MUTEX_INITIALIZER
+
+#define GCLOCK_INIT(lock) \
+ if (pthread_mutex_init(lock, NULL)) { \
+ GCERR("failed to init mutex.\n"); \
+ }
+
+#define GCLOCK_DESTROY(lock) \
+ if (pthread_mutex_destroy(lock)) { \
+ GCERR("failed to destroy mutex.\n"); \
+ }
+
+#define GCLOCK(lock) \
+ if (pthread_mutex_lock(lock)) { \
+ GCERR("failed to lock mutex.\n"); \
+ }
+
+#define GCUNLOCK(lock) \
+ if (pthread_mutex_unlock(lock)) { \
+ GCERR("failed to unlock mutex.\n"); \
+ }
+
+#endif