* [patch 3/5] MMC OMAP driver
@ 2006-01-31 13:37 Anderson Briglia
2006-01-31 15:02 ` Pierre Ossman
2006-02-01 10:21 ` Russell King
0 siblings, 2 replies; 3+ messages in thread
From: Anderson Briglia @ 2006-01-31 13:37 UTC (permalink / raw)
To: linux-kernel; +Cc: Russell King - ARM Linux, Tony Lindgren
Here are some misc fixes we've had in the OMAP tree. Might be worth
testing them on other platforms too.
Index: linux-2.6.15-mmc_omap/drivers/mmc/mmc.c
===================================================================
--- linux-2.6.15-mmc_omap.orig/drivers/mmc/mmc.c 2006-01-30 10:24:50.000000000 -0400
+++ linux-2.6.15-mmc_omap/drivers/mmc/mmc.c 2006-01-30 10:25:19.000000000 -0400
@@ -704,6 +704,7 @@ static void mmc_power_up(struct mmc_host
int bit = fls(host->ocr_avail) - 1;
host->ios.vdd = bit;
+ host->ios.clock = host->f_min;
host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN;
host->ios.chip_select = MMC_CS_DONTCARE;
host->ios.power_mode = MMC_POWER_UP;
@@ -712,7 +713,6 @@ static void mmc_power_up(struct mmc_host
mmc_delay(1);
- host->ios.clock = host->f_min;
host->ios.power_mode = MMC_POWER_ON;
host->ops->set_ios(host, &host->ios);
@@ -747,6 +747,7 @@ static int mmc_send_op_cond(struct mmc_h
if (cmd.resp[0] & MMC_CARD_BUSY || ocr == 0)
break;
+ mmc_delay(1);
err = MMC_ERR_TIMEOUT;
mmc_delay(10);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [patch 3/5] MMC OMAP driver
2006-01-31 13:37 [patch 3/5] MMC OMAP driver Anderson Briglia
@ 2006-01-31 15:02 ` Pierre Ossman
2006-02-01 10:21 ` Russell King
1 sibling, 0 replies; 3+ messages in thread
From: Pierre Ossman @ 2006-01-31 15:02 UTC (permalink / raw)
To: Anderson Briglia; +Cc: linux-kernel, Russell King - ARM Linux, Tony Lindgren
Anderson Briglia wrote:
> Here are some misc fixes we've had in the OMAP tree. Might be worth
> testing them on other platforms too.
>
> Index: linux-2.6.15-mmc_omap/drivers/mmc/mmc.c
> ===================================================================
> --- linux-2.6.15-mmc_omap.orig/drivers/mmc/mmc.c 2006-01-30 10:24:50.000000000 -0400
> +++ linux-2.6.15-mmc_omap/drivers/mmc/mmc.c 2006-01-30 10:25:19.000000000 -0400
> @@ -704,6 +704,7 @@ static void mmc_power_up(struct mmc_host
> int bit = fls(host->ocr_avail) - 1;
>
> host->ios.vdd = bit;
> + host->ios.clock = host->f_min;
> host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN;
> host->ios.chip_select = MMC_CS_DONTCARE;
> host->ios.power_mode = MMC_POWER_UP;
> @@ -712,7 +713,6 @@ static void mmc_power_up(struct mmc_host
>
> mmc_delay(1);
>
> - host->ios.clock = host->f_min;
> host->ios.power_mode = MMC_POWER_ON;
> host->ops->set_ios(host, &host->ios);
>
Why? What you're doing there is enable the clock at the same time as the
power, instead of just the power first. To me, that seems less safe.
> @@ -747,6 +747,7 @@ static int mmc_send_op_cond(struct mmc_h
> if (cmd.resp[0] & MMC_CARD_BUSY || ocr == 0)
> break;
>
> + mmc_delay(1);
> err = MMC_ERR_TIMEOUT;
>
> mmc_delay(10);
This seems particularly useless. Probably just a remnant from a separate
mmc_delay() addition to the one that's in mainline now.
Rgds
Pierre
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [patch 3/5] MMC OMAP driver
2006-01-31 13:37 [patch 3/5] MMC OMAP driver Anderson Briglia
2006-01-31 15:02 ` Pierre Ossman
@ 2006-02-01 10:21 ` Russell King
1 sibling, 0 replies; 3+ messages in thread
From: Russell King @ 2006-02-01 10:21 UTC (permalink / raw)
To: Anderson Briglia; +Cc: linux-kernel, Tony Lindgren
On Tue, Jan 31, 2006 at 09:37:11AM -0400, Anderson Briglia wrote:
> Here are some misc fixes we've had in the OMAP tree. Might be worth
> testing them on other platforms too.
I've already provided feedback on this a year or so ago - and it
annoys me that absolutely _nothing_ has happened as a result.
The quoted part of this patch is WRONG and will _NEVER_ be merged.
You must NOT enable the clock until the power is stable. Maybe
this is a cause of the problems that you're seeing with various
cards, since you're not allowing them to reset correctly?
Fix this first, then re-test to see if every other fix you have
is actually necessary.
Sorry, but not following the power up protocol invalidates all other
testing wrt card initialisation behaviour.
> Index: linux-2.6.15-mmc_omap/drivers/mmc/mmc.c
> ===================================================================
> --- linux-2.6.15-mmc_omap.orig/drivers/mmc/mmc.c 2006-01-30 10:24:50.000000000 -0400
> +++ linux-2.6.15-mmc_omap/drivers/mmc/mmc.c 2006-01-30 10:25:19.000000000 -0400
> @@ -704,6 +704,7 @@ static void mmc_power_up(struct mmc_host
> int bit = fls(host->ocr_avail) - 1;
>
> host->ios.vdd = bit;
> + host->ios.clock = host->f_min;
> host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN;
> host->ios.chip_select = MMC_CS_DONTCARE;
> host->ios.power_mode = MMC_POWER_UP;
> @@ -712,7 +713,6 @@ static void mmc_power_up(struct mmc_host
>
> mmc_delay(1);
>
> - host->ios.clock = host->f_min;
> host->ios.power_mode = MMC_POWER_ON;
> host->ops->set_ios(host, &host->ios);
>
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 Serial core
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2006-02-01 10:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-01-31 13:37 [patch 3/5] MMC OMAP driver Anderson Briglia
2006-01-31 15:02 ` Pierre Ossman
2006-02-01 10:21 ` Russell King
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).