[openib-general] InfiniPath driver announcement

Roland Dreier rolandd at cisco.com
Wed Oct 12 10:55:40 PDT 2005


I got my system set up again.  I needed the following patch to work
with the latest kernel (which no longer has io_remap_page_range).  I'm
also throwing in a warning cleanup.

I'm still seeing some problems with the SM bringing up the port, which
I'll start debugging now.

BTW, ipath_mmap() probably needs to be rewritten or broken up into
subfunctions -- the fact that the parameters of io_remap_pfn_range()
are squeezed so hard against the right margin indicates that there are
too many levels of { } in the function.

 - R.

--- infiniband/hw/ipath/ib_ipath/ipath_mad.c	(revision 3742)
+++ infiniband/hw/ipath/ib_ipath/ipath_mad.c	(working copy)
@@ -724,6 +724,7 @@ static u32 get_counter(struct ipath_ibde
 	case IB_PMA_PORT_RCV_PKTS:
 		return (u32) dev->ipath_rpkts;
 	case IB_PMA_PORT_XMIT_WAIT:
+	default:
 		return 0;
 	}
 }
--- infiniband/hw/ipath/ipath_core/infinipath_core.c	(revision 3742)
+++ infiniband/hw/ipath/ipath_core/infinipath_core.c	(working copy)
@@ -3143,13 +3143,13 @@ static int ipath_mmap(struct file *fp, s
 					    VM_DONTCOPY | VM_DONTEXPAND | VM_IO
 					    | VM_SHM | VM_LOCKED;
 					ret =
-					    io_remap_page_range(vm,
-								vm->vm_start,
-								phys,
-								vm->vm_end -
-								vm->vm_start,
-								vm->
-								vm_page_prot);
+					    io_remap_pfn_range(vm,
+							       vm->vm_start,
+							       phys >> PAGE_SHIFT,
+							       vm->vm_end -
+							       vm->vm_start,
+							       vm->
+							       vm_page_prot);
 				}
 			} else if (pgaddr == pd->port_piobufs) {
 				/*
@@ -3206,16 +3206,16 @@ static int ipath_mmap(struct file *fp, s
 						    | VM_IO | VM_SHM |
 						    VM_LOCKED;
 						ret =
-						    io_remap_page_range(vm,
-									vm->
-									vm_start,
-									phys,
-									vm->
-									vm_end -
-									vm->
-									vm_start,
-									vm->
-									vm_page_prot);
+						    io_remap_pfn_range(vm,
+								       vm->
+								       vm_start,
+								       phys >> PAGE_SHIFT,
+								       vm->
+								       vm_end -
+								       vm->
+								       vm_start,
+								       vm->
+								       vm_page_prot);
 					}
 				}
 			} else if (pgaddr == (uint64_t) pd->port_rcvegr_phys) {



More information about the general mailing list