Skip to content

Commit

Permalink
[media] m88rs2000 ver 1.13 Correct deseqc and tuner gain functions
Browse files Browse the repository at this point in the history
Remove incorrect SEC_MINI_B settings-TODO complete this section.

Correct break and remove return -EINVAL within set tone. It appears
there is a bug that occasionally something other than ON/OFF is
sent stalling the driver. Just continue and write back registers.

Set register b2 in setup. This is the set voltage pin which
isn't used in lmedm04 driver but it is always set to 0x1.

Correct the if statements in set_tuner_rf.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Malcolm Priestley authored and Mauro Carvalho Chehab committed Mar 19, 2012
1 parent 6d535bd commit 593a2ce
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions drivers/media/dvb/frontends/m88rs2000.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,7 @@ static int m88rs2000_send_diseqc_burst(struct dvb_frontend *fe,
msleep(50);
reg0 = m88rs2000_demod_read(state, 0xb1);
reg1 = m88rs2000_demod_read(state, 0xb2);
if (burst == SEC_MINI_B)
reg1 |= 0x1;
/* TODO complete this section */
m88rs2000_demod_write(state, 0xb2, reg1);
m88rs2000_demod_write(state, 0xb1, reg0);
m88rs2000_demod_write(state, 0x9a, 0xb0);
Expand All @@ -251,13 +250,12 @@ static int m88rs2000_set_tone(struct dvb_frontend *fe, fe_sec_tone_mode_t tone)
case SEC_TONE_ON:
reg0 |= 0x4;
reg0 &= 0xbc;
break;
break;
case SEC_TONE_OFF:
reg1 |= 0x80;
break;

break;
default:
return -EINVAL;
break;
}
m88rs2000_demod_write(state, 0xb2, reg1);
m88rs2000_demod_write(state, 0xb1, reg0);
Expand Down Expand Up @@ -292,6 +290,7 @@ struct inittab m88rs2000_setup[] = {
{DEMOD_WRITE, 0xf0, 0x22},
{DEMOD_WRITE, 0xf1, 0xbf},
{DEMOD_WRITE, 0xb0, 0x45},
{DEMOD_WRITE, 0xb2, 0x01}, /* set voltage pin always set 1*/
{DEMOD_WRITE, 0x9a, 0xb0},
{0xff, 0xaa, 0xff}
};
Expand Down Expand Up @@ -520,9 +519,9 @@ static int m88rs2000_set_tuner_rf(struct dvb_frontend *fe)
int reg;
reg = m88rs2000_tuner_read(state, 0x3d);
reg &= 0x7f;
if (reg < 0x17)
if (reg < 0x16)
reg = 0xa1;
else if (reg < 0x16)
else if (reg == 0x16)
reg = 0x99;
else
reg = 0xf9;
Expand Down Expand Up @@ -901,5 +900,5 @@ EXPORT_SYMBOL(m88rs2000_attach);
MODULE_DESCRIPTION("M88RS2000 DVB-S Demodulator driver");
MODULE_AUTHOR("Malcolm Priestley tvboxspy@gmail.com");
MODULE_LICENSE("GPL");
MODULE_VERSION("1.12");
MODULE_VERSION("1.13");

0 comments on commit 593a2ce

Please sign in to comment.