aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}