lkml.org 
[lkml]   [2013]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 065/150] drm/radeon: fix multi-head power profile stability on BTC+ asics
    Date
    3.8-stable review patch.  If anyone has any objections, please let me know.

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

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

    commit 7ae764b11ed63279e9dcf25be972ff4ca21a9875 upstream.

    vddci needs to track mclk for multi-head.

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

    ---
    drivers/gpu/drm/radeon/evergreen.c | 13 +++++++++++++
    drivers/gpu/drm/radeon/radeon_pm.c | 2 +-
    2 files changed, 14 insertions(+), 1 deletion(-)

    --- a/drivers/gpu/drm/radeon/evergreen.c
    +++ b/drivers/gpu/drm/radeon/evergreen.c
    @@ -403,6 +403,19 @@ void evergreen_pm_misc(struct radeon_dev
    rdev->pm.current_vddc = voltage->voltage;
    DRM_DEBUG("Setting: vddc: %d\n", voltage->voltage);
    }
    +
    + /* starting with BTC, there is one state that is used for both
    + * MH and SH. Difference is that we always use the high clock index for
    + * mclk and vddci.
    + */
    + if ((rdev->pm.pm_method == PM_METHOD_PROFILE) &&
    + (rdev->family >= CHIP_BARTS) &&
    + rdev->pm.active_crtc_count &&
    + ((rdev->pm.profile_index == PM_PROFILE_MID_MH_IDX) ||
    + (rdev->pm.profile_index == PM_PROFILE_LOW_MH_IDX)))
    + voltage = &rdev->pm.power_state[req_ps_idx].
    + clock_info[rdev->pm.profiles[PM_PROFILE_HIGH_MH_IDX].dpms_on_cm_idx].voltage;
    +
    /* 0xff01 is a flag rather then an actual voltage */
    if (voltage->vddci == 0xff01)
    return;
    --- a/drivers/gpu/drm/radeon/radeon_pm.c
    +++ b/drivers/gpu/drm/radeon/radeon_pm.c
    @@ -169,7 +169,7 @@ static void radeon_set_power_state(struc

    /* starting with BTC, there is one state that is used for both
    * MH and SH. Difference is that we always use the high clock index for
    - * mclk.
    + * mclk and vddci.
    */
    if ((rdev->pm.pm_method == PM_METHOD_PROFILE) &&
    (rdev->family >= CHIP_BARTS) &&



    \
     
     \ /
      Last update: 2013-02-27 01:41    [W:5.008 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site