RDMA/ocrdma: Use helper function to set GUIDs
Use addrconf_addr_eui48() helper function to set the GUIDs and remove the driver specific version. Link: https://lore.kernel.org/r/20211117090205.96523-1-kamalheib1@gmail.com Signed-off-by: Kamal Heib <kamalheib1@gmail.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
parent
a917dfb66c
commit
679f2b7552
@ -62,20 +62,6 @@ MODULE_DESCRIPTION(OCRDMA_ROCE_DRV_DESC " " OCRDMA_ROCE_DRV_VERSION);
|
||||
MODULE_AUTHOR("Emulex Corporation");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
|
||||
void ocrdma_get_guid(struct ocrdma_dev *dev, u8 *guid)
|
||||
{
|
||||
u8 mac_addr[6];
|
||||
|
||||
memcpy(&mac_addr[0], &dev->nic_info.mac_addr[0], ETH_ALEN);
|
||||
guid[0] = mac_addr[0] ^ 2;
|
||||
guid[1] = mac_addr[1];
|
||||
guid[2] = mac_addr[2];
|
||||
guid[3] = 0xff;
|
||||
guid[4] = 0xfe;
|
||||
guid[5] = mac_addr[3];
|
||||
guid[6] = mac_addr[4];
|
||||
guid[7] = mac_addr[5];
|
||||
}
|
||||
static enum rdma_link_layer ocrdma_link_layer(struct ib_device *device,
|
||||
u32 port_num)
|
||||
{
|
||||
@ -203,7 +189,8 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ocrdma_get_guid(dev, (u8 *)&dev->ibdev.node_guid);
|
||||
addrconf_addr_eui48((u8 *)&dev->ibdev.node_guid,
|
||||
dev->nic_info.mac_addr);
|
||||
BUILD_BUG_ON(sizeof(OCRDMA_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
|
||||
memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
|
||||
sizeof(OCRDMA_NODE_DESC));
|
||||
|
@ -41,6 +41,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <net/addrconf.h>
|
||||
#include <rdma/ib_verbs.h>
|
||||
#include <rdma/ib_user_verbs.h>
|
||||
#include <rdma/iw_cm.h>
|
||||
@ -74,7 +75,8 @@ int ocrdma_query_device(struct ib_device *ibdev, struct ib_device_attr *attr,
|
||||
memset(attr, 0, sizeof *attr);
|
||||
memcpy(&attr->fw_ver, &dev->attr.fw_ver[0],
|
||||
min(sizeof(dev->attr.fw_ver), sizeof(attr->fw_ver)));
|
||||
ocrdma_get_guid(dev, (u8 *)&attr->sys_image_guid);
|
||||
addrconf_addr_eui48((u8 *)&attr->sys_image_guid,
|
||||
dev->nic_info.mac_addr);
|
||||
attr->max_mr_size = dev->attr.max_mr_size;
|
||||
attr->page_size_cap = 0xffff000;
|
||||
attr->vendor_id = dev->nic_info.pdev->vendor;
|
||||
|
@ -59,7 +59,6 @@ int ocrdma_query_port(struct ib_device *ibdev, u32 port,
|
||||
enum rdma_protocol_type
|
||||
ocrdma_query_protocol(struct ib_device *device, u32 port_num);
|
||||
|
||||
void ocrdma_get_guid(struct ocrdma_dev *, u8 *guid);
|
||||
int ocrdma_query_pkey(struct ib_device *ibdev, u32 port, u16 index, u16 *pkey);
|
||||
|
||||
int ocrdma_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata);
|
||||
|
Loading…
Reference in New Issue
Block a user