Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
cx88.h File Reference
#include <linux/pci.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include <linux/videodev2.h>
#include <linux/kdev_t.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fh.h>
#include <media/tuner.h>
#include <media/tveeprom.h>
#include <media/videobuf-dma-sg.h>
#include <media/v4l2-chip-ident.h>
#include <media/cx2341x.h>
#include <media/videobuf-dvb.h>
#include <media/ir-kbd-i2c.h>
#include <media/wm8775.h>
#include "btcx-risc.h"
#include "cx88-reg.h"
#include "tuner-xc2028.h"
#include <linux/mutex.h>

Go to the source code of this file.

Data Structures

struct  cx8800_fmt
 
struct  sram_channel
 
struct  cx88_input
 
struct  cx88_board
 
struct  cx88_subid
 
struct  cx88_buffer
 
struct  cx88_dmaqueue
 
struct  cx88_core
 
struct  cx8800_fh
 
struct  cx8800_suspend_state
 
struct  cx8800_dev
 
struct  cx8802_fh
 
struct  cx8802_suspend_state
 
struct  cx8802_driver
 
struct  cx8802_dev
 

Macros

#define CX88_VERSION   "0.0.9"
 
#define UNSET   (-1U)
 
#define CX88_MAXBOARDS   8
 
#define MAX_CX88_INPUT   8
 
#define CX88_NORMS
 
#define FORMAT_FLAGS_PACKED   0x01
 
#define FORMAT_FLAGS_PLANAR   0x02
 
#define VBI_LINE_COUNT   17
 
#define VBI_LINE_LENGTH   2048
 
#define AUD_RDS_LINES   4
 
#define SHADOW_AUD_VOL_CTL   1
 
#define SHADOW_AUD_BAL_CTL   2
 
#define SHADOW_MAX   3
 
#define SRAM_CH21   0 /* video */
 
#define SRAM_CH22   1
 
#define SRAM_CH23   2
 
#define SRAM_CH24   3 /* vbi */
 
#define SRAM_CH25   4 /* audio */
 
#define SRAM_CH26   5
 
#define SRAM_CH28   6 /* mpeg */
 
#define SRAM_CH27   7 /* audio rds */
 
#define CX88_BOARD_NOAUTO   UNSET
 
#define CX88_BOARD_UNKNOWN   0
 
#define CX88_BOARD_HAUPPAUGE   1
 
#define CX88_BOARD_GDI   2
 
#define CX88_BOARD_PIXELVIEW   3
 
#define CX88_BOARD_ATI_WONDER_PRO   4
 
#define CX88_BOARD_WINFAST2000XP_EXPERT   5
 
#define CX88_BOARD_AVERTV_STUDIO_303   6
 
#define CX88_BOARD_MSI_TVANYWHERE_MASTER   7
 
#define CX88_BOARD_WINFAST_DV2000   8
 
#define CX88_BOARD_LEADTEK_PVR2000   9
 
#define CX88_BOARD_IODATA_GVVCP3PCI   10
 
#define CX88_BOARD_PROLINK_PLAYTVPVR   11
 
#define CX88_BOARD_ASUS_PVR_416   12
 
#define CX88_BOARD_MSI_TVANYWHERE   13
 
#define CX88_BOARD_KWORLD_DVB_T   14
 
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1   15
 
#define CX88_BOARD_KWORLD_LTV883   16
 
#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q   17
 
#define CX88_BOARD_HAUPPAUGE_DVB_T1   18
 
#define CX88_BOARD_CONEXANT_DVB_T1   19
 
#define CX88_BOARD_PROVIDEO_PV259   20
 
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS   21
 
#define CX88_BOARD_PCHDTV_HD3000   22
 
#define CX88_BOARD_DNTV_LIVE_DVB_T   23
 
#define CX88_BOARD_HAUPPAUGE_ROSLYN   24
 
#define CX88_BOARD_DIGITALLOGIC_MEC   25
 
#define CX88_BOARD_IODATA_GVBCTV7E   26
 
#define CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO   27
 
#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T   28
 
#define CX88_BOARD_ADSTECH_DVB_T_PCI   29
 
#define CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1   30
 
#define CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD   31
 
#define CX88_BOARD_AVERMEDIA_ULTRATV_MC_550   32
 
#define CX88_BOARD_KWORLD_VSTREAM_EXPERT_DVD   33
 
#define CX88_BOARD_ATI_HDTVWONDER   34
 
#define CX88_BOARD_WINFAST_DTV1000   35
 
#define CX88_BOARD_AVERTV_303   36
 
#define CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1   37
 
#define CX88_BOARD_HAUPPAUGE_NOVASE2_S1   38
 
#define CX88_BOARD_KWORLD_DVBS_100   39
 
#define CX88_BOARD_HAUPPAUGE_HVR1100   40
 
