Re: quiet irq 9

KIYOHARA Takashi <[email protected]>
Newsgroups gmane.os.netbsd.ports.cobalt
Message-ID <[email protected]>
Hi! all,


From: KIYOHARA Takashi <[email protected]>
Date: Tue, 17 Jun 2008 03:03:24 +0900 (JST)

> I tried to boot kernel at yestaday (4.99.64).  My cobalt qube2j has USB
> and IEEE1394 interface at PCI.  And I enable fwohci and [eu]hci.
> 
> I found a interrupt happen from fwohci(irq 9) when boot time.  However,
> interrupt did not happen at all afterwards with both.  If fwohci disabled
> then [eu]hci works fine.

I understand the cause for this problem.

The interrupt routine of fwohci not loop for until cleared to all causes.
And, I know EOI is issued to i8259 after the interrupt processing of
fwohci and [eu]hci is called.  I saw fwohci have already caused interrupt
at this time.  I was able to evade this problem by looping in
fwohci_check_stat(). 

Index: fwohci.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ieee1394/fwohci.c,v
retrieving revision 1.114
diff -u -r1.114 fwohci.c
--- fwohci.c    10 May 2008 13:56:54 -0000      1.114
+++ fwohci.c    18 Jun 2008 03:21:53 -0000
@@ -2173,6 +2173,7 @@
 {
        uint32_t stat, irstat, itstat;
 
+retry:
        stat = OREAD(sc, FWOHCI_INTSTAT);
        CTR1(KTR_DEV, "fwoch_check_stat 0x%08x", stat);
        if (stat == 0xffffffff) {
@@ -2200,6 +2201,7 @@
        }
 
        fwohci_intr_core(sc, stat, -1);
+if (1) goto retry;
        return (FILTER_HANDLED);
 }
 


Does this mean interrupt will not happen in after EOI is issued by
mistake at happening of interrupt in i8259 in a word?

Thanks,
--
kiyohara
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.