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