All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V3.6 0/2] linux-media: dvbsky: add support for Mygica T230C v2
@ 2019-07-17 18:05 Jan Pieter van Woerkom
  2019-07-17 18:09 ` [PATCH V3.6 1/2] " Jan Pieter van Woerkom
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-17 18:05 UTC (permalink / raw)
  To: linux-media
  Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek

Add support for the "Mygica T230C v2" into the "dvbsky" driver.
A small enhancement in the si2168 demodulator driver is also
needed, and a USB device ID in dvb-usb-ids.h .

This is v3.6 of proposed patch, based on work from an
anonymous author, and with feedback from Sean Young and
Antti Palosaari. Tested by patch author on DVB-(T/T2/C).
Tested by Frank Rysanek: can tune into locally available
DVB-T and DVB-T2 muxes, video and audio playback works.
Applies cleanly against Linux 5.2 .

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3.6 1/2] linux-media: dvbsky: add support for Mygica T230C v2
  2019-07-17 18:05 [PATCH V3.6 0/2] linux-media: dvbsky: add support for Mygica T230C v2 Jan Pieter van Woerkom
@ 2019-07-17 18:09 ` Jan Pieter van Woerkom
  2019-07-17 18:11 ` [PATCH V3.6 2/2] " Jan Pieter van Woerkom
  2019-07-18  0:36 ` [PATCH V3.6.1 " Jan Pieter van Woerkom
  2 siblings, 0 replies; 6+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-17 18:09 UTC (permalink / raw)
  To: linux-media
  Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek

Adds support for the "Mygica T230C v2" into the "dvbsky" driver.

Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
---
diff -ru a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
--- a/drivers/media/usb/dvb-usb-v2/dvbsky.c	2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c	2019-07-16 06:05:07.607212862 +0200
@@ -551,6 +551,8 @@
 	si2168_config.i2c_adapter = &i2c_adapter;
 	si2168_config.fe = &adap->fe[0];
 	si2168_config.ts_mode = SI2168_TS_PARALLEL;
+	if (le16_to_cpu(d->udev->descriptor.idProduct) == USB_PID_MYGICA_T230C2)
+		si2168_config.ts_mode |= SI2168_TS_CLK_MANUAL;
 	si2168_config.ts_clock_inv = 1;
 
 	state->i2c_client_demod = dvb_module_probe("si2168", NULL,
@@ -790,6 +792,9 @@
 	{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C,
 		&mygica_t230c_props, "MyGica Mini DVB-T2 USB Stick T230C",
 		RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
+	{ DVB_USB_DEVICE(USB_VID_CONEXANT, USB_PID_MYGICA_T230C2,
+		&mygica_t230c_props, "MyGica Mini DVB-T2 USB Stick T230C v2",
+		RC_MAP_TOTAL_MEDIA_IN_HAND_02) },
 	{ }
 };
 MODULE_DEVICE_TABLE(usb, dvbsky_id_table);
diff -ru a/include/media/dvb-usb-ids.h b/include/media/dvb-usb-ids.h
--- a/include/media/dvb-usb-ids.h	2019-07-08 00:41:56.000000000 +0200
+++ b/include/media/dvb-usb-ids.h	2019-07-16 06:05:07.607212862 +0200
@@ -388,6 +388,7 @@
 #define USB_PID_MYGICA_D689				0xd811
 #define USB_PID_MYGICA_T230				0xc688
 #define USB_PID_MYGICA_T230C				0xc689
+#define USB_PID_MYGICA_T230C2				0xc68a
 #define USB_PID_ELGATO_EYETV_DIVERSITY			0x0011
 #define USB_PID_ELGATO_EYETV_DTT			0x0021
 #define USB_PID_ELGATO_EYETV_DTT_2			0x003f

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3.6 2/2] linux-media: dvbsky: add support for Mygica T230C v2
  2019-07-17 18:05 [PATCH V3.6 0/2] linux-media: dvbsky: add support for Mygica T230C v2 Jan Pieter van Woerkom
  2019-07-17 18:09 ` [PATCH V3.6 1/2] " Jan Pieter van Woerkom
@ 2019-07-17 18:11 ` Jan Pieter van Woerkom
  2019-07-17 19:25   ` Sean Young
  2019-07-18  0:36 ` [PATCH V3.6.1 " Jan Pieter van Woerkom
  2 siblings, 1 reply; 6+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-17 18:11 UTC (permalink / raw)
  To: linux-media
  Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek

The T230C v2 hardware needs a mode of the si2168 chip to be
set for which the si2168 driver previously had no support.
This patch uses a specific measure to configure this on the
T230C v2 hardware only - see the flag passed via the ts_mode
attribute and its dependency on USB_PID_MYGICA_T230C2.

Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
---
diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
--- a/drivers/media/dvb-frontends/si2168.c	2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.c	2019-07-16 21:21:39.267802750 +0200
@@ -82,8 +82,18 @@
 
 	dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
 
+	/* set manual value */
+	if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
+		memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
+		cmd.wlen = 6;
+		cmd.rlen = 4;
+		ret = si2168_cmd_execute(client, &cmd);
+		if (ret)
+			return ret;
+	}
 	/* set TS_MODE property */
 	memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
+	cmd.args[4] <<= (dev->ts_mode & SI2168_TS_CLK_MANUAL) >> 5;
 	if (acquire)
 		cmd.args[4] |= dev->ts_mode;
 	else
diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
--- a/drivers/media/dvb-frontends/si2168.h	2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.h	2019-07-16 06:29:53.913009262 +0200
@@ -30,6 +30,7 @@
 #define SI2168_TS_PARALLEL	0x06
 #define SI2168_TS_SERIAL	0x03
 #define SI2168_TS_TRISTATE	0x00
+#define SI2168_TS_CLK_MANUAL	0x20
 	u8 ts_mode;
 
 	/* TS clock inverted */

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3.6 2/2] linux-media: dvbsky: add support for Mygica T230C v2
  2019-07-17 18:11 ` [PATCH V3.6 2/2] " Jan Pieter van Woerkom
@ 2019-07-17 19:25   ` Sean Young
  2019-07-18  0:29     ` JP
  0 siblings, 1 reply; 6+ messages in thread
From: Sean Young @ 2019-07-17 19:25 UTC (permalink / raw)
  To: Jan Pieter van Woerkom
  Cc: linux-media, Michael Ira Krufky, Antti Palosaari, Frantisek Rysanek

On Wed, Jul 17, 2019 at 08:11:50PM +0200, Jan Pieter van Woerkom wrote:
> The T230C v2 hardware needs a mode of the si2168 chip to be
> set for which the si2168 driver previously had no support.
> This patch uses a specific measure to configure this on the
> T230C v2 hardware only - see the flag passed via the ts_mode
> attribute and its dependency on USB_PID_MYGICA_T230C2.
> 
> Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
> Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
> ---
> diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
> --- a/drivers/media/dvb-frontends/si2168.c	2019-07-08 00:41:56.000000000 +0200
> +++ b/drivers/media/dvb-frontends/si2168.c	2019-07-16 21:21:39.267802750 +0200
> @@ -82,8 +82,18 @@
>  
>  	dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
>  
> +	/* set manual value */
> +	if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
> +		memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
> +		cmd.wlen = 6;
> +		cmd.rlen = 4;
> +		ret = si2168_cmd_execute(client, &cmd);
> +		if (ret)
> +			return ret;
> +	}
>  	/* set TS_MODE property */
>  	memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
> +	cmd.args[4] <<= (dev->ts_mode & SI2168_TS_CLK_MANUAL) >> 5;

I'm sorry but this is not very readable. How about:

	if (dev->ts_mode & SI2168_TS_CLK_MANUAL)
		cmd.args[4] = SI2168_TS_CLK_MANUAL;

?

Sean

>  	if (acquire)
>  		cmd.args[4] |= dev->ts_mode;
>  	else
> diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
> --- a/drivers/media/dvb-frontends/si2168.h	2019-07-08 00:41:56.000000000 +0200
> +++ b/drivers/media/dvb-frontends/si2168.h	2019-07-16 06:29:53.913009262 +0200
> @@ -30,6 +30,7 @@
>  #define SI2168_TS_PARALLEL	0x06
>  #define SI2168_TS_SERIAL	0x03
>  #define SI2168_TS_TRISTATE	0x00
> +#define SI2168_TS_CLK_MANUAL	0x20
>  	u8 ts_mode;
>  
>  	/* TS clock inverted */

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3.6 2/2] linux-media: dvbsky: add support for Mygica T230C v2
  2019-07-17 19:25   ` Sean Young
@ 2019-07-18  0:29     ` JP
  0 siblings, 0 replies; 6+ messages in thread
From: JP @ 2019-07-18  0:29 UTC (permalink / raw)
  To: Sean Young
  Cc: linux-media, Michael Ira Krufky, Antti Palosaari, Frantisek Rysanek



On 7/17/19 9:25 PM, Sean Young wrote:
> On Wed, Jul 17, 2019 at 08:11:50PM +0200, Jan Pieter van Woerkom wrote:
>> The T230C v2 hardware needs a mode of the si2168 chip to be
>> set for which the si2168 driver previously had no support.
>> This patch uses a specific measure to configure this on the
>> T230C v2 hardware only - see the flag passed via the ts_mode
>> attribute and its dependency on USB_PID_MYGICA_T230C2.
>>
>> Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
>> Tested-by: Frank Rysanek <Frantisek.Rysanek@post.cz>
>> ---
>> diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
>> --- a/drivers/media/dvb-frontends/si2168.c	2019-07-08 00:41:56.000000000 +0200
>> +++ b/drivers/media/dvb-frontends/si2168.c	2019-07-16 21:21:39.267802750 +0200
>> @@ -82,8 +82,18 @@
>>   
>>   	dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
>>   
>> +	/* set manual value */
>> +	if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
>> +		memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
>> +		cmd.wlen = 6;
>> +		cmd.rlen = 4;
>> +		ret = si2168_cmd_execute(client, &cmd);
>> +		if (ret)
>> +			return ret;
>> +	}
>>   	/* set TS_MODE property */
>>   	memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
>> +	cmd.args[4] <<= (dev->ts_mode & SI2168_TS_CLK_MANUAL) >> 5;
> I'm sorry but this is not very readable. How about:
>
> 	if (dev->ts_mode & SI2168_TS_CLK_MANUAL)
> 		cmd.args[4] = SI2168_TS_CLK_MANUAL;
>
> ?
Yes you're right. I'll post update in this thread.
>
> Sean
>
>>   	if (acquire)
>>   		cmd.args[4] |= dev->ts_mode;
>>   	else
>> diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
>> --- a/drivers/media/dvb-frontends/si2168.h	2019-07-08 00:41:56.000000000 +0200
>> +++ b/drivers/media/dvb-frontends/si2168.h	2019-07-16 06:29:53.913009262 +0200
>> @@ -30,6 +30,7 @@
>>   #define SI2168_TS_PARALLEL	0x06
>>   #define SI2168_TS_SERIAL	0x03
>>   #define SI2168_TS_TRISTATE	0x00
>> +#define SI2168_TS_CLK_MANUAL	0x20
>>   	u8 ts_mode;
>>   
>>   	/* TS clock inverted */


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3.6.1 2/2] linux-media: dvbsky: add support for Mygica T230C v2
  2019-07-17 18:05 [PATCH V3.6 0/2] linux-media: dvbsky: add support for Mygica T230C v2 Jan Pieter van Woerkom
  2019-07-17 18:09 ` [PATCH V3.6 1/2] " Jan Pieter van Woerkom
  2019-07-17 18:11 ` [PATCH V3.6 2/2] " Jan Pieter van Woerkom
@ 2019-07-18  0:36 ` Jan Pieter van Woerkom
  2 siblings, 0 replies; 6+ messages in thread
From: Jan Pieter van Woerkom @ 2019-07-18  0:36 UTC (permalink / raw)
  To: linux-media
  Cc: Michael Ira Krufky, Antti Palosaari, Sean Young, Frantisek Rysanek

The T230C v2 hardware needs a mode of the si2168 chip to be
set for which the si2168 driver previously had no support.
This patch uses a specific measure to configure this on the
T230C v2 hardware only - see the flag passed via the ts_mode
attribute and its dependency on USB_PID_MYGICA_T230C2.

Signed-off-by: Jan Pieter van Woerkom <jp@jpvw.nl>
---
diff -ru a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c
--- a/drivers/media/dvb-frontends/si2168.c	2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.c	2019-07-18 01:57:35.036592424 +0200
@@ -82,8 +82,19 @@
 
 	dev_dbg(&client->dev, "%s acquire: %d\n", __func__, acquire);
 
+	/* set manual value */
+	if (dev->ts_mode & SI2168_TS_CLK_MANUAL) {
+		memcpy(cmd.args, "\x14\x00\x0d\x10\xe8\x03", 6);
+		cmd.wlen = 6;
+		cmd.rlen = 4;
+		ret = si2168_cmd_execute(client, &cmd);
+		if (ret)
+			return ret;
+	}
 	/* set TS_MODE property */
 	memcpy(cmd.args, "\x14\x00\x01\x10\x10\x00", 6);
+	if (dev->ts_mode & SI2168_TS_CLK_MANUAL)
+		cmd.args[4] = SI2168_TS_CLK_MANUAL;
 	if (acquire)
 		cmd.args[4] |= dev->ts_mode;
 	else
diff -ru a/drivers/media/dvb-frontends/si2168.h b/drivers/media/dvb-frontends/si2168.h
--- a/drivers/media/dvb-frontends/si2168.h	2019-07-08 00:41:56.000000000 +0200
+++ b/drivers/media/dvb-frontends/si2168.h	2019-07-16 06:29:53.913009262 +0200
@@ -30,6 +30,7 @@
 #define SI2168_TS_PARALLEL	0x06
 #define SI2168_TS_SERIAL	0x03
 #define SI2168_TS_TRISTATE	0x00
+#define SI2168_TS_CLK_MANUAL	0x20
 	u8 ts_mode;
 
 	/* TS clock inverted */

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-07-18  0:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17 18:05 [PATCH V3.6 0/2] linux-media: dvbsky: add support for Mygica T230C v2 Jan Pieter van Woerkom
2019-07-17 18:09 ` [PATCH V3.6 1/2] " Jan Pieter van Woerkom
2019-07-17 18:11 ` [PATCH V3.6 2/2] " Jan Pieter van Woerkom
2019-07-17 19:25   ` Sean Young
2019-07-18  0:29     ` JP
2019-07-18  0:36 ` [PATCH V3.6.1 " Jan Pieter van Woerkom

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.