dma/idxd: add device ids for new HW versions

Message ID 20250130172624.1450975-2-bruce.richardson@intel.com (mailing list archive)
State Accepted
Delegated to: David Marchand
Headers
Series dma/idxd: add device ids for new HW versions |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/github-robot: build success github build: passed
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-compile-arm64-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS RETEST #1
ci/iol-marvell-Functional success Functional Testing PASS RETEST #1
ci/iol-sample-apps-testing success Testing PASS RETEST #1
ci/iol-compile-amd64-testing success Testing PASS RETEST #1
ci/iol-broadcom-Performance success Performance Testing PASS RETEST #1
ci/iol-intel-Performance success Performance Testing PASS RETEST #1
ci/iol-intel-Functional success Functional Testing PASS RETEST #1

Commit Message

Bruce Richardson Jan. 30, 2025, 5:26 p.m. UTC
Add in two extra PCI device id's for future HW versions to be
supported by idxd driver. This aligns with the definitions present
in kernel idxd driver [1].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/idxd/registers.h#n9

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
Cc: stable@dpdk.org

Since this only adds a couple of device IDs, and there are no other
changes to the dma/idxd driver in 25.03, perhaps this could be
considered for backport for 24.11?
---
 drivers/dma/idxd/idxd_pci.c | 4 ++++
 usertools/dpdk-devbind.py   | 7 ++++++-
 2 files changed, 10 insertions(+), 1 deletion(-)
  

Comments

Bruce Richardson Jan. 31, 2025, 3:05 p.m. UTC | #1
On Thu, Jan 30, 2025 at 05:26:25PM +0000, Bruce Richardson wrote:
> Add in two extra PCI device id's for future HW versions to be
> supported by idxd driver. This aligns with the definitions present
> in kernel idxd driver [1].
> 
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/idxd/registers.h#n9
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---

Recheck-request: iol-intel-Performance
  
Patrick Robb Feb. 6, 2025, 8:13 p.m. UTC | #2
Recheck-request: iol-intel-Performance

Triggering a retest due to testbed instability yesterday.
  
Kevin Laatz Feb. 11, 2025, 11:57 a.m. UTC | #3
On 30/01/2025 17:26, Bruce Richardson wrote:
> Add in two extra PCI device id's for future HW versions to be
> supported by idxd driver. This aligns with the definitions present
> in kernel idxd driver [1].
>
> [1]https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/idxd/registers.h#n9
>
> Signed-off-by: Bruce Richardson<bruce.richardson@intel.com>
> ---
> Cc:stable@dpdk.org
>
> Since this only adds a couple of device IDs, and there are no other
> changes to the dma/idxd driver in 25.03, perhaps this could be
> considered for backport for 24.11?
> ---
>   drivers/dma/idxd/idxd_pci.c | 4 ++++
>   usertools/dpdk-devbind.py   | 7 ++++++-
>   2 files changed, 10 insertions(+), 1 deletion(-)
>
Acked-by: Kevin Laatz <kevin.laatz@intel.com>
  
David Marchand Feb. 11, 2025, 1:20 p.m. UTC | #4
On Thu, Jan 30, 2025 at 6:27 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> Add in two extra PCI device id's for future HW versions to be
> supported by idxd driver. This aligns with the definitions present
> in kernel idxd driver [1].
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/idxd/registers.h#n9
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> Cc: stable@dpdk.org
>
> Since this only adds a couple of device IDs, and there are no other
> changes to the dma/idxd driver in 25.03, perhaps this could be
> considered for backport for 24.11?

I prefer not to mark with Cc: stable@dpdk.org, because this is too
vague and LTS maintainers may apply this for 22.11 or 23.11.
For this special request against 24.11, the simpler is to send an
explicit backport request to stable@dpdk.org with a 24.11 prefix in
the title (and copy Kevin, who handles 24.11).

Patch applied, thanks.
  
Bruce Richardson Feb. 11, 2025, 1:47 p.m. UTC | #5
On Tue, Feb 11, 2025 at 02:20:51PM +0100, David Marchand wrote:
> On Thu, Jan 30, 2025 at 6:27 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > Add in two extra PCI device id's for future HW versions to be
> > supported by idxd driver. This aligns with the definitions present
> > in kernel idxd driver [1].
> >
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/idxd/registers.h#n9
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > Cc: stable@dpdk.org
> >
> > Since this only adds a couple of device IDs, and there are no other
> > changes to the dma/idxd driver in 25.03, perhaps this could be
> > considered for backport for 24.11?
> 
> I prefer not to mark with Cc: stable@dpdk.org, because this is too
> vague and LTS maintainers may apply this for 22.11 or 23.11.
> For this special request against 24.11, the simpler is to send an
> explicit backport request to stable@dpdk.org with a 24.11 prefix in
> the title (and copy Kevin, who handles 24.11).
> 
> Patch applied, thanks.
> 

Ok, will do.
In practice, I think it would be harmless and work fine in all the
older releases, but I'll just target 24.11 for safety.

/Bruce
  

Patch

diff --git a/drivers/dma/idxd/idxd_pci.c b/drivers/dma/idxd/idxd_pci.c
index 5c05762d03..214f6f22d5 100644
--- a/drivers/dma/idxd/idxd_pci.c
+++ b/drivers/dma/idxd/idxd_pci.c
@@ -11,6 +11,8 @@ 
 
 #define IDXD_VENDOR_ID		0x8086
 #define IDXD_DEVICE_ID_SPR	0x0B25
+#define IDXD_DEVICE_ID_GNRD	0x11FB
+#define IDXD_DEVICE_ID_DMR	0x1212
 
 #define DEVICE_VERSION_1	0x100
 #define DEVICE_VERSION_2	0x200
@@ -24,6 +26,8 @@ 
 
 const struct rte_pci_id pci_id_idxd_map[] = {
 	{ RTE_PCI_DEVICE(IDXD_VENDOR_ID, IDXD_DEVICE_ID_SPR) },
+	{ RTE_PCI_DEVICE(IDXD_VENDOR_ID, IDXD_DEVICE_ID_GNRD) },
+	{ RTE_PCI_DEVICE(IDXD_VENDOR_ID, IDXD_DEVICE_ID_DMR) },
 	{ .vendor_id = 0, /* sentinel */ },
 };
 
diff --git a/usertools/dpdk-devbind.py b/usertools/dpdk-devbind.py
index 283707fc16..62edbba095 100755
--- a/usertools/dpdk-devbind.py
+++ b/usertools/dpdk-devbind.py
@@ -62,6 +62,10 @@ 
                   'SVendor': None, 'SDevice': None}
 intel_idxd_spr = {'Class': '08', 'Vendor': '8086', 'Device': '0b25',
                   'SVendor': None, 'SDevice': None}
+intel_idxd_gnrd = {'Class': '08', 'Vendor': '8086', 'Device': '11fb',
+                  'SVendor': None, 'SDevice': None}
+intel_idxd_dmr = {'Class': '08', 'Vendor': '8086', 'Device': '1212',
+                  'SVendor': None, 'SDevice': None}
 intel_ntb_skx = {'Class': '06', 'Vendor': '8086', 'Device': '201c',
                  'SVendor': None, 'SDevice': None}
 intel_ntb_icx = {'Class': '06', 'Vendor': '8086', 'Device': '347e',
@@ -84,7 +88,8 @@ 
 baseband_devices = [acceleration_class]
 crypto_devices = [encryption_class, intel_processor_class]
 dma_devices = [cnxk_dma, hisilicon_dma,
-               intel_idxd_spr, intel_ioat_bdw, intel_ioat_icx, intel_ioat_skx,
+               intel_idxd_gnrd, intel_idxd_dmr, intel_idxd_spr,
+               intel_ioat_bdw, intel_ioat_icx, intel_ioat_skx,
                odm_dma]
 eventdev_devices = [cavium_sso, cavium_tim, intel_dlb, cnxk_sso]
 mempool_devices = [cavium_fpa, cnxk_npa]