From: vinod.koul@intel.com (Vinod Koul)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] dmaengine: sirf: add dmaengine_prep_slave_single/sg support
Date: Tue, 3 Sep 2013 17:42:20 +0530 [thread overview]
Message-ID: <20130903121220.GH15824@intel.com> (raw)
In-Reply-To: <CAGsJ_4wpFNq7Rv3Y9keJjko70VKnsiivwpzGM2YT_pROo59Xtg@mail.gmail.com>
On Tue, Sep 03, 2013 at 08:42:36PM +0800, Barry Song wrote:
> > Why not:
> >
> > Okay there are two ways to this
> > 1. Advertize your capablity and let client use that to break. You cna do so
> > using dma_set/get_max_seg_size().
> >
>
> this way is ok. does max_seg also match with interleaved mode?
i dont see a reason not to..
>
>
> > 2. in DMAC, nothing stops you from breaking the given sg_list into smaller
> > chunks. So if you get a buffer exceeding what you do, you cna internally split
> > to multiple descriptors and chain those to parent one.
>
> this way still need hacking in dmac driver.
Yup but you get a driver which cna handle any buffers any lists, which is very
nice from users POV
>
> >
> >>
> >> >
> >> >> >> + spin_lock_irqsave(&schan->lock, iflags);
> >> >> >> + list_for_each(l, &schan->free)
> >> >> >> + desc_cnt++;
> >> >> > why dont you allocate descriptors here. That will remove this limitation..
> >> >>
> >> >> i understand. here sirf user scenerios will never be over the
> >> >> limitation of SIRFSOC_DMA_DESCRIPTORS = 16. so i don't want to make it
> >> >> too complex.
> >> > I think you can make code simler by dynamically allocating and freeing
> >> > descriptors...
> >>
> >> when do you think is the right time to free? while the whole sg
> >> finished? i always think the code will be ugly.
> > when the descriptor has been completed. You allocate in prepare. Bunch of driver
> > already do so... I dont think its so complicated
>
> here sirf dmac alloc all 16 desc in alloc_resoures and free all in
> free_resources. if we can move the way you said, it is fine.
> but it seems it means another separate patch for that.
Sure...
~Vinod
--
next prev parent reply other threads:[~2013-09-03 12:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-25 12:57 [PATCH] dmaengine: sirf: add dmaengine_prep_slave_single/sg support Barry Song
2013-08-26 8:56 ` Vinod Koul
2013-09-01 13:02 ` Barry Song
2013-09-02 6:25 ` Vinod Koul
2013-09-03 10:06 ` Barry Song
2013-09-03 11:39 ` Vinod Koul
2013-09-03 12:42 ` Barry Song
2013-09-03 12:12 ` Vinod Koul [this message]
2013-09-03 11:55 ` Jassi Brar
2013-09-03 12:08 ` Vinod Koul
2013-09-03 13:15 ` Jassi Brar
2013-09-03 12:38 ` Barry Song
2013-09-03 12:54 ` Jassi Brar
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=20130903121220.GH15824@intel.com \
--to=vinod.koul@intel.com \
--cc=linux-arm-kernel@lists.infradead.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.