ATI TV Wonder support

John Baldwin jhb at FreeBSD.org
Tue Nov 23 11:20:06 PST 2004


On Monday 22 November 2004 11:00 pm, Justin Hibbits wrote:
> On Nov 22, 2004, at 22:56, Anish Mistry wrote:
> > On Monday 22 November 2004 09:29 pm, you wrote:
> >> On Nov 22, 2004, at 21:22, Anish Mistry wrote:
> >>> On Sunday 21 November 2004 10:00 pm, Justin Hibbits wrote:
> >>>> This patch gives more or less full ATI TV Wonder support to the bktr
> >>>> driver.
> >>>
> >>> Awesome.
> >>>
> >>>> The sound doesn't mute at close, but that might be xawtv's fault,
> >>>> but
> >>>> I
> >>>> don't know which to accuse or look at.  But, other than that, it
> >>>> seems pretty good.
> >>>
> >>> I've having some trouble using it though, the sound doesn't seem to
> >>> work
> >>> just as before.  Is there something extra I need to add to my kernel
> >>> besides bktr?
> >>> On boot:
> >>> bktr0: <BrookTree 878> mem 0xe3101000-0xe3101fff irq 11 at device 8.0
> >>> on
> >>> pci0
> >>> bktr0: [GIANT-LOCKED]
> >>> bktr0: Detected a MSP3445G-B8 at 0x80
> >>> bktr0: ATI TV Wonder, Philips NTSC tuner, msp3400c stereo.
> >>> pci0: <multimedia> at device 8.1 (no driver attached)
> >>> And when I start it:
> >>> bktr0: Detected a MSP3445G-B8 at 0x80
> >>>
> >>> You should also send-pr this if you haven't already.
> >>>
> >>> Thanks,
> >>>
> >>> --
> >>> Anish Mistry
> >>
> >> Oh, you need to build it with the msp3400c driver, so add the line:
> >>
> >> options BKTR_NEW_MSP34XX_DRIVER
> >>
> >> to your config file.  The card doesn't have any mux, only that chip,
> >> so
> >> you need the driver.  I've found a hackish solution to the sound
> >> problem, by resetting the card on exit.  It's horrible, so I won't
> >> include it in the patch, but it works for me.  If you want to use this
> >> too, add:
> >>
> >>  if (bktr->card.msp3400c )
> >>   msp_dpl_reset( bktr, bktr->msp_addr );
> >>
> >> to bktr_core.c, at line 1171.
> >>
> >>
> >> I'll resend my previous message as a send-pr later, when I have a
> >> little more time to test it.
> >
> > Thanks, but I'm getting a weird panic with 5-STABLE, which I'm
> > assuming you
> > aren't seeing.  Any ideas?
> >
> > panic: sleeping without a mutex
> > KDB: enter: panic
> > [thread 100012]
> > Stopped at kbd_enter+0x2c: leave
> > db> tr
> > kbd_enter(c0635ca1,100,c1b6c54c,c1b41320,0) at kbd_enter+0x2c
> > panic(c06363e5,0,0,0,c1b37c00) at panic+0x10a
> > msleep(c1b6c54c,0,4c,c064007d,0) at msleep+0x2bf
> > msp3410d_thread(c1bd8000,d0181d48,c1db8000,c845e1d4,0) at
> > msp3410d_thread+0x5b
> > fork_exit(c045e1d4,c1db8000,d0181d48) at fork_exit+0x7e
> > fork_trampoline() at fork_trampoline+0x8
> > --- trap 0x1, eip=0, esp=0xd0181d7c, ebd=0 ---
> >
> > dmesg:
> > http://am-productions.biz/docs/bigguy.txt.gz
> > kernel config:
> > http://am-productions.biz/docs/BIGGUY.gz
> > --
> > Anish Mistry
>
> Oh yes, you need to compile it without witness support, or invariants
> (DDB is fine, though).  It, of course, cuts out a ton of useful
> debugging info for other parts, but it's the only way, unfortunately.

That's a bug you'll need to fix or the driver can go to sleep forever and 
never wake up.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the freebsd-current mailing list