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 |
|