aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorManu Abraham <abraham.manu@gmail.com>2008-03-04 17:19:58 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-29 14:53:23 -0500
commitb91a7cb026124951a34e41f8481f1a4fb754983e (patch)
treed6511485df7ec01e8c8a95418effe883752ab9db /drivers
parentef3052bc9805ad74d21b5ac91647a8fecde1d96a (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')
-rw-r--r--drivers/media/dvb/frontends/stb0899_drv.c5
-rw-r--r--drivers/media/dvb/frontends/stb0899_drv.h2
-rw-r--r--drivers/media/dvb/ttpci/budget-av.c3
-rw-r--r--drivers/media/dvb/ttpci/budget-ci.c3
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,