diff --git a/src/apps/mellanox/connectx4.lua b/src/apps/mellanox/connectx4.lua index 4c9cf10728..562f0f052d 100644 --- a/src/apps/mellanox/connectx4.lua +++ b/src/apps/mellanox/connectx4.lua @@ -177,9 +177,18 @@ end ConnectX4 = {} ConnectX4.__index = ConnectX4 +local mlx_types = { + ["0x1013" ] = 4, -- ConnectX4 + ["0x1017" ] = 5, -- ConnectX5 + ["0x1019" ] = 5, -- ConnectX5 +} + function ConnectX4:new (conf) local self = setmetatable({}, self) local pciaddress = pci.qualified(conf.pciaddress) + local device_info = pci.device_info(pciaddress) + self.mlx = assert(mlx_types[device_info.device], + "Unsupported device "..device_info.device) local sendq_size = conf.sendq_size or 1024 local recvq_size = conf.recvq_size or 1024 @@ -210,7 +219,9 @@ function ConnectX4:new (conf) local hca = hca_factory:new() -- Makes enable_hca() hang with ConnectX5 - -- init_seg:reset() + if self.mlx == 4 then + init_seg:reset() + end if debug_trace then init_seg:dump() end while not init_seg:ready() do C.usleep(1000) diff --git a/src/lib/hardware/pci.lua b/src/lib/hardware/pci.lua index 7b74ab370f..82c330e411 100644 --- a/src/lib/hardware/pci.lua +++ b/src/lib/hardware/pci.lua @@ -86,6 +86,7 @@ local cards = { ["0x15b3"] = { ["0x1013" ] = {model = 'MT27700', driver = 'apps.mellanox.connectx4'}, ["0x1017" ] = {model = 'MT27800', driver = 'apps.mellanox.connectx4'}, + ["0x1019" ] = {model = 'MT28800', driver = 'apps.mellanox.connectx4'}, }, }