lkml.org 
[lkml]   [2017]   [Feb]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.16 127/306] drm/radeon: change vblank_time's calculation method to reduce computational error.
    3.16.40-rc1 review patch.  If anyone has any objections, please let me know.

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

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

    commit 02cfb5fccb0f9f968f0e208d89d9769aa16267bc upstream.

    Ported from Rex's amdgpu change.

    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    drivers/gpu/drm/radeon/r600_dpm.c | 15 ++++++++-------
    1 file changed, 8 insertions(+), 7 deletions(-)

    --- a/drivers/gpu/drm/radeon/r600_dpm.c
    +++ b/drivers/gpu/drm/radeon/r600_dpm.c
    @@ -155,19 +155,20 @@ u32 r600_dpm_get_vblank_time(struct rade
    struct drm_device *dev = rdev->ddev;
    struct drm_crtc *crtc;
    struct radeon_crtc *radeon_crtc;
    - u32 line_time_us, vblank_lines;
    + u32 vblank_in_pixels;
    u32 vblank_time_us = 0xffffffff; /* if the displays are off, vblank time is max */

    if (rdev->num_crtc && rdev->mode_info.mode_config_initialized) {
    list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) {
    radeon_crtc = to_radeon_crtc(crtc);
    if (crtc->enabled && radeon_crtc->enabled && radeon_crtc->hw_mode.clock) {
    - line_time_us = (radeon_crtc->hw_mode.crtc_htotal * 1000) /
    - radeon_crtc->hw_mode.clock;
    - vblank_lines = radeon_crtc->hw_mode.crtc_vblank_end -
    - radeon_crtc->hw_mode.crtc_vdisplay +
    - (radeon_crtc->v_border * 2);
    - vblank_time_us = vblank_lines * line_time_us;
    + vblank_in_pixels =
    + radeon_crtc->hw_mode.crtc_htotal *
    + (radeon_crtc->hw_mode.crtc_vblank_end -
    + radeon_crtc->hw_mode.crtc_vdisplay +
    + (radeon_crtc->v_border * 2));
    +
    + vblank_time_us = vblank_in_pixels * 1000 / radeon_crtc->hw_mode.clock;
    break;
    }
    }
    \
     
     \ /
      Last update: 2017-02-16 01:09    [W:2.184 / U:0.732 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site