Commit 4a74772e authored by Evgeny Plehov's avatar Evgeny Plehov Committed by Mauro Carvalho Chehab

[media] cxd2820r_t2: Multistream support (MultiPLP)

MultiPLP filtering support for CXD2820r.
Signed-off-by: default avatarEvgeny Plehov <EvgenyPlehov@ukr.net>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 752a62b2
...@@ -660,7 +660,8 @@ static const struct dvb_frontend_ops cxd2820r_ops = { ...@@ -660,7 +660,8 @@ static const struct dvb_frontend_ops cxd2820r_ops = {
FE_CAN_GUARD_INTERVAL_AUTO | FE_CAN_GUARD_INTERVAL_AUTO |
FE_CAN_HIERARCHY_AUTO | FE_CAN_HIERARCHY_AUTO |
FE_CAN_MUTE_TS | FE_CAN_MUTE_TS |
FE_CAN_2G_MODULATION FE_CAN_2G_MODULATION |
FE_CAN_MULTISTREAM
}, },
.release = cxd2820r_release, .release = cxd2820r_release,
......
...@@ -124,6 +124,23 @@ int cxd2820r_set_frontend_t2(struct dvb_frontend *fe) ...@@ -124,6 +124,23 @@ int cxd2820r_set_frontend_t2(struct dvb_frontend *fe)
buf[1] = ((if_ctl >> 8) & 0xff); buf[1] = ((if_ctl >> 8) & 0xff);
buf[2] = ((if_ctl >> 0) & 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); ret = cxd2820r_wr_regs(priv, 0x020b6, buf, 3);
if (ret) if (ret)
goto error; goto error;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment