In message: <[EMAIL PROTECTED]>
            Dirk-Willem van Gulik <[EMAIL PROTECTED]> writes:
: 
: 
: On Thu, 28 Nov 2002, Dirk-Willem van Gulik wrote:
: 
: > On Thu, 28 Nov 2002, Dirk-Willem van Gulik wrote:
: >
: > > > This doesn't force the interrupt to be IRQ3, but rather tells the card
: > > > to use INTA#.  The probe line for wi card should say irq N where N is
: >
: > I may be mistaken - but it seems that
: >
: >     pcic_pci_pd67xx_csc(struct pcic_slot *sp, enum pcic_intr_way way)
: >     pcic_pci_pd67xx_func(struct pcic_slot *sp, enum pcic_intr_way way)
: >
: > are not called to ensure that the PCI/ISA interrupts are set up
: > (correctly). Or is this not required ?
: 
: Calling
: 
:       pcic_pci_cardbus_init()
: 
: from inside
: 
:       pcic_pci_pd67xx_init()
: 
: to push the INTA-D and ISAIRQ's into the PCI state seems to case things to
: no longer freeze up, and I am getting at least some traffic through
: without timeouts.
: 
: Dw
: 
: 
: 
: static void
: pcic_pci_pd67xx_init(device_t dev)
: {
:         struct pcic_softc *sc = device_get_softc(dev);
: 
:         if (sc->csc_route == pcic_iw_pci || sc->func_route == pcic_iw_pci)
:                 device_printf(dev, "PD67xx maybe broken for PCI routing.\n");
: 
: #ifdef DIRKX_AT_APACHE_ORG_PRIVATE_HACKS
:         /* XXX DIRKX lets try SOME routing of sorts */
:         pcic_pci_cardbus_init(dev);
: #endif

this is bogus.  However, a less bogus version is:

        /*
         * Tell the chip to do its routing thing.
         */
        sc->chip->func_intr_way(&sc->slots[0], sc->func_route);
        sc->chip->csc_intr_way(&sc->slots[0], sc->csc_route);

: }

The reason that cardbus_init is bogus in this context is that it
messes with pci config registers that aren't present on the 6729.  Can
you try that out?

Warner

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

Reply via email to