All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] cxd2820r_t2: Multistream support (MultiPLP)
@ 2013-03-07  0:16 CrazyCat
  2013-03-24 18:18 ` Antti Palosaari
  0 siblings, 1 reply; 3+ messages in thread
From: CrazyCat @ 2013-03-07  0:16 UTC (permalink / raw)
  To: linux-media

MultiPLP filtering support for CXD2820r, not tested.
Somebody from Russia please test (exclude Moscow, because used singlePLP). Usual used PLP 0 (4TV + 3 radio) and 1 (4TV). PLP 2,3 reserved (regional channels).

P.S. You can use my scan-s2 with multistream support - https://bitbucket.org/CrazyCat/scan-s2. Generated channel list compatible with current VDR 1.7.3x

Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
diff --git a/drivers/media/dvb-frontends/cxd2820r_core.c b/drivers/media/dvb-frontends/cxd2820r_core.c
index 9b658c1..7ca5c69 100644
--- a/drivers/media/dvb-frontends/cxd2820r_core.c
+++ b/drivers/media/dvb-frontends/cxd2820r_core.c
@@ -660,7 +660,8 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
 			FE_CAN_GUARD_INTERVAL_AUTO	|
 			FE_CAN_HIERARCHY_AUTO		|
 			FE_CAN_MUTE_TS			|
-			FE_CAN_2G_MODULATION
+			FE_CAN_2G_MODULATION		|
+			FE_CAN_MULTISTREAM
 		},
 
 	.release		= cxd2820r_release,
diff --git a/drivers/media/dvb-frontends/cxd2820r_t2.c b/drivers/media/dvb-frontends/cxd2820r_t2.c
index e82d82a..c2bfea7 100644
--- a/drivers/media/dvb-frontends/cxd2820r_t2.c
+++ b/drivers/media/dvb-frontends/cxd2820r_t2.c
@@ -124,6 +124,23 @@ int cxd2820r_set_frontend_t2(struct dvb_frontend *fe)
 	buf[1] = ((if_ctl >>  8) & 0xff);
 	buf[2] = ((if_ctl >>  0) & 0xff);
 
+	/* PLP filtering */
+	if (c->stream_id < 0 || c->stream_id > 255) {
+		dev_dbg(&priv->i2c->dev, "%s: Disable PLP filtering\n", __func__);
+		ret = cxd2820r_wr_reg(priv, 0x023ad , 0);
+		if (ret)
+			goto error;
+	} else {
+		dev_dbg(&priv->i2c->dev, "%s: Enable PLP filtering = %d\n", __func__,
+				c->stream_id);
+		ret = cxd2820r_wr_reg(priv, 0x023af , c->stream_id & 0xFF);
+		if (ret)
+			goto error;
+		ret = cxd2820r_wr_reg(priv, 0x023ad , 1);
+		if (ret)
+			goto error;
+	}
+
 	ret = cxd2820r_wr_regs(priv, 0x020b6, buf, 3);
 	if (ret)
 		goto error;

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

* Re: [PATCH] cxd2820r_t2: Multistream support (MultiPLP)
  2013-03-07  0:16 [PATCH] cxd2820r_t2: Multistream support (MultiPLP) CrazyCat
@ 2013-03-24 18:18 ` Antti Palosaari
  2013-04-03  3:22   ` CrazyCat
  0 siblings, 1 reply; 3+ messages in thread
From: Antti Palosaari @ 2013-03-24 18:18 UTC (permalink / raw)
  To: CrazyCat; +Cc: linux-media

Is there anyone who could test that patch?

I have no multi PLP signal here.

Also there is minor issue on that patch. As stream ID validy is already 
checked there is no reason for bit AND 0xff.


Antti

On 03/07/2013 02:16 AM, CrazyCat wrote:
> MultiPLP filtering support for CXD2820r, not tested.
> Somebody from Russia please test (exclude Moscow, because used singlePLP). Usual used PLP 0 (4TV + 3 radio) and 1 (4TV). PLP 2,3 reserved (regional channels).
>
> P.S. You can use my scan-s2 with multistream support - https://bitbucket.org/CrazyCat/scan-s2. Generated channel list compatible with current VDR 1.7.3x
>
> Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net>
> diff --git a/drivers/media/dvb-frontends/cxd2820r_core.c b/drivers/media/dvb-frontends/cxd2820r_core.c
> index 9b658c1..7ca5c69 100644
> --- a/drivers/media/dvb-frontends/cxd2820r_core.c
> +++ b/drivers/media/dvb-frontends/cxd2820r_core.c
> @@ -660,7 +660,8 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
>   			FE_CAN_GUARD_INTERVAL_AUTO	|
>   			FE_CAN_HIERARCHY_AUTO		|
>   			FE_CAN_MUTE_TS			|
> -			FE_CAN_2G_MODULATION
> +			FE_CAN_2G_MODULATION		|
> +			FE_CAN_MULTISTREAM
>   		},
>
>   	.release		= cxd2820r_release,
> diff --git a/drivers/media/dvb-frontends/cxd2820r_t2.c b/drivers/media/dvb-frontends/cxd2820r_t2.c
> index e82d82a..c2bfea7 100644
> --- a/drivers/media/dvb-frontends/cxd2820r_t2.c
> +++ b/drivers/media/dvb-frontends/cxd2820r_t2.c
> @@ -124,6 +124,23 @@ int cxd2820r_set_frontend_t2(struct dvb_frontend *fe)
>   	buf[1] = ((if_ctl >>  8) & 0xff);
>   	buf[2] = ((if_ctl >>  0) & 0xff);
>
> +	/* PLP filtering */
> +	if (c->stream_id < 0 || c->stream_id > 255) {
> +		dev_dbg(&priv->i2c->dev, "%s: Disable PLP filtering\n", __func__);
> +		ret = cxd2820r_wr_reg(priv, 0x023ad , 0);
> +		if (ret)
> +			goto error;
> +	} else {
> +		dev_dbg(&priv->i2c->dev, "%s: Enable PLP filtering = %d\n", __func__,
> +				c->stream_id);
> +		ret = cxd2820r_wr_reg(priv, 0x023af , c->stream_id & 0xFF);
> +		if (ret)
> +			goto error;
> +		ret = cxd2820r_wr_reg(priv, 0x023ad , 1);
> +		if (ret)
> +			goto error;
> +	}
> +
>   	ret = cxd2820r_wr_regs(priv, 0x020b6, buf, 3);
>   	if (ret)
>   		goto error;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-media" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>


-- 
http://palosaari.fi/

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

* Re: [PATCH] cxd2820r_t2: Multistream support (MultiPLP)
  2013-03-24 18:18 ` Antti Palosaari
@ 2013-04-03  3:22   ` CrazyCat
  0 siblings, 0 replies; 3+ messages in thread
From: CrazyCat @ 2013-04-03  3:22 UTC (permalink / raw)
  To: Antti Palosaari; +Cc: linux-media

Now confirmed in Russia - work ok.
Used my mods scan-s2 + tzap-t2 + vdr 1.7.27

https://bitbucket.org/CrazyCat/szap-s2
https://bitbucket.org/CrazyCat/scan-s2

24.03.2013, 20:19, "Antti Palosaari" <crope@iki.fi>:
> Is there anyone who could test that patch?
>
> I have no multi PLP signal here.
>
> Also there is minor issue on that patch. As stream ID validy is already
> checked there is no reason for bit AND 0xff.

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

end of thread, other threads:[~2013-04-03  3:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-07  0:16 [PATCH] cxd2820r_t2: Multistream support (MultiPLP) CrazyCat
2013-03-24 18:18 ` Antti Palosaari
2013-04-03  3:22   ` CrazyCat

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.