mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
parisc: Eliminate sg_virt_addr() and private scatterlist.h
The only reason to keep parisc's private asm/scatterlist.h was that it had the macro sg_virt_addr(). Convert all callers to use something else (sometimes just sg->offset was enough, others should use sg_virt()), and we can just use the asm-generic scatterlist.h instead. Signed-off-by: Matthew Wilcox <[email protected]> Signed-off-by: Dave Anglin <[email protected]> Signed-off-by: Helge Deller <[email protected]>
This commit is contained in:
parent
1d11437f4f
commit
8bf8a1d1c1
6 changed files with 25 additions and 33 deletions
|
|
@ -916,7 +916,7 @@ ccio_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
/* Fast path single entry scatterlists. */
|
||||
if (nents == 1) {
|
||||
sg_dma_address(sglist) = ccio_map_single(dev,
|
||||
(void *)sg_virt_addr(sglist), sglist->length,
|
||||
sg_virt(sglist), sglist->length,
|
||||
direction);
|
||||
sg_dma_len(sglist) = sglist->length;
|
||||
return 1;
|
||||
|
|
@ -983,8 +983,8 @@ ccio_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
BUG_ON(!dev);
|
||||
ioc = GET_IOC(dev);
|
||||
|
||||
DBG_RUN_SG("%s() START %d entries, %08lx,%x\n",
|
||||
__func__, nents, sg_virt_addr(sglist), sglist->length);
|
||||
DBG_RUN_SG("%s() START %d entries, %p,%x\n",
|
||||
__func__, nents, sg_virt(sglist), sglist->length);
|
||||
|
||||
#ifdef CCIO_COLLECT_STATS
|
||||
ioc->usg_calls++;
|
||||
|
|
|
|||
|
|
@ -30,9 +30,9 @@ iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
|
|||
unsigned long vaddr;
|
||||
long size;
|
||||
|
||||
DBG_RUN_SG(" %d : %08lx/%05x %08lx/%05x\n", nents,
|
||||
DBG_RUN_SG(" %d : %08lx/%05x %p/%05x\n", nents,
|
||||
(unsigned long)sg_dma_address(startsg), cnt,
|
||||
sg_virt_addr(startsg), startsg->length
|
||||
sg_virt(startsg), startsg->length
|
||||
);
|
||||
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ iommu_fill_pdir(struct ioc *ioc, struct scatterlist *startsg, int nents,
|
|||
|
||||
BUG_ON(pdirp == NULL);
|
||||
|
||||
vaddr = sg_virt_addr(startsg);
|
||||
vaddr = (unsigned long)sg_virt(startsg);
|
||||
sg_dma_len(dma_sg) += startsg->length;
|
||||
size = startsg->length + dma_offset;
|
||||
dma_offset = 0;
|
||||
|
|
@ -113,7 +113,7 @@ iommu_coalesce_chunks(struct ioc *ioc, struct device *dev,
|
|||
*/
|
||||
contig_sg = startsg;
|
||||
dma_len = startsg->length;
|
||||
dma_offset = sg_virt_addr(startsg) & ~IOVP_MASK;
|
||||
dma_offset = startsg->offset;
|
||||
|
||||
/* PARANOID: clear entries */
|
||||
sg_dma_address(startsg) = 0;
|
||||
|
|
@ -124,14 +124,13 @@ iommu_coalesce_chunks(struct ioc *ioc, struct device *dev,
|
|||
** it's always looking one "ahead".
|
||||
*/
|
||||
while(--nents > 0) {
|
||||
unsigned long prevstartsg_end, startsg_end;
|
||||
unsigned long prev_end, sg_start;
|
||||
|
||||
prevstartsg_end = sg_virt_addr(startsg) +
|
||||
startsg->length;
|
||||
prev_end = (unsigned long)sg_virt(startsg) +
|
||||
startsg->length;
|
||||
|
||||
startsg++;
|
||||
startsg_end = sg_virt_addr(startsg) +
|
||||
startsg->length;
|
||||
sg_start = (unsigned long)sg_virt(startsg);
|
||||
|
||||
/* PARANOID: clear entries */
|
||||
sg_dma_address(startsg) = 0;
|
||||
|
|
@ -150,10 +149,13 @@ iommu_coalesce_chunks(struct ioc *ioc, struct device *dev,
|
|||
break;
|
||||
|
||||
/*
|
||||
** Next see if we can append the next chunk (i.e.
|
||||
** it must end on one page and begin on another
|
||||
* Next see if we can append the next chunk (i.e.
|
||||
* it must end on one page and begin on another, or
|
||||
* it must start on the same address as the previous
|
||||
* entry ended.
|
||||
*/
|
||||
if (unlikely(((prevstartsg_end | sg_virt_addr(startsg)) & ~PAGE_MASK) != 0))
|
||||
if (unlikely((prev_end != sg_start) ||
|
||||
((prev_end | sg_start) & ~PAGE_MASK)))
|
||||
break;
|
||||
|
||||
dma_len += startsg->length;
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ sba_dump_sg( struct ioc *ioc, struct scatterlist *startsg, int nents)
|
|||
nents,
|
||||
(unsigned long) sg_dma_address(startsg),
|
||||
sg_dma_len(startsg),
|
||||
sg_virt_addr(startsg), startsg->length);
|
||||
sg_virt(startsg), startsg->length);
|
||||
startsg++;
|
||||
}
|
||||
}
|
||||
|
|
@ -945,8 +945,7 @@ sba_map_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
|
||||
/* Fast path single entry scatterlists. */
|
||||
if (nents == 1) {
|
||||
sg_dma_address(sglist) = sba_map_single(dev,
|
||||
(void *)sg_virt_addr(sglist),
|
||||
sg_dma_address(sglist) = sba_map_single(dev, sg_virt(sglist),
|
||||
sglist->length, direction);
|
||||
sg_dma_len(sglist) = sglist->length;
|
||||
return 1;
|
||||
|
|
@ -1025,7 +1024,7 @@ sba_unmap_sg(struct device *dev, struct scatterlist *sglist, int nents,
|
|||
#endif
|
||||
|
||||
DBG_RUN_SG("%s() START %d entries, %p,%x\n",
|
||||
__func__, nents, sg_virt_addr(sglist), sglist->length);
|
||||
__func__, nents, sg_virt(sglist), sglist->length);
|
||||
|
||||
ioc = GET_IOC(dev);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue