linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jassi Brar <jassisinghbrar@gmail.com>
To: "Koul, Vinod" <vinod.koul@intel.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>,
	"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>,
	"linux-arm-kernel@lists.infradead.org" <linux-arm-kernel
Subject: Re: [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required.
Date: Wed, 10 Aug 2011 16:01:13 +0530	[thread overview]
Message-ID: <CABb+yY3SnqKN78U7vLbom1i00m=ThnRVQDVM_iX1TPu=+XzSNQ@mail.gmail.com> (raw)
In-Reply-To: <438BB0150E931F4B9CE701519A4463010871804A15@bgsmsx502.gar.corp.intel.com>

On Wed, Aug 10, 2011 at 3:31 PM, Koul, Vinod <vinod.koul@intel.com> wrote:
> 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.

The idea is to have channel allocation as purely a s/w thing - no
actual commitment
of h/w resources. So we can afford to have channel allocated for the
whole lifetime
of a client.

Some dmac drivers are written 'improperly', keeping in mind the
platforms that have fixed
ReqSig->Peri map and no more clients than actual req-sigs are active
simultaneously.
But such dmac drivers will fail if a new platform decides to hijack req-signals.

So, imho, it is absolutely a good thing for every dmac driver to be
designed for re-routable
ReqSig->Peri map... which would force their design to allocate
virtual/software channels to clients
without commit much(any?) h/w resources.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

Thread overview: 42+ 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 ` [PATCH V2 1/6] spi/spi-pl022: Resolve formatting issues Viresh Kumar
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   ` [PATCH V2 3/6] spi/spi-pl022: Don't allocate more sg than required Viresh Kumar
2011-08-10  8:54     ` Russell King - ARM Linux
2011-08-10  9:05       ` viresh kumar
2011-08-10 11:42     ` Sergei Shtylyov
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   ` [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 ` [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required Viresh Kumar
2011-08-10  9:00   ` Russell King - ARM Linux
2011-08-10  9:29     ` viresh kumar
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:32             ` Russell King - ARM Linux
2011-08-10 16:53               ` Koul, Vinod
2011-08-10 10:29         ` Russell King - ARM Linux
2011-08-10 10:31         ` Jassi Brar [this message]
2011-08-10 10:40           ` Russell King - ARM Linux
2011-08-10 11:24             ` Jassi Brar
2011-08-10 11:54               ` Linus Walleij
2011-08-10 13:16                 ` Jassi Brar
2011-08-10 20:58                   ` Vinod Koul
2011-08-10 18:59                     ` Jassi Brar
2011-08-16 11:55                       ` Koul, Vinod
2011-08-16 14:51                         ` Jassi Brar
2011-08-19 13:49                           ` Koul, Vinod
2011-08-11 12:55                   ` Linus Walleij
2011-08-11 14:22                     ` Jassi Brar
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 22:35                         ` Koul, Vinod
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: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-09-01 10:04 ` [PATCH V2 0/6] spi/spi-pl022 fixes Viresh Kumar
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 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='CABb+yY3SnqKN78U7vLbom1i00m=ThnRVQDVM_iX1TPu=+XzSNQ@mail.gmail.com' \
    --to=jassisinghbrar@gmail.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=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=vinod.koul@intel.com \
    --cc=vipin.kumar@st.com \
    --cc=vipulkumar.samar@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).