#define CX88_BOARD_HAUPPAUGE_HVR1100LP   41
 
#define CX88_BOARD_DNTV_LIVE_DVB_T_PRO   42
 
#define CX88_BOARD_KWORLD_DVB_T_CX22702   43
 
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL   44
 
#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT   45
 
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID   46
 
#define CX88_BOARD_PCHDTV_HD5500   47
 
#define CX88_BOARD_KWORLD_MCE200_DELUXE   48
 
#define CX88_BOARD_PIXELVIEW_PLAYTV_P7000   49
 
#define CX88_BOARD_NPGTECH_REALTV_TOP10FM   50
 
#define CX88_BOARD_WINFAST_DTV2000H   51
 
#define CX88_BOARD_GENIATECH_DVBS   52
 
#define CX88_BOARD_HAUPPAUGE_HVR3000   53
 
#define CX88_BOARD_NORWOOD_MICRO   54
 
#define CX88_BOARD_TE_DTV_250_OEM_SWANN   55
 
#define CX88_BOARD_HAUPPAUGE_HVR1300   56
 
#define CX88_BOARD_ADSTECH_PTV_390   57
 
#define CX88_BOARD_PINNACLE_PCTV_HD_800i   58
 
#define CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO   59
 
#define CX88_BOARD_PINNACLE_HYBRID_PCTV   60
 
#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL   61
 
#define CX88_BOARD_POWERCOLOR_REAL_ANGEL   62
 
#define CX88_BOARD_GENIATECH_X8000_MT   63
 
#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO   64
 
#define CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD   65
 
#define CX88_BOARD_PROLINK_PV_8000GT   66
 
#define CX88_BOARD_KWORLD_ATSC_120   67
 
#define CX88_BOARD_HAUPPAUGE_HVR4000   68
 
#define CX88_BOARD_HAUPPAUGE_HVR4000LITE   69
 
#define CX88_BOARD_TEVII_S460   70
 
#define CX88_BOARD_OMICOM_SS4_PCI   71
 
#define CX88_BOARD_TBS_8920   72
 
#define CX88_BOARD_TEVII_S420   73
 
#define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME   74
 
#define CX88_BOARD_PROF_7300   75
 
#define CX88_BOARD_SATTRADE_ST4200   76
 
#define CX88_BOARD_TBS_8910   77
 
#define CX88_BOARD_PROF_6200   78
 
#define CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII   79
 
#define CX88_BOARD_HAUPPAUGE_IRONLY   80
 
#define CX88_BOARD_WINFAST_DTV1800H   81
 
#define CX88_BOARD_WINFAST_DTV2000H_J   82
 
#define CX88_BOARD_PROF_7301   83
 
#define CX88_BOARD_SAMSUNG_SMT_7020   84
 
#define CX88_BOARD_TWINHAN_VP1027_DVBS   85
 
#define CX88_BOARD_TEVII_S464   86
 
#define CX88_BOARD_WINFAST_DTV2000H_PLUS   87
 
#define CX88_BOARD_WINFAST_DTV1800H_XC4000   88
 
#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL_6F36   89
 
#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL_6F43   90
 
#define INPUT(nr)   (core->board.input[nr])
 
#define RESOURCE_OVERLAY   1
 
#define RESOURCE_VIDEO   2
 
#define RESOURCE_VBI   4
 
#define BUFFER_TIMEOUT   msecs_to_jiffies(2000)
 
#define call_hw(core, grpid, o, f, args...)
 
#define call_all(core, o, f, args...)   call_hw(core, 0, o, f, ##args)
 
#define WM8775_GID   (1 << 0)
 
#define wm8775_s_ctrl(core, id, val)
 
#define wm8775_g_ctrl(core, id)
 
#define cx_read(reg)   readl(core->lmmio + ((reg)>>2))
 
#define cx_write(reg, value)   writel((value), core->lmmio + ((reg)>>2))
 
#define cx_writeb(reg, value)   writeb((value), core->bmmio + (reg))
 
#define cx_andor(reg, mask, value)
 
#define cx_set(reg, bit)   cx_andor((reg),(bit),(bit))
 
#define cx_clear(reg, bit)   cx_andor((reg),(bit),0)
 
#define cx_wait(d)   { if (need_resched()) schedule(); else udelay(d); }
 
#define cx_sread(sreg)   (core->shadow[sreg])
 
#define cx_swrite(sreg, reg, value)
 
#define cx_sandor(sreg, reg, mask, value)
 

Enumerations

enum  cx88_deemph_type { FM_NO_DEEMPH = 0, FM_DEEMPH_50, FM_DEEMPH_75 }
 
enum  cx88_board_type { CX88_BOARD_NONE = 0, CX88_MPEG_DVB, CX88_MPEG_BLACKBIRD }
 
enum  cx8802_board_access { CX8802_DRVCTL_SHARED = 1, CX8802_DRVCTL_EXCLUSIVE = 2 }
 
enum  cx88_itype {
  CX88_VMUX_COMPOSITE1 = 1, CX88_VMUX_COMPOSITE2, CX88_VMUX_COMPOSITE3, CX88_VMUX_COMPOSITE4,
  CX88_VMUX_SVIDEO, CX88_VMUX_TELEVISION, CX88_VMUX_CABLE, CX88_VMUX_DVB,
  CX88_VMUX_DEBUG, CX88_RADIO
}
 
enum  cx88_tvaudio {
  WW_NONE = 1, WW_BTSC, WW_BG, WW_DK,
  WW_I, WW_L, WW_EIAJ, WW_I2SPT,
  WW_FM, WW_I2SADC, WW_M
}
 

Functions

void cx88_print_irqbits (const char *name, const char *tag, const char *strings[], int len, u32 bits, u32 mask)
 
int cx88_core_irq (struct cx88_core *core, u32 status)
 
void cx88_wakeup (struct cx88_core *core, struct cx88_dmaqueue *q, u32 count)
 
void cx88_shutdown (struct cx88_core *core)
 
int cx88_reset (struct cx88_core *core)
 
int cx88_risc_buffer (struct pci_dev *pci, struct btcx_riscmem *risc, struct scatterlist *sglist, unsigned int top_offset, unsigned int bottom_offset, unsigned int bpl, unsigned int padding, unsigned int lines)
 
int cx88_risc_databuffer (struct pci_dev *pci, struct btcx_riscmem *risc, struct scatterlist *sglist, unsigned int bpl, unsigned int lines, unsigned int lpi)
 
int cx88_risc_stopper (struct pci_dev *pci, struct btcx_riscmem *risc, u32 reg, u32 mask, u32 value)
 
void cx88_free_buffer (struct videobuf_queue *q, struct cx88_buffer *buf)
 
void cx88_risc_disasm (struct cx88_core *core, struct btcx_riscmem *risc)
 
int cx88_sram_channel_setup (struct cx88_core *core, const struct sram_channel *ch, unsigned int bpl, u32 risc)
 
void cx88_sram_channel_dump (struct cx88_core *core, const struct sram_channel *ch)
 
int cx88_set_scale (struct cx88_core *core, unsigned int width, unsigned int height, enum v4l2_field field)
 
int cx88_set_tvnorm (struct cx88_core *core, v4l2_std_id norm)
 
struct video_devicecx88_vdev_init (struct cx88_core *core, struct pci_dev *pci, const struct video_device *template_, const char *type)
 
struct cx88_corecx88_core_get (struct pci_dev *pci)
 
void cx88_core_put (struct cx88_core *core, struct pci_dev *pci)
 
int cx88_start_audio_dma (struct cx88_core *core)
 
int cx88_stop_audio_dma (struct cx88_core *core)
 
int cx8800_vbi_fmt (struct file *file, void *priv, struct v4l2_format *f)
 
int cx8800_stop_vbi_dma (struct cx8800_dev *dev)
 
int cx8800_restart_vbi_queue (struct cx8800_dev *dev, struct cx88_dmaqueue *q)
 
void cx8800_vbi_timeout (unsigned long data)
 
int cx88_i2c_init (struct cx88_core *core, struct pci_dev *pci)
 
int cx88_tuner_callback (void *dev, int component, int command, int arg)
 
int cx88_get_resources (const struct cx88_core *core, struct pci_dev *pci)
 
struct cx88_corecx88_core_create (struct pci_dev *pci, int nr)
 
void cx88_setup_xc3028 (struct cx88_core *core, struct xc2028_ctrl *ctl)
 
void cx88_set_tvaudio (struct cx88_core *core)
 
void cx88_newstation (struct cx88_core *core)
 
void cx88_get_stereo (struct cx88_core *core, struct v4l2_tuner *t)
 
void cx88_set_stereo (struct cx88_core *core, u32 mode, int manual)
 
int cx88_audio_thread (void *data)
 
int cx8802_register_driver (struct cx8802_driver *drv)
 
int cx8802_unregister_driver (struct cx8802_driver *drv)
 
struct cx8802_drivercx8802_get_driver (struct cx8802_dev *dev, enum cx88_board_type btype)
 
s32 cx88_dsp_detect_stereo_sap (struct cx88_core *core)
 
int cx88_ir_init (struct cx88_core *core, struct pci_dev *pci)
 
int cx88_ir_fini (struct cx88_core *core)
 
void cx88_ir_irq (struct cx88_core *core)
 
int cx88_ir_start (struct cx88_core *core)
 
void cx88_ir_stop (struct cx88_core *core)
 
