hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/drivers/scsi/sgiwd93.c
....@@ -95,7 +95,7 @@
9595 */
9696 hcp->desc.pbuf = 0;
9797 hcp->desc.cntinfo = HPCDMA_EOX;
98
- dma_cache_sync(hd->dev, hd->cpu,
98
+ dma_sync_single_for_device(hd->dev, hd->dma,
9999 (unsigned long)(hcp + 1) - (unsigned long)hd->cpu,
100100 DMA_TO_DEVICE);
101101 }
....@@ -187,7 +187,7 @@
187187 hcp++;
188188 dma += sizeof(struct hpc_chunk);
189189 start += sizeof(struct hpc_chunk);
190
- };
190
+ }
191191 hcp--;
192192 hcp->desc.pnext = hdata->dma;
193193 }
....@@ -208,7 +208,7 @@
208208 .this_id = 7,
209209 .sg_tablesize = SG_ALL,
210210 .cmd_per_lun = 8,
211
- .use_clustering = DISABLE_CLUSTERING,
211
+ .dma_boundary = PAGE_SIZE - 1,
212212 };
213213
214214 static int sgiwd93_probe(struct platform_device *pdev)
....@@ -234,8 +234,8 @@
234234
235235 hdata = host_to_hostdata(host);
236236 hdata->dev = &pdev->dev;
237
- hdata->cpu = dma_alloc_attrs(&pdev->dev, HPC_DMA_SIZE, &hdata->dma,
238
- GFP_KERNEL, DMA_ATTR_NON_CONSISTENT);
237
+ hdata->cpu = dma_alloc_noncoherent(&pdev->dev, HPC_DMA_SIZE,
238
+ &hdata->dma, DMA_TO_DEVICE, GFP_KERNEL);
239239 if (!hdata->cpu) {
240240 printk(KERN_WARNING "sgiwd93: Could not allocate memory for "
241241 "host %d buffer.\n", unit);
....@@ -274,8 +274,8 @@
274274 out_irq:
275275 free_irq(irq, host);
276276 out_free:
277
- dma_free_attrs(&pdev->dev, HPC_DMA_SIZE, hdata->cpu, hdata->dma,
278
- DMA_ATTR_NON_CONSISTENT);
277
+ dma_free_noncoherent(&pdev->dev, HPC_DMA_SIZE, hdata->cpu, hdata->dma,
278
+ DMA_TO_DEVICE);
279279 out_put:
280280 scsi_host_put(host);
281281 out:
....@@ -291,8 +291,8 @@
291291
292292 scsi_remove_host(host);
293293 free_irq(pd->irq, host);
294
- dma_free_attrs(&pdev->dev, HPC_DMA_SIZE, hdata->cpu, hdata->dma,
295
- DMA_ATTR_NON_CONSISTENT);
294
+ dma_free_noncoherent(&pdev->dev, HPC_DMA_SIZE, hdata->cpu, hdata->dma,
295
+ DMA_TO_DEVICE);
296296 scsi_host_put(host);
297297 return 0;
298298 }