diff options
-rw-r--r-- | drivers/media/dvb/frontends/au8522.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/drivers/media/dvb/frontends/au8522.c b/drivers/media/dvb/frontends/au8522.c index 9fb61e6ed679..d445cf1e02be 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) | |||
321 | return 0; | 321 | return 0; |
322 | } | 322 | } |
323 | 323 | ||
324 | static int au8522_read_mse(struct dvb_frontend *fe) | ||
325 | { | ||
326 | struct au8522_state *state = fe->demodulator_priv; | ||
327 | int mse = 0; | ||
328 | |||
329 | if (state->current_modulation == VSB_8) | ||
330 | mse = au8522_readreg(state, 0x4311); | ||
331 | else | ||
332 | mse = au8522_readreg(state, 0x4522); | ||
333 | |||
334 | dprintk("%s: %d\n", __func__, mse); | ||
335 | |||
336 | return mse; | ||
337 | } | ||
338 | |||
324 | static int au8522_read_snr(struct dvb_frontend *fe, u16 *snr) | 339 | static int au8522_read_snr(struct dvb_frontend *fe, u16 *snr) |
325 | { | 340 | { |
326 | dprintk("%s()\n", __func__); | 341 | dprintk("%s()\n", __func__); |
327 | 342 | ||
328 | *snr = 0; | 343 | /* FIXME: This is mse, not snr |
344 | * TODO: mse2snr */ | ||
345 | *snr = au8522_read_mse(fe); | ||
329 | 346 | ||
330 | return 0; | 347 | return 0; |
331 | } | 348 | } |