diff options
author | Manu Abraham <abraham.manu@gmail.com> | 2008-03-04 17:19:58 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-29 14:53:23 -0500 |
commit | b91a7cb026124951a34e41f8481f1a4fb754983e (patch) | |
tree | d6511485df7ec01e8c8a95418effe883752ab9db /drivers/media | |
parent | ef3052bc9805ad74d21b5ac91647a8fecde1d96a (diff) |
V4L/DVB (9462): Allow specifying clock per device
Optimizations galore: Blistering barnacles! The KNC1 and friends
like 90 Mhz clock much better rather than running at a higher
throttle, for almost similar hardware. he exact cause unknown,
possibly due to a lower voltage applied for the demod power supply.
Signed-off-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/frontends/stb0899_drv.c | 5 | ||||
-rw-r--r-- | drivers/media/dvb/frontends/stb0899_drv.h | 2 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget-av.c | 3 | ||||
-rw-r--r-- | drivers/media/dvb/ttpci/budget-ci.c | 3 |
4 files changed, 11 insertions, 2 deletions
diff --git a/drivers/media/dvb/frontends/stb0899_drv.c b/drivers/media/dvb/frontends/stb0899_drv.c index deeec34fc47a..38d9fa9c0ac1 100644 --- a/drivers/media/dvb/frontends/stb0899_drv.c +++ b/drivers/media/dvb/frontends/stb0899_drv.c | |||
@@ -1534,6 +1534,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa | |||
1534 | struct stb0899_state *state = fe->demodulator_priv; | 1534 | struct stb0899_state *state = fe->demodulator_priv; |
1535 | struct stb0899_params *i_params = &state->params; | 1535 | struct stb0899_params *i_params = &state->params; |
1536 | struct stb0899_internal *internal = &state->internal; | 1536 | struct stb0899_internal *internal = &state->internal; |
1537 | struct stb0899_config *config = state->config; | ||
1537 | 1538 | ||
1538 | u32 SearchRange, gain; | 1539 | u32 SearchRange, gain; |
1539 | 1540 | ||
@@ -1575,9 +1576,9 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa | |||
1575 | } | 1576 | } |
1576 | 1577 | ||
1577 | if (i_params->srate <= 5000000) | 1578 | if (i_params->srate <= 5000000) |
1578 | stb0899_set_mclk(state, 76500000); | 1579 | stb0899_set_mclk(state, config->lo_clk); |
1579 | else | 1580 | else |
1580 | stb0899_set_mclk(state, 99000000); | 1581 | stb0899_set_mclk(state, config->hi_clk); |
1581 | 1582 | ||
1582 | switch (state->delsys) { | 1583 | switch (state->delsys) { |
1583 | case DVBFE_DELSYS_DVBS: | 1584 | case DVBFE_DELSYS_DVBS: |
diff --git a/drivers/media/dvb/frontends/stb0899_drv.h b/drivers/media/dvb/frontends/stb0899_drv.h index 45136d9aaeb7..98b200ce0c34 100644 --- a/drivers/media/dvb/frontends/stb0899_drv.h +++ b/drivers/media/dvb/frontends/stb0899_drv.h | |||
@@ -117,6 +117,8 @@ struct stb0899_config { | |||
117 | u8 out_rate_comp; | 117 | u8 out_rate_comp; |
118 | u8 i2c_repeater; | 118 | u8 i2c_repeater; |
119 | // int inversion; | 119 | // int inversion; |
120 | int lo_clk; | ||
121 | int hi_clk; | ||
120 | 122 | ||
121 | u32 esno_ave; | 123 | u32 esno_ave; |
122 | u32 esno_quant; | 124 | u32 esno_quant; |
diff --git a/drivers/media/dvb/ttpci/budget-av.c b/drivers/media/dvb/ttpci/budget-av.c index 24123715f197..f996cef79ec1 100644 --- a/drivers/media/dvb/ttpci/budget-av.c +++ b/drivers/media/dvb/ttpci/budget-av.c | |||
@@ -1127,6 +1127,9 @@ static struct stb0899_config knc1_dvbs2_config = { | |||
1127 | .xtal_freq = 27000000, | 1127 | .xtal_freq = 27000000, |
1128 | .inversion = IQ_SWAP_OFF, /* 1 */ | 1128 | .inversion = IQ_SWAP_OFF, /* 1 */ |
1129 | 1129 | ||
1130 | .lo_clk = 76500000, | ||
1131 | .hi_clk = 90000000, | ||
1132 | |||
1130 | .esno_ave = STB0899_DVBS2_ESNO_AVE, | 1133 | .esno_ave = STB0899_DVBS2_ESNO_AVE, |
1131 | .esno_quant = STB0899_DVBS2_ESNO_QUANT, | 1134 | .esno_quant = STB0899_DVBS2_ESNO_QUANT, |
1132 | .avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE, | 1135 | .avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE, |
diff --git a/drivers/media/dvb/ttpci/budget-ci.c b/drivers/media/dvb/ttpci/budget-ci.c index ebe8210b123d..497f584e1bd6 100644 --- a/drivers/media/dvb/ttpci/budget-ci.c +++ b/drivers/media/dvb/ttpci/budget-ci.c | |||
@@ -1312,6 +1312,9 @@ static struct stb0899_config tt3200_config = { | |||
1312 | .xtal_freq = 27000000, | 1312 | .xtal_freq = 27000000, |
1313 | .inversion = IQ_SWAP_ON, /* 1 */ | 1313 | .inversion = IQ_SWAP_ON, /* 1 */ |
1314 | 1314 | ||
1315 | .lo_clk = 76500000, | ||
1316 | .hi_clk = 99000000, | ||
1317 | |||
1315 | .esno_ave = STB0899_DVBS2_ESNO_AVE, | 1318 | .esno_ave = STB0899_DVBS2_ESNO_AVE, |
1316 | .esno_quant = STB0899_DVBS2_ESNO_QUANT, | 1319 | .esno_quant = STB0899_DVBS2_ESNO_QUANT, |
1317 | .avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE, | 1320 | .avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE, |