[IA64-SGI] pass segment# on SN_SAL_IOIF_SLOT_{DIS,EN}ABLE calls
authorMike Habeck <habeck@sgi.com>
Wed, 11 Jan 2006 22:40:24 +0000 (16:40 -0600)
committerTony Luck <tony.luck@intel.com>
Tue, 17 Jan 2006 18:22:46 +0000 (10:22 -0800)
Bugfix... the altix SN_SAL_IOIF_SLOT_ENABLE & SN_SAL_IOIF_SLOT_DISABLE
SAL calls need to pass the segment# down

Signed-off-by: Mike Habeck <habeck@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/sn/pci/pcibr/pcibr_provider.c

index 77a1262751d31ac57567423ca1fc39145ecb3f84..2fac27049bf62eda7323fee737217db830250fc8 100644 (file)
@@ -24,13 +24,15 @@ sal_pcibr_slot_enable(struct pcibus_info *soft, int device, void *resp)
 {
        struct ia64_sal_retval ret_stuff;
        u64 busnum;
+       u64 segment;
 
        ret_stuff.status = 0;
        ret_stuff.v0 = 0;
 
+       segment = soft->pbi_buscommon.bs_persist_segment;
        busnum = soft->pbi_buscommon.bs_persist_busnum;
-       SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_IOIF_SLOT_ENABLE, (u64) busnum,
-                       (u64) device, (u64) resp, 0, 0, 0, 0);
+       SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_IOIF_SLOT_ENABLE, segment,
+                       busnum, (u64) device, (u64) resp, 0, 0, 0);
 
        return (int)ret_stuff.v0;
 }
@@ -41,14 +43,16 @@ sal_pcibr_slot_disable(struct pcibus_info *soft, int device, int action,
 {
        struct ia64_sal_retval ret_stuff;
        u64 busnum;
+       u64 segment;
 
        ret_stuff.status = 0;
        ret_stuff.v0 = 0;
 
+       segment = soft->pbi_buscommon.bs_persist_segment;
        busnum = soft->pbi_buscommon.bs_persist_busnum;
        SAL_CALL_NOLOCK(ret_stuff, (u64) SN_SAL_IOIF_SLOT_DISABLE,
-                       (u64) busnum, (u64) device, (u64) action,
-                       (u64) resp, 0, 0, 0);
+                       segment, busnum, (u64) device, (u64) action,
+                       (u64) resp, 0, 0);
 
        return (int)ret_stuff.v0;
 }