lkml.org 
[lkml]   [2007]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 35/40] radeon: set the address to access the GART table on the CPU side correctly

    -stable review patch. If anyone has any objections, please let us know.

    ------------------
    From: Dave Airlie <airlied@linux.ie>

    Upstream as 7fc86860cf73e060ab8ed9763010dfe5b5389b1c

    This code relied on the CPU and GPU address for the aperture being the same,
    On some r5xx hardware I was playing with I noticed that this isn't always true.
    This fixes issues seen on some r400 cards. (bugs.freedesktop.org 9957)

    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/char/drm/radeon_cp.c | 5 +++--
    drivers/char/drm/radeon_drv.h | 1 +
    2 files changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/char/drm/radeon_cp.c
    +++ b/drivers/char/drm/radeon_cp.c
    @@ -1679,7 +1679,7 @@ static int radeon_do_init_cp(struct drm_
    dev_priv->gart_info.bus_addr =
    dev_priv->pcigart_offset + dev_priv->fb_location;
    dev_priv->gart_info.mapping.offset =
    - dev_priv->gart_info.bus_addr;
    + dev_priv->pcigart_offset + dev_priv->fb_aper_offset;
    dev_priv->gart_info.mapping.size =
    dev_priv->gart_info.table_size;

    @@ -2291,7 +2291,8 @@ int radeon_driver_firstopen(struct drm_d
    if (ret != 0)
    return ret;

    - ret = drm_addmap(dev, drm_get_resource_start(dev, 0),
    + dev_priv->fb_aper_offset = drm_get_resource_start(dev, 0);
    + ret = drm_addmap(dev, dev_priv->fb_aper_offset,
    drm_get_resource_len(dev, 0), _DRM_FRAME_BUFFER,
    _DRM_WRITE_COMBINING, &map);
    if (ret != 0)
    --- a/drivers/char/drm/radeon_drv.h
    +++ b/drivers/char/drm/radeon_drv.h
    @@ -293,6 +293,7 @@ typedef struct drm_radeon_private {

    /* starting from here on, data is preserved accross an open */
    uint32_t flags; /* see radeon_chip_flags */
    + unsigned long fb_aper_offset;
    } drm_radeon_private_t;

    typedef struct drm_radeon_buf_priv {
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-15 08:11    [W:0.031 / U:92.140 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site