From: Olli Salonen Date: Sun, 26 Oct 2014 07:56:12 +0000 (-0300) Subject: [media] cxusb: TS mode setting for TT CT2-4400 X-Git-Tag: firefly_0821_release~176^2~2474^2~280 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=e5f3d00c243177f4d7a0e86d17b7eaefd4a0c908;p=firefly-linux-kernel-4.4.55.git [media] cxusb: TS mode setting for TT CT2-4400 There is a new version of the TechnoTrend CT2-4400 USB tuner. The difference is the demodulator that is used (Si2168-B40 instead of -A30). For TT CT2-4400v2 a TS stream related parameter needs to be set, otherwise the stream becomes corrupted. The Windows driver for both CT2-4400 and CT2-4400v2 sets this as well. After this patch the driver works for both versions. Signed-off-by: Olli Salonen Reviewed-by: Antti Palosaari Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/usb/dvb-usb/cxusb.c b/drivers/media/usb/dvb-usb/cxusb.c index 356abb369c20..8925b3946994 100644 --- a/drivers/media/usb/dvb-usb/cxusb.c +++ b/drivers/media/usb/dvb-usb/cxusb.c @@ -1438,6 +1438,12 @@ static int cxusb_tt_ct2_4400_attach(struct dvb_usb_adapter *adap) si2168_config.i2c_adapter = &adapter; si2168_config.fe = &adap->fe_adap[0].fe; si2168_config.ts_mode = SI2168_TS_PARALLEL; + + /* CT2-4400v2 TS gets corrupted without this */ + if (d->udev->descriptor.idProduct == + USB_PID_TECHNOTREND_TVSTICK_CT2_4400) + si2168_config.ts_mode |= 0x40; + memset(&info, 0, sizeof(struct i2c_board_info)); strlcpy(info.type, "si2168", I2C_NAME_SIZE); info.addr = 0x64;