All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Dave Jiang <dave.jiang@intel.com>
Cc: linux-cxl@vger.kernel.org, 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, shiju.jose@huawei.com
Subject: Re: [RFC PATCH v2 11/20] fwctl: FWCTL_HW_INFO to return hardware information
Date: Wed, 20 Nov 2024 14:53:31 -0400	[thread overview]
Message-ID: <20241120185331.GF876522@nvidia.com> (raw)
In-Reply-To: <20241115212745.869552-12-dave.jiang@intel.com>

On Fri, Nov 15, 2024 at 02:25:44PM -0700, Dave Jiang wrote:
> --- a/include/linux/fwctl.h
> +++ b/include/linux/fwctl.h
> @@ -47,6 +47,12 @@ struct fwctl_ops {
>  	 * ignore length on input, the core code will handle everything.
>  	 */
>  	void *(*info)(struct fwctl_uctx *uctx, size_t *length);
> +	/**
> +	 * @hw_info: Implement FWCTL_HW_INFO. Return a kmalloc() memory that is
> +	 * copied to out_device_dataa. On input commands indicates the number

Spelling 'data'

> diff --git a/include/uapi/fwctl/fwctl.h b/include/uapi/fwctl/fwctl.h
> index 4e4d30104667..7334907e27c1 100644
> --- a/include/uapi/fwctl/fwctl.h
> +++ b/include/uapi/fwctl/fwctl.h
> @@ -37,7 +37,8 @@
>  enum {
>  	FWCTL_CMD_BASE = 0,
>  	FWCTL_CMD_INFO = 0,
> -	FWCTL_CMD_RPC = 1,
> +	FWCTL_CMD_HW_INFO = 1,
> +	FWCTL_CMD_RPC = 2,
>  };

Let's follow uapi practicies from the start, give HW_INFO 2 instead of
renumbering rpc (or we need to order this patch before RPC)

> +/**
> + * struct fwctl_command_info - Hardware command information returned from a query.
> + * @id: Driver ID number for the command
> + * @opcode: Hardware command opcode
> + * @set_effects: Effects to the OS and hardware when command is executed.
> + *               Provided by the device.

This seems like it needs a common set of bit definitions if it is
going to be in a common struct

> + * @size_in: Expected input size, or ~0U if variable length.
> + * @size_out: Expected output size, or ~0U if variable length.
> + *
> + * Represents a single command that is supported by both the driver and the
> + * hardware. This is returned as part of an array from the FWCTL_HW_INFO ioctl.
> + */
> +struct fwctl_command_info {
> +	__u32 id;
> +	__u16 opcode;
> +	__u16 effects;
> +	__u32 size_in;
> +	__u32 size_out;
> +};

What is the difference btween id and opcode? That should be explained
in the comment

I'd suggest to make the raw HW id to be u64 'just in case'

> +/**
> + * struct fwctl_hw_info - ioctl(FWCTL_HW_INFO)
> + * @size: sizeof(struct fwctl_hw_info)
> + * @flags: Must be 0
> + * @device_data_len: On input the length of the out_device_data memory. On
> + *	output the size of the kernel's device_data which may be larger or
> + *	smaller than the input. Maybe 0 on input.
> + * @nr_cmds: Number of commands requested. 0 returns only nr_cmds in output.
> + * @out_device_data: Pointer to a memory of device_data_len bytes. Kernel will
> + *	fill the entire memory, zeroing as required.
> + *
> + * Returns hardware commands information about this fwctl instance.
> + */
> +struct fwctl_hw_info {
> +	__u32 size;
> +	__u32 flags;
> +	__u32 device_data_len;
> +	__u32 nr_cmds;
> +	__aligned_u64 out_device_data;
> +};

It isn't really device data, so this should be called out_hw_info

Jason

  reply	other threads:[~2024-11-20 18:53 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-15 21:25 [RFC PATCH v2 0/20] fwctl/cxl: Add CXL feature commands support via fwctl Dave Jiang
2024-11-15 21:25 ` [RFC PATCH v2 01/20] cxl: Refactor user ioctl command path from mds to mailbox Dave Jiang
2024-11-21 17:33   ` Jonathan Cameron
2024-12-06  0:00   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 02/20] cxl: Add Get Supported Features command for kernel usage Dave Jiang
2024-11-21 17:42   ` Jonathan Cameron
2024-12-06  0:33   ` Dan Williams
2024-12-09 12:20     ` Shiju Jose
2024-11-15 21:25 ` [RFC PATCH v2 03/20] cxl/test: Add Get Supported Features mailbox command support Dave Jiang
2024-11-21 17:45   ` Jonathan Cameron
2024-12-06  0:36   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 04/20] cxl/mbox: Add GET_FEATURE mailbox command Dave Jiang
2024-12-06  0:44   ` Dan Williams
2024-12-09 12:20     ` Shiju Jose
2024-11-15 21:25 ` [RFC PATCH v2 05/20] cxl: Add Get Feature command support for user submission Dave Jiang
2024-11-21 17:47   ` Jonathan Cameron
2024-11-22 20:14     ` Dave Jiang
2024-11-25 20:14       ` Shiju Jose
2024-12-06  0:45   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 06/20] cxl/mbox: Add SET_FEATURE mailbox command Dave Jiang
2024-12-06  0:48   ` Dan Williams
2024-12-09 12:20     ` Shiju Jose
2024-11-15 21:25 ` [RFC PATCH v2 07/20] cxl: Add Set Feature command support for user submission Dave Jiang
2024-11-21 17:49   ` Jonathan Cameron
2024-11-21 18:08     ` Dave Jiang
2024-11-22 14:17       ` Jonathan Cameron
2024-12-06  0:53   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 08/20] cxl: Move cxl_driver related bits to be usable by external drivers Dave Jiang
2024-11-21 17:55   ` Jonathan Cameron
2024-11-15 21:25 ` [RFC PATCH v2 09/20] fwctl/cxl: Add driver for CXL mailbox for handling CXL features commands Dave Jiang
2024-11-20 18:01   ` Jason Gunthorpe
2024-11-20 18:35     ` Dave Jiang
2024-11-21 18:02   ` Jonathan Cameron
2024-12-06  1:21   ` Dan Williams
2024-12-09 13:30     ` Jason Gunthorpe
2024-12-09 20:35       ` Dan Williams
2024-12-10 13:40         ` Jason Gunthorpe
2024-11-15 21:25 ` [RFC PATCH v2 10/20] fwctl/cxl: Add support for get driver information Dave Jiang
2024-11-20 18:05   ` Jason Gunthorpe
2024-11-21 18:11   ` Jonathan Cameron
2024-11-22 23:22     ` Dave Jiang
2024-11-25 18:06       ` Jonathan Cameron
2024-12-06  5:15   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 11/20] fwctl: FWCTL_HW_INFO to return hardware information Dave Jiang
2024-11-20 18:53   ` Jason Gunthorpe [this message]
2024-11-21 18:20   ` Jonathan Cameron
2024-11-22 22:42     ` Dave Jiang
2024-12-06  5:32   ` Dan Williams
2024-12-06 18:39     ` Dave Jiang
2024-12-09 13:32       ` Jason Gunthorpe
2024-11-15 21:25 ` [RFC PATCH v2 12/20] cxl: Save Command Effects Log (CEL) effects for enabled commands Dave Jiang
2024-11-21 18:22   ` Jonathan Cameron
2024-11-15 21:25 ` [RFC PATCH v2 13/20] fwctl/cxl: Add hw_info callback Dave Jiang
2024-11-21 18:26   ` Jonathan Cameron
2024-12-06  5:40   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 14/20] cxl: Move defines and error codes from cxlmem.h to cxl/mailbox.h Dave Jiang
2024-11-21 18:31   ` Jonathan Cameron
2024-12-06  5:50   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 15/20] fwctl/cxl: Add support for fwctl RPC command to enable CXL feature commands Dave Jiang
2024-11-20 18:42   ` Jason Gunthorpe
2024-11-22 14:49   ` Jonathan Cameron
2024-12-06  6:13   ` Dan Williams
2024-11-15 21:25 ` [RFC PATCH v2 16/20] fwctl/cxl: Add support to filter exclusive features Dave Jiang
2024-11-22 15:05   ` Jonathan Cameron
2024-12-03 18:06     ` Dave Jiang
2024-11-15 21:25 ` [RFC PATCH v2 17/20] cxl/test: Add Get Feature support to cxl_test Dave Jiang
2024-11-22 15:19   ` Jonathan Cameron
2024-11-15 21:25 ` [RFC PATCH v2 18/20] cxl/test: Add Set " Dave Jiang
2024-11-22 15:20   ` Jonathan Cameron
2024-11-15 21:25 ` [RFC PATCH v2 19/20] fwctl: Move fwctl documentation to its own directory Dave Jiang
2024-11-20 17:52   ` Jason Gunthorpe
2024-11-15 21:25 ` [RFC PATCH v2 20/20] fwctl/cxl: Add documentation to FWCTL CXL Dave Jiang
2024-11-22 15:26   ` Jonathan Cameron
2024-12-03 21:07     ` Dave Jiang
2024-12-06 21:10       ` Dan Williams
2024-11-20 18:57 ` [RFC PATCH v2 0/20] fwctl/cxl: Add CXL feature commands support via fwctl Jason Gunthorpe
2024-11-21 18:38   ` Jonathan Cameron
2025-01-21 20:30 ` Jason Gunthorpe
2025-01-21 20:34   ` 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=20241120185331.GF876522@nvidia.com \
    --to=jgg@nvidia.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=dave@stgolabs.net \
    --cc=ira.weiny@intel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.