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(-)
>
next prev 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