[PATCH] drm/xe/gsc: Add status check during gsc header readout
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Mon Jan 22 21:54:33 UTC 2024
On 1/21/2024 10:35 PM, Suraj Kandpal wrote:
> Before checking if data is present in the message reply check the
> status in header and see if it indicates any error.
>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
> drivers/gpu/drm/xe/xe_gsc_submit.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_gsc_submit.c b/drivers/gpu/drm/xe/xe_gsc_submit.c
> index 9ecc1ead6844..0ccc6d52dd3f 100644
> --- a/drivers/gpu/drm/xe/xe_gsc_submit.c
> +++ b/drivers/gpu/drm/xe/xe_gsc_submit.c
> @@ -125,11 +125,18 @@ int xe_gsc_read_out_header(struct xe_device *xe,
> {
> u32 marker = mtl_gsc_header_rd(xe, map, offset, validity_marker);
> u32 size = mtl_gsc_header_rd(xe, map, offset, message_size);
> + u32 status = mtl_gsc_header_rd(xe, map, offset, status);
> u32 payload_size = size - GSC_HDR_SIZE;
>
> if (marker != GSC_HECI_VALIDITY_MARKER)
> return -EPROTO;
>
> + if (status != 0) {
> + drm_dbg_kms(xe, "GSC header readout indicates error: %d\n",
> + status);
This should be an error message (drm_err). With that:
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
Daniele
> + return -EINVAL;
> + }
> +
> if (size < GSC_HDR_SIZE || payload_size < min_payload_size)
> return -ENODATA;
>
More information about the Intel-xe
mailing list