void cx88_i2c_init_ir (struct cx88_core *core)
 
int cx8802_buf_prepare (struct videobuf_queue *q, struct cx8802_dev *dev, struct cx88_buffer *buf, enum v4l2_field field)
 
void cx8802_buf_queue (struct cx8802_dev *dev, struct cx88_buffer *buf)
 
void cx8802_cancel_buffers (struct cx8802_dev *dev)
 
int cx88_enum_input (struct cx88_core *core, struct v4l2_input *i)
 
int cx88_set_freq (struct cx88_core *core, struct v4l2_frequency *f)
 
int cx88_video_mux (struct cx88_core *core, unsigned int input)
 
void cx88_querycap (struct file *file, struct cx88_core *core, struct v4l2_capability *cap)
 

Variables

struct sram_channel cx88_sram_channels []
 
struct videobuf_queue_ops cx8800_vbi_qops
 

Macro Definition Documentation

#define AUD_RDS_LINES   4

Definition at line 69 of file cx88.h.

#define BUFFER_TIMEOUT   msecs_to_jiffies(2000)

Definition at line 308 of file cx88.h.

#define call_all (   core,
  o,
  f,
  args... 
)    call_hw(core, 0, o, f, ##args)

Definition at line 419 of file cx88.h.

#define call_hw (   core,
  grpid,
  o,
  f,
  args... 
)
Value:
do { \
if (!core->i2c_rc) { \
if (core->gate_ctrl) \
core->gate_ctrl(core, 1); \
v4l2_device_call_all(&core->v4l2_dev, grpid, o, f, ##args); \
if (core->gate_ctrl) \
core->gate_ctrl(core, 0); \
} \
} while (0)

Definition at line 408 of file cx88.h.

#define CX88_BOARD_ADSTECH_DVB_T_PCI   29

Definition at line 179 of file cx88.h.

#define CX88_BOARD_ADSTECH_PTV_390   57

Definition at line 207 of file cx88.h.

#define CX88_BOARD_ASUS_PVR_416   12

Definition at line 162 of file cx88.h.

#define CX88_BOARD_ATI_HDTVWONDER   34

Definition at line 184 of file cx88.h.

#define CX88_BOARD_ATI_WONDER_PRO   4

Definition at line 154 of file cx88.h.

#define CX88_BOARD_AVERMEDIA_ULTRATV_MC_550   32

Definition at line 182 of file cx88.h.

#define CX88_BOARD_AVERTV_303   36

Definition at line 186 of file cx88.h.

#define CX88_BOARD_AVERTV_STUDIO_303   6

Definition at line 156 of file cx88.h.

#define CX88_BOARD_CONEXANT_DVB_T1   19

Definition at line 169 of file cx88.h.

#define CX88_BOARD_DIGITALLOGIC_MEC   25

Definition at line 175 of file cx88.h.

#define CX88_BOARD_DNTV_LIVE_DVB_T   23

Definition at line 173 of file cx88.h.

#define CX88_BOARD_DNTV_LIVE_DVB_T_PRO   42

Definition at line 192 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q   17

Definition at line 167 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T   28

Definition at line 178 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD   31

Definition at line 181 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_5_PCI_NANO   59

Definition at line 209 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_7_GOLD   65

Definition at line 215 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1   15

Definition at line 165 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL   44

Definition at line 194 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_HYBRID   46

Definition at line 196 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS   21

Definition at line 171 of file cx88.h.

#define CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PRO   64

Definition at line 214 of file cx88.h.

#define CX88_BOARD_GDI   2

Definition at line 152 of file cx88.h.

#define CX88_BOARD_GENIATECH_DVBS   52

Definition at line 202 of file cx88.h.

#define CX88_BOARD_GENIATECH_X8000_MT   63

Definition at line 213 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE   1

Definition at line 151 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_DVB_T1   18

Definition at line 168 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR1100   40

Definition at line 190 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR1100LP   41

Definition at line 191 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR1300   56

Definition at line 206 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR3000   53

Definition at line 203 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR4000   68

Definition at line 218 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_HVR4000LITE   69

Definition at line 219 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_IRONLY   80

Definition at line 230 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_NOVASE2_S1   38

Definition at line 188 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1   37

Definition at line 187 of file cx88.h.

#define CX88_BOARD_HAUPPAUGE_ROSLYN   24

Definition at line 174 of file cx88.h.

#define CX88_BOARD_IODATA_GVBCTV7E   26

Definition at line 176 of file cx88.h.

#define CX88_BOARD_IODATA_GVVCP3PCI   10

Definition at line 160 of file cx88.h.

#define CX88_BOARD_KWORLD_ATSC_120   67

Definition at line 217 of file cx88.h.

#define CX88_BOARD_KWORLD_DVB_T   14

Definition at line 164 of file cx88.h.

#define CX88_BOARD_KWORLD_DVB_T_CX22702   43

Definition at line 193 of file cx88.h.

#define CX88_BOARD_KWORLD_DVBS_100   39

Definition at line 189 of file cx88.h.

#define CX88_BOARD_KWORLD_HARDWARE_MPEG_TV_XPERT   45

Definition at line 195 of file cx88.h.

#define CX88_BOARD_KWORLD_LTV883   16

Definition at line 166 of file cx88.h.

#define CX88_BOARD_KWORLD_MCE200_DELUXE   48

Definition at line 198 of file cx88.h.

#define CX88_BOARD_KWORLD_VSTREAM_EXPERT_DVD   33

Definition at line 183 of file cx88.h.

#define CX88_BOARD_LEADTEK_PVR2000   9

Definition at line 159 of file cx88.h.

#define CX88_BOARD_MSI_TVANYWHERE   13

Definition at line 163 of file cx88.h.

#define CX88_BOARD_MSI_TVANYWHERE_MASTER   7

Definition at line 157 of file cx88.h.

#define CX88_BOARD_NOAUTO   UNSET

Definition at line 149 of file cx88.h.

#define CX88_BOARD_NORWOOD_MICRO   54

Definition at line 204 of file cx88.h.

#define CX88_BOARD_NPGTECH_REALTV_TOP10FM   50

Definition at line 200 of file cx88.h.

#define CX88_BOARD_OMICOM_SS4_PCI   71

Definition at line 221 of file cx88.h.

#define CX88_BOARD_PCHDTV_HD3000   22

Definition at line 172 of file cx88.h.

#define CX88_BOARD_PCHDTV_HD5500   47

Definition at line 197 of file cx88.h.

#define CX88_BOARD_PINNACLE_HYBRID_PCTV   60

Definition at line 210 of file cx88.h.

#define CX88_BOARD_PINNACLE_PCTV_HD_800i   58

Definition at line 208 of file cx88.h.

#define CX88_BOARD_PIXELVIEW   3

Definition at line 153 of file cx88.h.

#define CX88_BOARD_PIXELVIEW_PLAYTV_P7000   49

Definition at line 199 of file cx88.h.

#define CX88_BOARD_PIXELVIEW_PLAYTV_ULTRA_PRO   27

Definition at line 177 of file cx88.h.

#define CX88_BOARD_POWERCOLOR_REAL_ANGEL   62

Definition at line 212 of file cx88.h.

#define CX88_BOARD_PROF_6200   78

Definition at line 228 of file cx88.h.

#define CX88_BOARD_PROF_7300   75

Definition at line 225 of file cx88.h.

#define CX88_BOARD_PROF_7301   83

Definition at line 233 of file cx88.h.

#define CX88_BOARD_PROLINK_PLAYTVPVR   11

Definition at line 161 of file cx88.h.

#define CX88_BOARD_PROLINK_PV_8000GT   66

Definition at line 216 of file cx88.h.

#define CX88_BOARD_PROLINK_PV_GLOBAL_XTREME   74

Definition at line 224 of file cx88.h.

#define CX88_BOARD_PROVIDEO_PV259   20

Definition at line 170 of file cx88.h.

#define CX88_BOARD_SAMSUNG_SMT_7020   84

Definition at line 234 of file cx88.h.

#define CX88_BOARD_SATTRADE_ST4200   76

Definition at line 226 of file cx88.h.

#define CX88_BOARD_TBS_8910   77

Definition at line 227 of file cx88.h.

#define CX88_BOARD_TBS_8920   72

Definition at line 222 of file cx88.h.

#define CX88_BOARD_TE_DTV_250_OEM_SWANN   55

Definition at line 205 of file cx88.h.

#define CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1   30

Definition at line 180 of file cx88.h.

#define CX88_BOARD_TERRATEC_CINERGY_HT_PCI_MKII   79

Definition at line 229 of file cx88.h.

#define CX88_BOARD_TEVII_S420   73

Definition at line 223 of file cx88.h.

#define CX88_BOARD_TEVII_S460   70

Definition at line 220 of file cx88.h.

#define CX88_BOARD_TEVII_S464   86

Definition at line 236 of file cx88.h.

#define CX88_BOARD_TWINHAN_VP1027_DVBS   85

Definition at line 235 of file cx88.h.

#define CX88_BOARD_UNKNOWN   0

Definition at line 150 of file cx88.h.

#define CX88_BOARD_WINFAST2000XP_EXPERT   5

Definition at line 155 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV1000   35

Definition at line 185 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV1800H   81

Definition at line 231 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV1800H_XC4000   88

Definition at line 238 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV2000H   51

Definition at line 201 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV2000H_J   82

Definition at line 232 of file cx88.h.

#define CX88_BOARD_WINFAST_DTV2000H_PLUS   87

Definition at line 237 of file cx88.h.

#define CX88_BOARD_WINFAST_DV2000   8

Definition at line 158 of file cx88.h.

#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL   61

Definition at line 211 of file cx88.h.

#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL_6F36   89

Definition at line 239 of file cx88.h.

#define CX88_BOARD_WINFAST_TV2000_XP_GLOBAL_6F43   90

Definition at line 240 of file cx88.h.

#define CX88_MAXBOARDS   8

Definition at line 49 of file cx88.h.

#define CX88_NORMS
Value:

Definition at line 58 of file cx88.h.

#define CX88_VERSION   "0.0.9"

Definition at line 45 of file cx88.h.

#define cx_andor (   reg,
  mask,
  value 
)
Value:
writel((readl(core->lmmio+((reg)>>2)) & ~(mask)) |\
((value) & (mask)), core->lmmio+((reg)>>2))

