aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/dvb
diff options
context:
space:
mode:
authorMichael Krufky <mkrufky@linuxtv.org>2008-04-05 23:13:05 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 14:09:43 -0300
commitfb8152cb01dc2bca04a6ee561920d0a02af6c73b (patch)
tree24ce9b01afa8e9f0d8c498258a20db892ec28bbc /drivers/media/dvb
parent8973dc4b70c5506596207da3fddab03002357178 (diff)
V4L/DVB (7631): au8522: add function au8522_read_mse
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>
Diffstat (limited to 'drivers/media/dvb')
-rw-r--r--drivers/media/dvb/frontends/au8522.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/au8522.c b/drivers/media/dvb/frontends/au8522.c
index 9fb61e6ed67..d445cf1e02b 100644
--- a/drivers/media/dvb/frontends/au8522.c
+++ b/drivers/media/dvb/frontends/au8522.c
@@ -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;
}