svn commit: r312928 - in head/sys: dev/drm2 modules/drm2/drm2

Baptiste Daroussin bapt at FreeBSD.org
Sat Jan 28 16:40:53 UTC 2017


Author: bapt
Date: Sat Jan 28 16:40:51 2017
New Revision: 312928
URL: https://svnweb.freebsd.org/changeset/base/312928

Log:
  Really revert 312923 this time

Modified:
  head/sys/dev/drm2/drm_agpsupport.c
  head/sys/dev/drm2/drm_drv.c
  head/sys/dev/drm2/drm_os_freebsd.c
  head/sys/dev/drm2/drm_os_freebsd.h
  head/sys/dev/drm2/drm_stub.c
  head/sys/modules/drm2/drm2/Makefile

Modified: head/sys/dev/drm2/drm_agpsupport.c
==============================================================================
--- head/sys/dev/drm2/drm_agpsupport.c	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/dev/drm2/drm_agpsupport.c	Sat Jan 28 16:40:51 2017	(r312928)
@@ -35,7 +35,6 @@
 __FBSDID("$FreeBSD$");
 
 #include <dev/drm2/drmP.h>
-#include <linux/slab.h>
 
 #if __OS_HAS_AGP
 
@@ -209,13 +208,15 @@ int drm_agp_alloc(struct drm_device *dev
 
 	if (!dev->agp || !dev->agp->acquired)
 		return -EINVAL;
-	if (!(entry = kzalloc(sizeof(*entry), GFP_KERNEL)))
+	if (!(entry = malloc(sizeof(*entry), DRM_MEM_AGPLISTS, M_NOWAIT)))
 		return -ENOMEM;
 
+	memset(entry, 0, sizeof(*entry));
+
 	pages = (request->size + PAGE_SIZE - 1) / PAGE_SIZE;
 	type = (u32) request->type;
 	if (!(memory = agp_alloc_memory(dev->agp->bridge, type, pages << PAGE_SHIFT))) {
-		kfree(entry);
+		free(entry, DRM_MEM_AGPLISTS);
 		return -ENOMEM;
 	}
 
@@ -375,7 +376,7 @@ int drm_agp_free(struct drm_device *dev,
 	list_del(&entry->head);
 
 	drm_free_agp(entry->memory, entry->pages);
-	kfree(entry);
+	free(entry, DRM_MEM_AGPLISTS);
 	return 0;
 }
 EXPORT_SYMBOL(drm_agp_free);
@@ -403,11 +404,12 @@ struct drm_agp_head *drm_agp_init(struct
 {
 	struct drm_agp_head *head = NULL;
 
-	if (!(head = kzalloc(sizeof(*head), GFP_KERNEL)))
+	if (!(head = malloc(sizeof(*head), DRM_MEM_AGPLISTS, M_NOWAIT)))
 		return NULL;
+	memset((void *)head, 0, sizeof(*head));
 	head->bridge = agp_find_device();
 	if (!head->bridge) {
-		kfree(head);
+		free(head, DRM_MEM_AGPLISTS);
 		return NULL;
 	} else {
 		agp_get_info(head->bridge, &head->agp_info);

Modified: head/sys/dev/drm2/drm_drv.c
==============================================================================
--- head/sys/dev/drm2/drm_drv.c	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/dev/drm2/drm_drv.c	Sat Jan 28 16:40:51 2017	(r312928)
@@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/sysent.h>
 
-#include <linux/slab.h>
 #include <dev/drm2/drmP.h>
 #include <dev/drm2/drm_core.h>
 #include <dev/drm2/drm_global.h>
@@ -212,7 +211,7 @@ int drm_lastclose(struct drm_device * de
 			if (entry->bound)
 				drm_unbind_agp(entry->memory);
 			drm_free_agp(entry->memory, entry->pages);
-			kfree(entry);
+			free(entry, DRM_MEM_AGPLISTS);
 		}
 		INIT_LIST_HEAD(&dev->agp->memory);
 

Modified: head/sys/dev/drm2/drm_os_freebsd.c
==============================================================================
--- head/sys/dev/drm2/drm_os_freebsd.c	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/dev/drm2/drm_os_freebsd.c	Sat Jan 28 16:40:51 2017	(r312928)
@@ -24,6 +24,7 @@ MALLOC_DEFINE(DRM_MEM_QUEUES, "drm_queue
 MALLOC_DEFINE(DRM_MEM_CMDS, "drm_cmds", "DRM COMMAND Data Structures");
 MALLOC_DEFINE(DRM_MEM_MAPPINGS, "drm_mapping", "DRM MAPPING Data Structures");
 MALLOC_DEFINE(DRM_MEM_BUFLISTS, "drm_buflists", "DRM BUFLISTS Data Structures");
+MALLOC_DEFINE(DRM_MEM_AGPLISTS, "drm_agplists", "DRM AGPLISTS Data Structures");
 MALLOC_DEFINE(DRM_MEM_CTXBITMAP, "drm_ctxbitmap",
     "DRM CTXBITMAP Data Structures");
 MALLOC_DEFINE(DRM_MEM_SGLISTS, "drm_sglists", "DRM SGLISTS Data Structures");
@@ -495,5 +496,4 @@ MODULE_VERSION(drmn, 1);
 MODULE_DEPEND(drmn, agp, 1, 1, 1);
 MODULE_DEPEND(drmn, pci, 1, 1, 1);
 MODULE_DEPEND(drmn, mem, 1, 1, 1);
-MODULE_DEPEND(drmn, linuxkpi, 1, 1, 1);
 MODULE_DEPEND(drmn, iicbus, 1, 1, 1);

Modified: head/sys/dev/drm2/drm_os_freebsd.h
==============================================================================
--- head/sys/dev/drm2/drm_os_freebsd.h	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/dev/drm2/drm_os_freebsd.h	Sat Jan 28 16:40:51 2017	(r312928)
@@ -552,6 +552,7 @@ MALLOC_DECLARE(DRM_MEM_QUEUES);
 MALLOC_DECLARE(DRM_MEM_CMDS);
 MALLOC_DECLARE(DRM_MEM_MAPPINGS);
 MALLOC_DECLARE(DRM_MEM_BUFLISTS);
+MALLOC_DECLARE(DRM_MEM_AGPLISTS);
 MALLOC_DECLARE(DRM_MEM_CTXBITMAP);
 MALLOC_DECLARE(DRM_MEM_SGLISTS);
 MALLOC_DECLARE(DRM_MEM_MM);

Modified: head/sys/dev/drm2/drm_stub.c
==============================================================================
--- head/sys/dev/drm2/drm_stub.c	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/dev/drm2/drm_stub.c	Sat Jan 28 16:40:51 2017	(r312928)
@@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$");
 
 #include <dev/drm2/drmP.h>
 #include <dev/drm2/drm_core.h>
-#include <linux/slab.h>
 
 #ifdef DRM_DEBUG_DEFAULT_ON
 unsigned int drm_debug = (DRM_DEBUGBITS_DEBUG | DRM_DEBUGBITS_KMS |
@@ -316,7 +315,7 @@ void drm_cancel_fill_in_dev(struct drm_d
 				  DRM_MTRR_WC);
 		DRM_DEBUG("mtrr_del=%d\n", retval);
 	}
-	kfree(dev->agp);
+	free(dev->agp, DRM_MEM_AGPLISTS);
 	dev->agp = NULL;
 
 	drm_ht_remove(&dev->map_hash);
@@ -468,7 +467,7 @@ void drm_put_dev(struct drm_device *dev)
 	drm_sysctl_cleanup(dev);
 
 	if (drm_core_has_AGP(dev) && dev->agp) {
-		kfree(dev->agp);
+		free(dev->agp, DRM_MEM_AGPLISTS);
 		dev->agp = NULL;
 	}
 

Modified: head/sys/modules/drm2/drm2/Makefile
==============================================================================
--- head/sys/modules/drm2/drm2/Makefile	Sat Jan 28 16:31:23 2017	(r312927)
+++ head/sys/modules/drm2/drm2/Makefile	Sat Jan 28 16:40:51 2017	(r312928)
@@ -48,8 +48,6 @@ SRCS	= \
 	ati_pcigart.c
 #ttm_page_alloc_dma.c
 
-CFLAGS+= -I${.CURDIR}/../../../compat/linuxkpi/common/include
-
 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_ARCH} == "powerpc64"
 SRCS	+= drm_ioc32.c
 .endif


More information about the svn-src-all mailing list