m68k/atari - atari_scsi: use correct virt/phys translation for DMA buffer
authorMichael Schmitz <schmitzmic@gmail.com>
Mon, 31 Mar 2014 08:06:08 +0000 (21:06 +1300)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 26 May 2014 20:41:25 +0000 (22:41 +0200)
With the kernel running from FastRAM instead of ST-RAM, none of ST-RAM is
mapped by mem_init, and DMA-addressable buffer must be mapped by ioremap.

Use platform specific virt/phys translation helpers for this case.

Signed-off-by: Michael Schmitz <schmitz@debian.org>
Cc: linux-scsi@vger.kernel.org
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
drivers/scsi/atari_scsi.c

index 296c936..a8d721f 100644 (file)
@@ -639,7 +639,7 @@ static int __init atari_scsi_detect(struct scsi_host_template *host)
                                        "double buffer\n");
                        return 0;
                }
-               atari_dma_phys_buffer = virt_to_phys(atari_dma_buffer);
+               atari_dma_phys_buffer = atari_stram_to_phys(atari_dma_buffer);
                atari_dma_orig_addr = 0;
        }
 #endif