[linux-dvb] questions about STV0229_LOCKOUTPUT

Oliver Endriss o.endriss at gmx.de
Tue Nov 8 02:57:44 CET 2005


Jeremy Hall wrote:
> In the new year, Andrew de Quincey wrote:
> > On Monday 07 Nov 2005 18:35, Jeremy Hall wrote:
> > > In the new year, Oliver Endriss wrote:
> > > > Jeremy Hall wrote:
> > > > > It looks like STV0229_LOCKOUTPUT is set to on in the initialization of
> > > > > the alps_bsru6 tuner, but when I'm changing voltage, it is set to off.
> > > > > (state->config->lock_output == 0) and it looks like it should be 1. 
> > > > > Does anybody have any idea how this could have gotten broken?
> > > >
> > > > What type of card are you talking about?
> > > >
> > > > If state->config->lock_output should be 1 it must be set in the card
> > > > driver (struct stv0299_config). The value of the inittab is meaningless,
> > > > i.e. it will be overwritten by the first stv0299_set_voltage() call...
> > > >
> > > > FWICS, the SEC_VOLTAGE_OFF stuff touches more bits than it should.
> > > > Otherwise the code looks strange but seems to be ok. ;-)
> > >
> > > It's a nexus rev2.3. The only case I see that it is set to 0 (off) is in 
> > > the cinergy_1200s_config.
> > >
> > > I don't THINK I have a cinergy_1200s do I?

I don't know what you have. It would have saved some time if you would
have told us in your first message...

> > It isn't Cinergy 1200 specific. This value basically controls how the GPIOs on 
> > the stv0299 are wired up to the voltage/tone generation hardware. There are 
> > several ways to do it, so its possible several cards share the same method. 
>
> I see it's using the bsbe1 config which doesn't set this value (assuming 
> it will be 0)

For the nexus 2.3:
- BSBE inittab register 0x08 is set to 0x40, i.e. OP2 = high.
- lnbp21_set_voltage() is used.
- stv0299_set_voltage() is never called.
- lock_output is initialized to zero.

lock_output(OP2) is only used by stv0299_set_voltage() and
stv0299_send_legacy_dish_cmd().

Anyway, stv0299_send_legacy_dish_cmd() will _not_ work for this card,
so the lock_output variable doesn't matter.

Now I see that dish network support is obviously missing.
Please confirm whether this is your problem!

> What guarantee do we have that if unspecified it iwll be 0? the fact that 
> it is static?
> 
> Some compilers don't give you that.

All static variables are automagically initialized to zero.
Otherwise the compiler is broken!

Oliver

-- 
--------------------------------------------------------
VDR Remote Plugin available at
http://www.escape-edv.de/endriss/vdr/
--------------------------------------------------------



More information about the linux-dvb mailing list