[Intel-gfx] [PATCH 05/15] mei: pxp: add command streamer API to the PXP driver

Teres Alexis, Alan Previn alan.previn.teres.alexis at intel.com
Wed Jul 27 01:42:44 UTC 2022


code looks in order and this patch hasnt too much meat to it anyways.
I have 1 question but its not pertaining to the code but rather to the backend firmware expectation, see below:

On Thu, 2022-06-09 at 16:19 -0700, Ceraolo Spurio, Daniele wrote:
> From: Vitaly Lubart <vitaly.lubart at intel.com>
> 
> Adding command streamer API to the PXP driver
> 
> Signed-off-by: Vitaly Lubart <vitaly.lubart at intel.com>
> Signed-off-by: Tomas Winkler <tomas.winkler at intel.com>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> ---
>  drivers/misc/mei/pxp/mei_pxp.c       | 27 +++++++++++++++++++++++++++
>  include/drm/i915_pxp_tee_interface.h |  5 +++++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/drivers/misc/mei/pxp/mei_pxp.c b/drivers/misc/mei/pxp/mei_pxp.c
> index 5c39457e3f53..94d3ef3cc73a 100644
> --- a/drivers/misc/mei/pxp/mei_pxp.c
> +++ b/drivers/misc/mei/pxp/mei_pxp.c
> @@ -77,10 +77,37 @@ mei_pxp_receive_message(struct device *dev, void *buffer, size_t size)
>  	return byte;
>  }
>  
> +/**
> + * mei_pxp_gsc_command() - sends a gsc command, by sending
> + * a gsl mei message to gsc and receiving reply from gsc
> + * @dev: device corresponding to the mei_cl_device
> + * @client_id: client id to send the command to
> + * @fence_id: fence id to send the command to
> + * @sg_in: scatter gather list containing addresses for rx message buffer
> + * @total_in_len: total length of data in 'in' sg, can be less than the sum of buffers sizes
> + * @sg_out: scatter gather list containing addresses for tx message buffer
> +
Question: Can sg_in and sg_out be the same memory address? I am assuming yes because of the usage i see later in this
series. If so, perhaps its a good idea to add that into the description (so that any future changes are aware that
clients calling this component interface may already be doing this). That said, here is a conditional r-b assuming that
change is made in the structure definition above (if not, we have to change the other patch, #8).

Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com>

>  *
> + * Return: bytes sent on Success, <0 on Failure
> + */
> +static ssize_t mei_pxp_gsc_command(struct device *dev, u8 client_id, u32 fence_id,
> +				   struct scatterlist *sg_in, size_t total_in_len,
> +				   struct scatterlist *sg_out)
> +{
> +	struct mei_cl_device *cldev;
> +
> +	if (!dev || !sg_in || !sg_out)
> +		return -EINVAL;
> +
> +	cldev = to_mei_cl_device(dev);
> +
> +	return mei_cldev_send_gsc_command(cldev, client_id, fence_id, sg_in, total_in_len, sg_out);
> +}
> +


More information about the Intel-gfx mailing list