Merge branches 'i40iw', 'sriov' and 'hfi1' into k.o/for-4.6
This commit is contained in:
@@ -56,6 +56,7 @@
|
||||
#include <linux/string.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/atomic.h>
|
||||
#include <linux/mmu_notifier.h>
|
||||
#include <asm/uaccess.h>
|
||||
@@ -97,6 +98,11 @@ enum rdma_node_type {
|
||||
RDMA_NODE_USNIC_UDP,
|
||||
};
|
||||
|
||||
enum {
|
||||
/* set the local administered indication */
|
||||
IB_SA_WELL_KNOWN_GUID = BIT_ULL(57) | 2,
|
||||
};
|
||||
|
||||
enum rdma_transport_type {
|
||||
RDMA_TRANSPORT_IB,
|
||||
RDMA_TRANSPORT_IWARP,
|
||||
@@ -212,6 +218,8 @@ enum ib_device_cap_flags {
|
||||
IB_DEVICE_MANAGED_FLOW_STEERING = (1 << 29),
|
||||
IB_DEVICE_SIGNATURE_HANDOVER = (1 << 30),
|
||||
IB_DEVICE_ON_DEMAND_PAGING = (1 << 31),
|
||||
IB_DEVICE_SG_GAPS_REG = (1ULL << 32),
|
||||
IB_DEVICE_VIRTUAL_FUNCTION = ((u64)1 << 33),
|
||||
};
|
||||
|
||||
enum ib_signature_prot_cap {
|
||||
@@ -273,7 +281,7 @@ struct ib_device_attr {
|
||||
u32 hw_ver;
|
||||
int max_qp;
|
||||
int max_qp_wr;
|
||||
int device_cap_flags;
|
||||
u64 device_cap_flags;
|
||||
int max_sge;
|
||||
int max_sge_rd;
|
||||
int max_cq;
|
||||
@@ -489,6 +497,7 @@ union rdma_protocol_stats {
|
||||
| RDMA_CORE_CAP_OPA_MAD)
|
||||
|
||||
struct ib_port_attr {
|
||||
u64 subnet_prefix;
|
||||
enum ib_port_state state;
|
||||
enum ib_mtu max_mtu;
|
||||
enum ib_mtu active_mtu;
|
||||
@@ -508,6 +517,7 @@ struct ib_port_attr {
|
||||
u8 active_width;
|
||||
u8 active_speed;
|
||||
u8 phys_state;
|
||||
bool grh_required;
|
||||
};
|
||||
|
||||
enum ib_device_modify_flags {
|
||||
@@ -613,6 +623,7 @@ enum {
|
||||
};
|
||||
|
||||
#define IB_LID_PERMISSIVE cpu_to_be16(0xFFFF)
|
||||
#define IB_MULTICAST_LID_BASE cpu_to_be16(0xC000)
|
||||
|
||||
enum ib_ah_flags {
|
||||
IB_AH_GRH = 1
|
||||
@@ -662,10 +673,15 @@ __attribute_const__ int ib_rate_to_mbps(enum ib_rate rate);
|
||||
* @IB_MR_TYPE_SIGNATURE: memory region that is used for
|
||||
* signature operations (data-integrity
|
||||
* capable regions)
|
||||
* @IB_MR_TYPE_SG_GAPS: memory region that is capable to
|
||||
* register any arbitrary sg lists (without
|
||||
* the normal mr constraints - see
|
||||
* ib_map_mr_sg)
|
||||
*/
|
||||
enum ib_mr_type {
|
||||
IB_MR_TYPE_MEM_REG,
|
||||
IB_MR_TYPE_SIGNATURE,
|
||||
IB_MR_TYPE_SG_GAPS,
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -1487,6 +1503,11 @@ enum ib_flow_domain {
|
||||
IB_FLOW_DOMAIN_NUM /* Must be last */
|
||||
};
|
||||
|
||||
enum ib_flow_flags {
|
||||
IB_FLOW_ATTR_FLAGS_DONT_TRAP = 1UL << 1, /* Continue match, no steal */
|
||||
IB_FLOW_ATTR_FLAGS_RESERVED = 1UL << 2 /* Must be last */
|
||||
};
|
||||
|
||||
struct ib_flow_eth_filter {
|
||||
u8 dst_mac[6];
|
||||
u8 src_mac[6];
|
||||
@@ -1808,7 +1829,8 @@ struct ib_device {
|
||||
struct scatterlist *sg,
|
||||
int sg_nents);
|
||||
struct ib_mw * (*alloc_mw)(struct ib_pd *pd,
|
||||
enum ib_mw_type type);
|
||||
enum ib_mw_type type,
|
||||
struct ib_udata *udata);
|
||||
int (*dealloc_mw)(struct ib_mw *mw);
|
||||
struct ib_fmr * (*alloc_fmr)(struct ib_pd *pd,
|
||||
int mr_access_flags,
|
||||
@@ -1846,6 +1868,16 @@ struct ib_device {
|
||||
int (*check_mr_status)(struct ib_mr *mr, u32 check_mask,
|
||||
struct ib_mr_status *mr_status);
|
||||
void (*disassociate_ucontext)(struct ib_ucontext *ibcontext);
|
||||
void (*drain_rq)(struct ib_qp *qp);
|
||||
void (*drain_sq)(struct ib_qp *qp);
|
||||
int (*set_vf_link_state)(struct ib_device *device, int vf, u8 port,
|
||||
int state);
|
||||
int (*get_vf_config)(struct ib_device *device, int vf, u8 port,
|
||||
struct ifla_vf_info *ivf);
|
||||
int (*get_vf_stats)(struct ib_device *device, int vf, u8 port,
|
||||
struct ifla_vf_stats *stats);
|
||||
int (*set_vf_guid)(struct ib_device *device, int vf, u8 port, u64 guid,
|
||||
int type);
|
||||
|
||||
struct ib_dma_mapping_ops *dma_ops;
|
||||
|
||||
@@ -2289,6 +2321,15 @@ int ib_query_gid(struct ib_device *device,
|
||||
u8 port_num, int index, union ib_gid *gid,
|
||||
struct ib_gid_attr *attr);
|
||||
|
||||
int ib_set_vf_link_state(struct ib_device *device, int vf, u8 port,
|
||||
int state);
|
||||
int ib_get_vf_config(struct ib_device *device, int vf, u8 port,
|
||||
struct ifla_vf_info *info);
|
||||
int ib_get_vf_stats(struct ib_device *device, int vf, u8 port,
|
||||
struct ifla_vf_stats *stats);
|
||||
int ib_set_vf_guid(struct ib_device *device, int vf, u8 port, u64 guid,
|
||||
int type);
|
||||
|
||||
int ib_query_pkey(struct ib_device *device,
|
||||
u8 port_num, u16 index, u16 *pkey);
|
||||
|
||||
@@ -3094,4 +3135,7 @@ int ib_sg_to_pages(struct ib_mr *mr,
|
||||
int sg_nents,
|
||||
int (*set_page)(struct ib_mr *, u64));
|
||||
|
||||
void ib_drain_rq(struct ib_qp *qp);
|
||||
void ib_drain_sq(struct ib_qp *qp);
|
||||
void ib_drain_qp(struct ib_qp *qp);
|
||||
#endif /* IB_VERBS_H */
|
||||
|
Reference in New Issue
Block a user