summaryrefslogtreecommitdiff
path: root/linux/drivers/media
diff options
context:
space:
mode:
authorManu Abraham <manu@linuxtv.org>2008-03-05 02:19:58 +0400
committerManu Abraham <manu@linuxtv.org>2008-03-05 02:19:58 +0400
commit01fac3d72ef1952f2a05ea1064b9fb0f95123a81 (patch)
treeaa83d65e7446ee91b61e21435fabe376d57cfc0c /linux/drivers/media
parent9ddec41eeb5bbeb98d2bbfc714861955dd9d9a45 (diff)
downloadmediapointer-dvb-s2-01fac3d72ef1952f2a05ea1064b9fb0f95123a81.tar.gz
mediapointer-dvb-s2-01fac3d72ef1952f2a05ea1064b9fb0f95123a81.tar.bz2
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. From: Manu Abraham <abraham.manu@gmail.com> Signed-off-by: Manu Abraham <manu@linuxtv.org>
Diffstat (limited to 'linux/drivers/media')
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.c5
-rw-r--r--linux/drivers/media/dvb/frontends/stb0899_drv.h2
-rw-r--r--linux/drivers/media/dvb/ttpci/budget-av.c3
-rw-r--r--linux/drivers/media/dvb/ttpci/budget-ci.c3
4 files changed, 11 insertions, 2 deletions
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.c b/linux/drivers/media/dvb/frontends/stb0899_drv.c
index 8dc9f4b76..121f224a8 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.c
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.c
@@ -1575,6 +1575,7 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
struct stb0899_state *state = fe->demodulator_priv;
struct stb0899_params *i_params = &state->params;
struct stb0899_internal *internal = &state->internal;
+ struct stb0899_config *config = state->config;
u32 SearchRange, gain;
@@ -1616,9 +1617,9 @@ static enum dvbfe_search stb0899_search(struct dvb_frontend *fe, struct dvbfe_pa
}
if (i_params->srate <= 5000000)
- stb0899_set_mclk(state, 76500000);
+ stb0899_set_mclk(state, config->lo_clk);
else
- stb0899_set_mclk(state, 99000000);
+ stb0899_set_mclk(state, config->hi_clk);
switch (state->delsys) {
case DVBFE_DELSYS_DVBS:
diff --git a/linux/drivers/media/dvb/frontends/stb0899_drv.h b/linux/drivers/media/dvb/frontends/stb0899_drv.h
index 45136d9aa..98b200ce0 100644
--- a/linux/drivers/media/dvb/frontends/stb0899_drv.h
+++ b/linux/drivers/media/dvb/frontends/stb0899_drv.h
@@ -117,6 +117,8 @@ struct stb0899_config {
u8 out_rate_comp;
u8 i2c_repeater;
// int inversion;
+ int lo_clk;
+ int hi_clk;
u32 esno_ave;
u32 esno_quant;
diff --git a/linux/drivers/media/dvb/ttpci/budget-av.c b/linux/drivers/media/dvb/ttpci/budget-av.c
index 24123715f..f996cef79 100644
--- a/linux/drivers/media/dvb/ttpci/budget-av.c
+++ b/linux/drivers/media/dvb/ttpci/budget-av.c
@@ -1127,6 +1127,9 @@ static struct stb0899_config knc1_dvbs2_config = {
.xtal_freq = 27000000,
.inversion = IQ_SWAP_OFF, /* 1 */
+ .lo_clk = 76500000,
+ .hi_clk = 90000000,
+
.esno_ave = STB0899_DVBS2_ESNO_AVE,
.esno_quant = STB0899_DVBS2_ESNO_QUANT,
.avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE,
diff --git a/linux/drivers/media/dvb/ttpci/budget-ci.c b/linux/drivers/media/dvb/ttpci/budget-ci.c
index 48159538c..cfaee802e 100644
--- a/linux/drivers/media/dvb/ttpci/budget-ci.c
+++ b/linux/drivers/media/dvb/ttpci/budget-ci.c
@@ -1320,6 +1320,9 @@ static struct stb0899_config tt3200_config = {
.xtal_freq = 27000000,
.inversion = IQ_SWAP_ON, /* 1 */
+ .lo_clk = 76500000,
+ .hi_clk = 99000000,
+
.esno_ave = STB0899_DVBS2_ESNO_AVE,
.esno_quant = STB0899_DVBS2_ESNO_QUANT,
.avframes_coarse = STB0899_DVBS2_AVFRAMES_COARSE,