Definition at line 602 of file cx88.h.

#define cx_clear (   reg,
  bit 
)    cx_andor((reg),(bit),0)

Definition at line 606 of file cx88.h.

#define cx_read (   reg)    readl(core->lmmio + ((reg)>>2))

Definition at line 598 of file cx88.h.

#define cx_sandor (   sreg,
  reg,
  mask,
  value 
)
Value:
(core->shadow[sreg] = (core->shadow[sreg] & ~(mask)) | ((value) & (mask)), \
writel(core->shadow[sreg], core->lmmio + ((reg)>>2)))

Definition at line 615 of file cx88.h.

#define cx_set (   reg,
  bit 
)    cx_andor((reg),(bit),(bit))

Definition at line 605 of file cx88.h.

#define cx_sread (   sreg)    (core->shadow[sreg])

Definition at line 611 of file cx88.h.

#define cx_swrite (   sreg,
  reg,
  value 
)
Value:
(core->shadow[sreg] = value, \
writel(core->shadow[sreg], core->lmmio + ((reg)>>2)))

Definition at line 612 of file cx88.h.

#define cx_wait (   d)    { if (need_resched()) schedule(); else udelay(d); }

Definition at line 608 of file cx88.h.

#define cx_write (   reg,
  value 
)    writel((value), core->lmmio + ((reg)>>2))

Definition at line 599 of file cx88.h.

#define cx_writeb (   reg,
  value 
)    writeb((value), core->bmmio + (reg))

Definition at line 600 of file cx88.h.

#define FORMAT_FLAGS_PACKED   0x01

Definition at line 63 of file cx88.h.

#define FORMAT_FLAGS_PLANAR   0x02

Definition at line 64 of file cx88.h.

#define INPUT (   nr)    (core->board.input[nr])

Definition at line 299 of file cx88.h.

#define MAX_CX88_INPUT   8

Definition at line 52 of file cx88.h.

#define RESOURCE_OVERLAY   1

Definition at line 304 of file cx88.h.

#define RESOURCE_VBI   4

Definition at line 306 of file cx88.h.

#define RESOURCE_VIDEO   2

Definition at line 305 of file cx88.h.

#define SHADOW_AUD_BAL_CTL   2

Definition at line 73 of file cx88.h.

#define SHADOW_AUD_VOL_CTL   1

Definition at line 72 of file cx88.h.

#define SHADOW_MAX   3

Definition at line 74 of file cx88.h.

#define SRAM_CH21   0 /* video */

Definition at line 122 of file cx88.h.

#define SRAM_CH22   1

Definition at line 123 of file cx88.h.

#define SRAM_CH23   2

Definition at line 124 of file cx88.h.

#define SRAM_CH24   3 /* vbi */

Definition at line 125 of file cx88.h.

#define SRAM_CH25   4 /* audio */

Definition at line 126 of file cx88.h.

#define SRAM_CH26   5

Definition at line 127 of file cx88.h.

#define SRAM_CH27   7 /* audio rds */

Definition at line 129 of file cx88.h.

#define SRAM_CH28   6 /* mpeg */

Definition at line 128 of file cx88.h.

#define UNSET   (-1U)

Definition at line 47 of file cx88.h.

#define VBI_LINE_COUNT   17

Definition at line 66 of file cx88.h.

#define VBI_LINE_LENGTH   2048

Definition at line 67 of file cx88.h.

#define wm8775_g_ctrl (   core,
  id 
)
Value:
({ \
struct v4l2_ctrl *ctrl_ = \
v4l2_ctrl_find(core->sd_wm8775->ctrl_handler, id); \
s32 val = 0; \
if (ctrl_ && !core->i2c_rc) { \
if (core->gate_ctrl) \
core->gate_ctrl(core, 1); \
val = v4l2_ctrl_g_ctrl(ctrl_); \
if (core->gate_ctrl) \
core->gate_ctrl(core, 0); \
} \
val; \
})

