|
|
Log in / Subscribe / Register

add type2 device basic support

From:  alejandro.lucero-palau-AT-amd.com
To:  <linux-cxl-AT-vger.kernel.org>, <netdev-AT-vger.kernel.org>, <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>, <dave.jiang-AT-intel.com>
Subject:  [PATCH v11 00/23] add type2 device basic support
Date:  Mon, 10 Mar 2025 21:03:17 +0000
Message-ID:  <20250310210340.3234884-1-alejandro.lucero-palau@amd.com>
Cc:  Alejandro Lucero <alucerop-AT-amd.com>
Archive-link:  Article

From: Alejandro Lucero <alucerop@amd.com>

v11 changes:
 - Dropping the use of cxl_memdev_state and going back to using
   cxl_dev_state.
 - Using a helper for an accel driver to allocate its own cxl-related
   struct embedding cxl_dev_state.
 - Exporting the required structs in include/cxl/cxl.h for an accel
   driver being able to know the cxl_dev_state size required in the
   previously mentioned helper for allocation.
 - Avoid using any struct for dpa initialization by the accel driver
   adding a specific function for creating dpa partitions by accel
   drivers without a mailbox.

Alejandro Lucero (23):
  cxl: add type2 device basic support
  sfc: add cxl support
  cxl: move pci generic code
  cxl: move register/capability check to driver
  cxl: add function for type2 cxl regs setup
  sfc: make regs setup with checking and set media ready
  cxl: support dpa initialization without a mailbox
  sfc: initialize dpa
  cxl: prepare memdev creation for type2
  sfc: create type2 cxl memdev
  cxl: define a driver interface for HPA free space enumeration
  fc: obtain root decoder with enough HPA free space
  cxl: define a driver interface for DPA allocation
  sfc: get endpoint decoder
  cxl: make region type based on endpoint type
  cxl/region: factor out interleave ways setup
  cxl/region: factor out interleave granularity setup
  cxl: allow region creation by type2 drivers
  cxl: add region flag for precluding a device memory to be used for dax
  sfc: create cxl region
  cxl: add function for obtaining region range
  sfc: update MCDI protocol headers
  sfc: support pio mapping based on cxl

 drivers/cxl/core/core.h               |     2 +
 drivers/cxl/core/hdm.c                |    83 +
 drivers/cxl/core/mbox.c               |    30 +-
 drivers/cxl/core/memdev.c             |    47 +-
 drivers/cxl/core/pci.c                |   115 +
 drivers/cxl/core/port.c               |     8 +-
 drivers/cxl/core/region.c             |   411 +-
 drivers/cxl/core/regs.c               |    39 +-
 drivers/cxl/cxl.h                     |   112 +-
 drivers/cxl/cxlmem.h                  |   103 +-
 drivers/cxl/cxlpci.h                  |    23 +-
 drivers/cxl/mem.c                     |    26 +-
 drivers/cxl/pci.c                     |   118 +-
 drivers/cxl/port.c                    |     5 +-
 drivers/net/ethernet/sfc/Kconfig      |     9 +
 drivers/net/ethernet/sfc/Makefile     |     1 +
 drivers/net/ethernet/sfc/ef10.c       |    50 +-
 drivers/net/ethernet/sfc/efx.c        |    15 +-
 drivers/net/ethernet/sfc/efx_cxl.c    |   162 +
 drivers/net/ethernet/sfc/efx_cxl.h    |    40 +
 drivers/net/ethernet/sfc/mcdi_pcol.h  | 13645 +++++++++---------------
 drivers/net/ethernet/sfc/net_driver.h |    12 +
 drivers/net/ethernet/sfc/nic.h        |     3 +
 include/cxl/cxl.h                     |   269 +
 include/cxl/pci.h                     |    36 +
 tools/testing/cxl/Kbuild              |     1 -
 tools/testing/cxl/test/mock.c         |    17 -
 27 files changed, 6186 insertions(+), 9196 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/cxl.h
 create mode 100644 include/cxl/pci.h


base-commit: 0a14566be090ca51a32ebdd8a8e21678062dac08
-- 
2.34.1




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