summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/ttpci/av7110_v4l.c
diff options
context:
space:
mode:
authorOliver Endriss <o.endriss@gmx.de>2006-03-17 09:29:15 +0100
committerOliver Endriss <o.endriss@gmx.de>2006-03-17 09:29:15 +0100
commit092502207af0ea4f41035bff5672a29f83ee0904 (patch)
treee34577610639429ae00a37b85054f0f0fdf5a6a7 /linux/drivers/media/dvb/ttpci/av7110_v4l.c
parentb404c9c00c868c5f4bdcaa29c8789b382f30335c (diff)
downloadmediapointer-dvb-s2-092502207af0ea4f41035bff5672a29f83ee0904.tar.gz
mediapointer-dvb-s2-092502207af0ea4f41035bff5672a29f83ee0904.tar.bz2
Add WSS (wide screen signalling) module parameters
From: Oliver Endriss <o.endriss@gmx.de> Add wss_cfg_4_3 and wss_cfg_16_9 configuration options. Firmware 2623 or later required. Both parameters are bit masks: - bit 15: disable WSS - bit 14: send short WSS burst, then turn off WSS - bit 13..0: WSS bits as specified by the standard These parameters are useful if you own a broken tv set which does not handle wss correctly. Default settings: - wss_cfg_4_3: 0x4008 - wss_cfg_16_9: 0x0007 These should work with most devices. Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Diffstat (limited to 'linux/drivers/media/dvb/ttpci/av7110_v4l.c')
-rw-r--r--linux/drivers/media/dvb/ttpci/av7110_v4l.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/linux/drivers/media/dvb/ttpci/av7110_v4l.c b/linux/drivers/media/dvb/ttpci/av7110_v4l.c
index 94cf38c7e..2f23ceab8 100644
--- a/linux/drivers/media/dvb/ttpci/av7110_v4l.c
+++ b/linux/drivers/media/dvb/ttpci/av7110_v4l.c
@@ -579,14 +579,11 @@ static ssize_t av7110_vbi_write(struct file *file, const char __user *data, size
return -EFAULT;
if ((d.id != 0 && d.id != V4L2_SLICED_WSS_625) || d.field != 0 || d.line != 23)
return -EINVAL;
- if (d.id) {
+ if (d.id)
av7110->wssData = ((d.data[1] << 8) & 0x3f00) | d.data[0];
- rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig,
- 2, 1, av7110->wssData);
- } else {
- av7110->wssData = 0;
- rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 1, 0);
- }
+ else
+ av7110->wssData = 0x8000;
+ rc = av7110_fw_cmd(av7110, COMTYPE_ENCODER, SetWSSConfig, 2, 1, av7110->wssData);
return (rc < 0) ? rc : count;
}