mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
IB/rdmavt: Add ib core device attributes to rvt driver params list
Instead of trying to handle each parameter separately, add ib_device_attr to rvt_driver_params. This means drivers will fill this in and pass to the rvt registration function. Reviewed-by: Mike Marciniszyn <[email protected]> Reviewed-by: Ira Weiny <[email protected]> Signed-off-by: Dennis Dalessandro <[email protected]> Signed-off-by: Doug Ledford <[email protected]>
This commit is contained in:
parent
8afd32eb58
commit
b1070a7a4d
2 changed files with 56 additions and 3 deletions
|
|
@ -59,7 +59,45 @@
|
|||
* Things that are driver specific, module parameters in hfi1 and qib
|
||||
*/
|
||||
struct rvt_driver_params {
|
||||
int max_pds;
|
||||
/*
|
||||
* driver required fields:
|
||||
* node_guid
|
||||
* phys_port_cnt
|
||||
* dma_device
|
||||
* owner
|
||||
* driver optional fields (rvt will provide generic value if blank):
|
||||
* name
|
||||
* node_desc
|
||||
* rvt fields, driver value ignored:
|
||||
* uverbs_abi_ver
|
||||
* node_type
|
||||
* num_comp_vectors
|
||||
* uverbs_cmd_mask
|
||||
*/
|
||||
struct ib_device_attr props;
|
||||
|
||||
/*
|
||||
* Drivers will need to support a number of notifications to rvt in
|
||||
* accordance with certain events. This structure should contain a mask
|
||||
* of the supported events. Such events that the rvt may need to know
|
||||
* about include:
|
||||
* port errors
|
||||
* port active
|
||||
* lid change
|
||||
* sm change
|
||||
* client reregister
|
||||
* pkey change
|
||||
*
|
||||
* There may also be other events that the rvt layers needs to know
|
||||
* about this is not an exhaustive list. Some events though rvt does not
|
||||
* need to rely on the driver for such as completion queue error.
|
||||
*/
|
||||
int rvt_signal_supported;
|
||||
|
||||
/*
|
||||
* Anything driver specific that is not covered by props
|
||||
* For instance special module parameters. Goes here.
|
||||
*/
|
||||
};
|
||||
|
||||
/* Protection domain */
|
||||
|
|
@ -69,10 +107,25 @@ struct rvt_pd {
|
|||
};
|
||||
|
||||
struct rvt_dev_info {
|
||||
/*
|
||||
* Prior to calling for registration the driver will be responsible for
|
||||
* allocating space for this structure.
|
||||
*
|
||||
* The driver will also be responsible for filling in certain members of
|
||||
* dparms.props
|
||||
*/
|
||||
|
||||
struct ib_device ibdev;
|
||||
|
||||
/* Driver specific */
|
||||
/* Driver specific properties */
|
||||
struct rvt_driver_params dparms;
|
||||
|
||||
/*
|
||||
* The work to create port files in /sys/class Infiniband is different
|
||||
* depending on the driver. This should not be extracted away and
|
||||
* instead drivers are responsible for setting the correct callback for
|
||||
* this.
|
||||
*/
|
||||
int (*port_callback)(struct ib_device *, u8, struct kobject *);
|
||||
|
||||
/* Internal use */
|
||||
|
|
|
|||
Loading…
Reference in a new issue