lkml.org 
[lkml]   [2005]   [Dec]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
    Le mar, 27 déc 2005 12:49:33 +1100, Benjamin Herrenschmidt a écrit :
    > Also, while we are at it, can you try this patch on top of current
    > -git ? What I _think_ might be happening is that the X server is also
    > trying to muck around with the card memory map and is forcing it back
    > into a wrong setting that also happens to no longer match what the DRM
    > wants to do and blows up. There are bugs all over the place in that code
    > (and still some bugs in the DRM as well anyway). This patch attempts to
    > avoid that by using the largest of the 2 values, which I think will
    > cause it to behave as it used to for you and will still fix the problem
    > with machines that have an aperture size smaller than the video memory.
    >
    > That might be good enough until I fully fix X and the DRM (work in progress
    > but there are other "issues").
    >
    > Index: linux-work/drivers/char/drm/radeon_cp.c
    > ===================================================================
    > --- linux-work.orig/drivers/char/drm/radeon_cp.c 2005-12-24 10:07:22.000000000 +1100
    > +++ linux-work/drivers/char/drm/radeon_cp.c 2005-12-27 12:48:02.000000000 +1100
    > @@ -1312,7 +1312,7 @@
    > static int radeon_do_init_cp(drm_device_t * dev, drm_radeon_init_t * init)
    > {
    > drm_radeon_private_t *dev_priv = dev->dev_private;
    > - unsigned int mem_size;
    > + unsigned int mem_size, aper_size;
    >
    > DRM_DEBUG("\n");
    >
    > @@ -1527,7 +1527,9 @@
    > mem_size = RADEON_READ(RADEON_CONFIG_MEMSIZE);
    > if (mem_size == 0)
    > mem_size = 0x800000;
    > - dev_priv->gart_vm_start = dev_priv->fb_location + mem_size;
    > + aper_size = max(RADEON_READ(RADEON_CONFIG_APER_SIZE), mem_size);
    > +
    > + dev_priv->gart_vm_start = dev_priv->fb_location + aper_size;
    >
    > #if __OS_HAS_AGP
    > if (!dev_priv->is_pci)
    >

    Yes, (2.6.15-rc7-git1 + this patch) fixes it.
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2005-12-27 13:24    [W:0.024 / U:64.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site