diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index 6647fb26ef25..0d13e6368b96 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h | |||
@@ -1654,6 +1654,7 @@ struct amdgpu_pm { | |||
1654 | u8 fan_max_rpm; | 1654 | u8 fan_max_rpm; |
1655 | /* dpm */ | 1655 | /* dpm */ |
1656 | bool dpm_enabled; | 1656 | bool dpm_enabled; |
1657 | bool sysfs_initialized; | ||
1657 | struct amdgpu_dpm dpm; | 1658 | struct amdgpu_dpm dpm; |
1658 | const struct firmware *fw; /* SMC firmware */ | 1659 | const struct firmware *fw; /* SMC firmware */ |
1659 | uint32_t fw_version; | 1660 | uint32_t fw_version; |
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c index ed2bbe5b10af..22a8c7d3a3ab 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c | |||
@@ -695,6 +695,9 @@ int amdgpu_pm_sysfs_init(struct amdgpu_device *adev) | |||
695 | { | 695 | { |
696 | int ret; | 696 | int ret; |
697 | 697 | ||
698 | if (adev->pm.sysfs_initialized) | ||
699 | return 0; | ||
700 | |||
698 | if (adev->pm.funcs->get_temperature == NULL) | 701 | if (adev->pm.funcs->get_temperature == NULL) |
699 | return 0; | 702 | return 0; |
700 | adev->pm.int_hwmon_dev = hwmon_device_register_with_groups(adev->dev, | 703 | adev->pm.int_hwmon_dev = hwmon_device_register_with_groups(adev->dev, |
@@ -723,6 +726,8 @@ int amdgpu_pm_sysfs_init(struct amdgpu_device *adev) | |||
723 | return ret; | 726 | return ret; |
724 | } | 727 | } |
725 | 728 | ||
729 | adev->pm.sysfs_initialized = true; | ||
730 | |||
726 | return 0; | 731 | return 0; |
727 | } | 732 | } |
728 | 733 | ||