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

📄 saa7134.h

📁 linux-2.6.15.6
💻 H
📖 第 1 页 / 共 2 页
字号:
#endif	/* video overlay */	struct v4l2_window         win;	struct v4l2_clip           clips[8];	unsigned int               nclips;	/* video capture */	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;};/* dmasound dsp status */struct saa7134_dmasound {	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;	void *			   priv_data;	snd_pcm_substream_t 	   *substream;};/* 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;};/* ts/mpeg status */struct saa7134_ts {	/* TS capture */	struct saa7134_pgtable     pt_ts;	int                        nr_packets;	int                        nr_bufs;};/* ts/mpeg ops */struct saa7134_mpeg_ops {	enum saa7134_mpeg_type     type;	struct list_head           next;	int                        (*init)(struct saa7134_dev *dev);	int                        (*fini)(struct saa7134_dev *dev);	void                       (*signal_change)(struct saa7134_dev *dev);};/* 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        *radio_dev;	struct video_device        *vbi_dev;	struct saa7134_dmasound    dmasound;	/* infrared remote */	int                        has_remote;	struct saa7134_ir          *remote;	/* pci i/o */	char                       name[32];	int                        nr;	struct pci_dev             *pci;	unsigned char              pci_rev,pci_lat;	__u32                      __iomem *lmmio;	__u8                       __iomem *bmmio;	/* config info */	unsigned int               board;	unsigned int               tuner_type;	unsigned int 		   radio_type;	unsigned char		   tuner_addr;	unsigned char		   radio_addr;	unsigned int               tda9887_conf;	unsigned int               gpio_value;	/* i2c i/o */	struct i2c_adapter         i2c_adap;	struct i2c_client          i2c_client;	unsigned char              eedata[128];	/* 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    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;	int                        ctl_automute;	/* 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;	int                        nosignal;	/* SAA7134_MPEG_* */	struct saa7134_ts          ts;	struct saa7134_dmaqueue    ts_q;	struct saa7134_mpeg_ops    *mops;	/* SAA7134_MPEG_EMPRESS only */	struct video_device        *empress_dev;	struct videobuf_queue      empress_tsq;	unsigned int               empress_users;	struct work_struct         empress_workqueue;	int                        empress_started;	/* SAA7134_MPEG_DVB only */	struct videobuf_dvb        dvb;};/* ----------------------------------------------------------- */#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(us) { udelay(us); }/* ----------------------------------------------------------- *//* saa7134-core.c                                              */extern struct list_head  saa7134_devlist;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);extern int (*dmasound_init)(struct saa7134_dev *dev);extern int (*dmasound_exit)(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_init1(struct saa7134_dev *dev);extern int saa7134_board_init2(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                                                */#define TS_PACKET_SIZE 188 /* TS packets 188 bytes */extern struct videobuf_queue_ops saa7134_ts_qops;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);int saa7134_ts_register(struct saa7134_mpeg_ops *ops);void saa7134_ts_unregister(struct saa7134_mpeg_ops *ops);/* ----------------------------------------------------------- *//* 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);void saa7134_set_i2c_ir(struct saa7134_dev *dev, struct IR_i2c *ir);/* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

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