aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/ttpci
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/dvb/ttpci')
-rw-r--r--drivers/media/dvb/ttpci/Kconfig37
-rw-r--r--drivers/media/dvb/ttpci/Makefile12
-rw-r--r--drivers/media/dvb/ttpci/av7110.c3
-rw-r--r--drivers/media/dvb/ttpci/av7110.h7
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.c16
-rw-r--r--drivers/media/dvb/ttpci/av7110_av.h3
-rw-r--r--drivers/media/dvb/ttpci/av7110_v4l.c4
7 files changed, 55 insertions, 27 deletions
diff --git a/drivers/media/dvb/ttpci/Kconfig b/drivers/media/dvb/ttpci/Kconfig
index 54b91f26ca63..ae882432dd3d 100644
--- a/drivers/media/dvb/ttpci/Kconfig
+++ b/drivers/media/dvb/ttpci/Kconfig
@@ -1,8 +1,14 @@
1config TTPCI_EEPROM
2 tristate
3 default n
4
1config DVB_AV7110 5config DVB_AV7110
2 tristate "AV7110 cards" 6 tristate "AV7110 cards"
3 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 7 depends on DVB_CORE && PCI && I2C
4 select FW_LOADER if !DVB_AV7110_FIRMWARE 8 select FW_LOADER if !DVB_AV7110_FIRMWARE
9 select TTPCI_EEPROM
5 select VIDEO_SAA7146_VV 10 select VIDEO_SAA7146_VV
11 depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV
6 select DVB_VES1820 if !DVB_FE_CUSTOMISE 12 select DVB_VES1820 if !DVB_FE_CUSTOMISE
7 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 13 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
8 select DVB_STV0299 if !DVB_FE_CUSTOMISE 14 select DVB_STV0299 if !DVB_FE_CUSTOMISE
@@ -57,10 +63,19 @@ config DVB_AV7110_OSD
57 63
58 All other people say N. 64 All other people say N.
59 65
66config DVB_BUDGET_CORE
67 tristate "SAA7146 DVB cards (aka Budget, Nova-PCI)"
68 depends on DVB_CORE && PCI && I2C
69 select VIDEO_SAA7146
70 select TTPCI_EEPROM
71 help
72 Support for simple SAA7146 based DVB cards
73 (so called Budget- or Nova-PCI cards) without onboard
74 MPEG2 decoder.
75
60config DVB_BUDGET 76config DVB_BUDGET
61 tristate "Budget cards" 77 tristate "Budget cards"
62 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 78 depends on DVB_BUDGET_CORE && I2C
63 select VIDEO_SAA7146
64 select DVB_STV0299 if !DVB_FE_CUSTOMISE 79 select DVB_STV0299 if !DVB_FE_CUSTOMISE
65 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 80 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
66 select DVB_VES1820 if !DVB_FE_CUSTOMISE 81 select DVB_VES1820 if !DVB_FE_CUSTOMISE
@@ -73,9 +88,9 @@ config DVB_BUDGET
73 select DVB_TDA826X if !DVB_FE_CUSTOMISE 88 select DVB_TDA826X if !DVB_FE_CUSTOMISE
74 select DVB_LNBP21 if !DVB_FE_CUSTOMISE 89 select DVB_LNBP21 if !DVB_FE_CUSTOMISE
75 help 90 help
76 Support for simple SAA7146 based DVB cards 91 Support for simple SAA7146 based DVB cards (so called Budget-
77 (so called Budget- or Nova-PCI cards) without onboard 92 or Nova-PCI cards) without onboard MPEG2 decoder, and without
78 MPEG2 decoder. 93 analog inputs or an onboard Common Interface connector.
79 94
80 Say Y if you own such a card and want to use it. 95 Say Y if you own such a card and want to use it.
81 96
@@ -84,8 +99,7 @@ config DVB_BUDGET
84 99
85config DVB_BUDGET_CI 100config DVB_BUDGET_CI
86 tristate "Budget cards with onboard CI connector" 101 tristate "Budget cards with onboard CI connector"
87 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 && INPUT 102 depends on DVB_BUDGET_CORE && I2C
88 select VIDEO_SAA7146
89 select DVB_STV0297 if !DVB_FE_CUSTOMISE 103 select DVB_STV0297 if !DVB_FE_CUSTOMISE
90 select DVB_STV0299 if !DVB_FE_CUSTOMISE 104 select DVB_STV0299 if !DVB_FE_CUSTOMISE
91 select DVB_TDA1004X if !DVB_FE_CUSTOMISE 105 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -106,8 +120,9 @@ config DVB_BUDGET_CI
106 120
107config DVB_BUDGET_AV 121config DVB_BUDGET_AV
108 tristate "Budget cards with analog video inputs" 122 tristate "Budget cards with analog video inputs"
109 depends on DVB_CORE && PCI && I2C && VIDEO_V4L1 123 depends on DVB_BUDGET_CORE && I2C
110 select VIDEO_SAA7146_VV 124 select VIDEO_SAA7146_VV
125 depends on VIDEO_DEV # dependencies of VIDEO_SAA7146_VV
111 select DVB_PLL if !DVB_FE_CUSTOMISE 126 select DVB_PLL if !DVB_FE_CUSTOMISE
112 select DVB_STV0299 if !DVB_FE_CUSTOMISE 127 select DVB_STV0299 if !DVB_FE_CUSTOMISE
113 select DVB_TDA1004X if !DVB_FE_CUSTOMISE 128 select DVB_TDA1004X if !DVB_FE_CUSTOMISE
@@ -127,8 +142,8 @@ config DVB_BUDGET_AV
127 142
128config DVB_BUDGET_PATCH 143config DVB_BUDGET_PATCH
129 tristate "AV7110 cards with Budget Patch" 144 tristate "AV7110 cards with Budget Patch"
130 depends on DVB_CORE && DVB_BUDGET && VIDEO_V4L1 145 depends on DVB_BUDGET_CORE && I2C
131 select DVB_AV7110 146 depends on DVB_AV7110
132 select DVB_STV0299 if !DVB_FE_CUSTOMISE 147 select DVB_STV0299 if !DVB_FE_CUSTOMISE
133 select DVB_VES1X93 if !DVB_FE_CUSTOMISE 148 select DVB_VES1X93 if !DVB_FE_CUSTOMISE
134 select DVB_TDA8083 if !DVB_FE_CUSTOMISE 149 select DVB_TDA8083 if !DVB_FE_CUSTOMISE
diff --git a/drivers/media/dvb/ttpci/Makefile b/drivers/media/dvb/ttpci/Makefile
index 2c1145236ee6..d7483f1a9b3f 100644
--- a/drivers/media/dvb/ttpci/Makefile
+++ b/drivers/media/dvb/ttpci/Makefile
@@ -5,11 +5,13 @@
5 5
6dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o 6dvb-ttpci-objs := av7110_hw.o av7110_v4l.o av7110_av.o av7110_ca.o av7110.o av7110_ipack.o av7110_ir.o
7 7
8obj-$(CONFIG_DVB_BUDGET) += budget-core.o budget.o ttpci-eeprom.o 8obj-$(CONFIG_TTPCI_EEPROM) += ttpci-eeprom.o
9obj-$(CONFIG_DVB_BUDGET_AV) += budget-core.o budget-av.o ttpci-eeprom.o 9obj-$(CONFIG_DVB_BUDGET_CORE) += budget-core.o
10obj-$(CONFIG_DVB_BUDGET_CI) += budget-core.o budget-ci.o ttpci-eeprom.o 10obj-$(CONFIG_DVB_BUDGET) += budget.o
11obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-core.o budget-patch.o ttpci-eeprom.o 11obj-$(CONFIG_DVB_BUDGET_AV) += budget-av.o
12obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o ttpci-eeprom.o 12obj-$(CONFIG_DVB_BUDGET_CI) += budget-ci.o
13obj-$(CONFIG_DVB_BUDGET_PATCH) += budget-patch.o
14obj-$(CONFIG_DVB_AV7110) += dvb-ttpci.o
13 15
14EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/ 16EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ -Idrivers/media/dvb/frontends/
15 17
diff --git a/drivers/media/dvb/ttpci/av7110.c b/drivers/media/dvb/ttpci/av7110.c
index 0d36c155695b..0e5701bdff19 100644
--- a/drivers/media/dvb/ttpci/av7110.c
+++ b/drivers/media/dvb/ttpci/av7110.c
@@ -2595,7 +2595,8 @@ static int __devinit av7110_attach(struct saa7146_dev* dev,
2595 mutex_init(&av7110->osd_mutex); 2595 mutex_init(&av7110->osd_mutex);
2596 2596
2597 /* TV standard */ 2597 /* TV standard */
2598 av7110->vidmode = tv_standard == 1 ? VIDEO_MODE_NTSC : VIDEO_MODE_PAL; 2598 av7110->vidmode = tv_standard == 1 ? AV7110_VIDEO_MODE_NTSC
2599 : AV7110_VIDEO_MODE_PAL;
2599 2600
2600 /* ARM "watchdog" */ 2601 /* ARM "watchdog" */
2601 init_waitqueue_head(&av7110->arm_wait); 2602 init_waitqueue_head(&av7110->arm_wait);
diff --git a/drivers/media/dvb/ttpci/av7110.h b/drivers/media/dvb/ttpci/av7110.h
index 0cb439527498..39fbf7d5cffb 100644
--- a/drivers/media/dvb/ttpci/av7110.h
+++ b/drivers/media/dvb/ttpci/av7110.h
@@ -46,6 +46,11 @@ extern int av7110_debug;
46 46
47enum {AV_PES_STREAM, PS_STREAM, TS_STREAM, PES_STREAM}; 47enum {AV_PES_STREAM, PS_STREAM, TS_STREAM, PES_STREAM};
48 48
49enum av7110_video_mode {
50 AV7110_VIDEO_MODE_PAL = 0,
51 AV7110_VIDEO_MODE_NTSC = 1
52};
53
49struct av7110_p2t { 54struct av7110_p2t {
50 u8 pes[TS_SIZE]; 55 u8 pes[TS_SIZE];
51 u8 counter; 56 u8 counter;
@@ -170,7 +175,7 @@ struct av7110 {
170 175
171 ca_slot_info_t ci_slot[2]; 176 ca_slot_info_t ci_slot[2];
172 177
173 int vidmode; 178 enum av7110_video_mode vidmode;
174 struct dmxdev dmxdev; 179 struct dmxdev dmxdev;
175 struct dvb_demux demux; 180 struct dvb_demux demux;
176 181
diff --git a/drivers/media/dvb/ttpci/av7110_av.c b/drivers/media/dvb/ttpci/av7110_av.c
index d75e7e48addc..aef6e36d7c5c 100644
--- a/drivers/media/dvb/ttpci/av7110_av.c
+++ b/drivers/media/dvb/ttpci/av7110_av.c
@@ -329,7 +329,7 @@ int av7110_set_volume(struct av7110 *av7110, int volleft, int volright)
329 return 0; 329 return 0;
330} 330}
331 331
332int av7110_set_vidmode(struct av7110 *av7110, int mode) 332int av7110_set_vidmode(struct av7110 *av7110, enum av7110_video_mode mode)
333{ 333{
334 int ret; 334 int ret;
335 dprintk(2, "av7110:%p, \n", av7110); 335 dprintk(2, "av7110:%p, \n", av7110);
@@ -348,11 +348,15 @@ int av7110_set_vidmode(struct av7110 *av7110, int mode)
348} 348}
349 349
350 350
351static int sw2mode[16] = { 351static enum av7110_video_mode sw2mode[16] = {
352 VIDEO_MODE_PAL, VIDEO_MODE_NTSC, VIDEO_MODE_NTSC, VIDEO_MODE_PAL, 352 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_NTSC,
353 VIDEO_MODE_NTSC, VIDEO_MODE_NTSC, VIDEO_MODE_PAL, VIDEO_MODE_NTSC, 353 AV7110_VIDEO_MODE_NTSC, AV7110_VIDEO_MODE_PAL,
354 VIDEO_MODE_PAL, VIDEO_MODE_PAL, VIDEO_MODE_PAL, VIDEO_MODE_PAL, 354 AV7110_VIDEO_MODE_NTSC, AV7110_VIDEO_MODE_NTSC,
355 VIDEO_MODE_PAL, VIDEO_MODE_PAL, VIDEO_MODE_PAL, VIDEO_MODE_PAL, 355 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_NTSC,
356 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_PAL,
357 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_PAL,
358 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_PAL,
359 AV7110_VIDEO_MODE_PAL, AV7110_VIDEO_MODE_PAL,
356}; 360};
357 361
358static int get_video_format(struct av7110 *av7110, u8 *buf, int count) 362static int get_video_format(struct av7110 *av7110, u8 *buf, int count)
diff --git a/drivers/media/dvb/ttpci/av7110_av.h b/drivers/media/dvb/ttpci/av7110_av.h
index 45dc144b8b43..5f02ef85e47d 100644
--- a/drivers/media/dvb/ttpci/av7110_av.h
+++ b/drivers/media/dvb/ttpci/av7110_av.h
@@ -3,7 +3,8 @@
3 3
4struct av7110; 4struct av7110;
5 5
6extern int av7110_set_vidmode(struct av7110 *av7110, int mode); 6extern int av7110_set_vidmode(struct av7110 *av7110,
7 enum av7110_video_mode mode);
7 8
8extern int av7110_record_cb(struct dvb_filter_pes2ts *p2t, u8 *buf, size_t len); 9extern int av7110_record_cb(struct dvb_filter_pes2ts *p2t, u8 *buf, size_t len);
9extern int av7110_pes_play(void *dest, struct dvb_ringbuffer *buf, int dlen); 10extern int av7110_pes_play(void *dest, struct dvb_ringbuffer *buf, int dlen);
diff --git a/drivers/media/dvb/ttpci/av7110_v4l.c b/drivers/media/dvb/ttpci/av7110_v4l.c
index 76cca003252f..e2f066fb7967 100644
--- a/drivers/media/dvb/ttpci/av7110_v4l.c
+++ b/drivers/media/dvb/ttpci/av7110_v4l.c
@@ -876,11 +876,11 @@ static int std_callback(struct saa7146_dev* dev, struct saa7146_standard *std)
876 struct av7110 *av7110 = (struct av7110*) dev->ext_priv; 876 struct av7110 *av7110 = (struct av7110*) dev->ext_priv;
877 877
878 if (std->id & V4L2_STD_PAL) { 878 if (std->id & V4L2_STD_PAL) {
879 av7110->vidmode = VIDEO_MODE_PAL; 879 av7110->vidmode = AV7110_VIDEO_MODE_PAL;
880 av7110_set_vidmode(av7110, av7110->vidmode); 880 av7110_set_vidmode(av7110, av7110->vidmode);
881 } 881 }
882 else if (std->id & V4L2_STD_NTSC) { 882 else if (std->id & V4L2_STD_NTSC) {
883 av7110->vidmode = VIDEO_MODE_NTSC; 883 av7110->vidmode = AV7110_VIDEO_MODE_NTSC;
884 av7110_set_vidmode(av7110, av7110->vidmode); 884 av7110_set_vidmode(av7110, av7110->vidmode);
885 } 885 }
886 else 886 else