diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 22:11:06 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 22:11:06 -0400 |
| commit | 69450bb5eb8e9df28281c62f98e971c9969dc4ff (patch) | |
| tree | 85991e6e8b74cb08b5013fd7e419c3df67d23e35 /arch/powerpc/kernel | |
| parent | e38f981758118d829cd40cfe9c09e3fa81e422aa (diff) | |
| parent | d6ec084200c37683278c821338f74ddf21ab80f5 (diff) | |
Merge branch 'sg' of git://git.kernel.dk/linux-2.6-block
* 'sg' of git://git.kernel.dk/linux-2.6-block:
Add CONFIG_DEBUG_SG sg validation
Change table chaining layout
Update arch/ to use sg helpers
Update swiotlb to use sg helpers
Update net/ to use sg helpers
Update fs/ to use sg helpers
[SG] Update drivers to use sg helpers
[SG] Update crypto/ to sg helpers
[SG] Update block layer to use sg helpers
[SG] Add helpers for manipulating SG entries
Diffstat (limited to 'arch/powerpc/kernel')
| -rw-r--r-- | arch/powerpc/kernel/dma_64.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/kernel/ibmebus.c | 3 | ||||
| -rw-r--r-- | arch/powerpc/kernel/iommu.c | 2 |
3 files changed, 3 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/dma_64.c b/arch/powerpc/kernel/dma_64.c index 9001104b56b0..14206e3f0819 100644 --- a/arch/powerpc/kernel/dma_64.c +++ b/arch/powerpc/kernel/dma_64.c | |||
| @@ -161,8 +161,7 @@ static int dma_direct_map_sg(struct device *dev, struct scatterlist *sgl, | |||
| 161 | int i; | 161 | int i; |
| 162 | 162 | ||
| 163 | for_each_sg(sgl, sg, nents, i) { | 163 | for_each_sg(sgl, sg, nents, i) { |
| 164 | sg->dma_address = (page_to_phys(sg->page) + sg->offset) | | 164 | sg->dma_address = sg_phys(sg) | dma_direct_offset; |
| 165 | dma_direct_offset; | ||
| 166 | sg->dma_length = sg->length; | 165 | sg->dma_length = sg->length; |
| 167 | } | 166 | } |
| 168 | 167 | ||
diff --git a/arch/powerpc/kernel/ibmebus.c b/arch/powerpc/kernel/ibmebus.c index 289d7e935918..72fd87156b24 100644 --- a/arch/powerpc/kernel/ibmebus.c +++ b/arch/powerpc/kernel/ibmebus.c | |||
| @@ -102,8 +102,7 @@ static int ibmebus_map_sg(struct device *dev, | |||
| 102 | int i; | 102 | int i; |
| 103 | 103 | ||
| 104 | for_each_sg(sgl, sg, nents, i) { | 104 | for_each_sg(sgl, sg, nents, i) { |
| 105 | sg->dma_address = (dma_addr_t)page_address(sg->page) | 105 | sg->dma_address = (dma_addr_t) sg_virt(sg); |
| 106 | + sg->offset; | ||
| 107 | sg->dma_length = sg->length; | 106 | sg->dma_length = sg->length; |
| 108 | } | 107 | } |
| 109 | 108 | ||
diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c index 306a6f75b6c5..2d0c9ef555e9 100644 --- a/arch/powerpc/kernel/iommu.c +++ b/arch/powerpc/kernel/iommu.c | |||
| @@ -307,7 +307,7 @@ int iommu_map_sg(struct iommu_table *tbl, struct scatterlist *sglist, | |||
| 307 | continue; | 307 | continue; |
| 308 | } | 308 | } |
| 309 | /* Allocate iommu entries for that segment */ | 309 | /* Allocate iommu entries for that segment */ |
| 310 | vaddr = (unsigned long)page_address(s->page) + s->offset; | 310 | vaddr = (unsigned long) sg_virt(s); |
| 311 | npages = iommu_num_pages(vaddr, slen); | 311 | npages = iommu_num_pages(vaddr, slen); |
| 312 | entry = iommu_range_alloc(tbl, npages, &handle, mask >> IOMMU_PAGE_SHIFT, 0); | 312 | entry = iommu_range_alloc(tbl, npages, &handle, mask >> IOMMU_PAGE_SHIFT, 0); |
| 313 | 313 | ||
