aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMitko Haralanov <mitko.haralanov@intel.com>2016-02-05 11:57:48 -0500
committerDoug Ledford <dledford@redhat.com>2016-02-29 17:10:38 -0500
commit955ad36dcde4639664253c2bd39f626cd88d2acf (patch)
tree5c19ed28b55591623bbc6360bd2dfca8203bbeb9
parent462075a6ea85aa1cf6ee1620a232c483dfd4b520 (diff)
uapi/hfi1_user: Add command and event for TID caching
TID caching will use a new event to signal userland that cache invalidation has occurred and needs a matching command code that will be used to read the invalidated TIDs. Add the event bit and the new command to the exported header file. The command is also added to the switch() statement in file_ops.c for completeness and in preparation for its usage later. Signed-off-by: Mitko Haralanov <mitko.haralanov@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
-rw-r--r--drivers/staging/rdma/hfi1/file_ops.c1
-rw-r--r--include/uapi/rdma/hfi/hfi1_user.h5
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/staging/rdma/hfi1/file_ops.c b/drivers/staging/rdma/hfi1/file_ops.c
index d57d549052c8..c66693532be0 100644
--- a/drivers/staging/rdma/hfi1/file_ops.c
+++ b/drivers/staging/rdma/hfi1/file_ops.c
@@ -241,6 +241,7 @@ static ssize_t hfi1_file_write(struct file *fp, const char __user *data,
241 must_be_root = 1; /* validate user */ 241 must_be_root = 1; /* validate user */
242 copy = 0; 242 copy = 0;
243 break; 243 break;
244 case HFI1_CMD_TID_INVAL_READ:
244 default: 245 default:
245 ret = -EINVAL; 246 ret = -EINVAL;
246 goto bail; 247 goto bail;
diff --git a/include/uapi/rdma/hfi/hfi1_user.h b/include/uapi/rdma/hfi/hfi1_user.h
index cf172718e3d5..92be2e373019 100644
--- a/include/uapi/rdma/hfi/hfi1_user.h
+++ b/include/uapi/rdma/hfi/hfi1_user.h
@@ -134,6 +134,7 @@
134#define HFI1_CMD_ACK_EVENT 10 /* ack & clear user status bits */ 134#define HFI1_CMD_ACK_EVENT 10 /* ack & clear user status bits */
135#define HFI1_CMD_SET_PKEY 11 /* set context's pkey */ 135#define HFI1_CMD_SET_PKEY 11 /* set context's pkey */
136#define HFI1_CMD_CTXT_RESET 12 /* reset context's HW send context */ 136#define HFI1_CMD_CTXT_RESET 12 /* reset context's HW send context */
137#define HFI1_CMD_TID_INVAL_READ 13 /* read TID cache invalidations */
137/* separate EPROM commands from normal PSM commands */ 138/* separate EPROM commands from normal PSM commands */
138#define HFI1_CMD_EP_INFO 64 /* read EPROM device ID */ 139#define HFI1_CMD_EP_INFO 64 /* read EPROM device ID */
139#define HFI1_CMD_EP_ERASE_CHIP 65 /* erase whole EPROM */ 140#define HFI1_CMD_EP_ERASE_CHIP 65 /* erase whole EPROM */
@@ -147,13 +148,15 @@
147#define _HFI1_EVENT_LID_CHANGE_BIT 2 148#define _HFI1_EVENT_LID_CHANGE_BIT 2
148#define _HFI1_EVENT_LMC_CHANGE_BIT 3 149#define _HFI1_EVENT_LMC_CHANGE_BIT 3
149#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4 150#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4
150#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_SL2VL_CHANGE_BIT 151#define _HFI1_EVENT_TID_MMU_NOTIFY_BIT 5
152#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_TID_MMU_NOTIFY_BIT
151 153
152#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT) 154#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT)
153#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT) 155#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT)
154#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT) 156#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT)
155#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT) 157#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT)
156#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT) 158#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT)
159#define HFI1_EVENT_TID_MMU_NOTIFY (1UL << _HFI1_EVENT_TID_MMU_NOTIFY_BIT)
157 160
158/* 161/*
159 * These are the status bits readable (in ASCII form, 64bit value) 162 * These are the status bits readable (in ASCII form, 64bit value)