Hi,
here's a trivial patch which adds R6 reponse support to the au1xmmc
driver. Fixes SD card detection / operation.
---
Add Response type R6 support to the au1xmmc driver; fixes SD card
detection and operation.
Signed-off-by: Manuel Lauss <[email protected]>
--- a/drivers/mmc/au1xmmc.c~ 2007-01-23 10:52:33.771983000 +0100
+++ b/drivers/mmc/au1xmmc.c 2007-01-23 10:52:33.771983000 +0100
@@ -205,6 +205,9 @@ static int au1xmmc_send_command(struct a
case MMC_RSP_R3:
mmccmd |= SD_CMD_RT_3;
break;
+ case MMC_RSP_R6:
+ mmccmd |= SD_CMD_RT_6;
+ break;
}
switch(cmd->opcode) {
Manuel Lauss wrote:
> Hi,
>
> here's a trivial patch which adds R6 reponse support to the au1xmmc
> driver. Fixes SD card detection / operation.
>
NAK. MMC_RSP_R1 and MMC_RSP_R6 have the same value so this will break
the switch.
Rgds
--
-- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
On Tue, Jan 23, 2007 at 07:56:51PM +0100, Pierre Ossman wrote:
> > here's a trivial patch which adds R6 reponse support to the au1xmmc
> > driver. Fixes SD card detection / operation.
> >
> NAK. MMC_RSP_R1 and MMC_RSP_R6 have the same value so this will break
> the switch.
not in my version of 2.6.20-rc5 (and 2.6.19):
#define MMC_RSP_R1 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC)
Without the patch, SD card detection stops with CMD7 returning error.
Thanks,
--
mll.
On Wed, Jan 24, 2007 at 06:52:02AM +0100, Manuel Lauss wrote:
> On Tue, Jan 23, 2007 at 07:56:51PM +0100, Pierre Ossman wrote:
> > > here's a trivial patch which adds R6 reponse support to the au1xmmc
> > > driver. Fixes SD card detection / operation.
> > >
> > NAK. MMC_RSP_R1 and MMC_RSP_R6 have the same value so this will break
> > the switch.
>
> not in my version of 2.6.20-rc5 (and 2.6.19):
>
> #define MMC_RSP_R1 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)
> #define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC)
>
> Without the patch, SD card detection stops with CMD7 returning error.
Correction: it fails at SD_SEND_RELATIVE_ADDR (it's the only command
which request R6 response)
--
ml.
Manuel Lauss wrote:
>
> not in my version of 2.6.20-rc5 (and 2.6.19):
>
HEAD has this fixed. Every spec I can get my hands on states that R1 and
R6 have the same format. So it sounds like this controller is doing
something stupid.
>
> Without the patch, SD card detection stops with CMD7 returning error.
>
Can I see a dump with MMC_DEBUG enabled?
On a related note... Would you, or anyone else you know, be willing to
sign up as official maintainer of this driver? Otherwise I'll have to
mark it as unmaintained.
Rgds
--
-- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
Hi Pierre,
> HEAD has this fixed. Every spec I can get my hands on states that R1 and
> R6 have the same format. So it sounds like this controller is doing
> something stupid.
Apparently my HW is broken... I got a hold of a DB1200 demoboard and
the distributed version works fine there.
I'm very sorry for the noise!
> On a related note... Would you, or anyone else you know, be willing to
> sign up as official maintainer of this driver? Otherwise I'll have to
> mark it as unmaintained.
Aren't people from AMD (now Raza) maintaining it? I have source for this
driver which also implements SDIO, also from AMD. It's a bit dated (for
2.6.11). But I'm willing to look into problems, as long as I have access
to the hardware.
Thanks for your time,
--
ml.
Hi Pierre,
>
> > HEAD has this fixed. Every spec I can get my hands on states that R1 and
> > R6 have the same format. So it sounds like this controller is doing
> > something stupid.
>
> Apparently my HW is broken... I got a hold of a DB1200 demoboard and
> the distributed version works fine there.
Actually, the bug is that because of MMC_RSP_R6 not being handled in
the switch in au1xmmc_send_command(), the controller gets told that
no response is expected. I changed the R6 to R1 in mmc.h, thats why
it worked in the demoboard, and it also works now on the previously
thought-to-be-broken HW.
So it's only broken in releases < 2.6.20-rc6.
Thanks,
--
ml.
Manuel Lauss wrote:
>
> Actually, the bug is that because of MMC_RSP_R6 not being handled in
> the switch in au1xmmc_send_command(), the controller gets told that
> no response is expected. I changed the R6 to R1 in mmc.h, thats why
> it worked in the demoboard, and it also works now on the previously
> thought-to-be-broken HW.
>
So in order to detect any similar problems in the future, I'd like a
patch that adds a "default:" to that switch statement.
Rgds
--
-- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org
Manuel Lauss wrote:
>
> Apparently my HW is broken... I got a hold of a DB1200 demoboard and
> the distributed version works fine there.
>
> I'm very sorry for the noise!
>
No problem. Better safe than sorry.
>
> Aren't people from AMD (now Raza) maintaining it? I have source for this
> driver which also implements SDIO, also from AMD. It's a bit dated (for
> 2.6.11). But I'm willing to look into problems, as long as I have access
> to the hardware.
>
I have not heard anything from Raza, so I wouldn't even know who to
contact there.
Rgds
--
-- Pierre Ossman
Linux kernel, MMC maintainer http://www.kernel.org
PulseAudio, core developer http://pulseaudio.org
rdesktop, core developer http://www.rdesktop.org