lkml.org 
[lkml]   [2012]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 2/2] ata: pata_octeon_cf: Use correct byte order for DMA in when built little-endian.
Date
From: David Daney <david.daney@cavium.com>

We need to set the 'endian' bit in this case.

Signed-off-by: David Daney <david.daney@cavium.com>
---
drivers/ata/pata_octeon_cf.c | 4 ++++
1 file changed, 4 insertions(+)

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);

--
1.7.11.2


\
 
 \ /
  Last update: 2012-08-18 02:41    [W:0.175 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site