diff options
author | Chris Pascoe <c.pascoe@itee.uq.edu.au> | 2006-08-10 02:17:16 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-09-26 11:30:32 -0400 |
commit | 8fb957841b2f4311e6418dcbef24564e4cebb87d (patch) | |
tree | fabf278b240514ba7c430c8f9352a95d387f92e7 | |
parent | b5b168d7b9e28e0569ed4fe2c0a44fae71df30b5 (diff) |
V4L/DVB (4495): Fix "no data from ZL10353 based USB tuner" problem
Force parallel transport stream output on the ZL10353 attached to a
bluebird device.
Addresses the problem where a frontend lock was observed, but no MPEG
transport data was received.
Signed-off-by: Chris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/dvb-usb/cxusb.c | 1 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/zl10353.c | 5 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/zl10353.h | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/drivers/media/dvb/dvb-usb/cxusb.c b/drivers/media/dvb/dvb-usb/cxusb.c index ac72e7ed9fcc..c710c0176e07 100644 --- a/drivers/media/dvb/dvb-usb/cxusb.c +++ b/drivers/media/dvb/dvb-usb/cxusb.c | |||
@@ -349,6 +349,7 @@ static struct mt352_config cxusb_dee1601_config = { | |||
349 | 349 | ||
350 | static struct zl10353_config cxusb_zl10353_dee1601_config = { | 350 | static struct zl10353_config cxusb_zl10353_dee1601_config = { |
351 | .demod_address = 0x0f, | 351 | .demod_address = 0x0f, |
352 | .parallel_ts = 1, | ||
352 | }; | 353 | }; |
353 | 354 | ||
354 | static struct mt352_config cxusb_mt352_config = { | 355 | static struct mt352_config cxusb_mt352_config = { |
diff --git a/drivers/media/dvb/frontends/zl10353.c b/drivers/media/dvb/frontends/zl10353.c index 953fb55d87b6..84abbaf362fb 100644 --- a/drivers/media/dvb/frontends/zl10353.c +++ b/drivers/media/dvb/frontends/zl10353.c | |||
@@ -243,9 +243,12 @@ static int zl10353_init(struct dvb_frontend *fe) | |||
243 | 243 | ||
244 | if (debug_regs) | 244 | if (debug_regs) |
245 | zl10353_dump_regs(fe); | 245 | zl10353_dump_regs(fe); |
246 | if (state->config.parallel_ts) | ||
247 | zl10353_reset_attach[2] &= ~0x20; | ||
246 | 248 | ||
247 | /* Do a "hard" reset if not already done */ | 249 | /* Do a "hard" reset if not already done */ |
248 | if (zl10353_read_register(state, 0x50) != 0x03) { | 250 | if (zl10353_read_register(state, 0x50) != zl10353_reset_attach[1] || |
251 | zl10353_read_register(state, 0x51) != zl10353_reset_attach[2]) { | ||
249 | rc = zl10353_write(fe, zl10353_reset_attach, | 252 | rc = zl10353_write(fe, zl10353_reset_attach, |
250 | sizeof(zl10353_reset_attach)); | 253 | sizeof(zl10353_reset_attach)); |
251 | if (debug_regs) | 254 | if (debug_regs) |
diff --git a/drivers/media/dvb/frontends/zl10353.h b/drivers/media/dvb/frontends/zl10353.h index 6aec655d8814..79a947215c4d 100644 --- a/drivers/media/dvb/frontends/zl10353.h +++ b/drivers/media/dvb/frontends/zl10353.h | |||
@@ -31,6 +31,9 @@ struct zl10353_config | |||
31 | 31 | ||
32 | /* set if no pll is connected to the secondary i2c bus */ | 32 | /* set if no pll is connected to the secondary i2c bus */ |
33 | int no_tuner; | 33 | int no_tuner; |
34 | |||
35 | /* set if parallel ts output is required */ | ||
36 | int parallel_ts; | ||
34 | }; | 37 | }; |
35 | 38 | ||
36 | #if defined(CONFIG_DVB_ZL10353) || defined(CONFIG_DVB_ZL10353_MODULE) | 39 | #if defined(CONFIG_DVB_ZL10353) || defined(CONFIG_DVB_ZL10353_MODULE) |