All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Koul, Vinod" <vinod.koul@intel.com>
To: "viresh.kumar@st.com" <viresh.kumar@st.com>
Cc: "pratyush.anand@st.com" <pratyush.anand@st.com>,
	"rajeev-dlh.kumar@st.com" <rajeev-dlh.kumar@st.com>,
	"bhavna.yadav@st.com" <bhavna.yadav@st.com>,
	"bhupesh.sharma@st.com" <bhupesh.sharma@st.com>,
	"armando.visconti@st.com" <armando.visconti@st.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"jassisinghbrar@gmail.com" <jassisinghbrar@gmail.com>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"spi-devel-general@lists.sourceforge.net"
	<spi-devel-general@lists.sourceforge.net>,
	"vipin.kumar@st.com" <vipin.kumar@st.com>,
	"shiraz.hashim@st.com" <shiraz.hashim@st.com>,
	"Amit.VIRDI@st.com" <Amit.VIRDI@st.com>,
	"vipulkumar.samar@st.com" <vipulkumar.samar@st.com>,
	"viresh.linux@gmail.com" <viresh.linux@gmail.com>,
	"deepak.sikri@st.com" <deepak.sikri@st.com>,
	"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
	"Williams, Dan J" <dan.j.williams@intel.com>, "
Subject: Re: [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required.
Date: Wed, 10 Aug 2011 15:31:42 +0530	[thread overview]
Message-ID: <438BB0150E931F4B9CE701519A4463010871804A15@bgsmsx502.gar.corp.intel.com> (raw)
In-Reply-To: <4E424F7B.2000800@st.com>

On Wed, 2011-08-10 at 14:59 +0530, viresh kumar wrote:
> On 08/10/2011 02:30 PM, Russell King - ARM Linux wrote:
> >> > They must be allocated when they are required and must be freed after we are
> >> > done with transfers. So that they can be used by other users.
> > Which DMA engine driver requires this?
> > 
> 
> dw_dmac.c
> 
> > Normally, when we have DMA engine drivers with multiple request signals,
> > the slave peripheral side publishes several virtual channels which are
> > claimed by the peripheral drivers.  This (amongst other things) allows
> > the peripheral drivers to hold claim to one of the virtual channels
> > all the time that it's required.
> 
> If users of DMA expect DMA engine drivers to work this way, then we should
> have this mentioned clearly in DMA slave documentation.
> 
> @Dan/Vinod: What do you say?
I would agree on both counts :)

In some cases it does make sense to hold the channel for the lifetime
like uart or where the channel has been tied to an interface by SoC
designer.
But in some cases like dw_dmac it seems you can assign channels
dynamically to each usage, and runtime allocation ensures we have best
utilization.
So i would argue that there is no "one size fits all" here, if you can
manage channels dynamically and utilize more efficiently then go ahead,
but if you cant (h/w and usage constraint) then you should not be forced
to do so.

On DMA Engine API, it doesn't force for any of the above. You are free
to choose based on the usage and capability

And on your patch, are you able to dynamically assign the channels for
platform? What is the intended usage? (as Russell articulated it is bad
to dynamically assign channel for something like uart)

-- 
~Vinod

WARNING: multiple messages have this Message-ID (diff)
From: vinod.koul@intel.com (Koul, Vinod)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required.
Date: Wed, 10 Aug 2011 15:31:42 +0530	[thread overview]
Message-ID: <438BB0150E931F4B9CE701519A4463010871804A15@bgsmsx502.gar.corp.intel.com> (raw)
In-Reply-To: <4E424F7B.2000800@st.com>

On Wed, 2011-08-10 at 14:59 +0530, viresh kumar wrote:
> On 08/10/2011 02:30 PM, Russell King - ARM Linux wrote:
> >> > They must be allocated when they are required and must be freed after we are
> >> > done with transfers. So that they can be used by other users.
> > Which DMA engine driver requires this?
> > 
> 
> dw_dmac.c
> 
> > Normally, when we have DMA engine drivers with multiple request signals,
> > the slave peripheral side publishes several virtual channels which are
> > claimed by the peripheral drivers.  This (amongst other things) allows
> > the peripheral drivers to hold claim to one of the virtual channels
> > all the time that it's required.
> 
> If users of DMA expect DMA engine drivers to work this way, then we should
> have this mentioned clearly in DMA slave documentation.
> 
> @Dan/Vinod: What do you say?
I would agree on both counts :)

