V4L/DVB (7631): au8522: add function au8522_read_mse
authorMichael Krufky <mkrufky@linuxtv.org>
Sun, 6 Apr 2008 02:13:05 +0000 (23:13 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Thu, 24 Apr 2008 17:09:43 +0000 (14:09 -0300)
add function au8522_read_mse, which will be used to compute snr

TO DO: mse2snr

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/dvb/frontends/au8522.c

index 9fb61e6ed679ab8b9d40c6d8568e899a4bbb42f0..d445cf1e02bea31d72fabb6ed48d2c9b9e5f3a90 100644 (file)
@@ -321,11 +321,28 @@ static int au8522_read_status(struct dvb_frontend *fe, fe_status_t *status)
        return 0;
 }
 
+static int au8522_read_mse(struct dvb_frontend *fe)
+{
+       struct au8522_state *state = fe->demodulator_priv;
+       int mse = 0;
+
+       if (state->current_modulation == VSB_8)
+               mse = au8522_readreg(state, 0x4311);
+       else
+               mse = au8522_readreg(state, 0x4522);
+
+       dprintk("%s: %d\n", __func__, mse);
+
+       return mse;
+}
+
 static int au8522_read_snr(struct dvb_frontend *fe, u16 *snr)
 {
        dprintk("%s()\n", __func__);
 
-       *snr = 0;
+       /* FIXME: This is mse, not snr
+        * TODO: mse2snr */
+       *snr = au8522_read_mse(fe);
 
        return 0;
 }