Re: [PATCH v5 0/5] vfio: selftests: Add driver for Intel Ethernet Gigabit Controller (IGB)

From: David Matlack

Date: Tue Jul 21 2026 - 19:10:46 EST


On 2026-07-14 08:57 PM, Josh Hilke wrote:

> Changes in v5:
> - Restructured the series from 9 to 5 code patches by folding advanced descriptor
> support, MSI-X routing configuration, extended memcpy completion timeout, and
> PCIe completion timeout retry disable directly into the initial driver patch.
> This ensures a clean, fully-functional baseline driver from PATCH 01 and avoids
> intermediate legacy descriptor, timeout, and bus-spamming bugs.
> - Reordered igb_remove() to reset the device before disabling MSI-X.
> - Switched igb_irq_clear() to write-to-clear as required by the datasheet when
> EIAC is programmed.
> - Refactored hardware reset logic into igb_reset() helper with proper sleep
> (1ms mandated by datasheet section 4.2.1.6.1) and poll-assertion.
> - Simplified reset completion check to usleep + assertion instead of retry loop.
> - Allowed arbitrary loopback test data by enabling Multicast Promiscuous (MPE)
> and Broadcast Accept (BAM) modes.
> - Fixed igb_send_msi() to use MSIX_VECTOR_MASK instead of magic number.
> - Link to v4: https://lore.kernel.org/r/20260710-igb_v3_b4-v4-0-56e7e2576cc1@xxxxxxxxxx
>
> ---
> Alex Williamson (4):
> vfio: selftests: igb: Use PHY internal loopback on 82576
> vfio: selftests: Add helpers to re-enable interrupts
> vfio: selftests: igb: Factor hardware programming into igb_hw_init()
> vfio: selftests: igb: Recover after DMA-read faults
>
> Josh Hilke (1):
> vfio: selftests: igb: Add driver for Intel 82576 device

This looks good. Let's just fix that reset logic to avoid a magic number
sleep and then I think this is good to go.

I'm super happy we are adding this driver. It's going to make doing VFIO
testing (especially for Live Update) a lot easier by enabling us to
use the driver framework in QEMU VMs. Thanks Josh and Alex!

> .../selftests/vfio/lib/drivers/igb/e1000_82575.h | 1 +
> .../selftests/vfio/lib/drivers/igb/e1000_defines.h | 1 +
> .../selftests/vfio/lib/drivers/igb/e1000_regs.h | 1 +
> tools/testing/selftests/vfio/lib/drivers/igb/igb.c | 564 +++++++++++++++++++++
> .../vfio/lib/include/libvfio/vfio_pci_device.h | 14 +
> tools/testing/selftests/vfio/lib/libvfio.mk | 1 +
> tools/testing/selftests/vfio/lib/vfio_pci_device.c | 22 +
> tools/testing/selftests/vfio/lib/vfio_pci_driver.c | 2 +
> 8 files changed, 606 insertions(+)
> ---
> base-commit: de61419bb27f985cb878b19942a55b026c9c865a
> change-id: 20260707-igb_v3_b4-49194c14373c
>
> Best regards,
> --
> Josh Hilke <jrhilke@xxxxxxxxxx>
>