|
|
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>, <djbw-AT-kernel.org>, <edward.cree-AT-amd.com>, <davem-AT-davemloft.net>, <kuba-AT-kernel.org>, <pabeni-AT-redhat.com>, <edumazet-AT-google.com>, <dave.jiang-AT-intel.com>
Subject:  [PATCH v27 0/5] Type2 device basic support
Date:  Tue, 09 Jun 2026 22:57:50 +0100
Message-ID:  <20260609215755.8685-1-alejandro.lucero-palau@amd.com>
Cc:  Alejandro Lucero <alucerop-AT-amd.com>
Archive-link:  Article

From: Alejandro Lucero <alucerop@amd.com>

This version is likely matching better the series tittle than previous
ones as:

 - this is only supporting a Type2 with an HDM committed by
   BIOS/firmware.

 - No region creation except autodiscovery.

 - No interleaving support.

 - adding sfc support with the last bits in patch 2 and 3 for the kind
   of type2 the kernel will support by now.

The series is therefore simpler than previous tries and even simpler
after using Dan's patchset for solving the cxl devmen probe problem
racing with potential user space actions.

It is patch 4 the one bringing the main change, so the one to focus on
for reviewing, but after Dan's work, it is quite trivial and removing a
lot of complexity coming with previous versions. Of course, that means
that other Dan's series requires more eyes on it.

I hope this is if not the final version, one really close to that ...

Alejandro Lucero (5):
  sfc: add cxl support
  cxl/sfc: Map cxl regs
  cxl/sfc: Initialize dpa without a mailbox
  sfc: obtain and map cxl range using devm_cxl_probe_mem
  sfc: support pio mapping based on cxl

 drivers/cxl/core/core.h               |   2 +
 drivers/cxl/core/mbox.c               |  51 +-----------
 drivers/cxl/core/memdev.c             |  67 ++++++++++++++++
 drivers/cxl/core/pci.c                |   1 +
 drivers/cxl/core/port.c               |   1 +
 drivers/cxl/core/regs.c               |   1 +
 drivers/cxl/cxlpci.h                  |  12 ---
 drivers/cxl/pci.c                     |   1 +
 drivers/net/ethernet/sfc/Kconfig      |   9 +++
 drivers/net/ethernet/sfc/Makefile     |   1 +
 drivers/net/ethernet/sfc/ef10.c       |  43 +++++++++--
 drivers/net/ethernet/sfc/efx.c        |  15 +++-
 drivers/net/ethernet/sfc/efx.h        |   1 -
 drivers/net/ethernet/sfc/efx_cxl.c    | 107 ++++++++++++++++++++++++++
 drivers/net/ethernet/sfc/efx_cxl.h    |  32 ++++++++
 drivers/net/ethernet/sfc/net_driver.h |  12 +++
 drivers/net/ethernet/sfc/nic.h        |   3 +
 include/cxl/cxl.h                     |   2 +
 include/cxl/pci.h                     |  22 ++++++
 19 files changed, 312 insertions(+), 71 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: 9b1e70e8f9ec4b5c6ce7fa774a0023bb6894c686
-- 
2.34.1




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