summaryrefslogtreecommitdiff
path: root/linux/drivers/media/dvb/frontends
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@infradead.org>2008-08-04 08:29:15 -0300
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-08-04 08:29:15 -0300
commit8a0340d350bd2c22e02db44b4dcd920ad2af54b6 (patch)
tree7b8de0666ccc7511cead9cbd55213e749d3a616b /linux/drivers/media/dvb/frontends
parent79f9fb813c464312598ccef5b942b03299999117 (diff)
parente0e78e09563f6a4feb5b0a186135bb365bc81ca8 (diff)
downloadmediapointer-dvb-s2-8a0340d350bd2c22e02db44b4dcd920ad2af54b6.tar.gz
mediapointer-dvb-s2-8a0340d350bd2c22e02db44b4dcd920ad2af54b6.tar.bz2
merge: http://linuxtv.org/hg/~hgoede/v4l-dvb
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/dvb/frontends')
-rw-r--r--linux/drivers/media/dvb/frontends/au8522.c71
1 files changed, 19 insertions, 52 deletions
diff --git a/linux/drivers/media/dvb/frontends/au8522.c b/linux/drivers/media/dvb/frontends/au8522.c
index d968a1000..d946c8beb 100644
--- a/linux/drivers/media/dvb/frontends/au8522.c
+++ b/linux/drivers/media/dvb/frontends/au8522.c
@@ -304,67 +304,40 @@ static int au8522_mse2snr_lookup(struct mse2snr_tab *tab, int sz, int mse,
return ret;
}
-/* 3.25 MHz IF Frequency table */
-static struct {
- u16 reg;
- u16 data;
-} if_3_25_mhz_tab[] = {
- { 0x80b5, 0x00 },
- { 0x80b6, 0x3d },
- { 0x80b7, 0xa0 },
-};
-
-/* 4.00 MHz IF Frequency table */
-static struct {
- u16 reg;
- u16 data;
-} if_4_mhz_tab[] = {
- { 0x80b5, 0x00 },
- { 0x80b6, 0x4b },
- { 0x80b7, 0xd9 },
-};
-
-/* 6.00 MHz IF Frequency table */
-static struct {
- u16 reg;
- u16 data;
-} if_6_mhz_tab[] = {
- { 0x80b5, 0xfb },
- { 0x80b6, 0x8e },
- { 0x80b7, 0x39 },
-};
-
static int au8522_set_if(struct dvb_frontend *fe, enum au8522_if_freq if_freq)
{
struct au8522_state *state = fe->demodulator_priv;
- int i;
+ u8 r0b5, r0b6, r0b7;
+ char *ifmhz;
switch (if_freq) {
case AU8522_IF_3_25MHZ:
- dprintk("%s() 3.25 MHz\n", __func__);
- for (i = 0; i < ARRAY_SIZE(if_3_25_mhz_tab); i++)
- au8522_writereg(state,
- if_3_25_mhz_tab[i].reg,
- if_3_25_mhz_tab[i].data);
+ ifmhz = "3.25";
+ r0b5 = 0x00;
+ r0b6 = 0x3d;
+ r0b7 = 0xa0;
break;
case AU8522_IF_4MHZ:
- dprintk("%s() 4.00 MHz\n", __func__);
- for (i = 0; i < ARRAY_SIZE(if_4_mhz_tab); i++)
- au8522_writereg(state,
- if_4_mhz_tab[i].reg,
- if_4_mhz_tab[i].data);
+ ifmhz = "4.00";
+ r0b5 = 0x00;
+ r0b6 = 0x4b;
+ r0b7 = 0xd9;
break;
case AU8522_IF_6MHZ:
- dprintk("%s() 6.00 MHz\n", __func__);
- for (i = 0; i < ARRAY_SIZE(if_6_mhz_tab); i++)
- au8522_writereg(state,
- if_6_mhz_tab[i].reg,
- if_6_mhz_tab[i].data);
+ ifmhz = "6.00";
+ r0b5 = 0xfb;
+ r0b6 = 0x8e;
+ r0b7 = 0x39;
break;
default:
dprintk("%s() IF Frequency not supported\n", __func__);
return -EINVAL;
}
+ dprintk("%s() %s MHz\n", __func__, ifmhz);
+ au8522_writereg(state, 0x80b5, r0b5);
+ au8522_writereg(state, 0x80b6, r0b6);
+ au8522_writereg(state, 0x80b7, r0b7);
+
return 0;
}
@@ -398,9 +371,6 @@ static struct {
{ 0x80af, 0x66 },
{ 0x821b, 0xcc },
{ 0x821d, 0x80 },
- { 0x80b5, 0xfb },
- { 0x80b6, 0x8e },
- { 0x80b7, 0x39 },
{ 0x80a4, 0xe8 },
{ 0x8231, 0x13 },
};
@@ -414,9 +384,6 @@ static struct {
{ 0x80a4, 0x00 },
{ 0x8081, 0xc4 },
{ 0x80a5, 0x40 },
- { 0x80b5, 0xfb },
- { 0x80b6, 0x8e },
- { 0x80b7, 0x39 },
{ 0x80aa, 0x77 },
{ 0x80ad, 0x77 },
{ 0x80a6, 0x67 },