Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2009 00:46:03 -0600
From:      "Robert C. Noland III" <rnoland@2hip.net>
To:        vehemens <vehemens@verizon.net>
Cc:        freebsd-x11@freebsd.org
Subject:   Re: r6xx-r7xx drm patch and stuff
Message-ID:  <1235371563.1309.33.camel@widget.2hip.net>
In-Reply-To: <200902221718.08192.vehemens@verizon.net>
References:  <200902221718.08192.vehemens@verizon.net>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-gHKhBITqD43ghkfzIV4/
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Sun, 2009-02-22 at 17:18 -0800, vehemens wrote:
> Have drm running with my R630, but there is some type of performance prob=
lem=20
> (i.e. slow windows).
>=20
> Given that I don't have the time to work the issue right now, here is my=20
> summary for those that want to give it a try.
>=20
> If you start with drm git master 1) incorporate the local freebsd updates=
, 2)=20
> incorporate the radeon updates from drm git r6xx-r7xx-support, and 3) add=
 the=20
> attached patch, you will have what I have.
>=20
> For the video drivers, I have only tried the xf86-video-ati r6xx-r7xx-sup=
port=20
> branch and not the xf86-video-radeonhd r6xx-r7xx-support branch.
>=20
> There was a comment on radeonhd irc about backing out drm git=20
> r6xx-r7xx-support commit for "R6xx/R7xx: pad VB age submission to 8 dword=
s",=20
> for the performance problem but that didn't help me with xf86-video-ati.

Ok, this is more or less correct... I'll pull together a patch for
-CURRENT and -STABLE either later tonight or tomorrow...  BTW, this
patch does not include the changes to the build system needed to compile
the r600 code.

robert.

> --- r600_cp.c.orig	2009-02-19 23:07:23.000000000 -0800
> +++ r600_cp.c	2009-02-21 23:57:49.000000000 -0800
> @@ -429,13 +429,15 @@
> =20
>  static void r600_page_table_cleanup(struct drm_device *dev, struct=20
> drm_ati_pcigart_info *gart_info)
>  {
> +#ifdef __linux__
>  	struct drm_sg_mem *entry =3D dev->sg;
>  	int max_pages;
>  	int pages;
>  	int i;
> +#endif
> =20
>  	if (gart_info->bus_addr) {
> -
> +#ifdef __linux__
>  		max_pages =3D (gart_info->table_size / sizeof(u32));
>  		pages =3D (entry->pages <=3D max_pages)
>  		  ? entry->pages : max_pages;
> @@ -446,7 +448,7 @@
>  			pci_unmap_single(dev->pdev, entry->busaddr[i],
>  					 PAGE_SIZE, PCI_DMA_TODEVICE);
>  		}
> -
> +#endif
>  		if (gart_info->gart_table_location =3D=3D DRM_ATI_GART_MAIN)
>  			gart_info->bus_addr =3D 0;
>  	}
> @@ -475,6 +477,7 @@
>  	memset(pci_gart, 0, max_pages * sizeof(u64));
> =20
>  	for (i =3D 0; i < pages; i++) {
> +#ifdef __linux__
>  		entry->busaddr[i] =3D pci_map_single(dev->pdev,
>  						   page_address(entry->
>  								pagelist[i]),
> @@ -485,7 +488,7 @@
>  			ret =3D -EINVAL;
>  			goto done;
>  		}
> -
> +#endif
>  		entry_addr =3D entry->busaddr[i];
>  		for (j =3D 0; j < (PAGE_SIZE / ATI_PCIGART_PAGE_SIZE); j++) {
>  			page_base =3D (u64) entry_addr & ATI_PCIGART_PAGE_MASK;
> @@ -495,13 +498,15 @@
>  			*pci_gart =3D page_base;
> =20
>  			if ((i % 128) =3D=3D 0)
> -				DRM_DEBUG("page entry %d: 0x%016llx\n", i, page_base);
> +				DRM_DEBUG("page entry %d: 0x%016lx\n", i, page_base);
>  			pci_gart++;
>  			entry_addr +=3D ATI_PCIGART_PAGE_SIZE;
>  		}
>  	}
> =20
> +#ifdef __linux__
>  done:
> +#endif
>  	return ret;
>  }
> =20
>=20
>=20
> _______________________________________________
> freebsd-x11@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org"
--=20
Robert C. Noland III <rnoland@2hip.net>
2 Hip Networks

--=-gHKhBITqD43ghkfzIV4/
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.10 (FreeBSD)

iEYEABECAAYFAkmiRisACgkQM4TrQ4qfROO2FACfctgWrJ9ff25Ja22vUzZmgEU1
kEQAn24VOU8l8x1+9yfWXD+0VfjkHxwp
=KeKn
-----END PGP SIGNATURE-----

--=-gHKhBITqD43ghkfzIV4/--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1235371563.1309.33.camel>