On Tue, Oct 20, 2009 at 11:45 AM, John Rigby <jcrigby@xxxxxxxxx> wrote: > It is still a work in progress because I have hacked the sdio_irq > thread to poll all the time. I won't get a chance to do a proper fix > for a couple of days at least. > > The main part of the fix was just turning on the cptl in the same > place you turn on the cirq bit. > > Send me a reminder If you get no offers of testing help from anyone > else and I'll try to use my beagle board and wifi card with a modern > kernel. I'm happy to test on Overo. Steve > John > > On Mon, Oct 19, 2009 at 10:47 PM, Dirk Behme <dirk.behme@xxxxxxxxxxxxxx> wrote: >> John Rigby wrote: >>> >>> All, >>> >>> Sorry for the delay, I have been without internet access until just now. >>> >>> I added the cptl bit and I don't get continuous cirqs anymore. >>> >>> Right now I have a hacked driver that still does timed polling in >>> sdio_irq.c >>> and also wakes up on cirq. With this config the libertas works well. A >>> flood ping of 1000 packets loses 2. Previously it was dropping about 30% >>> of >>> the packets from a flood ping. >> >> Great!! :) >> >>> Without the polling in sdio_irq.c I get timeouts in libertas driver so I >>> suspect that we may need to add checks of the DAT1 line in other places >>> like >>> the davinci driver does. As I said before, my kernel is a few months old >>> so >>> my issues may not be the same as current head of tree. >> >> Do you like to send your changes anyway? Just for reference... >> >>> Thanks to all who helped on this. >> >> Now, the job will be to do this with recent kernel, make it stable and in >> the mid term get it applied. >> >> Anybody likes to help with this? >> >> Many thanks and best regards >> >> Dirk >> >>> On Mon, Oct 19, 2009 at 11:24 AM, Madhusudhan <madhu.cr@xxxxxx> wrote: >>> >>>> Hi John, >>>> >>>> >>>> >>>> So does the SDIO card interrupt mode work fine now? >>>> >>>> >>>> >>>> Regards, >>>> >>>> Madhu >>>> >>>> >>>> ------------------------------ >>>> >>>> *From:* John Rigby [mailto:jcrigby@xxxxxxxxx] >>>> *Sent:* Sunday, October 18, 2009 7:24 PM >>>> *To:* Woodruff, Richard >>>> *Cc:* Dirk Behme; Chikkature Rajashekar, Madhusudhan; >>>> linux-mmc@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx; Steve Sakoman >>>> *Subject:* Re: MMC_CAP_SDIO_IRQ for omap 3430 >>>> >>>> >>>> >>>> Ok I was going to ask where you found that but I just rechecked the TRM >>>> and >>>> there it is in plain site: >>>> >>>> When this bit is set to 1, the host controller automatically disables >>>> all >>>> the input buffers except the buffer of mmci_dat[1] outside of a >>>> transaction >>>> in order to detect asynchronous card interrupt on mmci_dat[1] line and >>>> minimize the leakage current of the buffers. >>>> >>>> >>>> In my defence, I did search the TRM for every occurance of dat1 but not >>>> dat[1]. Oh well live and learn and forget and repeat. >>>> >>>> John >>>> >>>> On Sun, Oct 18, 2009 at 6:17 PM, John Rigby <jcrigby@xxxxxxxxx> wrote: >>>>> >>>>> Richard, >>>>> >>>>> MMCHS_CON.CPTL = 1 < Don't disable input buffer on DAT1 after >>>>> completion to allow seeing SDIO interrupt> >>>>> >>>>> Sounds exactly like what we need. >>>>> >>>>> Thanks >>>>> John >>>>> >>>>> On Sun, Oct 18, 2009 at 5:12 PM, Woodruff, Richard <r-woodruff2@xxxxxx> >>>> >>>> wrote: >>>>>>> >>>>>>> From: linux-omap-owner@xxxxxxxxxxxxxxx [mailto:linux-omap- >>>>>>> owner@xxxxxxxxxxxxxxx] On Behalf Of Dirk Behme >>>>>>> Sent: Sunday, October 18, 2009 11:45 AM >>>>>>>> >>>>>>>> It would be funny if the TRM was wrong and the CIRQ bit is really >>>>>>>> cleared by writing 1 to it. I'll try that. >>>>>> >>>>>> A while back I hunted down a few of the bits for this. Maybe this will >>>> >>>> help some. >>>>>> >>>>>> SYSCONFIG.ENAWAKEUP = 1 < allow ocp wrapper to generate an interrupt to >>>> >>>> prcm> >>>>>> >>>>>> MMCHS_HCTL.IWE = 1 < route wake up to module ocp wrapper> >>>>>> MMCHS_CON.CPTL = 1 < Don't disable input buffer on DAT1 after >>>> >>>> completion to allow seeing SDIO interrupt> >>>>>> >>>>>> MMCHS_HCTL.IWE >>>>>> MMCHS_ISE.CIRQ_ENABLE <bit to write to enable interrupt at pin> >>>>>> MMCHS_STAT<bit to write for clear of SDIO interrupt> >>>>>> CCCCR - IRQ_ENABLE (think host stack will do this) >>>>>> >>>>>> Regards, >>>>>> Richard W. >>>>>> >>> >> >> > -- 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