From e5f3d00c243177f4d7a0e86d17b7eaefd4a0c908 Mon Sep 17 00:00:00 2001 From: Olli Salonen Date: Sun, 26 Oct 2014 04:56:12 -0300 Subject: [PATCH] [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 --- drivers/media/usb/dvb-usb/cxusb.c | 6 ++++++ 1 file changed, 6 insertions(+) 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; -- 2.30.2