Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

mxc_vpu.c File Reference


Detailed Description

VPU system initialization and file operation implementation.

Definition in file mxc_vpu.c.

#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/autoconf.h>
#include <linux/ioport.h>
#include <linux/stat.h>
#include <linux/platform_device.h>
#include <linux/kdev_t.h>
#include <linux/dma-mapping.h>
#include <linux/wait.h>
#include <linux/list.h>
#include <linux/clk.h>
#include <linux/delay.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/sizes.h>
#include <asm/dma-mapping.h>
#include <mach/hardware.h>
#include <mach/clock.h>
#include <mach/mxc_vpu.h>

Go to the source code of this file.

Classes

struct  iram_setting
struct  memalloc_record
struct  vpu_priv

Defines

#define READ_REG(x)   __raw_readl(IO_ADDRESS(VPU_BASE_ADDR+(x)))
#define RESTORE_CTRL_REGS
#define RESTORE_DIS_FLAG_REGS
#define RESTORE_RDWR_PTR_REGS
#define RESTORE_WORK_REGS
#define SAVE_CTRL_REGS
#define SAVE_DIS_FLAG_REGS
#define SAVE_RDWR_PTR_REGS
#define SAVE_WORK_REGS
#define vpu_resume   NULL
#define vpu_suspend   NULL
#define WRITE_REG(val, x)   __raw_writel((val), IO_ADDRESS(VPU_BASE_ADDR+(x)))

Functions

static DEFINE_SPINLOCK (vpu_lock)
static LIST_HEAD (head)
 MODULE_AUTHOR ("Freescale Semiconductor, Inc.")
 MODULE_DESCRIPTION ("Linux VPU driver for Freescale i.MX/MXC")
 module_exit (vpu_exit)
 module_init (vpu_init)
 MODULE_LICENSE ("GPL")
static int vpu_alloc_dma_buffer (struct vpu_mem_desc *mem)
static int vpu_dev_probe (struct platform_device *pdev)
static void __exit vpu_exit (void)
static int vpu_fasync (int fd, struct file *filp, int mode)
 fasync function for vpu file operation
static int vpu_free_buffers (void)
static void vpu_free_dma_buffer (struct vpu_mem_desc *mem)
static int __init vpu_init (void)
static int vpu_ioctl (struct inode *inode, struct file *filp, u_int cmd, u_long arg)
 IO ctrl function for vpu file operation.
static irqreturn_t vpu_irq_handler (int irq, void *dev_id)
 vpu interrupt handler
static int vpu_map_hwregs (struct file *fp, struct vm_area_struct *vm)
 memory map function of harware registers for vpu file operation
static int vpu_map_mem (struct file *fp, struct vm_area_struct *vm)
 memory map function of memory for vpu file operation
static int vpu_mmap (struct file *fp, struct vm_area_struct *vm)
 memory map interface for vpu file operation
static int vpu_open (struct inode *inode, struct file *filp)
 open function for vpu file operation
static int vpu_release (struct inode *inode, struct file *filp)
 Release function for vpu file operation.

Variables

static struct vpu_mem_desc bitwork_mem = { 0 }
static int codec_done = 0
static u32 dis_flag_regsave [4]
static struct iram_setting iram
static struct platform_driver mxcvpu_driver
static u8 open_count = 0
static struct vpu_mem_desc pic_para_mem = { 0 }
static u32 rd_ptr_regsave [4]
static struct vpu_mem_desc share_mem = { 0 }
static u32 src_base_addr
static struct vpu_mem_desc user_data_mem = { 0 }
static struct class * vpu_class
static struct clk * vpu_clk
static int vpu_clk_usercount
static struct vpu_priv vpu_data
struct file_operations vpu_fops
static int vpu_major = 0
static wait_queue_head_t vpu_queue
static u32 workctrl_regsave [6]
static u32 wr_ptr_regsave [4]


Generated by  Doxygen 1.6.0   Back to index