Date: Sun, 22 Feb 2009 22:32:41 -0600 From: Robert Noland <rnoland@FreeBSD.org> To: vehemens <vehemens@verizon.net> Cc: freebsd-x11@freebsd.org Subject: Re: r6xx-r7xx drm patch and stuff Message-ID: <1235363561.1309.8.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
--=-zngJgu1AjdQ6FL/lMwsZ 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. I'll have to look at this more closely, but this is similar to the local changes that I have in my tree. I think that you aren't actually mapping the gart with this patch. Until I get my hands on hardware it is a little hard for me to finish it fixing it up. What really needs to happen here is that the new gart mapping code needs to get merged into the linux ati_pcigart as we already have equivalent code in our ati_pcigart. That should really be the only outstanding issue with the current code base. I've been hoping the the amd/linux folks would go ahead and fix that up, which should make our code just work. 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 Noland <rnoland@FreeBSD.org> FreeBSD --=-zngJgu1AjdQ6FL/lMwsZ 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) iEYEABECAAYFAkmiJukACgkQM4TrQ4qfRONpKgCfai9dNwr2KuFJr5JnySL6wn+4 HfIAnR08lT70CCZGt+7cUAdKzKXjPvWa =LO+v -----END PGP SIGNATURE----- --=-zngJgu1AjdQ6FL/lMwsZ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1235363561.1309.8.camel>