|
@@ -461,6 +461,22 @@ int ib_rate_to_mult(enum ib_rate rate) __attribute_const__;
|
|
|
*/
|
|
|
int ib_rate_to_mbps(enum ib_rate rate) __attribute_const__;
|
|
|
|
|
|
+enum ib_mr_create_flags {
|
|
|
+ IB_MR_SIGNATURE_EN = 1,
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * ib_mr_init_attr - Memory region init attributes passed to routine
|
|
|
+ * ib_create_mr.
|
|
|
+ * @max_reg_descriptors: max number of registration descriptors that
|
|
|
+ * may be used with registration work requests.
|
|
|
+ * @flags: MR creation flags bit mask.
|
|
|
+ */
|
|
|
+struct ib_mr_init_attr {
|
|
|
+ int max_reg_descriptors;
|
|
|
+ u32 flags;
|
|
|
+};
|
|
|
+
|
|
|
/**
|
|
|
* mult_to_ib_rate - Convert a multiple of 2.5 Gbit/sec to an IB rate
|
|
|
* enum.
|
|
@@ -1407,6 +1423,9 @@ struct ib_device {
|
|
|
int (*query_mr)(struct ib_mr *mr,
|
|
|
struct ib_mr_attr *mr_attr);
|
|
|
int (*dereg_mr)(struct ib_mr *mr);
|
|
|
+ int (*destroy_mr)(struct ib_mr *mr);
|
|
|
+ struct ib_mr * (*create_mr)(struct ib_pd *pd,
|
|
|
+ struct ib_mr_init_attr *mr_init_attr);
|
|
|
struct ib_mr * (*alloc_fast_reg_mr)(struct ib_pd *pd,
|
|
|
int max_page_list_len);
|
|
|
struct ib_fast_reg_page_list * (*alloc_fast_reg_page_list)(struct ib_device *device,
|
|
@@ -2250,6 +2269,25 @@ int ib_query_mr(struct ib_mr *mr, struct ib_mr_attr *mr_attr);
|
|
|
*/
|
|
|
int ib_dereg_mr(struct ib_mr *mr);
|
|
|
|
|
|
+
|
|
|
+/**
|
|
|
+ * ib_create_mr - Allocates a memory region that may be used for
|
|
|
+ * signature handover operations.
|
|
|
+ * @pd: The protection domain associated with the region.
|
|
|
+ * @mr_init_attr: memory region init attributes.
|
|
|
+ */
|
|
|
+struct ib_mr *ib_create_mr(struct ib_pd *pd,
|
|
|
+ struct ib_mr_init_attr *mr_init_attr);
|
|
|
+
|
|
|
+/**
|
|
|
+ * ib_destroy_mr - Destroys a memory region that was created using
|
|
|
+ * ib_create_mr and removes it from HW translation tables.
|
|
|
+ * @mr: The memory region to destroy.
|
|
|
+ *
|
|
|
+ * This function can fail, if the memory region has memory windows bound to it.
|
|
|
+ */
|
|
|
+int ib_destroy_mr(struct ib_mr *mr);
|
|
|
+
|
|
|
/**
|
|
|
* ib_alloc_fast_reg_mr - Allocates memory region usable with the
|
|
|
* IB_WR_FAST_REG_MR send work request.
|