devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>
To: Srikanth Thokala <sthokal-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>
Cc: dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
	vinod.koul-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: Fri, 24 Jan 2014 14:24:27 +0100	[thread overview]
Message-ID: <52E2698B.6070001@metafoo.de> (raw)
In-Reply-To: <CA+mB=1L6yvCwA3mKCwz83LQbXiVau110REV64rYrSzUhGE4ucA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

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.

- Lars

--
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-24 13:24 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 [this message]
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
     [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=52E2698B.6070001@metafoo.de \
    --to=lars-qo5elluwu/uelga04laivw@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=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 \
    --cc=vinod.koul-ral2JQCrhuEAvxtiuMwx3w@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).