diff options
Diffstat (limited to 'src/vpu_io.c')
-rw-r--r-- | src/vpu_io.c | 79 |
1 files changed, 46 insertions, 33 deletions
diff --git a/src/vpu_io.c b/src/vpu_io.c index 6bf9ee4..5c8765c 100644 --- a/src/vpu_io.c +++ b/src/vpu_io.c @@ -45,12 +45,14 @@ unsigned int system_rev; int IOSystemShutdown(void); -int isVpuInitialized(void) +int +isVpuInitialized(void) { return VpuReadReg(BIT_CUR_PC) != 0; } -static int get_system_rev() +static int +get_system_rev() { FILE *fp; char buf[1024]; @@ -64,9 +66,9 @@ static int get_system_rev() return ret; } - nread = fread(buf, 1, sizeof(buf), fp); + nread = fread(buf, 1, sizeof (buf), fp); fclose(fp); - if ((nread == 0) || (nread == sizeof(buf))) { + if ((nread == 0) || (nread == sizeof (buf))) { fclose(fp); return ret; } @@ -87,9 +89,10 @@ static int get_system_rev() } /* make consideration for both register and physical mem access */ -inline unsigned long *reg_map(unsigned long offset) +inline unsigned long * +reg_map(unsigned long offset) { - return (unsigned long *)(offset + (unsigned long)vpu_reg_base); + return (unsigned long *) (offset + (unsigned long) vpu_reg_base); } /*! @@ -106,7 +109,8 @@ inline unsigned long *reg_map(unsigned long offset) * @li 0 System initialization success. * @li -1 System initialization failure. */ -int IOSystemInit(void *callback) +int +IOSystemInit(void *callback) { int ret; @@ -126,11 +130,11 @@ int IOSystemInit(void *callback) return -1; } - vpu_reg_base = (unsigned long)mmap(NULL, BIT_REG_MARGIN, - PROT_READ | PROT_WRITE, - MAP_SHARED, vpu_fd, 0); + vpu_reg_base = (unsigned long) mmap(NULL, BIT_REG_MARGIN, + PROT_READ | PROT_WRITE, + MAP_SHARED, vpu_fd, 0); - if ((void *)vpu_reg_base == MAP_FAILED) { + if ((void *) vpu_reg_base == MAP_FAILED) { printf("Can't map register\n"); close(vpu_fd); vpu_fd = -1; @@ -138,7 +142,7 @@ int IOSystemInit(void *callback) } bit_work_addr.size = WORK_BUF_SIZE + PARA_BUF_SIZE + - CODE_BUF_SIZE + PARA_BUF2_SIZE; + CODE_BUF_SIZE + PARA_BUF2_SIZE; if (IOGetPhyMem(&bit_work_addr) != 0) goto err; @@ -169,14 +173,15 @@ int IOSystemInit(void *callback) * @li 0 System shutting down success. * @li -1 System shutting down failure. */ -int IOSystemShutdown(void) +int +IOSystemShutdown(void) { IOFreeVirtMem(&bit_work_addr); IOFreePhyMem(&bit_work_addr); VpuWriteReg(BIT_INT_ENABLE, 0); /* PIC_RUN irq disable */ - if (munmap((void *)vpu_reg_base, BIT_REG_MARGIN) != 0) + if (munmap((void *) vpu_reg_base, BIT_REG_MARGIN) != 0) printf("munmap failed\n"); if (vpu_fd >= 0) { @@ -187,18 +192,20 @@ int IOSystemShutdown(void) return 0; } -unsigned long VpuWriteReg(unsigned long addr, unsigned int data) +unsigned long +VpuWriteReg(unsigned long addr, unsigned int data) { unsigned long *reg_addr = reg_map(addr); - *(volatile unsigned long *)reg_addr = data; + *(volatile unsigned long *) reg_addr = data; return 0; } -unsigned long VpuReadReg(unsigned long addr) +unsigned long +VpuReadReg(unsigned long addr) { unsigned long *reg_addr = reg_map(addr); - return *(volatile unsigned long *)reg_addr; + return *(volatile unsigned long *) reg_addr; } /*! @@ -219,7 +226,8 @@ unsigned long VpuReadReg(unsigned long addr) * @li -1 Allocation memory failure. */ static unsigned int sz_alloc; -int IOGetPhyMem(vpu_mem_desc * buff) +int +IOGetPhyMem(vpu_mem_desc * buff) { if (ioctl(vpu_fd, VPU_IOC_PHYMEM_ALLOC, buff) < 0) { printf("mem allocation failed!\n"); @@ -246,7 +254,8 @@ int IOGetPhyMem(vpu_mem_desc * buff) * @li 0 Freeing memory success. * @li -1 Freeing memory failure. */ -int IOFreePhyMem(vpu_mem_desc * buff) +int +IOFreePhyMem(vpu_mem_desc * buff) { if (buff->phy_addr != 0) { dprintf(3, "%s: phy addr = %08lx\n", __func__, buff->phy_addr); @@ -265,13 +274,14 @@ int IOFreePhyMem(vpu_mem_desc * buff) * * @return user space address. */ -int IOGetVirtMem(vpu_mem_desc * buff) +int +IOGetVirtMem(vpu_mem_desc * buff) { unsigned long va_addr; - va_addr = (unsigned long)mmap(NULL, buff->size, PROT_READ | PROT_WRITE, - MAP_SHARED, vpu_fd, buff->phy_addr); - if ((void *)va_addr == MAP_FAILED) { + va_addr = (unsigned long) mmap(NULL, buff->size, PROT_READ | PROT_WRITE, + MAP_SHARED, vpu_fd, buff->phy_addr); + if ((void *) va_addr == MAP_FAILED) { buff->virt_uaddr = 0; return -1; } @@ -289,10 +299,11 @@ int IOGetVirtMem(vpu_mem_desc * buff) * @li 0 Success * @li Others Failure */ -int IOFreeVirtMem(vpu_mem_desc * buff) +int +IOFreeVirtMem(vpu_mem_desc * buff) { if (buff->virt_uaddr != 0) { - if (munmap((void *)buff->virt_uaddr, buff->size) != 0) + if (munmap((void *) buff->virt_uaddr, buff->size) != 0) printf("munmap failed\n"); } @@ -300,7 +311,8 @@ int IOFreeVirtMem(vpu_mem_desc * buff) return 0; } -int IOWaitForInt(int timeout_in_ms) +int +IOWaitForInt(int timeout_in_ms) { int ret = 0; if (timeout_in_ms < 0) { @@ -321,7 +333,8 @@ int IOWaitForInt(int timeout_in_ms) * @li 0 Success * @li Others Failure */ -int IOLHD(int disable) +int +IOLHD(int disable) { int ret = 0; if (disable < 0) { @@ -332,7 +345,7 @@ int IOLHD(int disable) printf("File Descriptor is not valid.\n"); } - ret= ioctl(vpu_fd, VPU_IOC_LHD, disable); + ret = ioctl(vpu_fd, VPU_IOC_LHD, disable); return ret; } @@ -341,13 +354,13 @@ int IOLHD(int disable) * @brief * When the system starts up, resetting is needed in advance. */ -void ResetVpu(void) +void +ResetVpu(void) { unsigned long *reg_addr = reg_map(BIT_CODE_RESET); - (*(volatile unsigned long *)reg_addr) |= 0x1; + (*(volatile unsigned long *) reg_addr) |= 0x1; usleep(10); - (*(volatile unsigned long *)reg_addr) &= ~0x1; + (*(volatile unsigned long *) reg_addr) &= ~0x1; return; } - |