Module Name:    src
Committed By:   riastradh
Date:           Sun Dec 19 12:04:51 UTC 2021

Modified Files:
        src/sys/external/bsd/drm2/include/linux: io-mapping.h

Log Message:
drm: Fix io_mapping_map_wc to map all VAs, not just the first one.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
    src/sys/external/bsd/drm2/include/linux/io-mapping.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/include/linux/io-mapping.h
diff -u src/sys/external/bsd/drm2/include/linux/io-mapping.h:1.10 src/sys/external/bsd/drm2/include/linux/io-mapping.h:1.11
--- src/sys/external/bsd/drm2/include/linux/io-mapping.h:1.10	Sun Dec 19 12:03:30 2021
+++ src/sys/external/bsd/drm2/include/linux/io-mapping.h	Sun Dec 19 12:04:51 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: io-mapping.h,v 1.10 2021/12/19 12:03:30 riastradh Exp $	*/
+/*	$NetBSD: io-mapping.h,v 1.11 2021/12/19 12:04:51 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -147,7 +147,7 @@ io_mapping_map_wc(struct io_mapping *map
 		    BUS_SPACE_MAP_LINEAR|BUS_SPACE_MAP_PREFETCHABLE);
 		KASSERT(cookie != (paddr_t)-1);
 
-		pmap_kenter_pa(va, pmap_phys_address(cookie),
+		pmap_kenter_pa(va + pg*PAGE_SIZE, pmap_phys_address(cookie),
 		    PROT_READ|PROT_WRITE, pmap_mmap_flags(cookie));
 	}
 	pmap_update(pmap_kernel());
@@ -166,7 +166,7 @@ io_mapping_unmap(struct io_mapping *mapp
 	KASSERT(!mapping->diom_atomic);
 	KASSERT(mapping->diom_va != va);
 
-	pmap_kremove(va, PAGE_SIZE);
+	pmap_kremove(va, mapping->diom_mapsize);
 	pmap_update(pmap_kernel());
 
 	uvm_km_free(kernel_map, va, mapping->diom_mapsize, UVM_KMF_VAONLY);

Reply via email to