Definition at line 436 of file cx88.h.

#define WM8775_GID   (1 << 0)

Definition at line 421 of file cx88.h.

#define wm8775_s_ctrl (   core,
  id,
  val 
)
Value:
do { \
struct v4l2_ctrl *ctrl_ = \
v4l2_ctrl_find(core->sd_wm8775->ctrl_handler, id); \
if (ctrl_ && !core->i2c_rc) { \
if (core->gate_ctrl) \
core->gate_ctrl(core, 1); \
v4l2_ctrl_s_ctrl(ctrl_, val); \
if (core->gate_ctrl) \
core->gate_ctrl(core, 0); \
} \
} while (0)

Definition at line 423 of file cx88.h.

Enumeration Type Documentation

Enumerator:
CX8802_DRVCTL_SHARED 
CX8802_DRVCTL_EXCLUSIVE 

Definition at line 89 of file cx88.h.

Enumerator:
CX88_BOARD_NONE 
CX88_MPEG_DVB 
CX88_MPEG_BLACKBIRD 

Definition at line 83 of file cx88.h.

Enumerator:
FM_NO_DEEMPH 
FM_DEEMPH_50 
FM_DEEMPH_75 

Definition at line 77 of file cx88.h.

enum cx88_itype
Enumerator:
CX88_VMUX_COMPOSITE1 
CX88_VMUX_COMPOSITE2 
CX88_VMUX_COMPOSITE3 
CX88_VMUX_COMPOSITE4 
CX88_VMUX_SVIDEO 
CX88_VMUX_TELEVISION 
CX88_VMUX_CABLE 
CX88_VMUX_DVB 
CX88_VMUX_DEBUG 
CX88_RADIO 

Definition at line 242 of file cx88.h.

Enumerator:
WW_NONE 
WW_BTSC 
WW_BG 
WW_DK 
WW_I 
WW_L 
WW_EIAJ 
WW_I2SPT 
WW_FM 
WW_I2SADC 
WW_M 

Definition at line 285 of file cx88.h.

Function Documentation

int cx8800_restart_vbi_queue ( struct cx8800_dev dev,
struct cx88_dmaqueue q 
)

Definition at line 97 of file cx88-vbi.c.

int cx8800_stop_vbi_dma ( struct cx8800_dev dev)

Definition at line 81 of file cx88-vbi.c.

int cx8800_vbi_fmt ( struct file file,
void priv,
struct v4l2_format f 
)

Definition at line 22 of file cx88-vbi.c.

void cx8800_vbi_timeout ( unsigned long  data)

Definition at line 115 of file cx88-vbi.c.

int cx8802_buf_prepare ( struct videobuf_queue q,
struct cx8802_dev dev,
struct cx88_buffer buf,
enum v4l2_field  field 
)

Definition at line 259 of file cx88-mpeg.c.

void cx8802_buf_queue ( struct cx8802_dev dev,
struct cx88_buffer buf 
)

Definition at line 290 of file cx88-mpeg.c.

void cx8802_cancel_buffers ( struct cx8802_dev dev)

Definition at line 347 of file cx88-mpeg.c.

struct cx8802_driver* cx8802_get_driver ( struct cx8802_dev dev,
enum cx88_board_type  btype 
)
read

Definition at line 595 of file cx88-mpeg.c.

int cx8802_register_driver ( struct cx8802_driver drv)

Definition at line 688 of file cx88-mpeg.c.

int cx8802_unregister_driver ( struct cx8802_driver drv)

Definition at line 747 of file cx88-mpeg.c.

int cx88_audio_thread ( void data)

Definition at line 988 of file cx88-tvaudio.c.

struct cx88_core* cx88_core_create ( struct pci_dev pci,
int  nr 
)
read

Definition at line 3670 of file cx88-cards.c.

struct cx88_core* cx88_core_get ( struct pci_dev pci)
read

Definition at line 1043 of file cx88-core.c.

int cx88_core_irq ( struct cx88_core core,
u32  status 
)

Definition at line 521 of file cx88-core.c.

void cx88_core_put ( struct cx88_core core,
struct pci_dev pci 
)

Definition at line 1073 of file cx88-core.c.

s32 cx88_dsp_detect_stereo_sap ( struct cx88_core core)

Definition at line 271 of file cx88-dsp.c.

int cx88_enum_input ( struct cx88_core core,
struct v4l2_input i 
)

Definition at line 1208 of file cx88-video.c.

void cx88_free_buffer ( struct videobuf_queue q,
struct cx88_buffer buf 
)

Definition at line 215 of file cx88-core.c.

int cx88_get_resources ( const struct cx88_core core,
struct pci_dev pci 
)

Definition at line 3654 of file cx88-cards.c.

