Subject: Re: Question on the Qube 2700?
To: None <port-cobalt@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-cobalt
Date: 11/24/2003 02:20:57
In article <20031120152706.GA2316@loki>
cdi@orcsoftware.spb.ru wrote:

>  I fear this is what Ray Dekens has reported quite a while ago. That is, the
> kernel fails to initialize Tulip card properly. The driver times out during
> setup saying "filter setup and transmit timeout", then re-initilizes the card
> and tries the same thing again, this is why nic leds are blinking. I suspect
> interrupt setup and/or handling is broken for 2700, but we have not succeeded
> in fixing it yet.

According to arch/mips/cobalt/pci.c in linux-2.0.34C53_SK,
some cobalt models require several pci fixup code (like sgimips does)
including interrupt lines.

Maybe it's worth to add some fixup code into gt.c:gt_attach().
(siop on my RaQ2 also requires fixup mem address space.)
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp

---
 :
	/* Fix PCI latency-timer and cache-line-size values in Galileo
	 * host bridge.
	 */
	pcibios_write_config_byte(0, 0, PCI_LATENCY_TIMER, 64);
	pcibios_write_config_byte(0, 0, PCI_CACHE_LINE_SIZE, 7);

        /*
         * Now tell the SCSI device that we expect an interrupt at
         * IRQ 7 and not the default 0.
         */
        pcibios_write_config_byte(0, 0x08<<3, PCI_INTERRUPT_LINE,
                                  COBALT_SCSI_IRQ);

        /*
         * Now tell the Ethernet device that we expect an interrupt at
         * IRQ 13 and not the default 189.
	 *
	 * The IRQ of the first Tulip is different on Qube and RaQ
	 * hardware except for the weird first RaQ bringup board,
	 * see above for details.  -DaveM
         */
	if (! raq_p) {
		/* All Qube's route this the same way. */
		pcibios_write_config_byte(0, 0x07<<3, PCI_INTERRUPT_LINE,
					  COBALT_ETHERNET_IRQ);
	} else {
 :
---