All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Fernandes <joelf-l0cyMroinI0@public.gmane.org>
To: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
Cc: Mark Brown <broonie-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>,
	Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	Sricharan R <r.sricharan-l0cyMroinI0@public.gmane.org>,
	Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
	Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Lokesh Vutla <lokeshvutla-l0cyMroinI0@public.gmane.org>,
	Chris Ball <cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Rajendra Nayak <rnayak-l0cyMroinI0@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Jason Kridner <jkridner-hcmAuCOw+vXj4SYmN/TMmA@public.gmane.org>,
	Linux OMAP List
	<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux ARM Kernel List
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Linux DaVinci Kernel List
	<davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org>,
	Balaji TK <balajitk-l0cyMroinI0@public.gmane.org>,
	Linux MMC List
	<linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Santosh Shilimkar <santosh.shilim>
Subject: Re: [PATCH 7/9] ARM: edma: Don't clear EMR of channel in edma_stop
Date: Wed, 31 Jul 2013 20:59:27 -0500	[thread overview]
Message-ID: <51F9C0FF.7030703@ti.com> (raw)
In-Reply-To: <51F8DA5C.9060503-l0cyMroinI0@public.gmane.org>

On 07/31/2013 04:35 AM, Sekhar Nori wrote:
> On Wednesday 31 July 2013 10:35 AM, Joel Fernandes wrote:
>> On 07/30/2013 03:29 AM, Sekhar Nori wrote:
>>> On Monday 29 July 2013 06:59 PM, Joel Fernandes wrote:
>>>> We certainly don't want error conditions to be cleared anywhere
>>>
>>> 'anywhere' is a really loaded term.
>>>
>>>> as this will make us 'forget' about missed events. We depend on
>>>> knowing which events were missed in order to be able to reissue them.
>>>
>>>> This fixes a race condition where the EMR was being cleared
>>>> by the transfer completion interrupt handler.
>>>>
>>>> Basically, what was happening was:
>>>>
>>>>             Missed event
>>>>              |
>>>>              |
>>>>              V
>>>> SG1-SG2-SG3-Null
>>>>          \
>>>>           \__TC Interrupt (Almost same time as ARM is executing
>>>> TC interrupt handler, an event got missed and also forgotten
>>>> by clearing the EMR).
>>>
>>> Sorry, but I dont see how edma_stop() is coming into picture in the race
>>> you describe?
>>
>> In edma_callback function, for the case of DMA_COMPLETE (Transfer
>> completion interrupt), edma_stop() is called when all sets have been
>> processed. This had the effect of clearing the EMR.
> 
> Ah, thanks. I was missing the fact that the race comes into picture only
> when using the DMA engine driver. I guess that should be mentioned
> somewhere since it is not immediately obvious.
> 
> The patch looks good to me. So if you respin just this one with some
> updated explanation based on what you wrote below, I will take it.

Sure I'll do that. Also the trigger_channel patch, will you be taking
that one too? I can send these 2 in a series as they touch
arch/arm/common/edma.c

Thanks,

-Joel



> 
> Thanks,
> Sekhar
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

WARNING: multiple messages have this Message-ID (diff)
From: joelf@ti.com (Joel Fernandes)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 7/9] ARM: edma: Don't clear EMR of channel in edma_stop
Date: Wed, 31 Jul 2013 20:59:27 -0500	[thread overview]
Message-ID: <51F9C0FF.7030703@ti.com> (raw)
In-Reply-To: <51F8DA5C.9060503@ti.com>

