提交 8257e8a4 编写于 作者: P Patrick Boettcher 提交者: Linus Torvalds

[PATCH] dvb: usb: cxusb DVB-T fixes

cxusb DVB-T fixes.
Signed-off-by: NPatrick Boettcher <pb@linuxtv.org>
Signed-off-by: NJohannes Stezenbach <js@linuxtv.org>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 c251ef61
...@@ -14,9 +14,6 @@ ...@@ -14,9 +14,6 @@
* TODO: check if the cx25840-driver (from ivtv) can be used for the analogue * TODO: check if the cx25840-driver (from ivtv) can be used for the analogue
* part * part
* *
* FIXME: We're getting a lock and signal, but the isochronous transfer is empty
* for DVB-T.
*
* Copyright (C) 2005 Patrick Boettcher (patrick.boettcher@desy.de) * Copyright (C) 2005 Patrick Boettcher (patrick.boettcher@desy.de)
* *
* This program is free software; you can redistribute it and/or modify it * This program is free software; you can redistribute it and/or modify it
...@@ -157,12 +154,20 @@ static int cxusb_power_ctrl(struct dvb_usb_device *d, int onoff) ...@@ -157,12 +154,20 @@ static int cxusb_power_ctrl(struct dvb_usb_device *d, int onoff)
static int cxusb_streaming_ctrl(struct dvb_usb_device *d, int onoff) static int cxusb_streaming_ctrl(struct dvb_usb_device *d, int onoff)
{ {
u8 buf[2] = { 0x03, 0x00 };
if (onoff)
cxusb_ctrl_msg(d,0x36, buf, 2, NULL, 0);
else
cxusb_ctrl_msg(d,0x37, NULL, 0, NULL, 0);
return 0; return 0;
} }
struct cx22702_config cxusb_cx22702_config = { struct cx22702_config cxusb_cx22702_config = {
.demod_address = 0x63, .demod_address = 0x63,
.output_mode = CX22702_PARALLEL_OUTPUT,
.pll_init = dvb_usb_pll_init_i2c, .pll_init = dvb_usb_pll_init_i2c,
.pll_set = dvb_usb_pll_set_i2c, .pll_set = dvb_usb_pll_set_i2c,
}; };
...@@ -182,12 +187,15 @@ static int cxusb_frontend_attach(struct dvb_usb_device *d) ...@@ -182,12 +187,15 @@ static int cxusb_frontend_attach(struct dvb_usb_device *d)
u8 buf[2] = { 0x03, 0x00 }; u8 buf[2] = { 0x03, 0x00 };
u8 b = 0; u8 b = 0;
if (usb_set_interface(d->udev,0,0) < 0)
err("set interface to alts=0 failed");
cxusb_ctrl_msg(d,0xde,&b,0,NULL,0); cxusb_ctrl_msg(d,0xde,&b,0,NULL,0);
cxusb_set_i2c_path(d,PATH_TUNER_OTHER); cxusb_set_i2c_path(d,PATH_TUNER_OTHER);
cxusb_ctrl_msg(d,CMD_POWER_OFF, NULL, 0, &b, 1); cxusb_ctrl_msg(d,CMD_POWER_OFF, NULL, 0, &b, 1);
if (usb_set_interface(d->udev,0,6) < 0) if (usb_set_interface(d->udev,0,6) < 0)
err("set interface failed\n"); err("set interface failed");
cxusb_ctrl_msg(d,0x36, buf, 2, NULL, 0); cxusb_ctrl_msg(d,0x36, buf, 2, NULL, 0);
cxusb_set_i2c_path(d,PATH_CX22702); cxusb_set_i2c_path(d,PATH_CX22702);
...@@ -236,9 +244,9 @@ static struct dvb_usb_properties cxusb_properties = { ...@@ -236,9 +244,9 @@ static struct dvb_usb_properties cxusb_properties = {
.endpoint = 0x02, .endpoint = 0x02,
.u = { .u = {
.isoc = { .isoc = {
.framesperurb = 64, .framesperurb = 32,
.framesize = 940*3, .framesize = 940,
.interval = 1, .interval = 5,
} }
} }
}, },
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册