collapsing devices.

YhLu YhLu at tyan.com
Wed Dec 15 09:01:01 CET 2004


Eric,

static void ht_collapse_previous_enumeration(unsigned bus)
{       
        device_t dev;
                
        /* Spin through the devices and collapse any previous
         * hypertransport enumeration.
         */
        for(dev = PCI_DEV(bus, 0, 0); dev <= PCI_DEV(bus, 0x1f, 0x7); dev +=
PCI_DEV(0, 1, 0)) {

I think PCI_DEV(bus, 0, 0) should be changed to PCI_DEV(bus, 1, 0)
And before that it should check PCI_DEV(bus,0,0), if the device is there,
collapse should get back right away and don't do any collapse.

In the hypertransport.c collapse don't need to check PCI_DEV(bus, 0, 0),
because it must begin from unitid 1.

YH

-----Original Message-----
From: Stefan Reinauer [mailto:stepan at openbios.org] 
Sent: Wednesday, December 15, 2004 8:36 AM
To: YhLu
Cc: 'Eric W. Biederman'; linuxbios at clustermatic.org
Subject: Re: collapsing devices.

* YhLu <YhLu at tyan.com> [041214 03:14]:
> Stefan,
> 
> I add dump_pci_decvies_on_bus in debug.c
> 
> Please add calling to dump_pci_devices_on_bus(busn) before
> ht_collapse_previous_enumeration(busn). In ht_setup_chains.
> 
> Also in auto.c you need to put inconerent_ht.c after debug.c.

See the other mail I sent you. When just calling a loop for scanning
bus 0-16 before ht_setup_chains, it finds the devices on bus0, none on
1-5 and then hangs while scanning bus5

Stefan



More information about the coreboot mailing list