habanalabs: fix backward compatibility of idle check
authorOded Gabbay <ogabbay@kernel.org>
Mon, 18 Jan 2021 11:19:51 +0000 (13:19 +0200)
committerOded Gabbay <ogabbay@kernel.org>
Thu, 21 Jan 2021 18:30:22 +0000 (20:30 +0200)
Need to take the lower 32 bits of the driver's 64-bit idle mask and put
it in the legacy 32-bit variable that the userspace reads to know the
idle mask.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
drivers/misc/habanalabs/common/habanalabs_ioctl.c

index 12efbd9..d25892d 100644 (file)
@@ -133,6 +133,8 @@ static int hw_idle(struct hl_device *hdev, struct hl_info_args *args)
 
        hw_idle.is_idle = hdev->asic_funcs->is_device_idle(hdev,
                                        &hw_idle.busy_engines_mask_ext, NULL);
+       hw_idle.busy_engines_mask =
+                       lower_32_bits(hw_idle.busy_engines_mask_ext);
 
        return copy_to_user(out, &hw_idle,
                min((size_t) max_size, sizeof(hw_idle))) ? -EFAULT : 0;