linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Jassi Brar <jassisinghbrar@gmail.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>,
	"shiraz.hashim@st.com" <shiraz.hashim@st.com>,
	"Koul, Vinod" <vinod.koul@intel.com>,
	"linus.walleij@linaro.org" <linus.walleij@linaro.org>,
	"grant.likely@secretlab.ca" <grant.likely@secretlab.ca>,
	"vipin.kumar@st.com" <vipin.kumar@st.com>,
	"armando.visconti@st.com" <armando.visconti@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>,
	"spi-devel-general@lists.sourceforge.net"
	<spi-devel-general@lists.sourceforge.net>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infrad
Subject: Re: [PATCH V2 6/6] spi/spi-pl022: Request/free DMA channels as and when required.
Date: Wed, 10 Aug 2011 11:40:25 +0100	[thread overview]
Message-ID: <20110810104025.GK1831@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <CABb+yY3SnqKN78U7vLbom1i00m=ThnRVQDVM_iX1TPu=+XzSNQ@mail.gmail.com>

On Wed, Aug 10, 2011 at 04:01:13PM +0530, Jassi Brar wrote:
> 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.

We discussed channel allocation at Linaro.  However, I am now _really_
disappointed.

I discussed this with Linus on the bus back from Cambridge in the evening,
and it appears that the story you gave me was inaccurate - Linus had not
agreed to your proposal and saw more or less the same problems with it
which I've been on at you about via your other email alias/lkml.  So that's
essentially invalidated everything we discussed there as part of my thinking
was "if Linus is happy with it, then...".

I am now convinced that you'll say *anything* just to get your idea into
the kernel.

So, the stakes have now been raised further for you: what I want to see
from you is a _working_ _implementation_ for those three platforms which
I outlined.  I don't want more discussion.  I want patches from you.
Nothing else.  We'll then review the code changes themselves rather than
a vague idea communicated by email/verbally.

  reply	other threads:[~2011-08-10 10:40 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
2011-08-10 10:40           ` Russell King - ARM Linux [this message]
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=20110810104025.GK1831@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --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-kernel@lists.infrad \
    --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).