From: Christian Iversen Date: Tue, 26 Jan 2021 23:08:18 +0000 (+0100) Subject: [hermon] Add support for ConnectX-3 based cards X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F228%2Fhead;p=thirdparty%2Fipxe.git [hermon] Add support for ConnectX-3 based cards After a ton of tedious work, I am pleased to finally introduce full support for ConnectX-3 cards in iPXE! The work has been done by finding all publicly available versions of the Mellanox Flexboot sources, cleaning them up, synthesizing a git history from them, cleaning out non-significant changes, and correlating with the iPXE upstream git history. After this, a proof-of-concept diff was produced, that allowed iPXE to be compiled with rudimentary ConnectX-3 support. This diff was over 10k lines, and contained many changes that were not part of the core driver. Special thanks to Michael Brown for answering my barrage of questions, and helping brainstorm the development along the way. Signed-off-by: Christian Iversen --- diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c index 4d5272f02..2afaaf991 100644 --- a/src/drivers/infiniband/hermon.c +++ b/src/drivers/infiniband/hermon.c @@ -4232,6 +4232,10 @@ static struct pci_device_id hermon_nics[] = { PCI_ROM ( 0x15b3, 0x675a, "mt26458", "MT26458 HCA driver", 0 ), PCI_ROM ( 0x15b3, 0x6764, "mt26468", "MT26468 HCA driver", 0 ), PCI_ROM ( 0x15b3, 0x676e, "mt26478", "MT26478 HCA driver", 0 ), + + /* Mellanox ConnectX-3 VPI (ethernet + infiniband) */ + PCI_ROM ( 0x15b3, 0x1003, "mt4099", "ConnectX-3 HCA driver", 0 ), + PCI_ROM ( 0x15b3, 0x1007, "mt4103", "ConnectX-3 Pro HCA driver", 0 ), }; struct pci_driver hermon_driver __pci_driver = {