Module Name:    src
Committed By:   riastradh
Date:           Mon Aug 27 07:08:07 UTC 2018

Modified Files:
        src/sys/external/bsd/drm2/dist/drm/i915: i915_gem_gtt.c i915_gem_gtt.h

Log Message:
Some tweaks en route to i915_gem_gtt.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
    src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c
cvs rdiff -u -r1.6 -r1.7 \
    src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c:1.9 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c:1.10
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c:1.9	Mon Aug 27 07:07:23 2018
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.c	Mon Aug 27 07:08:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.c,v 1.9 2018/08/27 07:07:23 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.c,v 1.10 2018/08/27 07:08:07 riastradh Exp $	*/
 
 /*
  * Copyright © 2010 Daniel Vetter
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: i915_gem_gtt.c,v 1.9 2018/08/27 07:07:23 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: i915_gem_gtt.c,v 1.10 2018/08/27 07:08:07 riastradh Exp $");
 
 #include <linux/err.h>
 #include <linux/seq_file.h>
@@ -328,8 +328,10 @@ static int __setup_page_dma(struct drm_d
 
 	error = bus_dmamem_alloc(dev->dmat, PAGE_SIZE, PAGE_SIZE, PAGE_SIZE,
 	    &p->seg, nseg, &nseg, BUS_DMA_WAITOK);
-	if (error)
-fail0:		return -error;	/* XXX errno NetBSD->Linux */
+	if (error) {
+fail0:		p->map = NULL;
+		return -error;	/* XXX errno NetBSD->Linux */
+	}
 	KASSERT(nseg == 1);
 	error = bus_dmamap_create(dev->dmat, PAGE_SIZE, 1, PAGE_SIZE,
 	    PAGE_SIZE, BUS_DMA_WAITOK, &p->map);
@@ -375,8 +377,9 @@ static void cleanup_page_dma(struct drm_
 		return;
 
 	bus_dmamap_unload(dev->dmat, p->map);
-	bus_dmamap_destroy(dev->dmat, p->dmap);
+	bus_dmamap_destroy(dev->dmat, p->map);
 	bus_dmamem_free(dev->dmat, &p->seg, 1);
+	p->map = NULL;
 #else
 	if (WARN_ON(!p->page))
 		return;
@@ -390,7 +393,8 @@ static void cleanup_page_dma(struct drm_
 static void *kmap_page_dma(struct i915_page_dma *p)
 {
 #ifdef __NetBSD__
-	return kmap_atomic(PHYS_TO_VM_PAGE(p->seg.ds_addr));
+	return kmap_atomic(container_of(PHYS_TO_VM_PAGE(p->seg.ds_addr),
+		struct page, p_vmp));
 #else
 	return kmap_atomic(p->page);
 #endif
@@ -455,7 +459,9 @@ static struct i915_page_scratch *alloc_s
 		return ERR_PTR(ret);
 	}
 
+#ifndef __NetBSD__		/* XXX ??? */
 	set_pages_uc(px_page(sp), 1);
+#endif
 
 	return sp;
 }
@@ -463,7 +469,9 @@ static struct i915_page_scratch *alloc_s
 static void free_scratch_page(struct drm_device *dev,
 			      struct i915_page_scratch *sp)
 {
+#ifndef __NetBSD__		/* XXX ??? */
 	set_pages_wb(px_page(sp), 1);
+#endif
 
 	cleanup_px(dev, sp);
 	kfree(sp);

Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h:1.6 src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h:1.7
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h:1.6	Mon Aug 27 07:01:42 2018
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_gem_gtt.h	Mon Aug 27 07:08:07 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: i915_gem_gtt.h,v 1.6 2018/08/27 07:01:42 riastradh Exp $	*/
+/*	$NetBSD: i915_gem_gtt.h,v 1.7 2018/08/27 07:08:07 riastradh Exp $	*/
 
 /*
  * Copyright © 2014 Intel Corporation
@@ -252,10 +252,11 @@ struct i915_page_dma {
 };
 
 #define px_base(px) (&(px)->base)
-#define px_page(px) (px_base(px)->page)
 #ifdef __NetBSD__
+#define px_page(px) (px_base(px)->map)
 #define px_dma(px) (px_base(px)->map->dm_segs[0].ds_addr)
 #else
+#define px_page(px) (px_base(px)->page)
 #define px_dma(px) (px_base(px)->daddr)
 #endif
 

Reply via email to