forked from luck/tmp_suning_uos_patched
swiotlb: clean up swiotlb_tbl_unmap_single
commit: ca10d0f8e530600ec63c603dbace2c30927d70b7 swiotlb: clean up swiotlb_tbl_unmap_single Remove a layer of pointless indentation, replace a hard to follow ternary expression with a plain if/else. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Jianxiong Gao <jxgao@google.com> Tested-by: Jianxiong Gao <jxgao@google.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Jianxiong Gao <jxgao@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
1f2ef5a0f7
commit
9efd5df078
|
@ -610,28 +610,29 @@ void swiotlb_tbl_unmap_single(struct device *hwdev, phys_addr_t tlb_addr,
|
||||||
* with slots below and above the pool being returned.
|
* with slots below and above the pool being returned.
|
||||||
*/
|
*/
|
||||||
spin_lock_irqsave(&io_tlb_lock, flags);
|
spin_lock_irqsave(&io_tlb_lock, flags);
|
||||||
{
|
if (index + nslots < ALIGN(index + 1, IO_TLB_SEGSIZE))
|
||||||
count = ((index + nslots) < ALIGN(index + 1, IO_TLB_SEGSIZE) ?
|
count = io_tlb_list[index + nslots];
|
||||||
io_tlb_list[index + nslots] : 0);
|
else
|
||||||
/*
|
count = 0;
|
||||||
* Step 1: return the slots to the free list, merging the
|
|
||||||
* slots with superceeding slots
|
|
||||||
*/
|
|
||||||
for (i = index + nslots - 1; i >= index; i--) {
|
|
||||||
io_tlb_list[i] = ++count;
|
|
||||||
io_tlb_orig_addr[i] = INVALID_PHYS_ADDR;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Step 2: merge the returned slots with the preceding slots,
|
|
||||||
* if available (non zero)
|
|
||||||
*/
|
|
||||||
for (i = index - 1;
|
|
||||||
io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 &&
|
|
||||||
io_tlb_list[i]; i--)
|
|
||||||
io_tlb_list[i] = ++count;
|
|
||||||
|
|
||||||
io_tlb_used -= nslots;
|
/*
|
||||||
|
* Step 1: return the slots to the free list, merging the slots with
|
||||||
|
* superceeding slots
|
||||||
|
*/
|
||||||
|
for (i = index + nslots - 1; i >= index; i--) {
|
||||||
|
io_tlb_list[i] = ++count;
|
||||||
|
io_tlb_orig_addr[i] = INVALID_PHYS_ADDR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Step 2: merge the returned slots with the preceding slots, if
|
||||||
|
* available (non zero)
|
||||||
|
*/
|
||||||
|
for (i = index - 1;
|
||||||
|
io_tlb_offset(i) != IO_TLB_SEGSIZE - 1 && io_tlb_list[i];
|
||||||
|
i--)
|
||||||
|
io_tlb_list[i] = ++count;
|
||||||
|
io_tlb_used -= nslots;
|
||||||
spin_unlock_irqrestore(&io_tlb_lock, flags);
|
spin_unlock_irqrestore(&io_tlb_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user