#include <linux/poll.h>
Include dependency graph for circbuf.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
int | circbuf_all_open (struct inode *inode, struct file *filp) |
int | circbuf_all_release (struct inode *inode, struct file *filp) |
loff_t | circbuf_all_lseek (struct file *file, loff_t offset, int orig) |
ssize_t | circbuf_all_write (struct file *file, const char *buf, size_t count, loff_t *off) |
ssize_t | circbuf_all_read (struct file *file, char *buf, size_t count, loff_t *off) |
int | circbuf_all_mmap (struct file *file, struct vm_area_struct *vma) |
unsigned int | circbuf_all_poll (struct file *file, poll_table *wait) |
int | circbuf_all_ioctl (struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg) |
just to notify it is not implemented | |
int | circbuf_open (struct inode *inode, struct file *filp) |
loff_t | circbuf_lseek (struct file *file, loff_t offset, int orig) |
ssize_t | circbuf_write (struct file *file, const char *buf, size_t count, loff_t *off) |
ssize_t | circbuf_read (struct file *file, char *buf, size_t count, loff_t *off) |
int | circbuf_mmap (struct file *file, struct vm_area_struct *vma) |
unsigned int | circbuf_poll (struct file *file, poll_table *wait) |
void | init_ccam_dma_buf_ptr (void) |
still used in autoexposure or something - why is in needed there? | |
Variables | |
wait_queue_head_t | circbuf_wait_queue |
int circbuf_all_ioctl | ( | struct inode * | inode, | |
struct file * | filp, | |||
unsigned int | cmd, | |||
unsigned long | arg | |||
) |
just to notify it is not implemented
Definition at line 379 of file circbuf.c.
References circbuf_pd::minor, and printk.
loff_t circbuf_all_lseek | ( | struct file * | file, | |
loff_t | offset, | |||
int | orig | |||
) |
Definition at line 322 of file circbuf.c.
References circbuf_lseek(), CMOSCAM_MINOR_CIRCBUF, CMOSCAM_MINOR_HUFFMAN, CMOSCAM_MINOR_JPEAGHEAD, huffman_lseek(), jpeghead_lseek(), MD10, circbuf_pd::minor, and printk.
int circbuf_all_mmap | ( | struct file * | file, | |
struct vm_area_struct * | vma | |||
) |
Definition at line 358 of file circbuf.c.
References circbuf_mmap(), CMOSCAM_MINOR_CIRCBUF, MD10, circbuf_pd::minor, and printk.
int circbuf_all_open | ( | struct inode * | inode, | |
struct file * | filp | |||
) |
Definition at line 282 of file circbuf.c.
References circbuf_open(), CMOSCAM_MINOR_CIRCBUF, CMOSCAM_MINOR_HUFFMAN, CMOSCAM_MINOR_JPEAGHEAD, huffman_open(), jpeghead_open(), MD10, and printk.
unsigned int circbuf_all_poll | ( | struct file * | file, | |
poll_table * | wait | |||
) |
Definition at line 368 of file circbuf.c.
References circbuf_poll(), CMOSCAM_MINOR_CIRCBUF, MD10, circbuf_pd::minor, and printk.
ssize_t circbuf_all_read | ( | struct file * | file, | |
char * | buf, | |||
size_t | count, | |||
loff_t * | off | |||
) |
Definition at line 334 of file circbuf.c.
References circbuf_read(), CMOSCAM_MINOR_CIRCBUF, CMOSCAM_MINOR_HUFFMAN, CMOSCAM_MINOR_JPEAGHEAD, huffman_read(), jpeghead_read(), MD10, circbuf_pd::minor, and printk.
int circbuf_all_release | ( | struct inode * | inode, | |
struct file * | filp | |||
) |
Definition at line 301 of file circbuf.c.
References CMOSCAM_MINOR_CIRCBUF, CMOSCAM_MINOR_HUFFMAN, CMOSCAM_MINOR_JPEAGHEAD, kfree, MD10, and printk.
ssize_t circbuf_all_write | ( | struct file * | file, | |
const char * | buf, | |||
size_t | count, | |||
loff_t * | off | |||
) |
Definition at line 345 of file circbuf.c.
References circbuf_write(), CMOSCAM_MINOR_CIRCBUF, CMOSCAM_MINOR_HUFFMAN, huffman_write(), MD10, circbuf_pd::minor, and printk.
loff_t circbuf_lseek | ( | struct file * | file, | |
loff_t | offset, | |||
int | orig | |||
) |
Definition at line 475 of file circbuf.c.
References camSeqGetJPEG_rp(), camSeqGetJPEG_wp(), camSeqSetJPEG_rp(), ccam_dma_buf, CCAM_DMA_SIZE, circbufValidPointer(), fp, get_imageParamsThis, LSEEK_CIRC_FIRST, LSEEK_CIRC_FREE, LSEEK_CIRC_LAST, LSEEK_CIRC_NEXT, LSEEK_CIRC_PREV, LSEEK_CIRC_READY, LSEEK_CIRC_SCND, LSEEK_CIRC_SETP, LSEEK_CIRC_TORP, LSEEK_CIRC_TOWP, LSEEK_CIRC_USED, LSEEK_CIRC_VALID, LSEEK_CIRC_WAIT, LSEEK_DAEMON_CIRCBUF, MD11, MD12, P_DAEMON_EN, printk, rp, SEEK_CUR, SEEK_END, SEEK_SET, X313_BUFFADD, X313_BUFFSUB, X313_LENGTH_MASK, and X313_PADDED_FRAME.
Referenced by circbuf_all_lseek().
int circbuf_mmap | ( | struct file * | file, | |
struct vm_area_struct * | vma | |||
) |
Definition at line 647 of file circbuf.c.
References ccam_dma_buf, MD7, and printk.
Referenced by circbuf_all_mmap().
int circbuf_open | ( | struct inode * | inode, | |
struct file * | filp | |||
) |
Definition at line 389 of file circbuf.c.
References CCAM_DMA_SIZE, GFP_KERNEL, kmalloc, MD10, circbuf_pd::minor, and printk.
Referenced by circbuf_all_open().
unsigned int circbuf_poll | ( | struct file * | file, | |
poll_table * | wait | |||
) |
=========================================================================== ! If the current read pointer is invalid, circbuf_poll returns POLLHUP ! as no data will be ever available until file poinetr is reset. ! if it is valid, wait is setup and the blocking condition occurs ! ifthe current file pointer is equal to the FPGA write pointer !===========================================================================
result of testing read poinetr
not a valid read pointer, probable buffer overrun
there was frame already available
pointer valid, no frame yet
Frame might become available during call to poll_wait so nobody will wake us up. Let's see if there is stillno frame
we are lucky - got it
Definition at line 676 of file circbuf.c.
References camSeqGetJPEG_wp(), circbufValidPointer(), fp, MD10, and printk.
Referenced by circbuf_all_poll().
ssize_t circbuf_read | ( | struct file * | file, | |
char * | buf, | |||
size_t | count, | |||
loff_t * | off | |||
) |
Definition at line 631 of file circbuf.c.
References ccam_dma_buf, CCAM_DMA_SIZE, D, and printk.
Referenced by circbuf_all_read().
ssize_t circbuf_write | ( | struct file * | file, | |
const char * | buf, | |||
size_t | count, | |||
loff_t * | off | |||
) |
Definition at line 612 of file circbuf.c.
References ccam_dma_buf, CCAM_DMA_SIZE, D, and printk.
Referenced by circbuf_all_write().
void init_ccam_dma_buf_ptr | ( | void | ) |
wait_queue_head_t circbuf_wait_queue |
====================================================================================== ! Wait queue for the processes waiting for a new frame to appear in the circular buffer !======================================================================================
Definition at line 251 of file circbuf.c.
Referenced by elphel_FPGA_interrupt().