S2885 ht reset multi chain.

YhLu YhLu at tyan.com
Thu Mar 25 23:11:01 CET 2004


Stefan,

Please try this one. Remove the mindev in struct. And use next_unitid to
calculate the dev min and max.

Can you try that in AMD quartet to see if ht reset works.

You may need to add several lines in auto.c


        static const struct ht_chain ht_c[] = {
                {
                        .udev = PCI_DEV(0, 0x18, 0),
                        .upos = 0xc0,
                        .devreg = 0xe0,
                },
                {
                        .udev = PCI_DEV(0, 0x19, 0),
                        .upos = 0xa0,
                        .devreg = 0xe4,
                },
        };

	Change calling to ht_setup_chain to ht_setup_chains

        needs_reset |= ht_setup_chains(ht_c, sizeof(ht_c)/sizeof(ht_c[0]));

make sure resourcemap.c like this

        PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x04010207,
        PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0x00000110,
        PCI_ADDR(0, 0x18, 1, 0xE8), 0x0000FC88, 0x00000000,
        PCI_ADDR(0, 0x18, 1, 0xEC), 0x0000FC88, 0x00000000,

The result would be
        PCI_ADDR(0, 0x18, 1, 0xE0), 0x0000FC88, 0x04010207,
        PCI_ADDR(0, 0x18, 1, 0xE4), 0x0000FC88, 0x06050117,

If you enable the print_pci_devices in auto.c, you may see
0:1.0
0:2.0
0:2.1
0:2.2
0:2.3
0:2.5
0:2.6
0:5.0
0:5.1
0:6.0
0:6.1
0:18:0
0:18:1
0:18:2
0:18:3
0:19:0
0:19:1
0:19:2
0:19:3
0:1a:0
0:1a:1
0:1a:2
0:1a:3
0:1b:0
0:1b:1
0:1b:2
0:1b:3

regards


YH


-------------- next part --------------
A non-text attachment was scrubbed...
Name: fb2_s2885_changes_multi_chain.diff.bz
Type: application/octet-stream
Size: 4512 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20040325/8b224f1b/attachment.obj>


More information about the coreboot mailing list