diff options
author | David Daney <david.daney@cavium.com> | 2012-02-03 09:36:57 -0800 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-12-13 18:15:25 +0100 |
commit | 1007c4bc0f66925d92886dd9e664a1d49bbf6140 (patch) | |
tree | fde380cb3e59964cdf041a98ef00ccdfaa75f830 /drivers/ata | |
parent | 43f01da0f2794b464ade2ffe1f780c69d7ce7b75 (diff) | |
download | op-kernel-dev-1007c4bc0f66925d92886dd9e664a1d49bbf6140.zip op-kernel-dev-1007c4bc0f66925d92886dd9e664a1d49bbf6140.tar.gz |
ata: pata_octeon_cf: Use correct byte order for DMA in when built little-endian.
We need to set the 'endian' bit in this case.
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David Daney <david.daney@cavium.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/pata_octeon_cf.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/pata_octeon_cf.c b/drivers/ata/pata_octeon_cf.c index 652d035..4e1194b 100644 --- a/drivers/ata/pata_octeon_cf.c +++ b/drivers/ata/pata_octeon_cf.c @@ -20,6 +20,7 @@ #include <linux/platform_device.h> #include <scsi/scsi_host.h> +#include <asm/byteorder.h> #include <asm/octeon/octeon.h> /* @@ -589,6 +590,9 @@ static void octeon_cf_dma_start(struct ata_queued_cmd *qc) /* Set the direction of the DMA */ mio_boot_dma_cfg.u64 = 0; +#ifdef __LITTLE_ENDIAN + mio_boot_dma_cfg.s.endian = 1; +#endif mio_boot_dma_cfg.s.en = 1; mio_boot_dma_cfg.s.rw = ((qc->tf.flags & ATA_TFLAG_WRITE) != 0); |