⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 saa7134.h

📁 该代码是天敏电视卡天敏大师4的核心芯片在linux下面的驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
	struct saa7134_format      *fmt;	unsigned int               width,height;	struct videobuf_queue      cap;	struct saa7134_pgtable     pt_cap;	/* vbi capture */	struct videobuf_queue      vbi;	struct saa7134_pgtable     pt_vbi;};/* TS status */struct saa7134_ts {	unsigned int               users;	/* TS capture */	struct videobuf_queue      ts;	struct saa7134_pgtable     pt_ts;	int			   started;};/* oss dsp status */struct saa7134_oss {        struct semaphore           lock;	int                        minor_mixer;	int                        minor_dsp;	unsigned int               users_dsp;	/* mixer */	enum saa7134_audio_in      input;	unsigned int               count;	unsigned int               line1;	unsigned int               line2;	/* dsp */	unsigned int               afmt;	unsigned int               rate;	unsigned int               channels;	unsigned int               recording_on;	unsigned int               dma_running;	unsigned int               blocks;	unsigned int               blksize;	unsigned int               bufsize;	struct saa7134_pgtable     pt;	struct videobuf_dmabuf     dma;	wait_queue_head_t          wq;	unsigned int               dma_blk;	unsigned int               read_offset;	unsigned int               read_count;};/* IR input */struct saa7134_ir {	struct input_dev           dev;	struct ir_input_state      ir;	char                       name[32];	char                       phys[32];	u32                        mask_keycode;	u32                        mask_keydown;	u32                        mask_keyup;        int                        polling;        u32                        last_gpio;        struct timer_list          timer;};/* global device status */struct saa7134_dev {	struct list_head           devlist;        struct semaphore           lock;       	spinlock_t                 slock;#ifdef VIDIOC_G_PRIORITY 	struct v4l2_prio_state     prio;#endif	/* various device info */	unsigned int               resources;	struct video_device        *video_dev;	struct video_device        *ts_dev;	struct video_device        *radio_dev;	struct video_device        *vbi_dev;	struct saa7134_oss         oss;	struct saa7134_ts          ts;	/* infrared remote */	int                        has_remote;	struct saa7134_ir          *remote;	/* pci i/o */	char                       name[32];	struct pci_dev             *pci;	unsigned char              pci_rev,pci_lat;	__u32                      *lmmio;	__u8                       *bmmio;	/* config info */	unsigned int               board;	unsigned int               tuner_type;	unsigned int               gpio_value;	/* i2c i/o */	struct i2c_adapter         i2c_adap;	struct i2c_client          i2c_client;	unsigned char              eedata[64];	/* video overlay */	struct v4l2_framebuffer    ovbuf;	struct saa7134_format      *ovfmt;	unsigned int               ovenable;	enum v4l2_field            ovfield;	/* video+ts+vbi capture */	struct saa7134_dmaqueue    video_q;	struct saa7134_dmaqueue    ts_q;	struct saa7134_dmaqueue    vbi_q;	unsigned int               video_fieldcount;	unsigned int               vbi_fieldcount;	/* various v4l controls */	struct saa7134_tvnorm      *tvnorm;              /* video */	struct saa7134_tvaudio     *tvaudio;	unsigned int               ctl_input;	int                        ctl_bright;	int                        ctl_contrast;	int                        ctl_hue;	int                        ctl_saturation;	int                        ctl_freq;	int                        ctl_mute;             /* audio */	int                        ctl_volume;	int                        ctl_invert;           /* private */	int                        ctl_mirror;	int                        ctl_y_odd;	int                        ctl_y_even;		/* crop */	struct v4l2_rect           crop_bounds;	struct v4l2_rect           crop_defrect;	struct v4l2_rect           crop_current;		/* other global state info */	unsigned int               automute;	struct saa7134_thread      thread;	struct saa7134_input       *input;	struct saa7134_input       *hw_input;	unsigned int               hw_mute;	int                        last_carrier;};/* ----------------------------------------------------------- */#define saa_readl(reg)             readl(dev->lmmio + (reg))#define saa_writel(reg,value)      writel((value), dev->lmmio + (reg));#define saa_andorl(reg,mask,value) \  writel((readl(dev->lmmio+(reg)) & ~(mask)) |\  ((value) & (mask)), dev->lmmio+(reg))#define saa_setl(reg,bit)          saa_andorl((reg),(bit),(bit))#define saa_clearl(reg,bit)        saa_andorl((reg),(bit),0)#define saa_readb(reg)             readb(dev->bmmio + (reg))#define saa_writeb(reg,value)      writeb((value), dev->bmmio + (reg));#define saa_andorb(reg,mask,value) \  writeb((readb(dev->bmmio+(reg)) & ~(mask)) |\  ((value) & (mask)), dev->bmmio+(reg))#define saa_setb(reg,bit)          saa_andorb((reg),(bit),(bit))#define saa_clearb(reg,bit)        saa_andorb((reg),(bit),0)#define saa_wait(d) { udelay(d); }/* ----------------------------------------------------------- *//* saa7134-core.c                                              */extern struct list_head  saa7134_devlist;extern unsigned int      saa7134_devcount;void saa7134_print_ioctl(char *name, unsigned int cmd);void saa7134_track_gpio(struct saa7134_dev *dev, char *msg);#define SAA7134_PGTABLE_SIZE 4096int saa7134_pgtable_alloc(struct pci_dev *pci, struct saa7134_pgtable *pt);int  saa7134_pgtable_build(struct pci_dev *pci, struct saa7134_pgtable *pt,			   struct scatterlist *list, unsigned int length,			   unsigned int startpage);void saa7134_pgtable_free(struct pci_dev *pci, struct saa7134_pgtable *pt);int saa7134_buffer_count(unsigned int size, unsigned int count);int saa7134_buffer_startpage(struct saa7134_buf *buf);unsigned long saa7134_buffer_base(struct saa7134_buf *buf);int saa7134_buffer_queue(struct saa7134_dev *dev, struct saa7134_dmaqueue *q,			 struct saa7134_buf *buf);void saa7134_buffer_finish(struct saa7134_dev *dev, struct saa7134_dmaqueue *q,			   unsigned int state);void saa7134_buffer_next(struct saa7134_dev *dev, struct saa7134_dmaqueue *q);void saa7134_buffer_timeout(unsigned long data);void saa7134_dma_free(struct saa7134_dev *dev,struct saa7134_buf *buf);int saa7134_set_dmabits(struct saa7134_dev *dev);/* ----------------------------------------------------------- *//* saa7134-cards.c                                             */extern struct saa7134_board saa7134_boards[];extern const unsigned int saa7134_bcount;extern struct pci_device_id __devinitdata saa7134_pci_tbl[];extern int saa7134_board_init(struct saa7134_dev *dev);/* ----------------------------------------------------------- *//* saa7134-i2c.c                                               */int saa7134_i2c_register(struct saa7134_dev *dev);int saa7134_i2c_unregister(struct saa7134_dev *dev);void saa7134_i2c_call_clients(struct saa7134_dev *dev,			      unsigned int cmd, void *arg);/* ----------------------------------------------------------- *//* saa7134-video.c                                             */extern struct video_device saa7134_video_template;extern struct video_device saa7134_radio_template;int saa7134_common_ioctl(struct saa7134_dev *dev,			 unsigned int cmd, void *arg);int saa7134_video_init1(struct saa7134_dev *dev);int saa7134_video_init2(struct saa7134_dev *dev);int saa7134_video_fini(struct saa7134_dev *dev);void saa7134_irq_video_intl(struct saa7134_dev *dev);void saa7134_irq_video_done(struct saa7134_dev *dev, unsigned long status);/* ----------------------------------------------------------- *//* saa7134-ts.c                                                */extern struct video_device saa7134_ts_template;int saa7134_ts_init1(struct saa7134_dev *dev);int saa7134_ts_fini(struct saa7134_dev *dev);void saa7134_irq_ts_done(struct saa7134_dev *dev, unsigned long status);/* ----------------------------------------------------------- *//* saa7134-vbi.c                                               */extern struct videobuf_queue_ops saa7134_vbi_qops;extern struct video_device saa7134_vbi_template;int saa7134_vbi_init1(struct saa7134_dev *dev);int saa7134_vbi_fini(struct saa7134_dev *dev);void saa7134_irq_vbi_done(struct saa7134_dev *dev, unsigned long status);/* ----------------------------------------------------------- *//* saa7134-tvaudio.c                                           */int saa7134_tvaudio_rx2mode(u32 rx);void saa7134_tvaudio_setmute(struct saa7134_dev *dev);void saa7134_tvaudio_setinput(struct saa7134_dev *dev,			      struct saa7134_input *in);void saa7134_tvaudio_setvolume(struct saa7134_dev *dev, int level);int saa7134_tvaudio_getstereo(struct saa7134_dev *dev);int saa7134_tvaudio_init2(struct saa7134_dev *dev);int saa7134_tvaudio_fini(struct saa7134_dev *dev);int saa7134_tvaudio_do_scan(struct saa7134_dev *dev);int saa_dsp_writel(struct saa7134_dev *dev, int reg, u32 value);/* ----------------------------------------------------------- *//* saa7134-oss.c                                               */extern struct file_operations saa7134_dsp_fops;extern struct file_operations saa7134_mixer_fops;int saa7134_oss_init1(struct saa7134_dev *dev);int saa7134_oss_fini(struct saa7134_dev *dev);void saa7134_irq_oss_done(struct saa7134_dev *dev, unsigned long status);/* ----------------------------------------------------------- *//* saa7134-input.c                                             */int  saa7134_input_init1(struct saa7134_dev *dev);void saa7134_input_fini(struct saa7134_dev *dev);void saa7134_input_irq(struct saa7134_dev *dev);/* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -