Skip to content

Commit

Permalink
[media] saa7134: add saa7134-go7007
Browse files Browse the repository at this point in the history
This patch adds support to saa7134 for 'WIS Voyager or compatible' PCI boards
such as the Sensoray model 614 with which this patch was tested. It is a
saa7134-based PCI board with a go7007 MPEG encoder. This was a patch when the
go7007 was still in staging and was not applied when go7007 was moved to
drivers/media since it needed more work.

That work is now done and this last piece of go7007 support can now go in.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
  • Loading branch information
Hans Verkuil authored and Mauro Carvalho Chehab committed Sep 23, 2014
1 parent 033d008 commit 452015d
Show file tree
Hide file tree
Showing 5 changed files with 576 additions and 3 deletions.
3 changes: 2 additions & 1 deletion drivers/media/pci/saa7134/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ saa7134-y += saa7134-ts.o saa7134-tvaudio.o saa7134-vbi.o
saa7134-y += saa7134-video.o
saa7134-$(CONFIG_VIDEO_SAA7134_RC) += saa7134-input.o

obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o
obj-$(CONFIG_VIDEO_SAA7134) += saa7134.o saa7134-empress.o saa7134-go7007.o

obj-$(CONFIG_VIDEO_SAA7134_ALSA) += saa7134-alsa.o

Expand All @@ -14,3 +14,4 @@ ccflags-y += -I$(srctree)/drivers/media/i2c
ccflags-y += -I$(srctree)/drivers/media/tuners
ccflags-y += -I$(srctree)/drivers/media/dvb-core
ccflags-y += -I$(srctree)/drivers/media/dvb-frontends
ccflags-y += -I$(srctree)/drivers/media/usb/go7007
29 changes: 29 additions & 0 deletions drivers/media/pci/saa7134/saa7134-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -5827,6 +5827,29 @@ struct saa7134_board saa7134_boards[] = {
.gpio = 0x0000800,
},
},
[SAA7134_BOARD_WIS_VOYAGER] = {
.name = "WIS Voyager or compatible",
.audio_clock = 0x00200000,
.tuner_type = TUNER_PHILIPS_TDA8290,
.radio_type = UNSET,
.tuner_addr = ADDR_UNSET,
.radio_addr = ADDR_UNSET,
.mpeg = SAA7134_MPEG_GO7007,
.inputs = { {
.name = name_comp1,
.vmux = 0,
.amux = LINE2,
}, {
.name = name_tv,
.vmux = 3,
.amux = TV,
.tv = 1,
}, {
.name = name_svideo,
.vmux = 6,
.amux = LINE1,
} },
},

};

Expand Down Expand Up @@ -7079,6 +7102,12 @@ struct pci_device_id saa7134_pci_tbl[] = {
.subvendor = 0x1461, /* Avermedia Technologies Inc */
.subdevice = 0x2055, /* AverTV Satellite Hybrid+FM A706 */
.driver_data = SAA7134_BOARD_AVERMEDIA_A706,
}, {
.vendor = PCI_VENDOR_ID_PHILIPS,
.device = PCI_DEVICE_ID_PHILIPS_SAA7133,
.subvendor = 0x1905, /* WIS */
.subdevice = 0x7007,
.driver_data = SAA7134_BOARD_WIS_VOYAGER,
}, {
/* --- boards without eeprom + subsystem ID --- */
.vendor = PCI_VENDOR_ID_PHILIPS,
Expand Down
10 changes: 8 additions & 2 deletions drivers/media/pci/saa7134/saa7134-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,8 @@ static void request_module_async(struct work_struct *work){
request_module("saa7134-empress");
if (card_is_dvb(dev))
request_module("saa7134-dvb");
if (card_is_go7007(dev))
request_module("saa7134-go7007");
if (alsa) {
if (dev->pci->device != PCI_DEVICE_ID_PHILIPS_SAA7130)
request_module("saa7134-alsa");
Expand Down Expand Up @@ -563,8 +565,12 @@ static irqreturn_t saa7134_irq(int irq, void *dev_id)
saa7134_irq_vbi_done(dev,status);

if ((report & SAA7134_IRQ_REPORT_DONE_RA2) &&
card_has_mpeg(dev))
saa7134_irq_ts_done(dev,status);
card_has_mpeg(dev)) {
if (dev->mops->irq_ts_done != NULL)
dev->mops->irq_ts_done(dev, status);
else
saa7134_irq_ts_done(dev, status);
}

if (report & SAA7134_IRQ_REPORT_GPIO16) {
switch (dev->has_remote) {
Expand Down
Loading

0 comments on commit 452015d

Please sign in to comment.