aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason A. Harmening <jah@FreeBSD.org>2015-10-23 12:03:25 +0000
committerJason A. Harmening <jah@FreeBSD.org>2015-10-23 12:03:25 +0000
commita50730587b9b45a82a5807354129e37143e5eabe (patch)
treec4548edd5edeaf22ba0e2fba0d139a2ee16e021d
parent3f8e0710526be16fc955664f572af7da6146235a (diff)
downloadsrc-a50730587b9b45a82a5807354129e37143e5eabe.tar.gz
src-a50730587b9b45a82a5807354129e37143e5eabe.zip
Remove unclear comment about address truncation in busdma. Add (hopefully much clearer) comment at declaration of PHYS_TO_VM_PAGE().
Noted by: avg
Notes
Notes: svn path=/head/; revision=289825
-rw-r--r--sys/arm/arm/busdma_machdep-v6.c9
-rw-r--r--sys/arm/arm/busdma_machdep.c9
-rw-r--r--sys/arm64/arm64/busdma_bounce.c1
-rw-r--r--sys/vm/vm_page.h5
-rw-r--r--sys/x86/x86/busdma_bounce.c1
5 files changed, 5 insertions, 20 deletions
diff --git a/sys/arm/arm/busdma_machdep-v6.c b/sys/arm/arm/busdma_machdep-v6.c
index a945b6371dc8..66d461204f16 100644
--- a/sys/arm/arm/busdma_machdep-v6.c
+++ b/sys/arm/arm/busdma_machdep-v6.c
@@ -1089,10 +1089,6 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat,
sl++;
sl->vaddr = 0;
sl->datacount = sgsize;
- /*
- * PHYS_TO_VM_PAGE() will truncate
- * unaligned addresses.
- */
sl->pages = PHYS_TO_VM_PAGE(curaddr);
sl->dataoffs = curaddr & PAGE_MASK;
} else
@@ -1214,10 +1210,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
sl++;
sl->vaddr = kvaddr;
sl->datacount = sgsize;
- /*
- * PHYS_TO_VM_PAGE() will truncate
- * unaligned addresses.
- */
sl->pages = PHYS_TO_VM_PAGE(curaddr);
sl->dataoffs = curaddr & PAGE_MASK;
} else
@@ -1687,7 +1679,6 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
bpage->busaddr |= addr & PAGE_MASK;
}
bpage->datavaddr = vaddr;
- /* PHYS_TO_VM_PAGE() will truncate unaligned addresses. */
bpage->datapage = PHYS_TO_VM_PAGE(addr);
bpage->dataoffs = addr & PAGE_MASK;
bpage->datacount = size;
diff --git a/sys/arm/arm/busdma_machdep.c b/sys/arm/arm/busdma_machdep.c
index e7ec8b1403d7..00c7f2314f98 100644
--- a/sys/arm/arm/busdma_machdep.c
+++ b/sys/arm/arm/busdma_machdep.c
@@ -993,10 +993,6 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map, vm_paddr_t buf,
sl++;
sl->vaddr = 0;
sl->datacount = sgsize;
- /*
- * PHYS_TO_VM_PAGE() will truncate
- * unaligned addresses.
- */
sl->pages = PHYS_TO_VM_PAGE(curaddr);
sl->dataoffs = curaddr & PAGE_MASK;
} else
@@ -1108,10 +1104,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf,
sl++;
sl->vaddr = kvaddr;
sl->datacount = sgsize;
- /*
- * PHYS_TO_VM_PAGE() will truncate
- * unaligned addresses.
- */
sl->pages = PHYS_TO_VM_PAGE(curaddr);
sl->dataoffs = curaddr & PAGE_MASK;
} else
@@ -1541,7 +1533,6 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
bpage->busaddr |= addr & PAGE_MASK;
}
bpage->datavaddr = vaddr;
- /* PHYS_TO_VM_PAGE() will truncate unaligned addresses. */
bpage->datapage = PHYS_TO_VM_PAGE(addr);
bpage->dataoffs = addr & PAGE_MASK;
bpage->datacount = size;
diff --git a/sys/arm64/arm64/busdma_bounce.c b/sys/arm64/arm64/busdma_bounce.c
index 1dc071db62be..cd0c087a0077 100644
--- a/sys/arm64/arm64/busdma_bounce.c
+++ b/sys/arm64/arm64/busdma_bounce.c
@@ -1009,7 +1009,6 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
bpage->busaddr |= addr & PAGE_MASK;
}
bpage->datavaddr = vaddr;
- /* PHYS_TO_VM_PAGE() will truncate unaligned addresses. */
bpage->datapage = PHYS_TO_VM_PAGE(addr);
bpage->dataoffs = addr & PAGE_MASK;
bpage->datacount = size;
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index dedd6ac9eb0c..3dbd7f7015ac 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -375,6 +375,11 @@ extern long first_page; /* first physical page number */
#define VM_PAGE_TO_PHYS(entry) ((entry)->phys_addr)
+/*
+ * PHYS_TO_VM_PAGE() Returns the vm_page_t object that represents a memory
+ * page to which the given physical address belongs. The correct vm_page_t
+ * object is returned for addresses that are not page-aligned.
+ */
vm_page_t PHYS_TO_VM_PAGE(vm_paddr_t pa);
/*
diff --git a/sys/x86/x86/busdma_bounce.c b/sys/x86/x86/busdma_bounce.c
index cac6c7158caa..ebd6238ef820 100644
--- a/sys/x86/x86/busdma_bounce.c
+++ b/sys/x86/x86/busdma_bounce.c
@@ -1006,7 +1006,6 @@ add_bounce_page(bus_dma_tag_t dmat, bus_dmamap_t map, vm_offset_t vaddr,
bpage->busaddr |= addr & PAGE_MASK;
}
bpage->datavaddr = vaddr;
- /* PHYS_TO_VM_PAGE() will truncate unaligned addresses. */
bpage->datapage = PHYS_TO_VM_PAGE(addr);
bpage->dataoffs = addr & PAGE_MASK;
bpage->datacount = size;