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.
Attachment:
pgpumexjF2Aju.pgp
Description: PGP signature
- References:
- Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- From: Jules Villard <[email protected]>
- Re: Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- From: Linus Torvalds <[email protected]>
- Re: Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- From: Benjamin Herrenschmidt <[email protected]>
- Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- Prev by Date: Re: Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- Next by Date: Re: [Patch 1/1] Fix genksyms handling of DEFINE_PER_CPU(struct foo_s *, bar);
- Previous by thread: Re: Suspend to {mem,disk} broken in 2.6.15-rc6/rc7 on my T42
- Next by thread: Is there any Buffer overflow attack mechanism that can break a vulnerable server without breaking the ongoing connection?
- Index(es):