I make a short patch to sharing IRQ between a PCIC and a PC Card when using
PCI IRQ routing.
#Does this patch help you?

-------
YAMAMOTO Shigeru                        Internet Initiative Japan Inc.
<[EMAIL PROTECTED]>                     Network Engineering Div.
Index: pcic.c
===================================================================
RCS file: /share/cvsup/FreeBSD/current/usr/src/sys/pccard/pcic.c,v
retrieving revision 1.141
diff -u -r1.141 pcic.c
--- pcic.c      2001/06/04 03:29:06     1.141
+++ pcic.c      2001/06/13 04:18:17
@@ -805,8 +805,13 @@
        /*
         * If we're routing via pci, we can share.
         */
-       if (sc->func_route == pci_parallel && type == SYS_RES_IRQ)
+       if (sc->func_route == pci_parallel && type == SYS_RES_IRQ) {
                flags |= RF_SHAREABLE;
+               if (sc->irqres) {
+                       start = rman_get_start(sc->irqres);
+                       end = rman_get_start(sc->irqres);
+               }
+       }
 
        return (bus_generic_alloc_resource(dev, child, type, rid, start, end,
            count, flags));
Index: pcic_pci.c
===================================================================
RCS file: /share/cvsup/FreeBSD/current/usr/src/sys/pccard/pcic_pci.c,v
retrieving revision 1.48
diff -u -r1.48 pcic_pci.c
--- pcic_pci.c  2001/06/09 07:34:17     1.48
+++ pcic_pci.c  2001/06/13 04:26:52
@@ -446,9 +446,10 @@
                sc->flags = PCIC_PD_POWER;
                num6729++;
        } else {
+               device_printf(dev, "MEMORY mapped device!\n");
                sc->memrid = CB_PCI_SOCKET_BASE;
                sc->memres = bus_alloc_resource(dev, SYS_RES_MEMORY,
-                   &sc->memrid, 0, ~0, 1, RF_ACTIVE);
+                   &sc->memrid, 0, ~0, 0x1000, RF_ACTIVE);
                if (sc->memres == NULL && pcic_pci_get_memory(dev) != 0)
                        return (ENOMEM);
                sp->getb = pcic_pci_getb2;

Reply via email to