i/o and memory space enable bits in PCI-PCI bridge
Hi!
Can somebody give me a hint: - what part of 2.6 (mips) code is responsible for setting i/o and memory space enable bits in PCI-PCI bridge config. space command register? On my board those bits are not set after bridge is configured.
Currently I'm using the following change in "pcibios_enable_resources" to work with devices behind the bridge.
mips/pci/pci.c 2004-12-06 18:21:22.000000000 +0300 renamed from mips/pci/pci.c_org 2004-12-06 18:20:50.000000000 +0300 +1 -1
@@ -164,7 +164,7 @@ pci_read_config_word(dev, PCI_COMMAND, &cmd); old_cmd = cmd; - for(idx=0; idx<6; idx++) { + for(idx=0; idx<=PCI_BRIDGE_RESOURCES; idx++) { /* Only set up the requested stuff */ if (!(mask & (1<<idx))) continue;
but I think there should be some legal way I missed. --
Thank you,
Pavel Kiryukhin.
Quoted 18 lines · Pavel Kiryukhin
Can somebody give me a hint: - what part of 2.6 (mips) code is responsible for setting i/o and memory space enable bits in PCI-PCI bridge config. space command register?
On my board those bits are not set after bridge is configured. Currently I'm using the following change in "pcibios_enable_resources" to work with devices behind the bridge.mips/pci/pci.c 2004-12-06 18:21:22.000000000 +0300 renamed from mips/pci/pci.c_org 2004-12-06 18:20:50.000000000 +0300 +1
-1@@ -164,7 +164,7 @@ pci_read_config_word(dev, PCI_COMMAND, &cmd); old_cmd = cmd; - for(idx=0; idx<6; idx++) { + for(idx=0; idx<=PCI_BRIDGE_RESOURCES; idx++) { /* Only set up the requested stuff */ if (!(mask & (1<<idx))) continue;
Quoted 1 line
but I think there should be some legal way I missed.
We had a discussion a while ago where somebody did suggest an afair identical patch a while ago. The problem with this patch is it fixes things for a few platforms and breaks things for a few others.
Ralf