diff options
author | Gerd Knorr <devnull@localhost> | 2004-07-23 01:06:12 +0000 |
---|---|---|
committer | Gerd Knorr <devnull@localhost> | 2004-07-23 01:06:12 +0000 |
commit | 2a3e3f58e72cc7698a97a1a9071cbc93854e19da (patch) | |
tree | 96af0024469e09b1b6acf81864040fc7e5b27822 /linux | |
parent | 0acaf65c34f98f42ed85fbd98aa34beaa542c6da (diff) | |
download | mediapointer-dvb-s2-2a3e3f58e72cc7698a97a1a9071cbc93854e19da.tar.gz mediapointer-dvb-s2-2a3e3f58e72cc7698a97a1a9071cbc93854e19da.tar.bz2 |
- add range check for cx88 card= insmod option.
- make cx88 tvaudio less verbose.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-tvaudio.c | 9 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88-video.c | 10 | ||||
-rw-r--r-- | linux/drivers/media/video/cx88/cx88.h | 1 |
3 files changed, 13 insertions, 7 deletions
diff --git a/linux/drivers/media/video/cx88/cx88-tvaudio.c b/linux/drivers/media/video/cx88/cx88-tvaudio.c index 0b9198ecb..06faebd3a 100644 --- a/linux/drivers/media/video/cx88/cx88-tvaudio.c +++ b/linux/drivers/media/video/cx88/cx88-tvaudio.c @@ -670,9 +670,12 @@ void cx88_get_stereo(struct cx8800_dev *dev, struct v4l2_tuner *t) reg = cx_read(AUD_STATUS); mode = reg & 0x03; pilot = (reg >> 2) & 0x03; - dprintk("AUD_STATUS: 0x%x [%s/%s] ctl=%s\n", - reg, m[mode], p[pilot], - aud_ctl_names[cx_read(AUD_CTL) & 63]); + + if (dev->astat != reg) + dprintk("AUD_STATUS: 0x%x [%s/%s] ctl=%s\n", + reg, m[mode], p[pilot], + aud_ctl_names[cx_read(AUD_CTL) & 63]); + dev->astat = reg; t->capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_SAP | V4L2_TUNER_CAP_LANG1 | V4L2_TUNER_CAP_LANG2; diff --git a/linux/drivers/media/video/cx88/cx88-video.c b/linux/drivers/media/video/cx88/cx88-video.c index c96f97fbd..910ef7c82 100644 --- a/linux/drivers/media/video/cx88/cx88-video.c +++ b/linux/drivers/media/video/cx88/cx88-video.c @@ -674,8 +674,10 @@ static int set_scale(struct cx8800_dev *dev, unsigned int width, unsigned int he // setup filters value = 0; value |= (1 << 19); // CFILT (default) - if (dev->tvnorm->id & V4L2_STD_SECAM) + if (dev->tvnorm->id & V4L2_STD_SECAM) { value |= (1 << 15); + value |= (1 << 16); + } if (INPUT(dev->input)->type == CX88_VMUX_SVIDEO) value |= (1 << 13) | (1 << 5); if (V4L2_FIELD_INTERLACED == field) @@ -684,8 +686,6 @@ static int set_scale(struct cx8800_dev *dev, unsigned int width, unsigned int he value |= (1 << 0); // 3-tap interpolation if (width < 193) value |= (1 << 1); // 5-tap interpolation - if (dev->tvnorm->id & V4L2_STD_SECAM) - value |= (1 << 16); cx_write(MO_FILTER_EVEN, value); cx_write(MO_FILTER_ODD, value); @@ -2382,7 +2382,9 @@ static int __devinit cx8800_initdev(struct pci_dev *pci_dev, } /* board config */ - dev->board = card[cx8800_devcount]; + dev->board = UNSET; + if (card[cx8800_devcount] < cx88_bcount) + dev->board = card[cx8800_devcount]; for (i = 0; UNSET == dev->board && i < cx88_idcount; i++) if (pci_dev->subsystem_vendor == cx88_subids[i].subvendor && pci_dev->subsystem_device == cx88_subids[i].subdevice) diff --git a/linux/drivers/media/video/cx88/cx88.h b/linux/drivers/media/video/cx88/cx88.h index 9d4cd4037..715cdf520 100644 --- a/linux/drivers/media/video/cx88/cx88.h +++ b/linux/drivers/media/video/cx88/cx88.h @@ -290,6 +290,7 @@ struct cx8800_dev { pid_t tpid; struct completion texit; struct cx8800_suspend_state state; + u32 astat; }; /* ----------------------------------------------------------- */ |