Re: [PATCH v2] omap_hsmmc: improve interrupt synchronisation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* 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

[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux