.. | .. |
---|
95 | 95 | */ |
---|
96 | 96 | hcp->desc.pbuf = 0; |
---|
97 | 97 | hcp->desc.cntinfo = HPCDMA_EOX; |
---|
98 | | - dma_cache_sync(hd->dev, hd->cpu, |
---|
| 98 | + dma_sync_single_for_device(hd->dev, hd->dma, |
---|
99 | 99 | (unsigned long)(hcp + 1) - (unsigned long)hd->cpu, |
---|
100 | 100 | DMA_TO_DEVICE); |
---|
101 | 101 | } |
---|
.. | .. |
---|
187 | 187 | hcp++; |
---|
188 | 188 | dma += sizeof(struct hpc_chunk); |
---|
189 | 189 | start += sizeof(struct hpc_chunk); |
---|
190 | | - }; |
---|
| 190 | + } |
---|
191 | 191 | hcp--; |
---|
192 | 192 | hcp->desc.pnext = hdata->dma; |
---|
193 | 193 | } |
---|
.. | .. |
---|
208 | 208 | .this_id = 7, |
---|
209 | 209 | .sg_tablesize = SG_ALL, |
---|
210 | 210 | .cmd_per_lun = 8, |
---|
211 | | - .use_clustering = DISABLE_CLUSTERING, |
---|
| 211 | + .dma_boundary = PAGE_SIZE - 1, |
---|
212 | 212 | }; |
---|
213 | 213 | |
---|
214 | 214 | static int sgiwd93_probe(struct platform_device *pdev) |
---|
.. | .. |
---|
234 | 234 | |
---|
235 | 235 | hdata = host_to_hostdata(host); |
---|
236 | 236 | 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); |
---|
239 | 239 | if (!hdata->cpu) { |
---|
240 | 240 | printk(KERN_WARNING "sgiwd93: Could not allocate memory for " |
---|
241 | 241 | "host %d buffer.\n", unit); |
---|
.. | .. |
---|
274 | 274 | out_irq: |
---|
275 | 275 | free_irq(irq, host); |
---|
276 | 276 | 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); |
---|
279 | 279 | out_put: |
---|
280 | 280 | scsi_host_put(host); |
---|
281 | 281 | out: |
---|
.. | .. |
---|
291 | 291 | |
---|
292 | 292 | scsi_remove_host(host); |
---|
293 | 293 | 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); |
---|
296 | 296 | scsi_host_put(host); |
---|
297 | 297 | return 0; |
---|
298 | 298 | } |
---|