RE: [PATCH v2] omap_hsmmc: improve interrupt synchronisation

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

 




> -----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-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux