Message ID | 7423442.VCBAbZjIjj@computer (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Acked-by: Antti Palosaari <crope@iki.fi> Reviewed-by: Antti Palosaari <crope@iki.fi> On 08/17/2014 12:33 AM, CrazyCat wrote: > DVB-T2 PLP selection implemented for Si2168 demod. > Tested with PCTV 292e. > > Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> > --- > drivers/media/dvb-frontends/si2168.c | 16 ++++++++++++++-- > 1 file changed, 14 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c > index 37f3f92..9c41281 100644 > --- a/drivers/media/dvb-frontends/si2168.c > +++ b/drivers/media/dvb-frontends/si2168.c > @@ -168,10 +168,10 @@ static int si2168_set_frontend(struct dvb_frontend *fe) > u8 bandwidth, delivery_system; > > dev_dbg(&s->client->dev, > - "%s: delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u\n", > + "%s: delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u, stream_id=%d\n", > __func__, c->delivery_system, c->modulation, > c->frequency, c->bandwidth_hz, c->symbol_rate, > - c->inversion); > + c->inversion, c->stream_id); > > if (!s->active) { > ret = -EAGAIN; > @@ -235,6 +235,18 @@ static int si2168_set_frontend(struct dvb_frontend *fe) > if (ret) > goto err; > > + if (c->delivery_system == SYS_DVBT2) { > + /* select PLP */ > + cmd.args[0] = 0x52; > + cmd.args[1] = c->stream_id & 0xff; > + cmd.args[2] = c->stream_id == NO_STREAM_ID_FILTER ? 0 : 1; > + cmd.wlen = 3; > + cmd.rlen = 1; > + ret = si2168_cmd_execute(s, &cmd); > + if (ret) > + goto err; > + } > + > memcpy(cmd.args, "\x51\x03", 2); > cmd.wlen = 2; > cmd.rlen = 12; >
diff --git a/drivers/media/dvb-frontends/si2168.c b/drivers/media/dvb-frontends/si2168.c index 37f3f92..9c41281 100644 --- a/drivers/media/dvb-frontends/si2168.c +++ b/drivers/media/dvb-frontends/si2168.c @@ -168,10 +168,10 @@ static int si2168_set_frontend(struct dvb_frontend *fe) u8 bandwidth, delivery_system; dev_dbg(&s->client->dev, - "%s: delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u\n", + "%s: delivery_system=%u modulation=%u frequency=%u bandwidth_hz=%u symbol_rate=%u inversion=%u, stream_id=%d\n", __func__, c->delivery_system, c->modulation, c->frequency, c->bandwidth_hz, c->symbol_rate, - c->inversion); + c->inversion, c->stream_id); if (!s->active) { ret = -EAGAIN; @@ -235,6 +235,18 @@ static int si2168_set_frontend(struct dvb_frontend *fe) if (ret) goto err; + if (c->delivery_system == SYS_DVBT2) { + /* select PLP */ + cmd.args[0] = 0x52; + cmd.args[1] = c->stream_id & 0xff; + cmd.args[2] = c->stream_id == NO_STREAM_ID_FILTER ? 0 : 1; + cmd.wlen = 3; + cmd.rlen = 1; + ret = si2168_cmd_execute(s, &cmd); + if (ret) + goto err; + } + memcpy(cmd.args, "\x51\x03", 2); cmd.wlen = 2; cmd.rlen = 12;
DVB-T2 PLP selection implemented for Si2168 demod. Tested with PCTV 292e. Signed-off-by: Evgeny Plehov <EvgenyPlehov@ukr.net> --- drivers/media/dvb-frontends/si2168.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-)