2007-11-19 15:01:04

by FUJITA Tomonori

[permalink] [raw]
Subject: [PATCH] alpha: fix sg_page breakage

Signed-off-by: FUJITA Tomonori <[email protected]>
---
arch/alpha/kernel/pci-noop.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c
index 174b729..468b76c 100644
--- a/arch/alpha/kernel/pci-noop.c
+++ b/arch/alpha/kernel/pci-noop.c
@@ -12,6 +12,7 @@
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/dma-mapping.h>
+#include <linux/scatterlist.h>

#include "proto.h"

@@ -172,18 +173,19 @@ dma_alloc_coherent(struct device *dev, size_t size,
EXPORT_SYMBOL(dma_alloc_coherent);

int
-dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
+dma_map_sg(struct device *dev, struct scatterlist *sgl, int nents,
enum dma_data_direction direction)
{
int i;
+ struct scatterlist *sg;

- for (i = 0; i < nents; i++ ) {
+ for_each_sg(sgl, sg, nents, i) {
void *va;

- BUG_ON(!sg[i].page);
- va = page_address(sg[i].page) + sg[i].offset;
- sg_dma_address(sg + i) = (dma_addr_t)virt_to_bus(va);
- sg_dma_len(sg + i) = sg[i].length;
+ BUG_ON(!sg_page(sg));
+ va = sg_virt(sg);
+ sg_dma_address(sg) = (dma_addr_t)virt_to_bus(va);
+ sg_dma_len(sg) = sg->length;
}

return nents;
--
1.5.3.4


2007-11-19 15:18:17

by FUJITA Tomonori

[permalink] [raw]
Subject: Re: [PATCH] alpha: fix sg_page breakage

On Tue, 20 Nov 2007 00:00:41 +0900
FUJITA Tomonori <[email protected]> wrote:

> Signed-off-by: FUJITA Tomonori <[email protected]>
> ---
> arch/alpha/kernel/pci-noop.c | 14 ++++++++------
> 1 files changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/arch/alpha/kernel/pci-noop.c b/arch/alpha/kernel/pci-noop.c

Oops, this should have been [PATCH 1/2] and 'kill deprecated
virt_to_bus' should have been [PATCH 2/2].

Thanks,

2007-11-21 11:29:21

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] alpha: fix sg_page breakage

On Tue, Nov 20 2007, FUJITA Tomonori wrote:
> Signed-off-by: FUJITA Tomonori <[email protected]>

applied

--
Jens Axboe