On 07/31/2013 04:35 AM, Sekhar Nori wrote:
> On Wednesday 31 July 2013 10:35 AM, Joel Fernandes wrote:
>> On 07/30/2013 03:29 AM, Sekhar Nori wrote:
>>> On Monday 29 July 2013 06:59 PM, Joel Fernandes wrote:
>>>> We certainly don't want error conditions to be cleared anywhere
>>>
>>> 'anywhere' is a really loaded term.
>>>
>>>> as this will make us 'forget' about missed events. We depend on
>>>> knowing which events were missed in order to be able to reissue them.
>>>
>>>> This fixes a race condition where the EMR was being cleared
>>>> by the transfer completion interrupt handler.
>>>>
>>>> Basically, what was happening was:
>>>>
>>>>             Missed event
>>>>              |
>>>>              |
>>>>              V
>>>> SG1-SG2-SG3-Null
>>>>          \
>>>>           \__TC Interrupt (Almost same time as ARM is executing
>>>> TC interrupt handler, an event got missed and also forgotten
>>>> by clearing the EMR).
>>>
>>> Sorry, but I dont see how edma_stop() is coming into picture in the race
>>> you describe?
>>
>> In edma_callback function, for the case of DMA_COMPLETE (Transfer
>> completion interrupt), edma_stop() is called when all sets have been
>> processed. This had the effect of clearing the EMR.
> 
> Ah, thanks. I was missing the fact that the race comes into picture only
> when using the DMA engine driver. I guess that should be mentioned
> somewhere since it is not immediately obvious.
> 
> The patch looks good to me. So if you respin just this one with some
> updated explanation based on what you wrote below, I will take it.

Sure I'll do that. Also the trigger_channel patch, will you be taking
that one too? I can send these 2 in a series as they touch
arch/arm/common/edma.c

Thanks,

-Joel



> 
> Thanks,
> Sekhar
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joelf@ti.com>
To: Sekhar Nori <nsekhar@ti.com>
Cc: Tony Lindgren <tony@atomide.com>,
	Santosh Shilimkar <santosh.shilimkar@ti.com>,
	Sricharan R <r.sricharan@ti.com>, Rajendra Nayak <rnayak@ti.com>,
	Lokesh Vutla <lokeshvutla@ti.com>,
	Matt Porter <matt@ohporter.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Rob Herring <rob.herring@calxeda.com>,
	Vinod Koul <vinod.koul@intel.com>, Dan Williams <djbw@fb.com>,
	Mark Brown <broonie@linaro.org>,
	Benoit Cousson <benoit.cousson@linaro.org>,
	Russell King <linux@arm.linux.org.uk>,
	Arnd Bergmann <arnd@arndb.de>, Olof Johansson <olof@lixom.net>,
	Balaji TK <balajitk@ti.com>,
	Gururaja Hebbar <gururaja.hebbar@ti.com>,
	Chris Ball <cjb@laptop.org>,
	Jason Kridner <jkridner@beagleboard.org>,
	Linux OMAP List <linux-omap@vger.kernel.org>,
	Linux ARM Kernel List <linux-arm-kernel@lists.infradead.org>,
	Linux DaVinci Kernel List 
	<davinci-linux-open-source@linux.davincidsp.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux MMC List <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH 7/9] ARM: edma: Don't clear EMR of channel in edma_stop
Date: Wed, 31 Jul 2013 20:59:27 -0500	[thread overview]
Message-ID: <51F9C0FF.7030703@ti.com> (raw)
In-Reply-To: <51F8DA5C.9060503@ti.com>

On 07/31/2013 04:35 AM, Sekhar Nori wrote:
> On Wednesday 31 July 2013 10:35 AM, Joel Fernandes wrote:
>> On 07/30/2013 03:29 AM, Sekhar Nori wrote:
>>> On Monday 29 July 2013 06:59 PM, Joel Fernandes wrote:
>>>> We certainly don't want error conditions to be cleared anywhere
>>>
>>> 'anywhere' is a really loaded term.
>>>
>>>> as this will make us 'forget' about missed events. We depend on
>>>> knowing which events were missed in order to be able to reissue them.
>>>
>>>> This fixes a race condition where the EMR was being cleared
>>>> by the transfer completion interrupt handler.
>>>>
>>>> Basically, what was happening was:
>>>>
>>>>             Missed event
>>>>              |
>>>>              |
>>>>              V
>>>> SG1-SG2-SG3-Null
>>>>          \
>>>>           \__TC Interrupt (Almost same time as ARM is executing
>>>> TC interrupt handler, an event got missed and also forgotten
>>>> by clearing the EMR).
>>>
>>> Sorry, but I dont see how edma_stop() is coming into picture in the race
>>> you describe?
>>
>> In edma_callback function, for the case of DMA_COMPLETE (Transfer
>> completion interrupt), edma_stop() is called when all sets have been
>> processed. This had the effect of clearing the EMR.
> 
> Ah, thanks. I was missing the fact that the race comes into picture only
> when using the DMA engine driver. I guess that should be mentioned
> somewhere since it is not immediately obvious.
> 
> The patch looks good to me. So if you respin just this one with some
> updated explanation based on what you wrote below, I will take it.

Sure I'll do that. Also the trigger_channel patch, will you be taking
that one too? I can send these 2 in a series as they touch
arch/arm/common/edma.c

Thanks,

-Joel



> 
> Thanks,
> Sekhar
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


  parent reply	other threads:[~2013-08-01  1:59 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-29 13:29 [PATCH 0/9] dma: edma: Support scatter-lists of any length Joel Fernandes
2013-07-29 13:29 ` Joel Fernandes
2013-07-29 13:29 ` Joel Fernandes
     [not found] ` <1375104595-16018-1-git-send-email-joelf-l0cyMroinI0@public.gmane.org>
2013-07-29 13:29   ` [PATCH 1/9] dma: edma: Setup parameters to DMA MAX_NR_SG at a time Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
2013-07-29 13:29   ` [PATCH 2/9] dma: edma: Write out and handle MAX_NR_SG at a given time Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
2013-07-29 13:29   ` [PATCH 3/9] ARM: edma: Add function to manually trigger an EDMA channel Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
2013-07-29 13:29     ` Joel Fernandes
     [not found]     ` <1375104595-16018-4-git-send-email-joelf-l0cyMroinI0@public.gmane.org>
2013-07-30  5:18       ` Sekhar Nori
2013-07-30  5:18         ` Sekhar Nori
2013-07-30  5:18         ` Sekhar Nori
     [not found]         ` <51F74CAD.3040604-l0cyMroinI0@public.gmane.org>
2013-07-31  4:30           ` Joel Fernandes
2013-07-31  4:30             ` Joel Fernandes
2013-07-31  4:30             ` Joel Fernandes
     [not found]             ` <51F892D2.4090805-l0cyMroinI0@public.gmane.org>
2013-07-31  5:23               ` Sekhar Nori
2013-07-31  5:23                 ` Sekhar Nori
2013-07-31  5:23                 ` Sekhar Nori
     [not found]                 ` <51F89F5E.2050605-l0cyMroinI0@public.gmane.org>
2013-07-31  5:34                   ` Fernandes, Joel
2013-07-31  5:34                     ` Fernandes, Joel
2013-07-29 13:29 ` [PATCH 4/9] dma: edma: Find missed events and issue them Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
     [not found]   ` <1375104595-16018-5-git-send-email-joelf-l0cyMroinI0@public.gmane.org>
2013-07-30  7:05     ` Sekhar Nori
2013-07-30  7:05       ` Sekhar Nori
2013-07-30  7:05       ` Sekhar Nori
     [not found]       ` <51F7659E.3040302-l0cyMroinI0@public.gmane.org>
2013-07-31  4:49         ` Joel Fernandes
2013-07-31  4:49           ` Joel Fernandes
2013-07-31  4:49           ` Joel Fernandes
     [not found]           ` <51F89763.1010102-l0cyMroinI0@public.gmane.org>
2013-07-31  9:18             ` Sekhar Nori
2013-07-31  9:18               ` Sekhar Nori
2013-07-31  9:18               ` Sekhar Nori
     [not found]               ` <51F8D667.2040406-l0cyMroinI0@public.gmane.org>
2013-08-01  2:27                 ` Joel Fernandes
2013-08-01  2:27                   ` Joel Fernandes
2013-08-01  2:27                   ` Joel Fernandes
     [not found]                   ` <51F9C793.2000001-l0cyMroinI0@public.gmane.org>
2013-08-01  3:43                     ` Joel Fernandes
2013-08-01  3:43                       ` Joel Fernandes
2013-08-01  3:43                       ` Joel Fernandes
2013-08-01  4:39                     ` Joel Fernandes
2013-08-01  4:39                       ` Joel Fernandes
2013-08-01  4:39                       ` Joel Fernandes
2013-08-01  6:13                     ` Sekhar Nori
2013-08-01  6:13                       ` Sekhar Nori
2013-08-01  6:13                       ` Sekhar Nori
     [not found]                       ` <51F9FC87.3020706-l0cyMroinI0@public.gmane.org>
2013-08-01 20:28                         ` Joel Fernandes
2013-08-01 20:28                           ` Joel Fernandes
2013-08-01 20:28                           ` Joel Fernandes
     [not found]                           ` <51FAC50A.2020507-l0cyMroinI0@public.gmane.org>
2013-08-01 20:48                             ` Joel Fernandes
2013-08-01 20:48                               ` Joel Fernandes
2013-08-01 20:48                               ` Joel Fernandes
2013-08-02 13:26                             ` Sekhar Nori
2013-08-02 13:26                               ` Sekhar Nori
2013-08-02 13:26                               ` Sekhar Nori
     [not found]                               ` <51FBB371.6030901-l0cyMroinI0@public.gmane.org>
2013-08-02 18:15                                 ` Joel Fernandes
2013-08-02 18:15                                   ` Joel Fernandes
2013-08-02 18:15                                   ` Joel Fernandes
     [not found]                                   ` <51FBF749.4010303-l0cyMroinI0@public.gmane.org>
2013-08-02 23:00                                     ` Joel Fernandes
2013-08-02 23:00                                       ` Joel Fernandes
2013-08-02 23:00                                       ` Joel Fernandes
2013-07-29 13:29 ` [PATCH 5/9] dma: edma: Leave linked to Null slot instead of DUMMY slot Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
2013-07-29 13:29 ` [PATCH 6/9] dma: edma: Detect null slot errors and handle them correctly Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
2013-07-29 13:29 ` [PATCH 7/9] ARM: edma: Don't clear EMR of channel in edma_stop Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
     [not found]   ` <1375104595-16018-8-git-send-email-joelf-l0cyMroinI0@public.gmane.org>
2013-07-30  8:29     ` Sekhar Nori
2013-07-30  8:29       ` Sekhar Nori
2013-07-30  8:29       ` Sekhar Nori
     [not found]       ` <51F77982.7030601-l0cyMroinI0@public.gmane.org>
2013-07-31  5:05         ` Joel Fernandes
2013-07-31  5:05           ` Joel Fernandes
2013-07-31  5:05           ` Joel Fernandes
     [not found]           ` <51F89B0B.4080803-l0cyMroinI0@public.gmane.org>
2013-07-31  9:35             ` Sekhar Nori
2013-07-31  9:35               ` Sekhar Nori
2013-07-31  9:35               ` Sekhar Nori
     [not found]               ` <51F8DA5C.9060503-l0cyMroinI0@public.gmane.org>
2013-08-01  1:59                 ` Joel Fernandes [this message]
2013-08-01  1:59                   ` Joel Fernandes
2013-08-01  1:59                   ` Joel Fernandes
2013-07-29 13:29 ` [PATCH 8/9] dma: edma: Link to dummy slot only for last SG list split Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes
2013-07-29 13:29 ` [PATCH 9/9] dma: edma: remove limits on number of slots Joel Fernandes
2013-07-29 13:29   ` Joel Fernandes

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=51F9C0FF.7030703@ti.com \
    --to=joelf-l0cymroini0@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=balajitk-l0cyMroinI0@public.gmane.org \
    --cc=broonie-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=cjb-2X9k7bc8m7Mdnm+yROfE0A@public.gmane.org \
    --cc=davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=jkridner-hcmAuCOw+vXj4SYmN/TMmA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
    --cc=linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=lokeshvutla-l0cyMroinI0@public.gmane.org \
    --cc=nsekhar-l0cyMroinI0@public.gmane.org \
    --cc=r.sricharan-l0cyMroinI0@public.gmane.org \
    --cc=rnayak-l0cyMroinI0@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org \
    --cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.