In some cases it does make sense to hold the channel for the lifetime
like uart or where the channel has been tied to an interface by SoC
designer.
But in some cases like dw_dmac it seems you can assign channels
dynamically to each usage, and runtime allocation ensures we have best
utilization.
So i would argue that there is no "one size fits all" here, if you can
manage channels dynamically and utilize more efficiently then go ahead,
but if you cant (h/w and usage constraint) then you should not be forced
to do so.

On DMA Engine API, it doesn't force for any of the above. You are free
to choose based on the usage and capability

And on your patch, are you able to dynamically assign the channels for
platform? What is the intended usage? (as Russell articulated it is bad
to dynamically assign channel for something like uart)

-- 
~Vinod

  reply	other threads:[~2011-08-10 10:01 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-10  8:50 [PATCH V2 0/6] spi/spi-pl022 fixes Viresh Kumar
2011-08-10  8:50 ` Viresh Kumar
2011-08-10  8:50 ` [PATCH V2 1/6] spi/spi-pl022: Resolve formatting issues Viresh Kumar
2011-08-10  8:50   ` Viresh Kumar
2011-09-20 17:17   ` Grant Likely
2011-09-20 17:17     ` Grant Likely
     [not found] ` <cover.1312965741.git.viresh.kumar-qxv4g6HH51o@public.gmane.org>
2011-08-10  8:50   ` [PATCH V2 2/6] spi/spi-pl022: Use GFP_ATOMIC for allocation from tasklet Viresh Kumar
2011-08-10  8:50     ` Viresh Kumar
2011-08-10  8:50   ` [PATCH V2 3/6] spi/spi-pl022: Don't allocate more sg than required Viresh Kumar
2011-08-10  8:50     ` Viresh Kumar
2011-08-10  8:54     ` Russell King - ARM Linux
2011-08-10  8:54       ` Russell King - ARM Linux
2011-08-10  9:05       ` viresh kumar
2011-08-10  9:05         ` viresh kumar
2011-08-10 11:42     ` Sergei Shtylyov
2011-08-10 11:42       ` Sergei Shtylyov
2011-08-10 11:46       ` viresh kumar
2011-08-10 11:46         ` viresh kumar
2011-08-10  8:50   ` [PATCH V2 4/6] spi/spi-pl022: calculate_effective_freq() must set rate <= requested rate Viresh Kumar
2011-08-10  8:50     ` Viresh Kumar
2011-08-10  8:50   ` [PATCH V2 5/6] spi/spi-pl022: Call pl022_dma_remove(pl022) only if enable_dma is true Viresh Kumar
2011-08-10  8:50     ` Viresh Kumar
2011-08-10  8:50 ` [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required Viresh Kumar
2011-08-10  8:50   ` Viresh Kumar
2011-08-10  9:00   ` Russell King - ARM Linux
2011-08-10  9:00     ` Russell King - ARM Linux
2011-08-10  9:29     ` viresh kumar
2011-08-10  9:29       ` viresh kumar
2011-08-10 10:01       ` Koul, Vinod [this message]
2011-08-10 10:01         ` Koul, Vinod
     [not found]         ` <438BB0150E931F4B9CE701519A4463010871804A15-qq4HA3s+46oFyVwBAnZdSLfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2011-08-10 10:14           ` viresh kumar
2011-08-10 10:14             ` viresh kumar
2011-08-10 10:32             ` Russell King - ARM Linux
2011-08-10 10:32               ` Russell King - ARM Linux
2011-08-10 16:53               ` Koul, Vinod
2011-08-10 16:53                 ` Koul, Vinod
2011-08-10 10:29         ` Russell King - ARM Linux
2011-08-10 10:29           ` Russell King - ARM Linux
2011-08-10 10:31         ` Jassi Brar
2011-08-10 10:31           ` Jassi Brar
2011-08-10 10:40           ` Russell King - ARM Linux
2011-08-10 10:40             ` Russell King - ARM Linux
2011-08-10 11:24             ` Jassi Brar
2011-08-10 11:24               ` Jassi Brar
2011-08-10 11:54               ` Linus Walleij
2011-08-10 11:54                 ` Linus Walleij
2011-08-10 13:16                 ` Jassi Brar
2011-08-10 13:16                   ` Jassi Brar
2011-08-10 20:58                   ` Vinod Koul
2011-08-10 20:58                     ` Vinod Koul
2011-08-10 18:59                     ` Jassi Brar
2011-08-10 18:59                       ` Jassi Brar
2011-08-16 11:55                       ` Koul, Vinod
2011-08-16 11:55                         ` Koul, Vinod
2011-08-16 14:51                         ` Jassi Brar
2011-08-16 14:51                           ` Jassi Brar
2011-08-19 13:49                           ` Koul, Vinod
2011-08-19 13:49                             ` Koul, Vinod
2011-08-11 12:55                   ` Linus Walleij
2011-08-11 12:55                     ` Linus Walleij
2011-08-11 14:22                     ` Jassi Brar
2011-08-11 14:22                       ` Jassi Brar
2011-08-11 14:48                       ` Linus Walleij
2011-08-11 14:48                         ` Linus Walleij
     [not found]                         ` <CAKnu2MptC8HWCNo6W+X9rawn6MCwAe3DB3B5UcHD1tCD9tA2cg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-08-11 17:05                           ` Jassi Brar
2011-08-11 17:05                             ` Jassi Brar
2011-08-11 22:35                         ` Koul, Vinod
2011-08-11 22:35                           ` Koul, Vinod
2011-08-10 10:09       ` Jassi Brar
2011-08-10 10:09         ` Jassi Brar
     [not found]         ` <CABb+yY0Qvuhrn+FUhWDHMwUjv=nR4MOfLeDfTzG17HXEuu2pmA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-08-10 10:30           ` Russell King - ARM Linux
2011-08-10 10:30             ` Russell King - ARM Linux
2011-08-10 10:48             ` Jassi Brar
2011-08-10 10:48               ` Jassi Brar
2011-08-10 11:42 ` [PATCH V3 3/6] spi/spi-pl022: Don't allocate more sg than required Viresh Kumar
2011-08-10 11:42   ` Viresh Kumar
2011-09-01 10:04 ` [PATCH V2 0/6] spi/spi-pl022 fixes Viresh Kumar
2011-09-01 10:04   ` Viresh Kumar
2011-09-01 10:56   ` Linus Walleij
2011-09-01 10:56     ` Linus Walleij
     [not found]     ` <CACRpkdYeq9in+U_tyvb=yVuX2t5TnkUSsO+BozUGVJwZVh+4Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2011-09-20 11:16       ` Viresh Kumar
2011-09-20 11:16         ` Viresh Kumar
2011-09-20 17:23         ` Grant Likely
2011-09-20 17:23           ` Grant Likely

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=438BB0150E931F4B9CE701519A4463010871804A15@bgsmsx502.gar.corp.intel.com \
    --to=vinod.koul@intel.com \
    --cc=Amit.VIRDI@st.com \
    --cc=armando.visconti@st.com \
    --cc=bhavna.yadav@st.com \
    --cc=bhupesh.sharma@st.com \
    --cc=dan.j.williams@intel.com \
    --cc=deepak.sikri@st.com \
    --cc=grant.likely@secretlab.ca \
    --cc=jassisinghbrar@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux@arm.linux.org.uk \
    --cc=pratyush.anand@st.com \
    --cc=rajeev-dlh.kumar@st.com \
    --cc=shiraz.hashim@st.com \
    --cc=spi-devel-general@lists.sourceforge.net \
    --cc=vipin.kumar@st.com \
    --cc=vipulkumar.samar@st.com \
    --cc=viresh.kumar@st.com \
    --cc=viresh.linux@gmail.com \
    /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.