> Finally fixes the radeon memory mapping bug that was incorrectly
> fixed by the previous patch. This time, we use the actual vram
> size as the size to calculate how far to move the AGP aperture> from the
> framebuffer in card's memory space. If there are still issues with this
> patch, they are due to bugs in the X driver that I'm working on fixing
> too.
>
> Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Acked-by: Dave Airlie <[email protected]>
>
> Index: linux-work/drivers/char/drm/radeon_cp.c
> ===================================================================
> --- linux-work.orig/drivers/char/drm/radeon_cp.c 2005-12-13 20:23:00.000000000 +1100
> +++ linux-work/drivers/char/drm/radeon_cp.c 2005-12-16 16:17:30.000000000 +1100
> @@ -1312,6 +1312,8 @@
> 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;
> +
> DRM_DEBUG("\n");
>
> dev_priv->is_pci = init->is_pci;
> @@ -1521,8 +1523,11 @@
> + dev_priv->fb_location) >> 10));
>
> dev_priv->gart_size = init->gart_size;
> - dev_priv->gart_vm_start = dev_priv->fb_location
> - + RADEON_READ(RADEON_CONFIG_APER_SIZE) * 2;
> +
> + 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;
>
> #if __OS_HAS_AGP
> if (!dev_priv->is_pci)
> Index: linux-work/drivers/char/drm/radeon_drv.h
> ===================================================================
> --- linux-work.orig/drivers/char/drm/radeon_drv.h 2005-11-25 15:03:35.000000000 +1100
> +++ linux-work/drivers/char/drm/radeon_drv.h 2005-12-16 16:14:43.000000000 +1100
> @@ -379,6 +379,7 @@
> # define RADEON_PLL_WR_EN (1 << 7)
> #define RADEON_CLOCK_CNTL_INDEX 0x0008
> #define RADEON_CONFIG_APER_SIZE 0x0108
> +#define RADEON_CONFIG_MEMSIZE 0x00f8
> #define RADEON_CRTC_OFFSET 0x0224
> #define RADEON_CRTC_OFFSET_CNTL 0x0228
> # define RADEON_CRTC_TILE_EN (1 << 15)
>
>
--
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
Linux kernel - DRI, VAX / pam_smb / ILUG
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]