> -----Original Message----- > From: svenkatr@xxxxxxxxx [mailto:svenkatr@xxxxxxxxx] On Behalf Of > Venkatraman S > Sent: Monday, April 26, 2010 4:01 AM > To: Adrian Hunter > Cc: Madhusudhan Chikkature; linux-mmc Mailing List; linux-omap Mailing > List > Subject: Re: [PATCH v2] omap_hsmmc: improve interrupt synchronisation > > Adrian Hunter <adrian.hunter@xxxxxxxxx> wrote: > > From ad2e1cd024ccf9144b6620cfe808893719db738f Mon Sep 17 00:00:00 2001 > > From: Adrian Hunter <adrian.hunter@xxxxxxxxx> > > Date: Wed, 14 Apr 2010 16:26:45 +0300 > > Subject: [PATCH] omap_hsmmc: improve interrupt synchronisation > > > > The following changes were needed: > > - do not use in_interrupt() because it will not work > > with threaded interrupts > > > > In addition, the following improvements were made: > > - ensure DMA is unmapped only after the final DMA interrupt > > - ensure a request is completed only after the final DMA > interrupt > > - disable controller interrupts when a request is not in progress > > - remove the spin-lock protecting the start of a new request from > > an unexpected interrupt because the locking was complicated and > > a 'req_in_progress' flag suffices (since the spin-lock only > defers > > the unexpected interrupts anyway) > > - instead use the spin-lock to protect the MMC interrupt handler > > from the DMA interrupt handler > > - remove the semaphore preventing DMA from being started while > > the previous DMA is still in progress - the other changes make > that > > impossible, so it is now a BUG_ON condition > > - ensure the controller interrupt status is clear before exiting > > the interrrupt handler > > > > In general, these changes make the code safer but do not fix any > specific > > bugs so backporting is not necessary. > > > > Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> > > --- > > > > > > Changes from version 1: > > - use a spin-lock to protect the MMC interrupt handler > > from the DMA interrupt handler > > - use do {} while loop instead of goto in omap_hsmmc_irq > > > > S Venkatraman's request to use omap_hsmmc_dma_cleanup(host, 0) in > > omap_hsmmc_dma_cb() was not done because the code was not > > sufficiently the same. <snip> > This looks good and I don't have any other comments. > I have tested, on MMC and SD cards which I have, > a) Basic file read / write > b) boot with filesystem on ext3 partition on SD card > on OMAP3 and OMAP4 SDP. > > So you can add, > Tested-by: Venkatraman S <svenkatr@xxxxxx> I reviewed the V2 patch. I don?t have any comments too. Acked-by: Madhusudhan Chikkature <madhu.cr@xxxxxx> -- 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