diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2015-10-23 10:38:52 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-10-23 10:38:52 -0400 |
commit | 49abb26651167c892393cd9f2ad23df429645ed9 (patch) | |
tree | 8d91c023ee035368e036ae3662d382609dcdacf5 | |
parent | 5c92d87d30b23844e6998d8318e4c19ee3a907ac (diff) |
drm/radeon: don't try to recreate sysfs entries on resume
Fixes a harmless error message caused by:
51a4726b04e880fdd9b4e0e58b13f70b0a68a7f5
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 1 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_pm.c | 35 |
2 files changed, 22 insertions, 14 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index f03b7eb15233..b6cbd816537e 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
@@ -1658,6 +1658,7 @@ struct radeon_pm { | |||
1658 | u8 fan_max_rpm; | 1658 | u8 fan_max_rpm; |
1659 | /* dpm */ | 1659 | /* dpm */ |
1660 | bool dpm_enabled; | 1660 | bool dpm_enabled; |
1661 | bool sysfs_initialized; | ||
1661 | struct radeon_dpm dpm; | 1662 | struct radeon_dpm dpm; |
1662 | }; | 1663 | }; |
1663 | 1664 | ||
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c index 6a0a176e26ec..5feee3b4c557 100644 --- a/drivers/gpu/drm/radeon/radeon_pm.c +++ b/drivers/gpu/drm/radeon/radeon_pm.c | |||
@@ -1528,19 +1528,23 @@ int radeon_pm_late_init(struct radeon_device *rdev) | |||
1528 | 1528 | ||
1529 | if (rdev->pm.pm_method == PM_METHOD_DPM) { | 1529 | if (rdev->pm.pm_method == PM_METHOD_DPM) { |
1530 | if (rdev->pm.dpm_enabled) { | 1530 | if (rdev->pm.dpm_enabled) { |
1531 | ret = device_create_file(rdev->dev, &dev_attr_power_dpm_state); | 1531 | if (!rdev->pm.sysfs_initialized) { |
1532 | if (ret) | 1532 | ret = device_create_file(rdev->dev, &dev_attr_power_dpm_state); |
1533 | DRM_ERROR("failed to create device file for dpm state\n"); | 1533 | if (ret) |
1534 | ret = device_create_file(rdev->dev, &dev_attr_power_dpm_force_performance_level); | 1534 | DRM_ERROR("failed to create device file for dpm state\n"); |
1535 | if (ret) | 1535 | ret = device_create_file(rdev->dev, &dev_attr_power_dpm_force_performance_level); |
1536 | DRM_ERROR("failed to create device file for dpm state\n"); | 1536 | if (ret) |
1537 | /* XXX: these are noops for dpm but are here for backwards compat */ | 1537 | DRM_ERROR("failed to create device file for dpm state\n"); |
1538 | ret = device_create_file(rdev->dev, &dev_attr_power_profile); | 1538 | /* XXX: these are noops for dpm but are here for backwards compat */ |
1539 | if (ret) | 1539 | ret = device_create_file(rdev->dev, &dev_attr_power_profile); |
1540 | DRM_ERROR("failed to create device file for power profile\n"); | 1540 | if (ret) |
1541 | ret = device_create_file(rdev->dev, &dev_attr_power_method); | 1541 | DRM_ERROR("failed to create device file for power profile\n"); |
1542 | if (ret) | 1542 | ret = device_create_file(rdev->dev, &dev_attr_power_method); |
1543 | DRM_ERROR("failed to create device file for power method\n"); | 1543 | if (ret) |
1544 | DRM_ERROR("failed to create device file for power method\n"); | ||
1545 | if (!ret) | ||
1546 | rdev->pm.sysfs_initialized = true; | ||
1547 | } | ||
1544 | 1548 | ||
1545 | mutex_lock(&rdev->pm.mutex); | 1549 | mutex_lock(&rdev->pm.mutex); |
1546 | ret = radeon_dpm_late_enable(rdev); | 1550 | ret = radeon_dpm_late_enable(rdev); |
@@ -1556,7 +1560,8 @@ int radeon_pm_late_init(struct radeon_device *rdev) | |||
1556 | } | 1560 | } |
1557 | } | 1561 | } |
1558 | } else { | 1562 | } else { |
1559 | if (rdev->pm.num_power_states > 1) { | 1563 | if ((rdev->pm.num_power_states > 1) && |
1564 | (!rdev->pm.sysfs_initialized)) { | ||
1560 | /* where's the best place to put these? */ | 1565 | /* where's the best place to put these? */ |
1561 | ret = device_create_file(rdev->dev, &dev_attr_power_profile); | 1566 | ret = device_create_file(rdev->dev, &dev_attr_power_profile); |
1562 | if (ret) | 1567 | if (ret) |
@@ -1564,6 +1569,8 @@ int radeon_pm_late_init(struct radeon_device *rdev) | |||
1564 | ret = device_create_file(rdev->dev, &dev_attr_power_method); | 1569 | ret = device_create_file(rdev->dev, &dev_attr_power_method); |
1565 | if (ret) | 1570 | if (ret) |
1566 | DRM_ERROR("failed to create device file for power method\n"); | 1571 | DRM_ERROR("failed to create device file for power method\n"); |
1572 | if (!ret) | ||
1573 | rdev->pm.sysfs_initialized = true; | ||
1567 | } | 1574 | } |
1568 | } | 1575 | } |
1569 | return ret; | 1576 | return ret; |