void cx88_get_stereo ( struct cx88_core core,
struct v4l2_tuner t 
)

Definition at line 814 of file cx88-tvaudio.c.

int cx88_i2c_init ( struct cx88_core core,
struct pci_dev pci 
)

Definition at line 136 of file cx88-i2c.c.

void cx88_i2c_init_ir ( struct cx88_core core)

Definition at line 571 of file cx88-input.c.

int cx88_ir_fini ( struct cx88_core core)

Definition at line 492 of file cx88-input.c.

int cx88_ir_init ( struct cx88_core core,
struct pci_dev pci 
)

Definition at line 246 of file cx88-input.c.

void cx88_ir_irq ( struct cx88_core core)

Definition at line 511 of file cx88-input.c.

int cx88_ir_start ( struct cx88_core core)

Definition at line 213 of file cx88-input.c.

void cx88_ir_stop ( struct cx88_core core)

Definition at line 221 of file cx88-input.c.

void cx88_newstation ( struct cx88_core core)

Definition at line 808 of file cx88-tvaudio.c.

void cx88_print_irqbits ( const char name,
const char tag,
const char strings[],
int  len,
u32  bits,
u32  mask 
)

Definition at line 499 of file cx88-core.c.

void cx88_querycap ( struct file file,
struct cx88_core core,
struct v4l2_capability cap 
)

Definition at line 1082 of file cx88-video.c.

int cx88_reset ( struct cx88_core core)

Definition at line 593 of file cx88-core.c.

int cx88_risc_buffer ( struct pci_dev pci,
struct btcx_riscmem risc,
struct scatterlist sglist,
unsigned int  top_offset,
unsigned int  bottom_offset,
unsigned int  bpl,
unsigned int  padding,
unsigned int  lines 
)

Definition at line 128 of file cx88-core.c.

int cx88_risc_databuffer ( struct pci_dev pci,
struct btcx_riscmem risc,
struct scatterlist sglist,
unsigned int  bpl,
unsigned int  lines,
unsigned int  lpi 
)

Definition at line 167 of file cx88-core.c.

void cx88_risc_disasm ( struct cx88_core core,
struct btcx_riscmem risc 
)
int cx88_risc_stopper ( struct pci_dev pci,
struct btcx_riscmem risc,
u32  reg,
u32  mask,
u32  value 
)

Definition at line 194 of file cx88-core.c.

int cx88_set_freq ( struct cx88_core core,
struct v4l2_frequency f 
)

Definition at line 1323 of file cx88-video.c.

int cx88_set_scale ( struct cx88_core core,
unsigned int  width,
unsigned int  height,
enum v4l2_field  field 
)

Definition at line 700 of file cx88-core.c.

void cx88_set_stereo ( struct cx88_core core,
u32  mode,
int  manual 
)

Definition at line 882 of file cx88-tvaudio.c.

void cx88_set_tvaudio ( struct cx88_core core)

Definition at line 755 of file cx88-tvaudio.c.

int cx88_set_tvnorm ( struct cx88_core core,
v4l2_std_id  norm 
)

Definition at line 900 of file cx88-core.c.

void cx88_setup_xc3028 ( struct cx88_core core,
struct xc2028_ctrl ctl 
)

Definition at line 3361 of file cx88-cards.c.

void cx88_shutdown ( struct cx88_core core)

Definition at line 569 of file cx88-core.c.

void cx88_sram_channel_dump ( struct cx88_core core,
const struct sram_channel ch 
)

Definition at line 434 of file cx88-core.c.

int cx88_sram_channel_setup ( struct cx88_core core,
const struct sram_channel ch,
unsigned int  bpl,
u32  risc 
)

Definition at line 355 of file cx88-core.c.

int cx88_start_audio_dma ( struct cx88_core core)

Definition at line 808 of file cx88-core.c.

int cx88_stop_audio_dma ( struct cx88_core core)

Definition at line 834 of file cx88-core.c.

int cx88_tuner_callback ( void dev,
int  component,
int  command,
int  arg 
)

Definition at line 3223 of file cx88-cards.c.

struct video_device* cx88_vdev_init ( struct cx88_core core,
struct pci_dev pci,
const struct video_device template_,
const char type 
)
read

Definition at line 1024 of file cx88-core.c.

int cx88_video_mux ( struct cx88_core core,
unsigned int  input 
)

Definition at line 352 of file cx88-video.c.

void cx88_wakeup ( struct cx88_core core,
struct cx88_dmaqueue q,
u32  count 
)

Definition at line 536 of file cx88-core.c.

Variable Documentation

struct videobuf_queue_ops cx8800_vbi_qops

Definition at line 233 of file cx88-vbi.c.

struct sram_channel cx88_sram_channels[]

Definition at line 256 of file cx88-core.c.