[PATCH/2.6.17-rc4 10/10] bugs fix for marvell SATA on powerpc pl atform

Zang Roy-r61911 tie-fei.zang at freescale.com
Wed May 17 20:14:35 EST 2006


Fix Marvell SATA driver bugs on PowerPC platform: 
SATA device can't work for the problem on little-endian mode.
U-Boot can't find SATA device after kernel reboots.

Signed-off-by: Hongjun cheng	<hong-jun.chen at reescale.com>
Signed-off-by: Roy Zang		<tie-fei.zang at freescale.com>

>From nobody Mon Sep 17 00:00:00 2001
From: roy zang <tie-fei.zang at freescale.com>
Date: Tue May 16 15:25:23 2006 +0800
Subject: [PATCH] Fix bugs on powerpc platform for mv sata driver

---

 drivers/scsi/sata_mv.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

d82ac19d259f8487a31105eaf844a93cbd9008e8
diff --git a/drivers/scsi/sata_mv.c b/drivers/scsi/sata_mv.c
index d5fdcb9..4166422 100644
--- a/drivers/scsi/sata_mv.c
+++ b/drivers/scsi/sata_mv.c
@@ -1032,6 +1032,9 @@ static inline void mv_crqb_pack_cmd(u16 
 {
 	*cmdw = data | (addr << CRQB_CMD_ADDR_SHIFT) | CRQB_CMD_CS |
 		(last ? CRQB_CMD_LAST : 0);
+#ifdef CONFIG_PPC
+	*cmdw = cpu_to_le16(*cmdw);
+#endif
 }
 
 /**
@@ -1567,13 +1570,18 @@ static void mv5_read_preamp(struct mv_ho
 static void mv5_enable_leds(struct mv_host_priv *hpriv, void __iomem *mmio)
 {
 	u32 tmp;
-
+#ifndef CONFIG_PPC
 	writel(0, mmio + MV_GPIO_PORT_CTL);
+#endif
 
 	/* FIXME: handle MV_HP_ERRATA_50XXB2 errata */
 
 	tmp = readl(mmio + MV_PCI_EXP_ROM_BAR_CTL);
+#ifdef CONFIG_PPC
+	tmp &= ~(1 << 0);
+#else	
 	tmp |= ~(1 << 0);
+#endif
 	writel(tmp, mmio + MV_PCI_EXP_ROM_BAR_CTL);
 }
 
-- 
1.3.0



More information about the Linuxppc-dev mailing list