]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[hermon] Add support for ConnectX-3 based cards 228/head
authorChristian Iversen <ci@iversenit.dk>
Tue, 26 Jan 2021 23:08:18 +0000 (00:08 +0100)
committerChristian Iversen <ci@iversenit.dk>
Mon, 1 Feb 2021 23:37:43 +0000 (00:37 +0100)
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 <mcb30@ipxe.org> for answering my
barrage of questions, and helping brainstorm the development along the
way.

Signed-off-by: Christian Iversen <ci@iversenit.dk>
src/drivers/infiniband/hermon.c

index 4d5272f02fcbf08dfaf42bd326533c6c2a792479..2afaaf99138c6acaa8c378795f7e7e1c7cfd6ed6 100644 (file)
@@ -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 = {