[PATCH 26/31] openrisc: handle page-less SG entries
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: torvalds@xxxxxxxxxxxxxxxxxxxx, axboe@xxxxxxxxx
- Subject: [PATCH 26/31] openrisc: handle page-less SG entries
- From: Christoph Hellwig <hch@xxxxxx>
- Date: Wed, 12 Aug 2015 09:05:45 +0200
- Cc: dan.j.williams@xxxxxxxxx, vgupta@xxxxxxxxxxxx, hskinnemoen@xxxxxxxxx, egtvedt@xxxxxxxxxxxx, realmz6@xxxxxxxxx, dhowells@xxxxxxxxxx, monstr@xxxxxxxxx, x86@xxxxxxxxxx, dwmw2@xxxxxxxxxxxxx, alex.williamson@xxxxxxxxxx, grundler@xxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx, linux-alpha@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-metag@xxxxxxxxxxxxxxx, linux-mips@xxxxxxxxxxxxxx, linux-parisc@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, linux-s390@xxxxxxxxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, linux-xtensa@xxxxxxxxxxxxxxxx, linux-nvdimm@xxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx
- In-reply-to: <1439363150-8661-1-git-send-email-hch@lst.de>
- List-id: <linux-ia64.vger.kernel.org>
- References: <1439363150-8661-1-git-send-email-hch@lst.de>
Make all cache invalidation conditional on sg_has_page() and use
sg_phys to get the physical address directly.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
arch/openrisc/kernel/dma.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/arch/openrisc/kernel/dma.c b/arch/openrisc/kernel/dma.c
index 0b77ddb..94ed052 100644
--- a/arch/openrisc/kernel/dma.c
+++ b/arch/openrisc/kernel/dma.c
@@ -184,8 +184,13 @@ or1k_map_sg(struct device *dev, struct scatterlist *sg,
int i;
for_each_sg(sg, s, nents, i) {
- s->dma_address = or1k_map_page(dev, sg_page(s), s->offset,
- s->length, dir, NULL);
+ if (sg_has_page(s)) {
+ s->dma_address = or1k_map_page(dev, sg_page(s),
+ s->offset, s->length, dir,
+ NULL);
+ } else {
+ s->dma_address = sg_phys(s);
+ }
}
return nents;
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]