Commit d90416c8 authored by farah kassabri's avatar farah kassabri Committed by Oded Gabbay
Browse files

habanalabs: extend busy engines mask to 64 bits



change busy engines bitmask to 64 bits in order to represent
more engines, needed for future ASIC support.

Signed-off-by: default avatarfarah kassabri <fkassabri@habana.ai>
Reviewed-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent 107dd314
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -754,7 +754,7 @@ struct hl_asic_funcs {
	void (*set_clock_gating)(struct hl_device *hdev);
	void (*disable_clock_gating)(struct hl_device *hdev);
	int (*debug_coresight)(struct hl_device *hdev, void *data);
	bool (*is_device_idle)(struct hl_device *hdev, u32 *mask,
	bool (*is_device_idle)(struct hl_device *hdev, u64 *mask,
				struct seq_file *s);
	int (*soft_reset_late_init)(struct hl_device *hdev);
	void (*hw_queues_lock)(struct hl_device *hdev);
+1 −1
Original line number Diff line number Diff line
@@ -132,7 +132,7 @@ static int hw_idle(struct hl_device *hdev, struct hl_info_args *args)
		return -EINVAL;

	hw_idle.is_idle = hdev->asic_funcs->is_device_idle(hdev,
					&hw_idle.busy_engines_mask, NULL);
					&hw_idle.busy_engines_mask_ext, NULL);

	return copy_to_user(out, &hw_idle,
		min((size_t) max_size, sizeof(hw_idle))) ? -EFAULT : 0;
+1 −1
Original line number Diff line number Diff line
@@ -6083,7 +6083,7 @@ static int gaudi_armcp_info_get(struct hl_device *hdev)
	return 0;
}

static bool gaudi_is_device_idle(struct hl_device *hdev, u32 *mask,
static bool gaudi_is_device_idle(struct hl_device *hdev, u64 *mask,
					struct seq_file *s)
{
	struct gaudi_device *gaudi = hdev->asic_specific;
+1 −1
Original line number Diff line number Diff line
@@ -5148,7 +5148,7 @@ static void goya_disable_clock_gating(struct hl_device *hdev)
	/* clock gating not supported in Goya */
}

static bool goya_is_device_idle(struct hl_device *hdev, u32 *mask,
static bool goya_is_device_idle(struct hl_device *hdev, u64 *mask,
				struct seq_file *s)
{
	const char *fmt = "%-5d%-9s%#-14x%#-16x%#x\n";
+6 −0
Original line number Diff line number Diff line
@@ -319,6 +319,12 @@ struct hl_info_hw_idle {
	 * Bits definition is according to `enum <chip>_enging_id'.
	 */
	__u32 busy_engines_mask;

	/*
	 * Extended Bitmask of busy engines.
	 * Bits definition is according to `enum <chip>_enging_id'.
	 */
	__u64 busy_engines_mask_ext;
};

struct hl_info_device_status {