lkml.org 
[lkml]   [2015]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.2 043/110] drm/radeon: dont try to recreate sysfs entries on resume
    Date
    4.2-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Alex Deucher <alexander.deucher@amd.com>

    commit 49abb26651167c892393cd9f2ad23df429645ed9 upstream.

    Fixes a harmless error message caused by:
    51a4726b04e880fdd9b4e0e58b13f70b0a68a7f5

    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/gpu/drm/radeon/radeon.h | 1 +
    drivers/gpu/drm/radeon/radeon_pm.c | 35 +++++++++++++++++++++--------------
    2 files changed, 22 insertions(+), 14 deletions(-)

    --- a/drivers/gpu/drm/radeon/radeon.h
    +++ b/drivers/gpu/drm/radeon/radeon.h
    @@ -1658,6 +1658,7 @@ struct radeon_pm {
    u8 fan_max_rpm;
    /* dpm */
    bool dpm_enabled;
    + bool sysfs_initialized;
    struct radeon_dpm dpm;
    };

    --- a/drivers/gpu/drm/radeon/radeon_pm.c
    +++ b/drivers/gpu/drm/radeon/radeon_pm.c
    @@ -1533,19 +1533,23 @@ int radeon_pm_late_init(struct radeon_de

    if (rdev->pm.pm_method == PM_METHOD_DPM) {
    if (rdev->pm.dpm_enabled) {
    - ret = device_create_file(rdev->dev, &dev_attr_power_dpm_state);
    - if (ret)
    - DRM_ERROR("failed to create device file for dpm state\n");
    - ret = device_create_file(rdev->dev, &dev_attr_power_dpm_force_performance_level);
    - if (ret)
    - DRM_ERROR("failed to create device file for dpm state\n");
    - /* XXX: these are noops for dpm but are here for backwards compat */
    - ret = device_create_file(rdev->dev, &dev_attr_power_profile);
    - if (ret)
    - DRM_ERROR("failed to create device file for power profile\n");
    - ret = device_create_file(rdev->dev, &dev_attr_power_method);
    - if (ret)
    - DRM_ERROR("failed to create device file for power method\n");
    + if (!rdev->pm.sysfs_initialized) {
    + ret = device_create_file(rdev->dev, &dev_attr_power_dpm_state);
    + if (ret)
    + DRM_ERROR("failed to create device file for dpm state\n");
    + ret = device_create_file(rdev->dev, &dev_attr_power_dpm_force_performance_level);
    + if (ret)
    + DRM_ERROR("failed to create device file for dpm state\n");
    + /* XXX: these are noops for dpm but are here for backwards compat */
    + ret = device_create_file(rdev->dev, &dev_attr_power_profile);
    + if (ret)
    + DRM_ERROR("failed to create device file for power profile\n");
    + ret = device_create_file(rdev->dev, &dev_attr_power_method);
    + if (ret)
    + DRM_ERROR("failed to create device file for power method\n");
    + if (!ret)
    + rdev->pm.sysfs_initialized = true;
    + }

    mutex_lock(&rdev->pm.mutex);
    ret = radeon_dpm_late_enable(rdev);
    @@ -1561,7 +1565,8 @@ int radeon_pm_late_init(struct radeon_de
    }
    }
    } else {
    - if (rdev->pm.num_power_states > 1) {
    + if ((rdev->pm.num_power_states > 1) &&
    + (!rdev->pm.sysfs_initialized)) {
    /* where's the best place to put these? */
    ret = device_create_file(rdev->dev, &dev_attr_power_profile);
    if (ret)
    @@ -1569,6 +1574,8 @@ int radeon_pm_late_init(struct radeon_de
    ret = device_create_file(rdev->dev, &dev_attr_power_method);
    if (ret)
    DRM_ERROR("failed to create device file for power method\n");
    + if (!ret)
    + rdev->pm.sysfs_initialized = true;
    }
    }
    return ret;



    \
     
     \ /
      Last update: 2015-11-06 22:01    [W:4.054 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site