public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
From: vinod.koul@intel•com (Vinod Koul)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH v7] DMA: sun6i: Add driver for the Allwinner A31 DMA controller
Date: Wed, 21 May 2014 10:59:01 +0530	[thread overview]
Message-ID: <20140521052901.GH21128@intel.com> (raw)
In-Reply-To: <20140508031949.GQ7047@lukather>

On Wed, May 07, 2014 at 10:19:49PM -0500, Maxime Ripard wrote:
> On Fri, May 02, 2014 at 10:04:29PM +0530, Vinod Koul wrote:
> > On Wed, Apr 30, 2014 at 02:53:22PM -0700, Maxime Ripard wrote:
> > > Hi Vinod,
> > > 
> > > On Wed, Apr 30, 2014 at 12:34:08PM +0530, Vinod Koul wrote:
> > > > On Thu, Apr 24, 2014 at 04:22:44PM +0200, Maxime Ripard wrote:
> > > > > +static inline void sun6i_dma_free(struct sun6i_dma_dev *sdc)
> > > > > +{
> > > > > +	int i;
> > > > > +
> > > > > +	for (i = 0; i < NR_MAX_VCHANS; i++) {
> > > > > +		struct sun6i_vchan *vchan = &sdc->vchans[i];
> > > > > +
> > > > > +		list_del(&vchan->vc.chan.device_node);
> > > > > +		tasklet_kill(&vchan->vc.task);
> > > > > +	}
> > > > > +
> > > > > +	tasklet_kill(&sdc->task);
> > > > This is again not good. see http://lwn.net/Articles/588457/
> > > > At this point HW can still generate interrupts or you can have irq running!
> > > 
> > > I'm not sure to fully understand the issue here, but what is not good?
> > > the first or the second tasklet_kill calls, or both?
> > > 
> > > From what I understood, the issue is only there whenever you are
> > > calling tasklet_disable without making sure that no one will schedule
> > > your tasklet before disabling it.
> > > 
> > > But the point is I don't actually use either _enable/_disable. I might
> > > be wrong in not using those functions, but I don't really see how I
> > > can be impacted.
> > 
> > Well that was one part of it. How do you ensure the tasklet is not scheduled
> > while and after you are killing it. You need to ensure irq is disabled and pending irqs
> > have finished processing. I dont see that bit.
> 
> Ok. I'll change that.
> 
> Do you want me to use tasklet_enable and tasklet_disable as well?
I dont think it will help in this usage.

-- 
~Vinod
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140521/082dfe3b/attachment.sig>

  reply	other threads:[~2014-05-21  5:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-24 14:22 [PATCH v7] Add support for the Allwinner A31 DMA Controller Maxime Ripard
2014-04-24 14:22 ` [PATCH v7] DMA: sun6i: Add driver for the Allwinner A31 DMA controller Maxime Ripard
2014-04-30  7:04   ` Vinod Koul
2014-04-30 21:53     ` Maxime Ripard
2014-05-02 16:34       ` Vinod Koul
2014-05-08  3:19         ` Maxime Ripard
2014-05-21  5:29           ` Vinod Koul [this message]
2014-05-13 13:42     ` Maxime Ripard
2014-05-21  5:31       ` Vinod Koul
2014-05-21  8:58         ` Maxime Ripard
2014-05-21 11:02           ` Vinod Koul
2014-05-20 12:40   ` [linux-sunxi] " Emilio López
2014-05-20 12:52     ` Shevchenko, Andriy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140521052901.GH21128@intel.com \
    --to=vinod.koul@intel$(echo .)com \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox