Преглед изворни кода

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

cxusb DVB-T fixes.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Patrick Boettcher пре 20 година
родитељ
комит
8257e8a444
1 измењених фајлова са 15 додато и 7 уклоњено
  1. 15 7
      drivers/media/dvb/dvb-usb/cxusb.c

+ 15 - 7
drivers/media/dvb/dvb-usb/cxusb.c

@@ -14,9 +14,6 @@
  * TODO: check if the cx25840-driver (from ivtv) can be used for the analogue
  * 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)
  *
  *	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)
 
 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;
 }
 
 struct cx22702_config cxusb_cx22702_config = {
 	.demod_address = 0x63,
 
+	.output_mode = CX22702_PARALLEL_OUTPUT,
+
 	.pll_init = dvb_usb_pll_init_i2c,
 	.pll_set  = dvb_usb_pll_set_i2c,
 };
@@ -182,12 +187,15 @@ static int cxusb_frontend_attach(struct dvb_usb_device *d)
 	u8 buf[2] = { 0x03, 0x00 };
 	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_set_i2c_path(d,PATH_TUNER_OTHER);
 	cxusb_ctrl_msg(d,CMD_POWER_OFF, NULL, 0, &b, 1);
 
 	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_set_i2c_path(d,PATH_CX22702);
@@ -236,9 +244,9 @@ static struct dvb_usb_properties cxusb_properties = {
 		.endpoint = 0x02,
 		.u = {
 			.isoc = {
-				.framesperurb = 64,
-				.framesize = 940*3,
-				.interval = 1,
+				.framesperurb = 32,
+				.framesize = 940,
+				.interval = 5,
 			}
 		}
 	},