Linux CXL
 help / color / mirror / Atom feed
From: Dave Jiang <dave.jiang@intel.com>
To: linux-cxl@vger.kernel.org
Cc: dan.j.williams@intel.com, ira.weiny@intel.com,
	vishal.l.verma@intel.com, alison.schofield@intel.com,
	Jonathan.Cameron@huawei.com, dave@stgolabs.net, jgg@nvidia.com,
	shiju.jose@huawei.com
Subject: Re: [PATCH v7 00/14] cxl: Add CXL feature commands support via fwctl
Date: Tue, 25 Feb 2025 10:54:47 -0700	[thread overview]
Message-ID: <7950d8fc-886d-4895-a2b7-53453eca20cf@intel.com> (raw)
In-Reply-To: <20250220194438.2281088-1-dave.jiang@intel.com>



On 2/20/25 12:42 PM, Dave Jiang wrote:
> v7:
> - Move the flex array bits to where it is used. (Jonathan)
> - Use uuid from defined struct instead of cast from byte stream. (Jonathan)

Patches 1-6 have been merged into cxl/next:
0f5f03069721 Merge branch 'for-6.15/features' into cxl-for-next

Patches 7-14 will be picked up by Jason with his fwctl PR
Thanks Jason.

> 
> v6:
> - Drop info callback. (Saeed)
> - Embed hw operation in the input payload. (Saeed)
> - Move set_features check bits to the set_features enabling patch. (Saeed)
> - Update user example in documentation to support embedded operation in payload
> - See individual patches for detailed changes from v5.
> 
> v5:
> - Add devm action to fwctl. (Dan)
> - Fix return of NULL instead of ERR_PTR() for get features. (Ming)
> - Make cxl_get/set_feature() internal to cxl/core (Dan)
> - Add missing NULL check for cxl_set_feature() (Dan)
> - Remove cxlmd back pointer from fwctl. (Dan)
> - Add missing CONFIG_FWCTL dependency to Kconfig.
> - Fix index of for loop for fwctl get features. (Ming)
> - See individual patches for detailed changes from v4.
> 
> v4:
> - Rebase to FWCTL series v4 based on v6.14-rc1
> - Merge patch 1/16 from v3 into cxl/next ahead. (Jonathan)
> - Move everything to core/features.c and behind CONFIG_CXL_FEATURES. (Dan)
> - Split the registration of features into 2 parts. Do the registration in
>   PCI probe. One before memdev enumeration to enable kernel feature support,
>   and one after memdev enumeration to support FWCTL. (Dan)
> - Fix incrememt of pointer after copying feature data. (Ming)
> - Add check for no immediate change effect and no reset change effects. (Dan, Jonathan)
> - Remove IDs and use opcodes directly. (Dan)
> - See individual patches for detailed changes from v3.
> 
> v3:
> - Rearrange code and shift code forward to reduce diffs. (Jonathan)
> - Use struct_size() in appropriate locations. (Jonathan)
> - Remove usage of __weak and refactor accordingly. (Jason)
> - Return NULL for allocation functions. (Jonathan)
> - See individual patches for detailed changes from v2.
> 
> v2:
> - Drop features device and driver. Move features enabling to cxl_memdev. (Dan)
> - Drop sysfs attribute of number of features. (Dan)
> - Drop moving of include/uapi/linux/cxl_mem.h. (Dan)
> - Set get driver info ioctl to return reserved 32bit. Set behavior of issue
>   ioctl successful as indicating Feature commands supported.
> - Set 'Set Feature Size' to 0 for kernel exclusive Features.
> - See individual patches for detailed changes from v1.
> - Hide FWCTL bits behind CONFIG_CXL_FWCTL. (Dan)
> 
> v1:
> - Create a CXL features driver to handle all feature command related bits
>   including FWCTL support. (Dan)
> - Tested against CXL CLI unit tests for FWCTL.
> - See individual patches for detailed changes from RFC v2.
> 
> RFC v2:
> - Dropped 1/13 and 2/13 from previous version. Merged upstream already.
> - Combined changes from Shiju for "get supported features"
> - Addressed comments from Jonathan and Jason
> - See specific changes in individual patch revision history
> - Added hardware command info to FWCTL
> - Added filtering to set feature command
> - Added documentation
> 
> This series add support for CXL feature commands using the FWCTL framework [1].
> The code has been tested with CXL CLI unit tests for FWCTL.
> 
> Patches 1-6 are shared with EDAC series [1] and there will be an immutable branch
> once accepted post review.
> 
> CXL Features support is added behind the CXL mem driver. The 3 mailbox commands
> "Get Supported Features", "Get Feature", and "Set Feature" are implemented. The
> "Get" commands are under the FWCTL_RPC_CONFIGURATION policy, the "Set" command
> checks the policy depending on the set effects of the feature defined by the
> device via the Feature set effects field. All mailbox commands for CXL provides
> an effects table that describes the effects of a command when performed on the
> device.  For CXL features, there is also an effects field that describes the
> effects a feature set operation has on the device per feature. The security
> policy is checked against this feature specific effects field. 
> 
> The code is based off of v4 of FWCTL series [2] posted by Jason and rebased on top of
> v6.14-rc1 plus 1 patch in
> cxl/next 43ca2463df9d ("cxl: Refactor user ioctl command path from mds to mailbox").
> A kernel branch [3] is provided for convience of testing and review.
> 
> [1]: https://lore.kernel.org/linux-cxl/20250106121017.1620-1-shiju.jose@huawei.com/T/#t
> [2]: https://lore.kernel.org/linux-cxl/0-v3-960f17f90f17+516-fwctl_jgg@nvidia.com/#r
> [3]: https://git.kernel.org/pub/scm/linux/kernel/git/djiang/linux.git/log/?h=cxl/fwctl
> 
> ---
> Dave Jiang (12):
>       cxl: Enumerate feature commands
>       cxl: Add Get Supported Features command for kernel usage
>       cxl/test: Add Get Supported Features mailbox command support
>       cxl: Setup exclusive CXL features that are reserved for the kernel
>       cxl: Add FWCTL support to CXL
>       cxl: Move cxl feature command structs to user header
>       cxl: Add support for fwctl RPC command to enable CXL feature commands
>       cxl: Add support to handle user feature commands for get feature
>       cxl: Add support to handle user feature commands for set feature
>       cxl/test: Add Get Feature support to cxl_test
>       cxl/test: Add Set Feature support to cxl_test
>       fwctl/cxl: Add documentation to FWCTL CXL
> 
> Shiju Jose (2):
>       cxl/mbox: Add GET_FEATURE mailbox command
>       cxl/mbox: Add SET_FEATURE mailbox command
> 
>  Documentation/userspace-api/fwctl/fwctl-cxl.rst | 144 +++++++++
>  Documentation/userspace-api/fwctl/index.rst     |   1 +
>  MAINTAINERS                                     |   1 +
>  drivers/cxl/Kconfig                             |  12 +
>  drivers/cxl/core/Makefile                       |   1 +
>  drivers/cxl/core/core.h                         |  11 +
>  drivers/cxl/core/features.c                     | 710 ++++++++++++++++++++++++++++++++++++++++++++
>  drivers/cxl/core/mbox.c                         |  36 ++-
>  drivers/cxl/cxlmem.h                            |   7 +
>  drivers/cxl/pci.c                               |   8 +
>  include/cxl/features.h                          |  91 ++++++
>  include/cxl/mailbox.h                           |   3 +
>  include/uapi/cxl/features.h                     | 128 ++++++++
>  include/uapi/fwctl/cxl.h                        |  55 ++++
>  include/uapi/fwctl/fwctl.h                      |   1 +
>  tools/testing/cxl/Kbuild                        |   1 +
>  tools/testing/cxl/test/mem.c                    | 185 ++++++++++++
>  17 files changed, 1394 insertions(+), 1 deletion(-)
> 


  parent reply	other threads:[~2025-02-25 17:54 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-20 19:42 [PATCH v7 00/14] cxl: Add CXL feature commands support via fwctl Dave Jiang
2025-02-20 19:42 ` [PATCH v7 01/14] cxl: Enumerate feature commands Dave Jiang
2025-02-25 21:09   ` Davidlohr Bueso
2025-02-20 19:42 ` [PATCH v7 02/14] cxl: Add Get Supported Features command for kernel usage Dave Jiang
2025-02-25 21:01   ` Davidlohr Bueso
2025-02-26 15:31     ` Dave Jiang
2025-02-20 19:42 ` [PATCH v7 03/14] cxl/test: Add Get Supported Features mailbox command support Dave Jiang
2025-02-20 19:42 ` [PATCH v7 04/14] cxl/mbox: Add GET_FEATURE mailbox command Dave Jiang
2025-02-20 19:42 ` [PATCH v7 05/14] cxl/mbox: Add SET_FEATURE " Dave Jiang
2025-02-20 19:42 ` [PATCH v7 06/14] cxl: Setup exclusive CXL features that are reserved for the kernel Dave Jiang
2025-02-20 19:42 ` [PATCH v7 07/14] cxl: Add FWCTL support to CXL Dave Jiang
2025-02-20 19:42 ` [PATCH v7 08/14] cxl: Move cxl feature command structs to user header Dave Jiang
2025-02-20 19:42 ` [PATCH v7 09/14] cxl: Add support for fwctl RPC command to enable CXL feature commands Dave Jiang
2025-02-20 19:42 ` [PATCH v7 10/14] cxl: Add support to handle user feature commands for get feature Dave Jiang
2025-02-20 19:42 ` [PATCH v7 11/14] cxl: Add support to handle user feature commands for set feature Dave Jiang
2025-02-20 19:42 ` [PATCH v7 12/14] cxl/test: Add Get Feature support to cxl_test Dave Jiang
2025-02-20 19:42 ` [PATCH v7 13/14] cxl/test: Add Set " Dave Jiang
2025-02-20 19:42 ` [PATCH v7 14/14] fwctl/cxl: Add documentation to FWCTL CXL Dave Jiang
2025-02-25 17:54 ` Dave Jiang [this message]
2025-02-26 16:02   ` [PATCH v7 00/14] cxl: Add CXL feature commands support via fwctl Dave Jiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7950d8fc-886d-4895-a2b7-53453eca20cf@intel.com \
    --to=dave.jiang@intel.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave@stgolabs.net \
    --cc=ira.weiny@intel.com \
    --cc=jgg@nvidia.com \
    --cc=linux-cxl@vger.kernel.org \
    --cc=shiju.jose@huawei.com \
    --cc=vishal.l.verma@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox