[linux-dvb] [PATCH] Twinhan + clones : Correct polarization for
the DST frontend
Allan Stirling
Dibblahdvb0042 at pendor.org
Tue Jun 21 08:44:01 CEST 2005
Olaf Titz wrote:
>>+ state->tx_tuna[8] =~ 0x40; //1
>>+ state->tx_tuna[8] |= 0x40; // 0
>>
>>
>
>I don't know anything about that device, but this code looks wrong to
>me. The "1" line sets the whole register and the "0" line a single
>bit. Shouldn't that rather be something like
>
>
>
>>+ state->tx_tuna[8] &= ~0x40; //1
>>
>>
>
>If the wanted effect is really setting the whole register to ~0x40 vs.
>all ones and the other bits are not affected independently, that
>should be reformulated just for clarity:
>
>
>
>>+ state->tx_tuna[8] = ~0x40; //1
>>+ state->tx_tuna[8] = ~0x00; // 0
>>
>>
>
>(note where the blanks are...)
>
>Olaf
>
>
>_______________________________________________
>linux-dvb mailing list
>linux-dvb at linuxtv.org
>http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb
>
>
(One of these days I'll figure out why Thunderbird is defaulting to
reply-to-author rather than the list)
Thanks to Olaf and Edgar for pointing this out. Assuming it's correct
(again, it works for me), here's a revised patch:
Not sure if this still applies (I'm new here :) but just in case:
Signed-off-by: Allan Stirling <Dibblahdvb0042 at pendor.org>
Cheers,
Allan.
--- ./drivers/media/dvb/bt8xx/dst.c.orig 2005-06-21
07:31:05.190721000 +0100
+++ ./drivers/media/dvb/bt8xx/dst.c 2005-06-21 07:31:10.156051000 +0100
@@ -325,12 +325,12 @@ static int dst_set_polarization(struct d
switch (state->voltage) {
case SEC_VOLTAGE_13: // vertical
printk("%s: Polarization=[Vertical]\n", __FUNCTION__);
- state->tx_tuna[8] |= 0x40; //1
+ state->tx_tuna[8] &= ~0x40; //0
break;
case SEC_VOLTAGE_18: // horizontal
printk("%s: Polarization=[Horizontal]\n", __FUNCTION__);
- state->tx_tuna[8] =~ 0x40; // 0
+ state->tx_tuna[8] |= 0x40; //1
break;
case SEC_VOLTAGE_OFF:
More information about the linux-dvb
mailing list