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
On Thu, 2004-03-25 at 21:42, YhLu wrote:
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.
Can you do a CVS update and send me your patch again. Your incoherent.c and s2885_changes_mulit_ht conflict with other.
Ollie
On Thu, 2004-03-25 at 21:42, YhLu wrote:
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, }, };
Why don't you use LDT[-02] instead of register address like .upos ? It is much easier to understand.
Ollie