* Madhusudhan <madhu.cr@xxxxxx> [100426 08:17]: > > > > -----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> Nice work Adrian! Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> -- 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