|
@@ -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;
|