IB/ipath: enable PE800 receive interrupts on user ports
authorBryan O'Sullivan <bos@pathscale.com>
Tue, 23 May 2006 18:32:35 +0000 (11:32 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 23 May 2006 20:29:35 +0000 (13:29 -0700)
Fixed so it works on the PE-800.  It had not previously been updated to
match PE-800 receive interrupt differences from HT-400.

Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_file_ops.c

index bd14eb1..ada267e 100644 (file)
@@ -1224,6 +1224,10 @@ static unsigned int ipath_poll(struct file *fp,
 
        if (tail == head) {
                set_bit(IPATH_PORT_WAITING_RCV, &pd->port_flag);
+               if(dd->ipath_rhdrhead_intr_off) /* arm rcv interrupt */
+                       (void)ipath_write_ureg(dd, ur_rcvhdrhead,
+                                              dd->ipath_rhdrhead_intr_off
+                                              | head, pd->port_port);
                poll_wait(fp, &pd->port_wait, pt);
 
                if (test_bit(IPATH_PORT_WAITING_RCV, &pd->port_flag)) {