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);