aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/dvb-frontends/m88rs2000.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/media/dvb-frontends/m88rs2000.c b/drivers/media/dvb-frontends/m88rs2000.c
index ee2fec87c2e6..32cffca14d0b 100644
--- a/drivers/media/dvb-frontends/m88rs2000.c
+++ b/drivers/media/dvb-frontends/m88rs2000.c
@@ -715,6 +715,22 @@ static int m88rs2000_get_frontend(struct dvb_frontend *fe)
715 return 0; 715 return 0;
716} 716}
717 717
718static int m88rs2000_get_tune_settings(struct dvb_frontend *fe,
719 struct dvb_frontend_tune_settings *tune)
720{
721 struct dtv_frontend_properties *c = &fe->dtv_property_cache;
722
723 if (c->symbol_rate > 3000000)
724 tune->min_delay_ms = 2000;
725 else
726 tune->min_delay_ms = 3000;
727
728 tune->step_size = c->symbol_rate / 16000;
729 tune->max_drift = c->symbol_rate / 2000;
730
731 return 0;
732}
733
718static int m88rs2000_i2c_gate_ctrl(struct dvb_frontend *fe, int enable) 734static int m88rs2000_i2c_gate_ctrl(struct dvb_frontend *fe, int enable)
719{ 735{
720 struct m88rs2000_state *state = fe->demodulator_priv; 736 struct m88rs2000_state *state = fe->demodulator_priv;
@@ -766,6 +782,7 @@ static struct dvb_frontend_ops m88rs2000_ops = {
766 782
767 .set_frontend = m88rs2000_set_frontend, 783 .set_frontend = m88rs2000_set_frontend,
768 .get_frontend = m88rs2000_get_frontend, 784 .get_frontend = m88rs2000_get_frontend,
785 .get_tune_settings = m88rs2000_get_tune_settings,
769}; 786};
770 787
771struct dvb_frontend *m88rs2000_attach(const struct m88rs2000_config *config, 788struct dvb_frontend *m88rs2000_attach(const struct m88rs2000_config *config,