devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
Cc: Srikanth Thokala
	<sthokal-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
	dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support
Date: Tue, 28 Jan 2014 08:39:16 +0530	[thread overview]
Message-ID: <20140128030916.GG10628@intel.com> (raw)
In-Reply-To: <52E54849.2000208-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>

On Sun, Jan 26, 2014 at 06:39:21PM +0100, Lars-Peter Clausen wrote:
> On 01/26/2014 02:59 PM, Vinod Koul wrote:
> > On Fri, Jan 24, 2014 at 02:24:27PM +0100, Lars-Peter Clausen wrote:
> >> On 01/24/2014 12:16 PM, Srikanth Thokala wrote:
> >>> Hi Lars,
> >>>
> >>> On Thu, Jan 23, 2014 at 4:55 PM, Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org> wrote:
> >>>> On 01/22/2014 05:52 PM, Srikanth Thokala wrote:
> >>>> [...]
> >>>>> +/**
> >>>>> + * xilinx_vdma_device_control - Configure DMA channel of the device
> >>>>> + * @dchan: DMA Channel pointer
> >>>>> + * @cmd: DMA control command
> >>>>> + * @arg: Channel configuration
> >>>>> + *
> >>>>> + * Return: '0' on success and failure value on error
> >>>>> + */
> >>>>> +static int xilinx_vdma_device_control(struct dma_chan *dchan,
> >>>>> +                                   enum dma_ctrl_cmd cmd, unsigned long arg)
> >>>>> +{
> >>>>> +     struct xilinx_vdma_chan *chan = to_xilinx_chan(dchan);
> >>>>> +
> >>>>> +     switch (cmd) {
> >>>>> +     case DMA_TERMINATE_ALL:
> >>>>> +             xilinx_vdma_terminate_all(chan);
> >>>>> +             return 0;
> >>>>> +     case DMA_SLAVE_CONFIG:
> >>>>> +             return xilinx_vdma_slave_config(chan,
> >>>>> +                                     (struct xilinx_vdma_config *)arg);
> >>>>
> >>>> You really shouldn't be overloading the generic API with your own semantics.
> >>>> DMA_SLAVE_CONFIG should take a dma_slave_config and nothing else.
> >>>
> >>> Ok.  The driver needs few additional configuration from the slave
> >>> device like Vertical
> >>> Size, Horizontal Size,  Stride etc., for the DMA transfers, in that case do you
> >>> suggest me to define a separate dma_ctrl_cmd like the one FSLDMA_EXTERNAL_START
> >>> defined for Freescale drivers?
> >>
> >> In my opinion it is not a good idea to have driver implement a generic API,
> >> but at the same time let the driver have custom semantics for those API
> >> calls. It's a bit like having a gpio driver that expects 23 and 42 as the
> >> values passed to gpio_set_value instead of 0 and 1. It completely defeats
> >> the purpose of a generic API, namely that you are able to write generic code
> >> that makes use of the API without having to know about which implementation
> >> API it is talking to. The dmaengine framework provides the
> >> dmaengine_prep_interleaved_dma() function to setup two dimensional
> >> transfers, e.g. take a look at sirf-dma.c or imx-dma.c.
> > 
> > The question here i think would be waht this device supports? Is the hardware
> > capable of doing interleaved transfers, then would make sense.
> 
> The hardware does 2D transfers. The parameters for a transfer are height,
> width and stride. That's only a subset of what interleaved transfers can be
> (xt->num_frames must be one for 2d transfers). But if I remember correctly
> there has been some discussion on this in the past and the result of that
> discussion was that using interleaved transfers for 2D transfers is
> preferred over adding a custom API for 2D transfers.
Yup that would be my recomendation. Moving this driver to interleaved API seems
right to me

-- 
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2014-01-28  3:09 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-22 16:52 [PATCH v2] Add Xilinx AXI Video DMA Engine driver Srikanth Thokala
2014-01-22 16:52 ` [PATCH v2] dma: Add Xilinx AXI Video Direct Memory Access Engine driver support Srikanth Thokala
     [not found]   ` <1390409565-4200-2-git-send-email-sthokal-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
2014-01-22 21:30     ` Levente Kurusa
     [not found]       ` <CAAsK9AFGM+852N-F98p32JSHEpg5ZKv-0wyzFGx9675GBp7gQg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-23 17:35         ` Srikanth Thokala
2014-01-23 11:25   ` Lars-Peter Clausen
     [not found]     ` <52E0FC22.8060903-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-23 13:38       ` Shevchenko, Andriy
2014-01-23 13:50         ` Lars-Peter Clausen
     [not found]           ` <52E11E39.6090901-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-23 14:00             ` Andy Shevchenko
2014-01-23 14:07               ` Lars-Peter Clausen
     [not found]                 ` <52E12224.9060506-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-26 14:03                   ` Vinod Koul
2014-01-26 17:41                     ` Lars-Peter Clausen
2014-01-24 11:16     ` Srikanth Thokala
     [not found]       ` <CA+mB=1L6yvCwA3mKCwz83LQbXiVau110REV64rYrSzUhGE4ucA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-24 13:24         ` Lars-Peter Clausen
2014-01-26 13:59           ` Vinod Koul
2014-01-26 17:39             ` Lars-Peter Clausen
2014-01-27 13:12               ` Srikanth Thokala
2014-01-28  3:13                 ` Vinod Koul
     [not found]                   ` <20140128031324.GH10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-31  6:51                     ` Srikanth Thokala
2014-02-05 16:25                       ` Srikanth Thokala
     [not found]                         ` <CA+mB=1L9XFC8h_qW_-K-cv5sYondL_0NiLr=9XCFxwWRjDHn1Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-05 16:30                           ` Lars-Peter Clausen
     [not found]                             ` <52F26716.3010203-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-02-06 13:34                               ` Srikanth Thokala
     [not found]                                 ` <CA+mB=1JX5K9Cu=9WGyr_e9tUtVz6ypT9UxhJU9BNJbQA9eaRKA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-06 15:53                                   ` Lars-Peter Clausen
2014-02-10 12:51                                     ` Srikanth Thokala
     [not found]               ` <52E54849.2000208-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
2014-01-28  3:09                 ` Vinod Koul [this message]
     [not found]             ` <20140126135933.GD10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-27 11:06               ` Srikanth Thokala
     [not found]                 ` <CA+mB=1Jwjn+KSO9yFr=LNVjk3khf0b-LLQamYf+nnSF4bODGPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-01-31  6:52                   ` Srikanth Thokala
     [not found]                     ` <CA+mB=1LyX0_VVXZQ-=m3gR2RBeumLrnPTUW3j+Zm1nj7a4exHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-04  5:28                       ` Vinod Koul
     [not found]                         ` <20140204052810.GO10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-02-04 10:35                           ` Srikanth Thokala
2014-01-31 17:44           ` Andy Gross
     [not found]             ` <20140131174451.GA20512-zC7DfRvBq/JWk0Htik3J/w@public.gmane.org>
2014-02-01 18:23               ` Lars-Peter Clausen
2014-01-23 13:32   ` Andy Shevchenko
2014-01-23 17:52     ` Srikanth Thokala
2014-01-26 14:24   ` Vinod Koul
     [not found]     ` <20140126142436.GF10628-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-01-26 17:46       ` Lars-Peter Clausen

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=20140128030916.GG10628@intel.com \
    --to=vinod.koul-ral2jqcrhueavxtiumwx3w@public.gmane.org \
    --cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sthokal-gjFFaj9aHVfQT0dZR+AlfA@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 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).