blob: 299078c8f193135cdb5d7ba5fcb686326ea388b1 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (c) 2021 MediaTek Inc.
*/
#ifndef __KREE_SYS_IPC__
#define __KREE_SYS_IPC__
#include <linux/types.h>
#include "tz_cross/trustzone.h"
#include "tz_cross/ree_service.h"
/* Mutex
*/
int KREE_ServMutexCreate(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServMutexDestroy(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServMutexLock(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServMutexUnlock(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServMutexTrylock(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServMutexIslock(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
/* Semaphore
*/
int KREE_ServSemaphoreCreate(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreDestroy(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreDown(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreDownInterruptible(u32 op,
u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreDownTimeout(u32 op,
u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreDowntrylock(u32 op,
u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServSemaphoreUp(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
#if 0
/* wait queue
*/
int KREE_ServWaitqCreate(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServWaitqDestroy(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServWaitqWaitevent(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServWaitqWaiteventTimeout(u32 op,
u8 param[REE_SERVICE_BUFFER_SIZE]);
int KREE_ServWaitqWakeup(u32 op, u8 param[REE_SERVICE_BUFFER_SIZE]);
#endif
#endif /* __KREE_SYS_IPC__ */