Hi Johan, Did you get a chance to test my patch? Regards, Subhash > -----Original Message----- > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc- > owner@xxxxxxxxxxxxxxx] On Behalf Of Subhash Jadavani > Sent: Monday, April 11, 2011 5:38 PM > To: 'Johan'; linux-mmc@xxxxxxxxxxxxxxx > Cc: bryanh@xxxxxxxxxxxxxx > Subject: RE: Problem when using SDIO interrupts on Nexus One > > Hi Johan, > > > -----Original Message----- > > From: linux-mmc-owner@xxxxxxxxxxxxxxx [mailto:linux-mmc- > > owner@xxxxxxxxxxxxxxx] On Behalf Of Johan > > Sent: Friday, April 08, 2011 12:53 AM > > To: linux-mmc@xxxxxxxxxxxxxxx > > Subject: Problem when using SDIO interrupts on Nexus One > > > > I have a Nexus One Android phone and I am trying to use a SDIO device > > connected to the memory slot available on the phone. This device uses > > SDIO interrupts on SD_D1 to signal interrupts to the host. > > > > I am using a 2.6-32 kernel from the android-msm-2.6.32 branch > > available from git://android.git.kernel.org/kernel/msm.git and has > > built the kernel with the mahimahi_defconfig. > > > > I have modified drivers/mmc/host/msm_sdcc.c so that SDIO interrupts > is > > used -> msmsdcc_sdioirq = 1; > > > > My device is working quite well with SDIO interrupts but sometime I > > can miss a interrupt and will get this interrupt when I try to send a > > command to my device. I can see this behaviour if my device tries to > > signal a interrupt 1 second of the last command sent to the device. > > The SDIO interrupt line goes low and the host does not signal the > > interrupt at once. My assumption is that this is due to some kind of > > power management of the SDIO controller. I will get this interrupt > > when I activate the SDIO controller by sending a command to my > device. > > I have verified this with a logic analyzer attached to the bus and > > can attach a screen shot if anyone wants to see this. > > > > So my question is if anyone know how to get reliable SDIO interrupts > > on this host, Qualcomm MSM? It seems like Qualcomm does not provide > > documentation for this host. > > I had a look at the msm_sdcc.c and it looks like all the SDCC > interrupts are masked when driver goes into Suspend. So when you say > interrupts are getting missed it might be the case that system is in > suspend state. > > To fix this, you can keep the SDIO interrupts enabled while going into > suspend. I have made a patch (attached with this mail) with this > change. > Please give a try and let me know if it works for you or not. > > Regards, > Subhash > > > > > Best Regards > > Johan > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-mmc" > > in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo > > info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html