|
|
Log in / Subscribe / Register

Type2 device basic support

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds