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: farah kassabri <fkassabri@habana.ai> Reviewed-by: Oded Gabbay <oded.gabbay@gmail.com> Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
This commit is contained in:
committed by
Oded Gabbay
parent
107dd31465
commit
d90416c84d
@@ -754,7 +754,7 @@ struct hl_asic_funcs {
|
|||||||
void (*set_clock_gating)(struct hl_device *hdev);
|
void (*set_clock_gating)(struct hl_device *hdev);
|
||||||
void (*disable_clock_gating)(struct hl_device *hdev);
|
void (*disable_clock_gating)(struct hl_device *hdev);
|
||||||
int (*debug_coresight)(struct hl_device *hdev, void *data);
|
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);
|
struct seq_file *s);
|
||||||
int (*soft_reset_late_init)(struct hl_device *hdev);
|
int (*soft_reset_late_init)(struct hl_device *hdev);
|
||||||
void (*hw_queues_lock)(struct hl_device *hdev);
|
void (*hw_queues_lock)(struct hl_device *hdev);
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ static int hw_idle(struct hl_device *hdev, struct hl_info_args *args)
|
|||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
hw_idle.is_idle = hdev->asic_funcs->is_device_idle(hdev,
|
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,
|
return copy_to_user(out, &hw_idle,
|
||||||
min((size_t) max_size, sizeof(hw_idle))) ? -EFAULT : 0;
|
min((size_t) max_size, sizeof(hw_idle))) ? -EFAULT : 0;
|
||||||
|
|||||||
@@ -6083,7 +6083,7 @@ static int gaudi_armcp_info_get(struct hl_device *hdev)
|
|||||||
return 0;
|
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 seq_file *s)
|
||||||
{
|
{
|
||||||
struct gaudi_device *gaudi = hdev->asic_specific;
|
struct gaudi_device *gaudi = hdev->asic_specific;
|
||||||
|
|||||||
@@ -5148,7 +5148,7 @@ static void goya_disable_clock_gating(struct hl_device *hdev)
|
|||||||
/* clock gating not supported in Goya */
|
/* 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)
|
struct seq_file *s)
|
||||||
{
|
{
|
||||||
const char *fmt = "%-5d%-9s%#-14x%#-16x%#x\n";
|
const char *fmt = "%-5d%-9s%#-14x%#-16x%#x\n";
|
||||||
|
|||||||
@@ -319,6 +319,12 @@ struct hl_info_hw_idle {
|
|||||||
* Bits definition is according to `enum <chip>_enging_id'.
|
* Bits definition is according to `enum <chip>_enging_id'.
|
||||||
*/
|
*/
|
||||||
__u32 busy_engines_mask;
|
__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 {
|
struct hl_info_device_status {
|
||||||
|
|||||||
Reference in New Issue
Block a user