"M. Warner Losh" <[EMAIL PROTECTED]>  wrote:
>
> In message: <[EMAIL PROTECTED]>
>             Thomas David Rivers <[EMAIL PROTECTED]> writes:
> : Warner - any ideas?
> : pci_write_config(..., bcr,2);  <<<< hangs
> 
> Interesting....
> 
> So this pretty much confirms what I'd expect.  We establish the
> interrupt handler, then turn on the interrupts, then hang.  I suspect
> that there's an interrupt in the bridge that isn't being acked.  Maybe
> there's something in the pcic_pci_intr that should do that it isn't.
> 
> There's also one thing that I've been thinking about in the back of my
> mind that you might want to check.  I read in the mindshare books that
> the we're supposed to mask one of the interrupts while we're powering
> the card up.  Maybe that's left over and we're not clearing it
> properly.
> 
> Does adding
>      for (i = 0; i < 0x40) sp->getb(sp, i);
> at the end pcic_pci_intr do anything for you?  The PCIC_STAT_CHG
> should do that, but I'm not sure why it isn't.

I added:

        {
           int i;
           for(i=0;i<0x40;i++) {
                sp->getb(sp,i);
           }
        }

to the end of pcic_pci_intr() - but that didn't change anything...
got the same hang in exactly the same place...


        - Dave Rivers -

--
[EMAIL PROTECTED]                        Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to