mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 22:25:03 +00:00
habanalabs: expose soft reset sysfs nodes for inference ASIC
As we allow soft-reset to be performed only on inference devices, having the sysfs nodes may cause a confusion. Hence, we remove those nodes on training ASICs. Signed-off-by: Ofir Bitton <obitton@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
parent
b5c92b8882
commit
9993f27de1
1 changed files with 30 additions and 2 deletions
|
@ -424,8 +424,6 @@ static struct attribute *hl_dev_attrs[] = {
|
|||
&dev_attr_max_power.attr,
|
||||
&dev_attr_pci_addr.attr,
|
||||
&dev_attr_preboot_btl_ver.attr,
|
||||
&dev_attr_soft_reset.attr,
|
||||
&dev_attr_soft_reset_cnt.attr,
|
||||
&dev_attr_status.attr,
|
||||
&dev_attr_thermal_ver.attr,
|
||||
&dev_attr_uboot_ver.attr,
|
||||
|
@ -450,6 +448,21 @@ static const struct attribute_group *hl_dev_attr_groups[] = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
static struct attribute *hl_dev_inference_attrs[] = {
|
||||
&dev_attr_soft_reset.attr,
|
||||
&dev_attr_soft_reset_cnt.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static struct attribute_group hl_dev_inference_attr_group = {
|
||||
.attrs = hl_dev_inference_attrs,
|
||||
};
|
||||
|
||||
static const struct attribute_group *hl_dev_inference_attr_groups[] = {
|
||||
&hl_dev_inference_attr_group,
|
||||
NULL,
|
||||
};
|
||||
|
||||
int hl_sysfs_init(struct hl_device *hdev)
|
||||
{
|
||||
int rc;
|
||||
|
@ -465,10 +478,25 @@ int hl_sysfs_init(struct hl_device *hdev)
|
|||
return rc;
|
||||
}
|
||||
|
||||
if (!hdev->allow_inference_soft_reset)
|
||||
return 0;
|
||||
|
||||
rc = device_add_groups(hdev->dev, hl_dev_inference_attr_groups);
|
||||
if (rc) {
|
||||
dev_err(hdev->dev,
|
||||
"Failed to add groups to device, error %d\n", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void hl_sysfs_fini(struct hl_device *hdev)
|
||||
{
|
||||
device_remove_groups(hdev->dev, hl_dev_attr_groups);
|
||||
|
||||
if (!hdev->allow_inference_soft_reset)
|
||||
return;
|
||||
|
||||
device_remove_groups(hdev->dev, hl_dev_inference_attr_groups);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue