[media] si2168: implement CNR statistic
authorAntti Palosaari <crope@iki.fi>
Wed, 9 Jul 2014 23:22:27 +0000 (20:22 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Tue, 15 Jul 2014 00:07:02 +0000 (21:07 -0300)
Implement CNR statistic.

Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/dvb-frontends/si2168.c

index dc8ec9e3df9f8647926166dab64585c9877eb8f3..150d8661d1e635f789317651c455e3a4f0606490 100644 (file)
@@ -141,6 +141,15 @@ static int si2168_read_status(struct dvb_frontend *fe, fe_status_t *status)
 
        s->fe_status = *status;
 
+       if (*status & FE_HAS_LOCK) {
+               c->cnr.len = 1;
+               c->cnr.stat[0].scale = FE_SCALE_DECIBEL;
+               c->cnr.stat[0].svalue = cmd.args[3] * 1000 / 4;
+       } else {
+               c->cnr.len = 1;
+               c->cnr.stat[0].scale = FE_SCALE_NOT_AVAILABLE;
+       }
+
        dev_dbg(&s->client->dev, "%s: status=%02x args=%*ph\n",
                        __func__, *status, cmd.rlen, cmd.args);