[PATCH] dvb: usb: cxusb DVB-T fixes
Patrick Boettcher [Fri, 8 Jul 2005 00:58:15 +0000 (17:58 -0700)]
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>

drivers/media/dvb/dvb-usb/cxusb.c

index 0324807..b4bb206 100644 (file)
@@ -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,
                        }
                }
        },