mmc: dw_mmc: set the card_width bit per card.
authorSeungwon Jeon <tgih.jun@samsung.com>
Mon, 20 Jun 2011 08:23:53 +0000 (17:23 +0900)
committerChris Ball <cjb@laptop.org>
Wed, 20 Jul 2011 21:20:53 +0000 (17:20 -0400)
This patch sets the card_width bit of CTYPE for the corresponding card.

CTYPE[31] and CTYPE[16] correspond respectively to card[15] and card[0]
for 8-bit mode. And CTYPE[15] and CTYPE[0] correspond respectively to
card[15] and CTYPE[0] for 1-bit or 4-bit mode.

Signed-off-by: Seungwon Jeon <tgih.jun@samsung.com>
Acked-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/dw_mmc.c

index 66dcddb9c20592690c31cd233af7354018c1f4b2..1ca830c171fde45111923f4cfe3207c68d09ec87 100644 (file)
@@ -574,7 +574,7 @@ static void dw_mci_setup_bus(struct dw_mci_slot *slot)
        }
 
        /* Set the current slot bus width */
-       mci_writel(host, CTYPE, slot->ctype);
+       mci_writel(host, CTYPE, (slot->ctype << slot->id));
 }
 
 static void dw_mci_start_request(struct dw_mci *host,