aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/nes
diff options
context:
space:
mode:
authorDon Wood <donald.e.wood@intel.com>2009-03-06 15:12:11 -0800
committerRoland Dreier <rolandd@cisco.com>2009-03-06 15:12:11 -0800
commitfd87778cb99429f5e2e041213a5c9c564bbe7b78 (patch)
tree23d5d0e4517a9fe0678989f1506f141d5cfb0277 /drivers/infiniband/hw/nes
parent7b14ab0b438f20c7d6599985b036bb2864fd2524 (diff)
downloadkernel_samsung_smdk4412-fd87778cb99429f5e2e041213a5c9c564bbe7b78.zip
kernel_samsung_smdk4412-fd87778cb99429f5e2e041213a5c9c564bbe7b78.tar.gz
kernel_samsung_smdk4412-fd87778cb99429f5e2e041213a5c9c564bbe7b78.tar.bz2
RDMA/nes: Inform hardware that asynchronous event has been handled
When asynchronous events are processed by software, it is necessary to let the hardware know that software has handled the event. This frees up the entry in the asynchronous event queue. Signed-off-by: Don Wood <donald.e.wood@intel.com> Signed-off-by: Chien Tung <chien.tin.tung@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband/hw/nes')
-rw-r--r--drivers/infiniband/hw/nes/nes_hw.c2
-rw-r--r--drivers/infiniband/hw/nes/nes_hw.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
index 3a72a06..1c5e946 100644
--- a/drivers/infiniband/hw/nes/nes_hw.c
+++ b/drivers/infiniband/hw/nes/nes_hw.c
@@ -2269,6 +2269,8 @@ static void nes_process_aeq(struct nes_device *nesdev, struct nes_hw_aeq *aeq)
if (++head >= aeq_size)
head = 0;
+
+ nes_write32(nesdev->regs + NES_AEQ_ALLOC, 1 << 16);
}
while (1);
aeq->aeq_head = head;
diff --git a/drivers/infiniband/hw/nes/nes_hw.h b/drivers/infiniband/hw/nes/nes_hw.h
index 6f8712d..bf7ecfa 100644
--- a/drivers/infiniband/hw/nes/nes_hw.h
+++ b/drivers/infiniband/hw/nes/nes_hw.h
@@ -61,6 +61,7 @@ enum pci_regs {
NES_CQ_ACK = 0x0034,
NES_WQE_ALLOC = 0x0040,
NES_CQE_ALLOC = 0x0044,
+ NES_AEQ_ALLOC = 0x0048
};
enum indexed_regs {