VPU system initialization and file operation implementation. More...
Functions | |
static int | vpu_alloc_dma_buffer (struct vpu_mem_desc *mem) |
static void | vpu_free_dma_buffer (struct vpu_mem_desc *mem) |
static int | vpu_free_buffers (void) |
static irqreturn_t | vpu_ipi_irq_handler (int irq, void *dev_id) |
bool | vpu_is_valid_phy_memory (u32 paddr) |
static int | vpu_open (struct inode *inode, struct file *filp) |
static long | vpu_ioctl (struct file *filp, u_int cmd, u_long arg) |
static int | vpu_release (struct inode *inode, struct file *filp) |
static int | vpu_fasync (int fd, struct file *filp, int mode) |
static int | vpu_map_hwregs (struct file *fp, struct vm_area_struct *vm) |
static int | vpu_map_dma_mem (struct file *fp, struct vm_area_struct *vm) |
static int | vpu_mmap (struct file *fp, struct vm_area_struct *vm) |
static int | vpu_dev_probe (struct platform_device *pdev) |
Variables | |
static struct platform_driver | mxcvpu_driver |
VPU system initialization and file operation implementation.
static int vpu_alloc_dma_buffer | ( | struct vpu_mem_desc * | mem | ) | [static] |
static int vpu_dev_probe | ( | struct platform_device * | pdev | ) | [static] |
This function is called by the driver framework to initialize the vpu device.
dev | The device structure for the vpu passed in by the framework. |
References vpu_ipi_irq_handler().
static int vpu_fasync | ( | int | fd, | |
struct file * | filp, | |||
int | mode | |||
) | [static] |
fasync function for vpu file operation
static int vpu_free_buffers | ( | void | ) | [static] |
Private function to free buffers
References vpu_free_dma_buffer().
Referenced by vpu_release().
static void vpu_free_dma_buffer | ( | struct vpu_mem_desc * | mem | ) | [static] |
Private function to free dma buffer
Referenced by vpu_free_buffers(), vpu_ioctl(), and vpu_release().
static long vpu_ioctl | ( | struct file * | filp, | |
u_int | cmd, | |||
u_long | arg | |||
) | [static] |
IO ctrl function for vpu file operation.
cmd | IO ctrl command |
References vpu_alloc_dma_buffer(), vpu_free_dma_buffer(), and vpu_is_valid_phy_memory().
static irqreturn_t vpu_ipi_irq_handler | ( | int | irq, | |
void * | dev_id | |||
) | [static] |
bool vpu_is_valid_phy_memory | ( | u32 | paddr | ) |
vpu jpu interrupt handler
check phy memory prepare to pass to vpu is valid or not, we already address some issue that if pass a wrong address to vpu (like virtual address), system will hang.
Referenced by vpu_ioctl().
static int vpu_map_dma_mem | ( | struct file * | fp, | |
struct vm_area_struct * | vm | |||
) | [static] |
memory map function of memory for vpu file operation
Referenced by vpu_mmap().
static int vpu_map_hwregs | ( | struct file * | fp, | |
struct vm_area_struct * | vm | |||
) | [static] |
memory map function of harware registers for vpu file operation
Referenced by vpu_mmap().
static int vpu_mmap | ( | struct file * | fp, | |
struct vm_area_struct * | vm | |||
) | [static] |
memory map interface for vpu file operation
References vpu_map_dma_mem(), and vpu_map_hwregs().
static int vpu_open | ( | struct inode * | inode, | |
struct file * | filp | |||
) | [static] |
open function for vpu file operation
static int vpu_release | ( | struct inode * | inode, | |
struct file * | filp | |||
) | [static] |
Release function for vpu file operation.
References vpu_free_buffers(), and vpu_free_dma_buffer().
struct platform_driver mxcvpu_driver [static] |
{ .driver = { .name = "mxc_vpu", }, .probe = vpu_dev_probe, .remove = vpu_dev_remove, .suspend = vpu_suspend, .resume = vpu_resume, }
Driver definition
© Freescale Semiconductor, Inc., 2007.
All rights reserved. Freescale Confidential Proprietary NDA Required |
![]() |