From: Peter Ujfalusi <peter.ujfalusi-l0cyMroinI0@public.gmane.org>
To: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>,
Vinod Koul <vinod.koul-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org,
Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>,
joelf-l0cyMroinI0@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
mporter-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Takashi Iwai <tiwai-l3A5Bk7waGM@public.gmane.org>,
Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v2 05/14] arm: common: edma: Select event queue 1 as default when booted with DT
Date: Wed, 16 Apr 2014 15:59:28 +0300 [thread overview]
Message-ID: <534E7EB0.9000601@ti.com> (raw)
In-Reply-To: <534BF181.6060503-l0cyMroinI0@public.gmane.org>
On 04/14/2014 05:32 PM, Sekhar Nori wrote:
>> Yes, you can. But as soon as you have other devices using the same priority
>> (with eDMA3 at least) and asks for a 'long' transfer it can ruin the audio.
>> During audio playback/capture you execute a long MMC read for example can
>> introduce a glitch.
>>
>>> Moreover, IMHO, encoding it in DT now will make it an ABI. Without a
>>> wide variety of example use cases, I think it is too early to commit to
>>> an ABI.
>>
>> True, but we need to start from somewhere?
>
> Right, and based on our IRC discussion, we are not really fixing up the
> priority value space. That makes me much more comfortable with the idea.
The only thing we should agree on is the 0 means lowest priority. I think this
will help in case when a new kernel is fed with an older dt blob where the
property does not exist.
>
>>>> Not sure if we should set the range for this either. What I was thinking is to
>>>> add an optional new property to be set by the client nodes, using DMA:
>>>>
>>>> mcasp0: mcasp@48038000 {
>>>> compatible = "ti,am33xx-mcasp-audio";
>>>> ...
>>>> dmas = <&edma 8>,
>>>> <&edma 9>;
>>>> dma-names = "tx", "rx";
>>>> dma-priorities = <2>, <2>;
>>>> };
>>>>
>
>>>> We could agree that lower number means lower priority, higher is - well -
>>>> higher priority.
>
> Even this does not have to be uniform across, right? The numbers could
> be left to interpretation per-SoC.
>
>>>> If the dma-priority is missing we should assume lowest priority (0).
>>>> The highest priority depends on the platform. For eDMA3 in AM335x it is three
>>>> level. For designware controller you might have the range 0-8 as valid.
>>>>
>>>> The question is how to get this information into use?
>>>> We can take the priority number in the core when the dma channel is requested
>>>> and add field to "struct dma_chan" in order to store it and the DMA drivers
>>>> could have access to it.
>
> How about Vinod's idea of extending dma_slave_config? Priority is
> similar to rest of the runtime setup dmaengine_slave_config() is meant
> to do.
The dma_slave_config is prepared by the client drivers, so they would need to
be updated to handle the priority for the DMA. This would lead to duplicated
code - unless we have a small function in dmaengine core to fetch this
information, but still all dmaengine clients would need to call that.
IMHO it would be better to let the dmaengine core to take the priority for the
channel when it has been asked so client drivers does not need to know about it.
--
Péter
next prev parent reply other threads:[~2014-04-16 12:59 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-01 13:06 [PATCH v2 00/14] dma: edma: Fixes for cyclic (audio) operation Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 02/14] dma: edma: Correct the handling of src/dst_maxburst == 0 Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 04/14] dma: edma: Set DMA_CYCLIC capability flag Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 05/14] arm: common: edma: Select event queue 1 as default when booted with DT Peter Ujfalusi
[not found] ` <1396357575-30585-6-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2014-04-10 16:23 ` Joel Fernandes
2014-04-11 8:17 ` Sekhar Nori
[not found] ` <5347A4FD.1030803-l0cyMroinI0@public.gmane.org>
2014-04-11 8:50 ` Peter Ujfalusi
[not found] ` <5347ACDE.7040407-l0cyMroinI0@public.gmane.org>
2014-04-11 8:56 ` Sekhar Nori
[not found] ` <5347AE49.5020109-l0cyMroinI0@public.gmane.org>
2014-04-11 9:38 ` Peter Ujfalusi
2014-04-11 9:42 ` Vinod Koul
[not found] ` <20140411094217.GA32284-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-11 10:19 ` Sekhar Nori
2014-04-11 11:32 ` Peter Ujfalusi
2014-04-11 11:31 ` Vinod Koul
[not found] ` <20140411113154.GB32284-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-11 12:23 ` Peter Ujfalusi
2014-04-11 12:46 ` Vinod Koul
[not found] ` <20140411124641.GC32284-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-14 11:56 ` Peter Ujfalusi
[not found] ` <534BCCD3.9060805-l0cyMroinI0@public.gmane.org>
2014-04-14 12:12 ` Sekhar Nori
[not found] ` <534BD0B5.5000004-l0cyMroinI0@public.gmane.org>
2014-04-14 12:41 ` Peter Ujfalusi
[not found] ` <534BD788.3050406-l0cyMroinI0@public.gmane.org>
2014-04-14 14:32 ` Sekhar Nori
[not found] ` <534BF181.6060503-l0cyMroinI0@public.gmane.org>
2014-04-16 12:59 ` Peter Ujfalusi [this message]
[not found] ` <534E7EB0.9000601-l0cyMroinI0@public.gmane.org>
2014-04-16 16:05 ` Joel Fernandes
[not found] ` <534EAA49.7030702-l0cyMroinI0@public.gmane.org>
2014-04-24 9:07 ` Peter Ujfalusi
2014-04-11 20:16 ` Joel Fernandes
[not found] ` <1396357575-30585-1-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2014-04-01 13:06 ` [PATCH v2 01/14] platform_data: edma: Be precise with the paRAM struct Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 03/14] dma: edma: Add support for DMA_PAUSE/RESUME operation Peter Ujfalusi
2014-04-11 16:43 ` Vinod Koul
[not found] ` <20140411164327.GD32284-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-11 20:51 ` Joel Fernandes
2014-04-01 13:06 ` [PATCH v2 06/14] arm: common: edma: Save the number of event queues/TCs Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 07/14] arm: common: edma: API to request non default queue for a channel Peter Ujfalusi
2014-04-11 8:43 ` Sekhar Nori
2014-04-01 13:06 ` [PATCH v2 08/14] DMA: edma: Use different eventq for cyclic channels Peter Ujfalusi
[not found] ` <1396357575-30585-9-git-send-email-peter.ujfalusi-l0cyMroinI0@public.gmane.org>
2014-04-10 16:36 ` Joel Fernandes
[not found] ` <5346C88E.8010504-l0cyMroinI0@public.gmane.org>
2014-04-11 16:47 ` Vinod Koul
[not found] ` <20140411164755.GE32284-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-04-11 20:56 ` Joel Fernandes
2014-04-01 13:06 ` [PATCH v2 09/14] dma: edma: Implement device_slave_caps callback Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 10/14] dma: edma: Simplify direction configuration in edma_config_pset() Peter Ujfalusi
2014-04-10 22:40 ` Joel Fernandes
[not found] ` <53471DC5.4090001-l0cyMroinI0@public.gmane.org>
2014-04-11 6:39 ` Peter Ujfalusi
[not found] ` <53478E0E.8040709-l0cyMroinI0@public.gmane.org>
2014-04-11 19:57 ` Joel Fernandes
2014-04-10 22:52 ` [PATCH v2 00/14] dma: edma: Fixes for cyclic (audio) operation Joel Fernandes
2014-04-01 13:06 ` [PATCH v2 11/14] dma: edma: Reduce debug print verbosity for non verbose debugging Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 12/14] dma: edma: Prefix debug prints where the text were identical in prep callbacks Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 13/14] dma: edma: Add channel number to debug prints Peter Ujfalusi
2014-04-01 13:06 ` [PATCH v2 14/14] dma: edma: Print the direction value as well when it is not supported Peter Ujfalusi
2014-04-11 16:52 ` [PATCH v2 00/14] dma: edma: Fixes for cyclic (audio) operation Vinod Koul
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=534E7EB0.9000601@ti.com \
--to=peter.ujfalusi-l0cymroini0@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org \
--cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=joelf-l0cyMroinI0@public.gmane.org \
--cc=lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mporter-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=nsekhar-l0cyMroinI0@public.gmane.org \
--cc=tiwai-l3A5Bk7waGM@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).