[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] [IA64] counter part of 99:f15643dab1ca
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1184528649 21600 # Node ID 34d01b3157e213516f599f11fc5379624c51a2d9 # Parent b020961f6c1f25086fc47b16dc74724c2e3c4e96 [IA64] counter part of 99:f15643dab1ca "swiotlb: Handle sync invocations on subregions of a mapped region." Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx> --- arch/ia64/xen/swiotlb.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletion(-) diff -r b020961f6c1f -r 34d01b3157e2 arch/ia64/xen/swiotlb.c --- a/arch/ia64/xen/swiotlb.c Sun Jul 15 13:38:06 2007 -0600 +++ b/arch/ia64/xen/swiotlb.c Sun Jul 15 13:44:09 2007 -0600 @@ -336,6 +336,7 @@ map_single(struct device *hwdev, char *b unsigned long flags; char *dma_addr; unsigned int nslots, stride, index, wrap; + char *slot_buf; int i; /* @@ -402,7 +403,11 @@ map_single(struct device *hwdev, char *b * This is needed when we sync the memory. Then we sync the buffer if * needed. */ - io_tlb_orig_addr[index] = buffer; + slot_buf = buffer; + for (i = 0; i < nslots; i++) { + io_tlb_orig_addr[index + i] = slot_buf; + slot_buf += 1 << IO_TLB_SHIFT; + } if (dir == DMA_TO_DEVICE || dir == DMA_BIDIRECTIONAL) memcpy(dma_addr, buffer, size); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |