mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-18 00:24:58 +08:00
[media] cxd2820r_t2: Multistream support (MultiPLP)
MultiPLP filtering support for CXD2820r. Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
752a62b2ec
commit
4a74772e6d
@ -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,
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user