| From: |
| alejandro.lucero-palau-AT-amd.com |
| To: |
| <linux-cxl-AT-vger.kernel.org>, <netdev-AT-vger.kernel.org>, <dave.jiang-AT-intel.com>, <dan.j.williams-AT-intel.com>, <edward.cree-AT-amd.com>, <davem-AT-davemloft.net>, <kuba-AT-kernel.org>, <pabeni-AT-redhat.com>, <edumazet-AT-google.com> |
| Subject: |
| [PATCH v25 00/11] Type2 device basic support |
| Date: |
| Mon, 30 Mar 2026 15:38:16 +0100 |
| Message-ID: |
| <20260330143827.1278677-1-alejandro.lucero-palau@amd.com> |
| Cc: |
| Alejandro Lucero <alucerop-AT-amd.com> |
| Archive-link: |
| Article |
From: Alejandro Lucero <alucerop@amd.com>
This patchset should be aplied on the for-7.1/cxl-type2-support branch.
For the sake of having the impending Type2 support for known drivers
needing it (sfc and Jump Trading) this version does only support the
case of HDM Type2 device committed by the BIOS, keeping the
decoders untouched when driver is unload, which requires a patch from v6
Smita's series:
https://lore.kernel.org/linux-cxl/20260210064501.157591-1... ?
or a BIOS locking those decoders.
changes in v25:
- minor fix in patch1 and patch2 (Jonathan)
- patch6: get region instead of decoder and region
make check based on decoder state (Benjamin)
- patch8: decouple unregister_region and cxl_unregister_region
and use devm action release instead. (Gregory)
- patch9: add comment when calling cxl_unregister_region (Jonathan)
- patch 10: fix commit (Allison)
Alejandro Lucero (11):
sfc: add cxl support
cxl/sfc: Map cxl regs
cxl/sfc: Initialize dpa without a mailbox
cxl: Prepare memdev creation for type2
sfc: create type2 cxl memdev
cxl/hdm: Add support for getting region from committed decoder
cxl: Add function for obtaining region range
cxl: Export function for unwinding cxl by accelerators
sfc: obtain decoder and region if committed by firmware
cxl: Avoid dax creation for accelerators
sfc: support pio mapping based on cxl
drivers/cxl/core/core.h | 2 +
drivers/cxl/core/hdm.c | 48 ++++++++++
drivers/cxl/core/mbox.c | 51 +----------
drivers/cxl/core/memdev.c | 81 ++++++++++++++++-
drivers/cxl/core/pci.c | 1 +
drivers/cxl/core/port.c | 1 +
drivers/cxl/core/region.c | 38 ++++++++
drivers/cxl/core/regs.c | 1 +
drivers/cxl/cxlmem.h | 6 --
drivers/cxl/cxlpci.h | 12 ---
drivers/cxl/mem.c | 45 +++++++---
drivers/cxl/pci.c | 1 +
drivers/net/ethernet/sfc/Kconfig | 9 ++
drivers/net/ethernet/sfc/Makefile | 1 +
drivers/net/ethernet/sfc/ef10.c | 53 +++++++++--
drivers/net/ethernet/sfc/efx.c | 15 +++-
drivers/net/ethernet/sfc/efx_cxl.c | 124 ++++++++++++++++++++++++++
drivers/net/ethernet/sfc/efx_cxl.h | 40 +++++++++
drivers/net/ethernet/sfc/net_driver.h | 12 +++
drivers/net/ethernet/sfc/nic.h | 3 +
include/cxl/cxl.h | 13 +++
include/cxl/pci.h | 21 +++++
22 files changed, 489 insertions(+), 89 deletions(-)
create mode 100644 drivers/net/ethernet/sfc/efx_cxl.c
create mode 100644 drivers/net/ethernet/sfc/efx_cxl.h
create mode 100644 include/cxl/pci.h
base-commit: 64584273dfb8a1e5fc7d78094ba22a93c204b44e
--
2.34.1