aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/sn/pci
diff options
context:
space:
mode:
authorColin Ngam <cngam@sgi.com>2005-08-03 16:35:00 -0400
committerTony Luck <tony.luck@intel.com>2005-08-11 18:35:13 -0400
commit674c6479b7bdc78528ea83dd43897e3161558b8b (patch)
tree5ae55cc33867c1f6d0df1e6af8fe71e88ffee046 /arch/ia64/sn/pci
parentb5da623ae9be680ea59f268eeb339f0acb2d88c4 (diff)
[IA64-SGI] Altix only: Add PCI Domain number support.
This patch enables PCI Domain numbering on Altix. Signed-off-by: Colin Ngam <cngam@sgi.com> Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/sn/pci')
-rw-r--r--arch/ia64/sn/pci/pcibr/pcibr_provider.c11
-rw-r--r--arch/ia64/sn/pci/tioca_provider.c5
2 files changed, 10 insertions, 6 deletions
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_provider.c b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
index b95e928636a1..dfaf01e5be80 100644
--- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c
+++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
@@ -60,7 +60,7 @@ static int sal_pcibr_error_interrupt(struct pcibus_info *soft)
60 ret_stuff.status = 0; 60 ret_stuff.status = 0;
61 ret_stuff.v0 = 0; 61 ret_stuff.v0 = 0;
62 62
63 segment = 0; 63 segment = soft->pbi_buscommon.bs_persist_segment;
64 busnum = soft->pbi_buscommon.bs_persist_busnum; 64 busnum = soft->pbi_buscommon.bs_persist_busnum;
65 SAL_CALL_NOLOCK(ret_stuff, 65 SAL_CALL_NOLOCK(ret_stuff,
66 (u64) SN_SAL_IOIF_ERROR_INTERRUPT, 66 (u64) SN_SAL_IOIF_ERROR_INTERRUPT,
@@ -142,9 +142,12 @@ pcibr_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
142 j++, sn_flush_device_list++) { 142 j++, sn_flush_device_list++) {
143 if (sn_flush_device_list->sfdl_slot == -1) 143 if (sn_flush_device_list->sfdl_slot == -1)
144 continue; 144 continue;
145 if (sn_flush_device_list-> 145 if ((sn_flush_device_list->
146 sfdl_persistent_busnum == 146 sfdl_persistent_segment ==
147 soft->pbi_buscommon.bs_persist_busnum) 147 soft->pbi_buscommon.bs_persist_segment) &&
148 (sn_flush_device_list->
149 sfdl_persistent_busnum ==
150 soft->pbi_buscommon.bs_persist_busnum))
148 sn_flush_device_list->sfdl_pcibus_info = 151 sn_flush_device_list->sfdl_pcibus_info =
149 soft; 152 soft;
150 } 153 }
diff --git a/arch/ia64/sn/pci/tioca_provider.c b/arch/ia64/sn/pci/tioca_provider.c
index 5d76a7581465..2fef7c10d6e5 100644
--- a/arch/ia64/sn/pci/tioca_provider.c
+++ b/arch/ia64/sn/pci/tioca_provider.c
@@ -559,7 +559,7 @@ tioca_error_intr_handler(int irq, void *arg, struct pt_regs *pt)
559 ret_stuff.status = 0; 559 ret_stuff.status = 0;
560 ret_stuff.v0 = 0; 560 ret_stuff.v0 = 0;
561 561
562 segment = 0; 562 segment = soft->ca_common.bs_persist_segment;
563 busnum = soft->ca_common.bs_persist_busnum; 563 busnum = soft->ca_common.bs_persist_busnum;
564 564
565 SAL_CALL_NOLOCK(ret_stuff, 565 SAL_CALL_NOLOCK(ret_stuff,
@@ -622,7 +622,8 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
622 nasid_to_cnodeid(tioca_common->ca_closest_nasid); 622 nasid_to_cnodeid(tioca_common->ca_closest_nasid);
623 tioca_common->ca_kernel_private = (uint64_t) tioca_kern; 623 tioca_common->ca_kernel_private = (uint64_t) tioca_kern;
624 624
625 bus = pci_find_bus(0, tioca_common->ca_common.bs_persist_busnum); 625 bus = pci_find_bus(tioca_common->ca_common.bs_persist_segment,
626 tioca_common->ca_common.bs_persist_busnum);
626 BUG_ON(!bus); 627 BUG_ON(!bus);
627 tioca_kern->ca_devices = &bus->devices; 628 tioca_kern->ca_devices = &bus->devices;
628 629