| .. | .. |
|---|
| 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 | } |
|---|