Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
av7110.c File Reference
#include <linux/module.h>
#include <linux/kmod.h>
#include <linux/delay.h>
#include <linux/fs.h>
#include <linux/timer.h>
#include <linux/poll.h>
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h>
#include <linux/string.h>
#include <linux/pci.h>
#include <linux/vmalloc.h>
#include <linux/firmware.h>
#include <linux/crc32.h>
#include <linux/i2c.h>
#include <linux/kthread.h>
#include <linux/slab.h>
#include <asm/unaligned.h>
#include <asm/byteorder.h>
#include <linux/dvb/frontend.h>
#include "dvb_frontend.h"
#include "ttpci-eeprom.h"
#include "av7110.h"
#include "av7110_hw.h"
#include "av7110_av.h"
#include "av7110_ca.h"
#include "av7110_ipack.h"
#include "bsbe1.h"
#include "lnbp21.h"
#include "bsru6.h"

Go to the source code of this file.

Macros

#define TS_WIDTH   376
 
#define TS_HEIGHT   512
 
#define TS_BUFLEN   (TS_WIDTH*TS_HEIGHT)
 
#define TS_MAX_PACKETS   (TS_BUFLEN/TS_SIZE)
 
#define FE_FUNC_OVERRIDE(fe_func, av7110_copy, av7110_func)
 
#define DEBI_READ   0
 
#define DEBI_WRITE   1
 
#define RPS_IRQ   0
 
#define MAKE_AV7110_INFO(x_var, x_name)
 

Functions

 module_param_named (debug, av7110_debug, int, 0644)
 
 MODULE_PARM_DESC (debug,"debug level (bitmask, default 0)")
 
 module_param (vidmode, int, 0444)
 
 MODULE_PARM_DESC (vidmode,"analog video out: 0 off, 1 CVBS+RGB (default), 2 CVBS+YC, 3 YC")
 
 module_param (pids_off, int, 0444)
 
 MODULE_PARM_DESC (pids_off,"clear video/audio/PCR PID filters when demux is closed")
 
 module_param (adac, int, 0444)
 
 MODULE_PARM_DESC (adac,"audio DAC type: 0 TI, 1 CRYSTAL, 2 MSP (use if autodetection fails)")
 
 module_param (hw_sections, int, 0444)
 
 MODULE_PARM_DESC (hw_sections,"0 use software section filter, 1 use hardware")
 
 module_param (rgb_on, int, 0444)
 
 MODULE_PARM_DESC (rgb_on,"For Siemens DVB-C cards only: Enable RGB control"" signal on SCART pin 16 to switch SCART video mode from CVBS to RGB")
 
 module_param (volume, int, 0444)
 
 MODULE_PARM_DESC (volume,"initial volume: default 255 (range 0-255)")
 
 module_param (budgetpatch, int, 0444)
 
 MODULE_PARM_DESC (budgetpatch,"use budget-patch hardware modification: default 0 (0 no, 1 autodetect, 2 always)")
 
 module_param (full_ts, int, 0444)
 
 MODULE_PARM_DESC (full_ts,"enable code for full-ts hardware modification: 0 disable (default), 1 enable")
 
 module_param (wss_cfg_4_3, int, 0444)
 
 MODULE_PARM_DESC (wss_cfg_4_3,"WSS 4:3 - default 0x4008 - bit 15: disable, 14: burst mode, 13..0: wss data")
 
 module_param (wss_cfg_16_9, int, 0444)
 
 MODULE_PARM_DESC (wss_cfg_16_9,"WSS 16:9 - default 0x0007 - bit 15: disable, 14: burst mode, 13..0: wss data")
 
 module_param (tv_standard, int, 0444)
 
 MODULE_PARM_DESC (tv_standard,"TV standard: 0 PAL (default), 1 NTSC")
 
 DVB_DEFINE_MOD_OPT_ADAPTER_NR (adapter_nr)
 
int ChangePIDs (struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid, u16 subpid, u16 pcrpid)
 
int i2c_writereg (struct av7110 *av7110, u8 id, u8 reg, u8 val)
 
u8 i2c_readreg (struct av7110 *av7110, u8 id, u8 reg)
 
 MAKE_AV7110_INFO (tts_1_X_fsc,"Technotrend/Hauppauge WinTV DVB-S rev1.X or Fujitsu Siemens DVB-C")
 
 MAKE_AV7110_INFO (ttt_1_X,"Technotrend/Hauppauge WinTV DVB-T rev1.X")
 
 MAKE_AV7110_INFO (ttc_1_X,"Technotrend/Hauppauge WinTV Nexus-CA rev1.X")
 
 MAKE_AV7110_INFO (ttc_2_X,"Technotrend/Hauppauge WinTV DVB-C rev2.X")
 
 MAKE_AV7110_INFO (tts_2_X,"Technotrend/Hauppauge WinTV Nexus-S rev2.X")
 
 MAKE_AV7110_INFO (tts_2_3,"Technotrend/Hauppauge WinTV Nexus-S rev2.3")
 
 MAKE_AV7110_INFO (tts_1_3se,"Technotrend/Hauppauge WinTV DVB-S rev1.3 SE")
 
 MAKE_AV7110_INFO (ttt,"Technotrend/Hauppauge DVB-T")
 
 MAKE_AV7110_INFO (fsc,"Fujitsu Siemens DVB-C")
 
 MAKE_AV7110_INFO (fss,"Fujitsu Siemens DVB-S rev1.6")
 
 MAKE_AV7110_INFO (gxs_1_3,"Galaxis DVB-S rev1.3")
 
 MODULE_DEVICE_TABLE (pci, pci_tbl)
 
 module_init (av7110_init)
 
 module_exit (av7110_exit)
 
 MODULE_DESCRIPTION ("driver for the SAA7146 based AV110 PCI DVB cards by ""Siemens, Technotrend, Hauppauge")
 
 MODULE_AUTHOR ("Ralph Metzler, Marcus Metzler, others")
 
 MODULE_LICENSE ("GPL")
 

Variables

int av7110_debug
 

Macro Definition Documentation

#define DEBI_READ   0

Definition at line 362 of file av7110.c.

#define DEBI_WRITE   1

Definition at line 363 of file av7110.c.

#define FE_FUNC_OVERRIDE (   fe_func,
  av7110_copy,
  av7110_func 
)
Value:
{\
if (fe_func != NULL) { \
av7110_copy = fe_func; \
fe_func = av7110_func; \
} \
}

Definition at line 126 of file av7110.c.

#define MAKE_AV7110_INFO (   x_var,
  x_name 
)
Value:
static struct saa7146_pci_extension_data x_var = { \
.ext_priv = x_name, \
.ext = &av7110_extension_driver }

Definition at line 2865 of file av7110.c.

#define RPS_IRQ   0
#define TS_BUFLEN   (TS_WIDTH*TS_HEIGHT)

Definition at line 74 of file av7110.c.

#define TS_HEIGHT   512

Definition at line 73 of file av7110.c.

#define TS_MAX_PACKETS   (TS_BUFLEN/TS_SIZE)

Definition at line 75 of file av7110.c.

#define TS_WIDTH   376

Definition at line 72 of file av7110.c.

Function Documentation

int ChangePIDs ( struct av7110 av7110,
u16  vpid,
u16  apid,
u16  ttpid,
u16  subpid,
u16  pcrpid 
)

Definition at line 768 of file av7110.c.

DVB_DEFINE_MOD_OPT_ADAPTER_NR ( adapter_nr  )
u8 i2c_readreg ( struct av7110 av7110,
u8  id,
u8  reg 
)

Definition at line 1448 of file av7110.c.

int i2c_writereg ( struct av7110 av7110,
u8  id,
u8  reg,
u8  val 
)

Definition at line 1436 of file av7110.c.

MAKE_AV7110_INFO ( tts_1_X_fsc  ,
"Technotrend/Hauppauge WinTV DVB-S rev1.X or Fujitsu Siemens DVB-C  
)
MAKE_AV7110_INFO ( ttt_1_X  ,
"Technotrend/Hauppauge WinTV DVB-T rev1.X  
)
MAKE_AV7110_INFO ( ttc_1_X  ,
"Technotrend/Hauppauge WinTV Nexus-CA rev1.X  
)
MAKE_AV7110_INFO ( ttc_2_X  ,
"Technotrend/Hauppauge WinTV DVB-C rev2.X  
)
MAKE_AV7110_INFO ( tts_2_X  ,
"Technotrend/Hauppauge WinTV Nexus-S rev2.X  
)
MAKE_AV7110_INFO ( tts_2_3  ,
"Technotrend/Hauppauge WinTV Nexus-S rev2.3"   
)
MAKE_AV7110_INFO ( tts_1_3se  ,
"Technotrend/Hauppauge WinTV DVB-S rev1.3 SE  
)
MAKE_AV7110_INFO ( ttt  ,
"Technotrend/Hauppauge DVB-T  
)
MAKE_AV7110_INFO ( fsc  ,
"Fujitsu Siemens DVB-C  
)
MAKE_AV7110_INFO ( fss  ,
"Fujitsu Siemens DVB-S rev1.6"   
)
MAKE_AV7110_INFO ( gxs_1_3  ,
"Galaxis DVB-S rev1.3"   
)
MODULE_AUTHOR ( "Ralph  Metzler,
Marcus  Metzler,
others"   
)
MODULE_DESCRIPTION ( "driver for the SAA7146 based AV110 PCI DVB cards by ""  Siemens,
Technotrend  ,
Hauppauge"   
)
MODULE_DEVICE_TABLE ( pci  ,
pci_tbl   
)
module_exit ( av7110_exit  )
module_init ( av7110_init  )
MODULE_LICENSE ( "GPL"  )
module_param ( vidmode  ,
int  ,
0444   
)
module_param ( pids_off  ,
int  ,
0444   
)
module_param ( adac  ,
int  ,
0444   
)
module_param ( hw_sections  ,
int  ,
0444   
)
module_param ( rgb_on  ,
int  ,
0444   
)
module_param ( volume  ,
int  ,
0444   
)
module_param ( budgetpatch  ,
int  ,
0444   
)
module_param ( full_ts  ,
int  ,
0444   
)
module_param ( wss_cfg_4_3  ,
int  ,
0444   
)
module_param ( wss_cfg_16_9  ,
int  ,
0444   
)
module_param ( tv_standard  ,
int  ,
0444   
)
module_param_named ( debug  ,
av7110_debug  ,
int  ,
0644   
)
MODULE_PARM_DESC ( debug  ,
"debug level (bitmask, default 0)"   
)
MODULE_PARM_DESC ( vidmode  ,
"analog video out: 0  off,
1 CVBS+  RGBdefault,
2 CVBS+  YC,
3 YC"   
)
MODULE_PARM_DESC ( pids_off  ,
"clear video/audio/PCR PID filters when demux is closed"   
)
MODULE_PARM_DESC ( adac  ,
"audio DAC type: 0  TI,
CRYSTAL,
2 MSP(use if autodetection fails)"   
)
MODULE_PARM_DESC ( hw_sections  ,
"0 use software section  filter,
1 use hardware  
)
MODULE_PARM_DESC ( rgb_on  ,
"For Siemens DVB-C cards only: Enable RGB control"" signal on SCART pin 16 to switch SCART video mode from CVBS to RGB  
)
MODULE_PARM_DESC ( volume  ,
"initial volume: default 255 (range 0-255)"   
)
MODULE_PARM_DESC ( budgetpatch  ,
"use budget-patch hardware modification: default 0 (0 no, 1 autodetect, 2 always)"   
)
MODULE_PARM_DESC ( full_ts  ,
"enable code for full-ts hardware modification: 0 disable   default,
1 enable  
)
MODULE_PARM_DESC ( wss_cfg_4_3  ,
"WSS 4:3 - default 0x4008 - bit 15:  disable,
14:burst  mode,
13..0:wss data  
)
MODULE_PARM_DESC ( wss_cfg_16_9  ,
"WSS 16:9 - default 0x0007 - bit 15:  disable,
14:burst  mode,
13..0:wss data  
)
MODULE_PARM_DESC ( tv_standard  ,
"TV standard: 0 PAL   default,
1 NTSC"   
)

Variable Documentation

int av7110_debug

Definition at line 78 of file av7110.c.