Re: [PATCH 5/5] IB/core: Add rdma_cap_opa_mad helper using RDMA_CORE_CAP_OPA_MAD flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/11/2015 9:46 PM, ira.weiny@xxxxxxxxx wrote:
> From: Ira Weiny <ira.weiny@xxxxxxxxx>
> 
> OPA MADs share a common header with IBTA MADs but with a different base version
> and an extended length.  These MADs increase the performance of management
> traffic on OPA devices.
> 
> Sharing a common header with IBTA MADs allows us to share most of the MAD
> processing code when dealing with OPA MADs in addition to supporting some IBTA
> MADs on OPA devices.
> 
> This patch adds the Core Capability flag for OPA MADs.
> 
> Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
> 
> ---
>  include/rdma/ib_verbs.h | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index 162a831..c4b37b3 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -362,6 +362,7 @@ union rdma_protocol_stats {
>  #define RDMA_CORE_CAP_IB_CM             0x00000004
>  #define RDMA_CORE_CAP_IW_CM             0x00000008
>  #define RDMA_CORE_CAP_IB_SA             0x00000010
> +#define RDMA_CORE_CAP_OPA_MAD           0x00000020
>  
>  /* Address format                       0x000FF000 */
>  #define RDMA_CORE_CAP_AF_IB             0x00001000
> @@ -386,6 +387,8 @@ union rdma_protocol_stats {
>  					| RDMA_CORE_CAP_ETH_AH)
>  #define RDMA_CORE_PORT_IWARP           (RDMA_CORE_CAP_PROT_IWARP \
>  					| RDMA_CORE_CAP_IW_CM)
> +#define RDMA_CORE_PORT_INTEL_OPA       (RDMA_CORE_PORT_IBA_IB  \
> +					| RDMA_CORE_CAP_OPA_MAD)
>  
>  struct ib_port_attr {
>  	enum ib_port_state	state;
> @@ -1836,6 +1839,21 @@ static inline bool rdma_cap_ib_mad(struct ib_device *device, u8 port_num)
>  }
>  
>  /**
> + * rdma_cap_opa_mad - Check if the port of device supports OPA defined
> + * Management Datagrams.
> + *
> + * @device: Device to be checked
> + * @port_num: Port number of the device
> + *
> + * Return 0 when port of the device does not support OPA
> + * Management Datagrams.
> + */
> +static inline int rdma_cap_opa_mad(struct ib_device *device, u8 port_num)
> +{
> +	return (device->port_immutable[port_num].core_cap_flags & RDMA_CORE_CAP_OPA_MAD);
> +}
> +
> +/**
>   * rdma_cap_ib_smi - Check if the port of device has the capability Infiniband
>   * Subnet Management Interface.
>   *

This patch should be part of an OPA patch series where the helper is
actually used.

-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux