aic94xx: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
a044189137
commit
8145bfe463
|
@ -94,7 +94,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
|
||||||
res = -ENOMEM;
|
res = -ENOMEM;
|
||||||
goto err_unmap;
|
goto err_unmap;
|
||||||
}
|
}
|
||||||
for (sc = task->scatter, i = 0; i < num_sg; i++, sc++) {
|
for_each_sg(task->scatter, sc, num_sg, i) {
|
||||||
struct sg_el *sg =
|
struct sg_el *sg =
|
||||||
&((struct sg_el *)ascb->sg_arr->vaddr)[i];
|
&((struct sg_el *)ascb->sg_arr->vaddr)[i];
|
||||||
sg->bus_addr = cpu_to_le64((u64)sg_dma_address(sc));
|
sg->bus_addr = cpu_to_le64((u64)sg_dma_address(sc));
|
||||||
|
@ -103,7 +103,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
|
||||||
sg->flags |= ASD_SG_EL_LIST_EOL;
|
sg->flags |= ASD_SG_EL_LIST_EOL;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (sc = task->scatter, i = 0; i < 2; i++, sc++) {
|
for_each_sg(task->scatter, sc, 2, i) {
|
||||||
sg_arr[i].bus_addr =
|
sg_arr[i].bus_addr =
|
||||||
cpu_to_le64((u64)sg_dma_address(sc));
|
cpu_to_le64((u64)sg_dma_address(sc));
|
||||||
sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));
|
sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));
|
||||||
|
@ -115,7 +115,7 @@ static inline int asd_map_scatterlist(struct sas_task *task,
|
||||||
sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle);
|
sg_arr[2].bus_addr=cpu_to_le64((u64)ascb->sg_arr->dma_handle);
|
||||||
} else {
|
} else {
|
||||||
int i;
|
int i;
|
||||||
for (sc = task->scatter, i = 0; i < num_sg; i++, sc++) {
|
for_each_sg(task->scatter, sc, num_sg, i) {
|
||||||
sg_arr[i].bus_addr =
|
sg_arr[i].bus_addr =
|
||||||
cpu_to_le64((u64)sg_dma_address(sc));
|
cpu_to_le64((u64)sg_dma_address(sc));
|
||||||
sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));
|
sg_arr[i].size = cpu_to_le32((u32)sg_dma_len(sc));
|
||||||
|
|
Loading…
Reference in a new issue