[mythtv-users] Re: mythtv 0.14, bttv 0.9.12/13 + Kernel 2.6.3-4 - low brightness red screen on channel change

Bruce Markey bjm at lvcm.com
Fri Mar 26 21:19:11 EST 2004


scunacc wrote:
> Dear folks,
> 
> I got a reply from Gerd (bttv) concerning patches to the 2.6.3 kernel
> series. 
> 
> He said:
> 
> 
>>Latest snapshots should have that one fixed.  The bt878 
>>simply forgets the contrast/bright/... settings on reset, 
>>thus they must be reprogrammed in that case, which the 
>>current driver does now.
> 
> 
> Sooooo, at some point, I'm going to try those patches. 
> 
> I think the ones I need are at:
> 
> http://bytesex.org/patches/2.6.3-1
> 
> ... your mileage may vary.
> 
> It looks like it has to be against the kernel source tree, since there
> are patches to code outside the bttv branch, such as the scheduler, - so
> it can't just be against a bttv tarball AFAICS.
> 
> I'll try and let y'all know when I've had a go!
> 
> If anyone else gets it done in the meantime, by all means followup.

There is also now a release of bttv-0.9.13 which has code to
restore the state which was not in 0.9.12.

http://bytesex.org/bttv/bttv-0.9.13.tar.gz

--  bjm

> static int bttv_resume(struct pci_dev *pci_dev)
> {
>         struct bttv *btv = pci_get_drvdata(pci_dev);
>       unsigned long flags;
>
>       printk("bttv%d: resume\n", btv->c.nr);
>
>       /* restore pci state */
>       if (btv->state.disabled) {
>               pci_enable_device(pci_dev);
>               btv->state.disabled = 0;
>       }
>       pci_set_power_state(pci_dev, 0);
>       pci_restore_state(pci_dev, btv->state.pci_cfg);
>
>       /* restore bt878 state */
>       bttv_reinit_bt848(btv);
>       gpio_inout(0xffffff, btv->state.gpio_enable);
>       gpio_write(btv->state.gpio_data);
>
>       bt848_bright(btv,   btv->bright);
>       bt848_hue(btv,      btv->hue);
>       bt848_contrast(btv, btv->contrast);
>       bt848_sat(btv,      btv->saturation);
>
>       /* restart dma */
>       spin_lock_irqsave(&btv->s_lock,flags);
>       btv->curr = btv->state.set;
>       bttv_buffer_set_activate(btv, &btv->curr);
>       bttv_set_dma(btv, 0, btv->curr.irqflags);
>       spin_unlock_irqrestore(&btv->s_lock,flags);
>       return 0;
> }
>



More information about the mythtv-users mailing list