Commit 30588643 authored by Dennis Dalessandro's avatar Dennis Dalessandro Committed by Doug Ledford

IB/rdmavt: Add pkey query stub

The pkey table will reside in the rvt structure but it will be modified
only when the driver requests then rvt will simply read the value to return
in the query.
Reviewed-by: default avatarMike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: default avatarIra Weiny <ira.weiny@intel.com>
Signed-off-by: default avatarDennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent 765525c1
...@@ -137,6 +137,26 @@ static int rvt_modify_port(struct ib_device *ibdev, u8 port, ...@@ -137,6 +137,26 @@ static int rvt_modify_port(struct ib_device *ibdev, u8 port,
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
/**
* rvt_query_pkey - Return a pkey from the table at a given index
* @ibdev: Verbs IB dev
* @port: Port number
* @intex: Index into pkey table
*
* Returns 0 on failure pkey otherwise
*/
static int rvt_query_pkey(struct ib_device *ibdev, u8 port, u16 index,
u16 *pkey)
{
/*
* Driver will be responsible for keeping rvt_dev_info.pkey_table up to
* date. This function will just return that value. There is no need to
* lock, if a stale value is read and sent to the user so be it there is
* no way to protect against that anyway.
*/
return 0;
}
/* /*
* Check driver override. If driver passes a value use it, otherwise we use our * Check driver override. If driver passes a value use it, otherwise we use our
* own value. * own value.
...@@ -154,6 +174,7 @@ int rvt_register_device(struct rvt_dev_info *rdi) ...@@ -154,6 +174,7 @@ int rvt_register_device(struct rvt_dev_info *rdi)
CHECK_DRIVER_OVERRIDE(rdi, modify_device); CHECK_DRIVER_OVERRIDE(rdi, modify_device);
CHECK_DRIVER_OVERRIDE(rdi, query_port); CHECK_DRIVER_OVERRIDE(rdi, query_port);
CHECK_DRIVER_OVERRIDE(rdi, modify_port); CHECK_DRIVER_OVERRIDE(rdi, modify_port);
CHECK_DRIVER_OVERRIDE(rdi, query_pkey);
/* DMA Operations */ /* DMA Operations */
rdi->ibdev.dma_ops = rdi->ibdev.dma_ops =
......
...@@ -114,12 +114,13 @@ struct rvt_dev_info { ...@@ -114,12 +114,13 @@ struct rvt_dev_info {
* The driver will also be responsible for filling in certain members of * The driver will also be responsible for filling in certain members of
* dparms.props * dparms.props
*/ */
struct ib_device ibdev; struct ib_device ibdev;
/* Driver specific properties */ /* Driver specific properties */
struct rvt_driver_params dparms; struct rvt_driver_params dparms;
/* PKey Table goes here */
/* /*
* The work to create port files in /sys/class Infiniband is different * The work to create port files in /sys/class Infiniband is different
* depending on the driver. This should not be extracted away and * depending on the driver. This should not be extracted away and
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment