Index: head/x11-drivers/xf86-video-ati/Makefile
===================================================================
--- head/x11-drivers/xf86-video-ati/Makefile	(revision 372170)
+++ head/x11-drivers/xf86-video-ati/Makefile	(revision 372171)
@@ -1,21 +1,24 @@
 # $FreeBSD$
 
 PORTNAME=	xf86-video-ati
-PORTVERSION=	7.2.0
-PORTREVISION=	4
+PORTVERSION=	7.5.0
 CATEGORIES=	x11-drivers
 
 MAINTAINER=	x11@FreeBSD.org
 COMMENT=	X.Org ati display driver
 
 USE_GL=		gl
 XORG_CAT=	driver
-USE_XORG=	xf86driproto xineramaproto xf86miscproto glproto
+USE_XORG=	xf86driproto \
+		xineramaproto \
+		xf86miscproto \
+		glproto \
+		presentproto
 INSTALL_TARGET=	install-strip
 # No Radeon kernel driver on non-x86 and PC98.
 ONLY_FOR_ARCHS=	i386 amd64
 
 CONFIGURE_ARGS+=--disable-udev
 CONFIGURE_ARGS+=--disable-glamor
 
 .include <bsd.port.mk>
Index: head/x11-drivers/xf86-video-ati/distinfo
===================================================================
--- head/x11-drivers/xf86-video-ati/distinfo	(revision 372170)
+++ head/x11-drivers/xf86-video-ati/distinfo	(revision 372171)
@@ -1,4 +1,2 @@
-SHA256 (xorg/driver/xf86-video-ati-6.14.6.tar.bz2) = aa5286b3e4f0187d7df14785c06dd800255d9405205dbf061da5d77df86bec36
-SIZE (xorg/driver/xf86-video-ati-6.14.6.tar.bz2) = 1139495
-SHA256 (xorg/driver/xf86-video-ati-7.2.0.tar.bz2) = f30f5efdc8d7d18d06eda7ef2f91a8b7290f1cfbf6ff26362cd47ab8969daec4
-SIZE (xorg/driver/xf86-video-ati-7.2.0.tar.bz2) = 824613
+SHA256 (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = ec3e6f06b6cf9a40c72aafa3448aae8b034c80b37410ca9442d5cf6806e07936
+SIZE (xorg/driver/xf86-video-ati-7.5.0.tar.bz2) = 809756
Index: head/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c
===================================================================
--- head/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c	(revision 372170)
+++ head/x11-drivers/xf86-video-ati/files/patch-src__radeon_kms.c	(revision 372171)
@@ -1,37 +1,45 @@
---- src/radeon_kms.c.orig	2013-08-07 10:44:09.000000000 +0200
-+++ src/radeon_kms.c	2013-08-31 19:29:11.369001510 +0200
+--- src/radeon_kms.c.orig	2014-10-02 05:31:27.000000000 +0200
++++ src/radeon_kms.c	2014-10-23 18:56:18.359108170 +0200
 @@ -30,6 +30,8 @@
  
  #include <errno.h>
  #include <sys/ioctl.h>
 +#include <sys/param.h>
 +#include <sys/linker.h>
  /* Driver data structures */
  #include "radeon.h"
  #include "radeon_reg.h"
-@@ -270,7 +272,7 @@
+@@ -280,7 +282,7 @@
  radeon_dirty_update(ScreenPtr screen)
  {
  	RegionPtr region;
 -	PixmapDirtyUpdatePtr ent;
 +	PixmapDirtyUpdatePtr ent = NULL;
  
  	if (xorg_list_is_empty(&screen->pixmap_dirty_list))
  		return;
-@@ -606,6 +608,16 @@
+@@ -589,7 +591,7 @@
+ #endif
+     struct pci_device *dev = info->PciInfo;
+     char *busid;
+-    int fd;
++    int fd, err;
+ 
+ #ifdef XF86_PDEV_SERVER_FD
+     if (pRADEONEnt->platform_dev) {
+@@ -608,6 +610,15 @@
  		      dev->domain, dev->bus, dev->dev, dev->func);
  #endif
  
 +    err = kldload("radeonkms");
 +    if (err == -1 && errno != EEXIST) {
-+
 +	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
 +		   "[drm] Failed to load kernel module for %s: %s\n",
 +		   busid, strerror(errno));
 +	free(busid);
-+	return FALSE;
++	return -1;
 +    }
 +
-     info->dri2.drm_fd = drmOpen("radeon", busid);
-     if (info->dri2.drm_fd == -1) {
- 
+     fd = drmOpen(NULL, busid);
+     if (fd == -1)
+ 	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,