summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2012-10-18 14:44:43 +0100
committerRussell King <rmk@arm.linux.org.uk>2012-10-20 22:04:36 +0100
commitee42d1797b8bfb431323edb002a15b1871ccc208 (patch)
treeee2a29be89cb8501af2b07de07bad5ec7bcd71fe
parentf9f36a385093a97030cfebd362983311b741100f (diff)
More formatting cleanups
-rw-r--r--vmeta_lib.c342
1 files changed, 159 insertions, 183 deletions
diff --git a/vmeta_lib.c b/vmeta_lib.c
index 0026877..d357fac 100644
--- a/vmeta_lib.c
+++ b/vmeta_lib.c
@@ -78,7 +78,7 @@ static inline int clear_bit(int nr, unsigned int *addr)
old = *addr;
*addr = old & ~mask;
-
+
return (old & mask) != 0;
}
@@ -134,13 +134,13 @@ UNSG32 vdec_os_api_get_va(UNSG32 paddr)
void vdec_os_api_vfree(void *ptr)
{
- unsigned int offset;
- unsigned int *paddr;
+ unsigned int offset;
+ unsigned int *paddr;
- paddr = ptr;
- offset = *(paddr - 1);
- paddr = (unsigned int *)((unsigned int)paddr - offset);
- free(paddr);
+ paddr = ptr;
+ offset = *(paddr - 1);
+ paddr = (unsigned int *)((unsigned int)paddr - offset);
+ free(paddr);
}
void *vdec_os_api_vmalloc(UNSG32 size, UNSG32 align)
@@ -208,61 +208,61 @@ void * vdec_os_api_dma_alloc(UNSG32 size, UNSG32 align, UNSG32 * pPhysical)
void * vdec_os_api_dma_alloc_cached(UNSG32 size, UNSG32 align, UNSG32 * pPhysical)
{
- unsigned int *ptr;
- unsigned int tmp;
+ unsigned int *ptr;
+ unsigned int tmp;
- if(size <= 0)
- return NULL;
+ if(size <= 0)
+ return NULL;
- dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached -> size: 0x%x\n", size);
+ dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached -> size: 0x%x\n", size);
align = ALIGN(align, sizeof(int));
- size += align;
- ptr = bmm_malloc(size, BMM_ATTR_DEFAULT);
- if (!ptr) {
- dbg_printf(VDEC_DEBUG_MEM,"\tno enough memory\n");
- return NULL;
- }
-
- tmp = (unsigned int)((unsigned int)(ptr) & (align - 1));
- tmp = (unsigned int)(align - tmp);
- ptr = (unsigned int *)((unsigned int)ptr + tmp);
- *(ptr - 1) = tmp;
-
- *pPhysical = (unsigned long)bmm_get_paddr(ptr);
-
- dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached ptr: 0x%x\n", ptr);
-
- return ptr;
+ size += align;
+ ptr = bmm_malloc(size, BMM_ATTR_DEFAULT);
+ if (!ptr) {
+ dbg_printf(VDEC_DEBUG_MEM,"\tno enough memory\n");
+ return NULL;
+ }
+
+ tmp = (unsigned int)((unsigned int)(ptr) & (align - 1));
+ tmp = (unsigned int)(align - tmp);
+ ptr = (unsigned int *)((unsigned int)ptr + tmp);
+ *(ptr - 1) = tmp;
+
+ *pPhysical = (unsigned long)bmm_get_paddr(ptr);
+
+ dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached ptr: 0x%x\n", ptr);
+
+ return ptr;
}
void * vdec_os_api_dma_alloc_writecombine(UNSG32 size, UNSG32 align, UNSG32 * pPhysical)
{
- unsigned int *ptr;
- unsigned int tmp;
+ unsigned int *ptr;
+ unsigned int tmp;
- if(size <= 0)
- return NULL;
+ if(size <= 0)
+ return NULL;
- dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached -> size: 0x%x\n", size);
+ dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_cached -> size: 0x%x\n", size);
align = ALIGN(align, sizeof(int));
- size += align;
- ptr = bmm_malloc(size, BMM_ATTR_WRITECOMBINE);
- if (!ptr) {
- dbg_printf(VDEC_DEBUG_MEM, "\tno enough memory\n");
- return NULL;
- }
- tmp = (unsigned int)((unsigned int)(ptr) & (align - 1));
- tmp = (unsigned int)(align - tmp);
- ptr = (unsigned int *)((unsigned int)ptr + tmp);
- *(ptr - 1) = tmp;
-
- *pPhysical = (unsigned long)bmm_get_paddr(ptr);
-
- dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_writecombine ptr: 0x%x\n", ptr);
-
- return ptr;
+ size += align;
+ ptr = bmm_malloc(size, BMM_ATTR_WRITECOMBINE);
+ if (!ptr) {
+ dbg_printf(VDEC_DEBUG_MEM, "\tno enough memory\n");
+ return NULL;
+ }
+ tmp = (unsigned int)((unsigned int)(ptr) & (align - 1));
+ tmp = (unsigned int)(align - tmp);
+ ptr = (unsigned int *)((unsigned int)ptr + tmp);
+ *(ptr - 1) = tmp;
+
+ *pPhysical = (unsigned long)bmm_get_paddr(ptr);
+
+ dbg_printf(VDEC_DEBUG_MEM, "vdec_os_api_dma_alloc_writecombine ptr: 0x%x\n", ptr);
+
+ return ptr;
}
UNSG32 vdec_os_api_flush_cache(UNSG32 vaddr, UNSG32 size, enum dma_data_direction direction)
@@ -320,7 +320,7 @@ SIGN32 vdec_os_api_sync_event()
{
struct pollfd ufds;
int result = 0;
-
+
ufds.fd = vdec_iface->uiofd;
ufds.events = POLLIN;
@@ -601,7 +601,7 @@ static int dbg_printf(UNSG32 dbglevel, const char* format, ...) {
return -1;
}
#endif
-
+
if(VDEC_DEBUG_NONE == globalDbgLevel)
goto DBG_EXIT;
else {
@@ -661,7 +661,7 @@ SIGN32 vdec_os_api_get_hw_obj_addr(UNSG32* vaddr,UNSG32 size)
*vaddr = (UNSG32)addr;
vdec_iface->vdec_obj_va = addr;
vdec_iface->vdec_obj_size = size;
-
+
get_vdec_obj_fail:
return ret;
}
@@ -686,8 +686,7 @@ SIGN32 vdec_os_api_get_hw_context_addr(UNSG32* paddr, UNSG32* vaddr, UNSG32 size
vdec_iface->hw_context_pa = phys;
dbg_printf(VDEC_DEBUG_MEM, "UIO_IO_HW_CONTEXT: 0x%08x\n", *paddr);
-
-
+
get_hw_context_fail:
return ret;
}
@@ -713,7 +712,7 @@ SIGN32 vdec_os_api_get_ks(kernel_share** pp_ks)
*pp_ks = addr;
vdec_iface->kernel_share_va = addr;
vdec_iface->kernel_share_size = size;
-
+
get_vos_fail:
return ret;
}
@@ -732,26 +731,23 @@ static int find_user_id(id_instance *list)//return unoccupied id
SIGN32 vdec_os_api_force_ini(void)
{
- kernel_share *p_ks;
- vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
-
- if(p_cb->kernel_share_va == NULL)
- {
- vdec_os_api_get_ks(&p_ks);
- }
- else
- {
- p_ks = p_cb->kernel_share_va;
- }
-
- vmeta_private_lock();
- memset(p_ks, 0, sizeof(kernel_share));
- p_ks->active_user_id = MAX_VMETA_INSTANCE;
- vmeta_private_unlock();
-
- ioctl(vdec_iface->uiofd,VMETA_CMD_UNLOCK);
-
- return 0;
+ kernel_share *p_ks;
+ vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
+
+ if(p_cb->kernel_share_va == NULL) {
+ vdec_os_api_get_ks(&p_ks);
+ } else {
+ p_ks = p_cb->kernel_share_va;
+ }
+
+ vmeta_private_lock();
+ memset(p_ks, 0, sizeof(kernel_share));
+ p_ks->active_user_id = MAX_VMETA_INSTANCE;
+ vmeta_private_unlock();
+
+ ioctl(vdec_iface->uiofd,VMETA_CMD_UNLOCK);
+
+ return 0;
}
SIGN32 vdec_os_api_get_user_id(void)
@@ -760,24 +756,20 @@ SIGN32 vdec_os_api_get_user_id(void)
SIGN32 ret = -1;
vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
- if(p_cb->kernel_share_va == NULL)
- {
+ if(p_cb->kernel_share_va == NULL) {
vdec_os_api_get_ks(&p_ks);
- }
- else
- {
+ } else {
p_ks = p_cb->kernel_share_va;
}
vmeta_private_lock();
ret = find_user_id(p_ks->user_id_list);
- if( ret < 0) {
+ if(ret < 0) {
dbg_printf(VDEC_DEBUG_ALL, "vdec_os_api_get_user_id: find_user_id error\n");
}
vmeta_private_unlock();
return ret;
-
}
SIGN32 vdec_os_api_free_user_id(SIGN32 user_id)
@@ -785,8 +777,7 @@ SIGN32 vdec_os_api_free_user_id(SIGN32 user_id)
kernel_share *p_ks;
vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
- if(p_cb->kernel_share_va == NULL)
- {
+ if(p_cb->kernel_share_va == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_free_user_id error: not init yet\n");
return VDEC_OS_DRIVER_USER_ID_FAIL;
}
@@ -801,11 +792,11 @@ SIGN32 vdec_os_api_free_user_id(SIGN32 user_id)
clear_bit(VMETA_STATUS_BIT_REGISTED,&(p_ks->user_id_list[user_id].status));
clear_bit(VMETA_STATUS_BIT_USED,&(p_ks->user_id_list[user_id].status));
-
- vmeta_private_unlock();
-
- return VDEC_OS_DRIVER_OK;
- }
+
+ vmeta_private_unlock();
+
+ return VDEC_OS_DRIVER_OK;
+}
static void *vmeta_thread_monitor(void *_data)
{
@@ -818,8 +809,7 @@ static void *vmeta_thread_monitor(void *_data)
pthread_mutex_lock(&pmt);
- if(p_cb->kernel_share_va == NULL || pmd == NULL)
- {
+ if(p_cb->kernel_share_va == NULL || pmd == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_free_user_id error: not init yet\n");
free(pmd);
pthread_detach(pthread_self());
@@ -828,8 +818,7 @@ static void *vmeta_thread_monitor(void *_data)
}
p_md = malloc(sizeof(struct monitor_data));
- if(p_md == NULL)
- {
+ if(p_md == NULL) {
free(pmd);
pthread_detach(pthread_self());
pthread_mutex_unlock(&pmt);
@@ -841,20 +830,17 @@ static void *vmeta_thread_monitor(void *_data)
p_ks = p_cb->kernel_share_va;
- if(pthread_getattr_np(p_md->pt,&pat) != 0)
- {
+ if(pthread_getattr_np(p_md->pt,&pat) != 0) {
dbg_printf(VDEC_DEBUG_LOCK,"get thread attr failed\n");
goto tag_monitor_fail;
}
- if( pthread_attr_getdetachstate(&pat,&detach_attr) != 0)
- {
+ if( pthread_attr_getdetachstate(&pat,&detach_attr) != 0) {
dbg_printf(VDEC_DEBUG_LOCK,"get detach attr failed\n");
goto tag_monitor_fail;
}
- if( detach_attr == PTHREAD_CREATE_DETACHED)
- {
+ if( detach_attr == PTHREAD_CREATE_DETACHED) {
dbg_printf(VDEC_DEBUG_LOCK,"The thread is a detached thread, cannot join\nexit monitor!\n");
goto tag_monitor_fail;
}
@@ -909,36 +895,33 @@ tag_monitor_fail:
SIGN32 vdec_os_api_register_user_id(SIGN32 user_id)
{
- kernel_share *p_ks;
- vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
+ kernel_share *p_ks;
+ vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
pthread_t tmp;
struct monitor_data *p_md;
-
- if(user_id>=MAX_VMETA_INSTANCE || user_id<0) {
+
+ if(user_id>=MAX_VMETA_INSTANCE || user_id<0) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_register_user_id error: exceeds max user_id\n");
- return VDEC_OS_DRIVER_USER_ID_FAIL;
- }
-
- if(p_cb->kernel_share_va == NULL)
- {
- vdec_os_api_get_ks(&p_ks);
- }
- else
- {
- p_ks = p_cb->kernel_share_va;
- }
-
- if(set_bit(VMETA_STATUS_BIT_REGISTED, &(p_ks->user_id_list[user_id].status)) == 1) {
+ return VDEC_OS_DRIVER_USER_ID_FAIL;
+ }
+
+ if(p_cb->kernel_share_va == NULL) {
+ vdec_os_api_get_ks(&p_ks);
+ } else {
+ p_ks = p_cb->kernel_share_va;
+ }
+
+ if(set_bit(VMETA_STATUS_BIT_REGISTED, &(p_ks->user_id_list[user_id].status)) == 1) {
dbg_printf(VDEC_DEBUG_ALL, "vdec_os_api_register_user_id error: user id has already been registered\n");
- return VDEC_OS_DRIVER_USER_ID_FAIL;
- }
-
+ return VDEC_OS_DRIVER_USER_ID_FAIL;
+ }
+
p_md = malloc(sizeof(struct monitor_data));//This is freed monitor function
if(p_md == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_register_user_id error: OOM\n");
return VDEC_OS_DRIVER_USER_ID_FAIL;
}
- p_ks->ref_count++;
+ p_ks->ref_count++;
p_ks->user_id_list[user_id].pid = getpid();
p_md->pt = pthread_self();
p_ks->user_id_list[user_id].pt = (unsigned int) p_md->pt;
@@ -946,95 +929,88 @@ SIGN32 vdec_os_api_register_user_id(SIGN32 user_id)
pthread_create(&tmp,NULL,vmeta_thread_monitor,p_md);
dbg_printf(VDEC_DEBUG_LOCK,"pid=%x,pt=0x%x are monitored user_id(%d)\n",p_ks->user_id_list[user_id].pid,p_ks->user_id_list[user_id].pt,user_id);
-
- return VDEC_OS_DRIVER_OK;
-
+
+ return VDEC_OS_DRIVER_OK;
}
-
+
SIGN32 vdec_os_api_unregister_user_id(SIGN32 user_id)
{
- kernel_share *p_ks;
- vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
-
- if(user_id>=MAX_VMETA_INSTANCE || user_id<0) {
+ kernel_share *p_ks;
+ vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
+
+ if(user_id>=MAX_VMETA_INSTANCE || user_id<0) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_unregister_user_id error: exceeds max user_id\n");
- return VDEC_OS_DRIVER_USER_ID_FAIL;
- }
-
- if(p_cb->kernel_share_va == NULL)
- {
+ return VDEC_OS_DRIVER_USER_ID_FAIL;
+ }
+
+ if(p_cb->kernel_share_va == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_unregister_user_id error: not init yet\n");
- return VDEC_OS_DRIVER_USER_ID_FAIL;
- }
- else
- {
- p_ks = p_cb->kernel_share_va;
- }
-
- if(clear_bit(VMETA_STATUS_BIT_REGISTED,&(p_ks->user_id_list[user_id].status)) == 0) {
+ return VDEC_OS_DRIVER_USER_ID_FAIL;
+ } else {
+ p_ks = p_cb->kernel_share_va;
+ }
+
+ if(clear_bit(VMETA_STATUS_BIT_REGISTED,&(p_ks->user_id_list[user_id].status)) == 0) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_unregister_user_id error: user id[%d] has not been registered\n",user_id);
- return VDEC_OS_DRIVER_USER_ID_FAIL;
- }
-
- p_ks->ref_count--;
-
- return VDEC_OS_DRIVER_OK;
+ return VDEC_OS_DRIVER_USER_ID_FAIL;
+ }
+
+ p_ks->ref_count--;
+
+ return VDEC_OS_DRIVER_OK;
}
-
+
static SIGN32 vmeta_private_lock()
{
ioctl(vdec_iface->uiofd,VMETA_CMD_PRIV_LOCK,(unsigned long)0xffffffff);
return 0;
}
-
+
static SIGN32 vmeta_private_unlock()
{
ioctl(vdec_iface->uiofd,VMETA_CMD_PRIV_UNLOCK);
- return 0;
+ return 0;
}
-
+
SIGN32 vdec_os_api_get_user_count(void)
{
- vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
- kernel_share *p_ks;
-
- if(p_cb == NULL) {
+ vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
+ kernel_share *p_ks;
+
+ if(p_cb == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_get_user_count error: point is NULL\n");
- return -1;
- }
+ return -1;
+ }
- if(p_cb->kernel_share_va == NULL)
- {
+ if(p_cb->kernel_share_va == NULL) {
vdec_os_api_get_ks(&p_ks);
- }
- else
- {
+ } else {
p_ks = p_cb->kernel_share_va;
}
-
+
dbg_printf(VDEC_DEBUG_ALL, "get_user_count=%d\n",p_ks->ref_count);
- return p_ks->ref_count;
+ return p_ks->ref_count;
}
-
+
SIGN32 vdec_os_api_lock(SIGN32 user_id, long to_ms)
{
- vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
- kernel_share* p_ks;
- SIGN32 ret;
-
- if(p_cb == NULL) {
+ vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();
+ kernel_share* p_ks;
+ SIGN32 ret;
+
+ if(p_cb == NULL) {
dbg_printf(VDEC_DEBUG_ALL,"vdec_os_api_lock error: point is NULL\n");
- return LOCK_RET_ERROR_UNKNOWN;
- }
- p_ks = p_cb->kernel_share_va;
-
- if(p_ks->active_user_id == user_id) {
+ return LOCK_RET_ERROR_UNKNOWN;
+ }
+ p_ks = p_cb->kernel_share_va;
+
+ if(p_ks->active_user_id == user_id) {
dbg_printf(VDEC_DEBUG_LOCK,"lock same user=%d, lock_flag=%d,ref_count=%d\n",\
user_id,p_ks->lock_flag,p_ks->ref_count);
- return LOCK_RET_ME;//just return since they are the same caller
- }
+ return LOCK_RET_ME;//just return since they are the same caller
+ }
ret = ioctl(vdec_iface->uiofd,VMETA_CMD_LOCK,(unsigned long)to_ms);
if(ret!=0) {
@@ -1042,19 +1018,19 @@ SIGN32 vdec_os_api_lock(SIGN32 user_id, long to_ms)
return LOCK_RET_ERROR_TIMEOUT;
}
- vmeta_private_lock();
- p_ks->active_user_id = user_id;
+ vmeta_private_lock();
+ p_ks->active_user_id = user_id;
if(p_ks->lock_flag == VMETA_LOCK_FORCE_INIT){
p_ks->lock_flag = VMETA_LOCK_ON;
vmeta_private_unlock();
return LOCK_RET_FORCE_INIT;
}
p_ks->lock_flag = VMETA_LOCK_ON;
- vmeta_private_unlock();
+ vmeta_private_unlock();
- return LOCK_RET_OHTERS_NORM;
+ return LOCK_RET_OHTERS_NORM;
}
-
+
SIGN32 vdec_os_api_unlock(SIGN32 user_id)
{
vdec_os_driver_cb_t *p_cb = vdec_driver_get_cb();