Re: [PATCH] habanalabs: Handle HW_IP_INFO if device disabled or in reset

From: Oded Gabbay
Date: Thu Aug 08 2019 - 10:12:27 EST


On Thu, Aug 8, 2019 at 3:30 PM Tomer Tayar <ttayar@xxxxxxxxx> wrote:
>
> The HW IP information is relevant even if the device is disabled or in
> reset, so always handle the corresponding INFO IOCTL opcode.
>
> Signed-off-by: Tomer Tayar <ttayar@xxxxxxxxx>
> ---
> drivers/misc/habanalabs/habanalabs_ioctl.c | 19 +++++++++++++------
> 1 file changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/misc/habanalabs/habanalabs_ioctl.c b/drivers/misc/habanalabs/habanalabs_ioctl.c
> index 3ce65459b01c..589324ac19d0 100644
> --- a/drivers/misc/habanalabs/habanalabs_ioctl.c
> +++ b/drivers/misc/habanalabs/habanalabs_ioctl.c
> @@ -204,10 +204,21 @@ static int _hl_info_ioctl(struct hl_fpriv *hpriv, void *data,
> struct hl_device *hdev = hpriv->hdev;
> int rc;
>
> - /* We want to return device status even if it disabled or in reset */
> - if (args->op == HL_INFO_DEVICE_STATUS)
> + /*
> + * Information is returned for the following opcodes even if the device
> + * is disabled or in reset.
> + */
> + switch (args->op) {
> + case HL_INFO_HW_IP_INFO:
> + return hw_ip_info(hdev, args);
> +
> + case HL_INFO_DEVICE_STATUS:
> return device_status_info(hdev, args);
>
> + default:
> + break;
> + }
> +
> if (hl_device_disabled_or_in_reset(hdev)) {
> dev_warn_ratelimited(dev,
> "Device is %s. Can't execute INFO IOCTL\n",
> @@ -216,10 +227,6 @@ static int _hl_info_ioctl(struct hl_fpriv *hpriv, void *data,
> }
>
> switch (args->op) {
> - case HL_INFO_HW_IP_INFO:
> - rc = hw_ip_info(hdev, args);
> - break;
> -
> case HL_INFO_HW_EVENTS:
> rc = hw_events_info(hdev, args);
> break;
> --
> 2.17.1
>

This patch is:
Reviewed-by: Oded Gabbay <oded.gabbay@xxxxxxxxx>