lkml.org 
[lkml]   [2014]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.10 041/129] drm/radeon: Fix sideport problems on certain RS690 boards
    Date
    3.10-stable review patch.  If anyone has any objections, please let me know.

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

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

    commit 8333f0fe133be420ce3fcddfd568c3a559ab274e upstream.

    Some RS690 boards with 64MB of sideport memory show up as
    having 128MB sideport + 256MB of UMA. In this case,
    just skip the sideport memory and use UMA. This fixes
    rendering corruption and should improve performance.

    bug:
    https://bugs.freedesktop.org/show_bug.cgi?id=35457

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

    ---
    drivers/gpu/drm/radeon/rs690.c | 10 ++++++++++
    1 file changed, 10 insertions(+)

    --- a/drivers/gpu/drm/radeon/rs690.c
    +++ b/drivers/gpu/drm/radeon/rs690.c
    @@ -162,6 +162,16 @@ static void rs690_mc_init(struct radeon_
    base = RREG32_MC(R_000100_MCCFG_FB_LOCATION);
    base = G_000100_MC_FB_START(base) << 16;
    rdev->mc.igp_sideport_enabled = radeon_atombios_sideport_present(rdev);
    + /* Some boards seem to be configured for 128MB of sideport memory,
    + * but really only have 64MB. Just skip the sideport and use
    + * UMA memory.
    + */
    + if (rdev->mc.igp_sideport_enabled &&
    + (rdev->mc.real_vram_size == (384 * 1024 * 1024))) {
    + base += 128 * 1024 * 1024;
    + rdev->mc.real_vram_size -= 128 * 1024 * 1024;
    + rdev->mc.mc_vram_size = rdev->mc.real_vram_size;
    + }

    /* Use K8 direct mapping for fast fb access. */
    rdev->fastfb_working = false;



    \
     
     \ /
      Last update: 2014-01-07 01:21    [W:4.321 / U:0.600 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site