All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: xiang xiao <xiaoxiang781216@gmail.com>
Cc: "Daniel Baluta" <daniel.baluta@gmail.com>,
	"Kumar Gala" <kumar.gala@linaro.org>,
	andriy.shevchenko@intel.com, tiwai@suse.de,
	"Arnaud POULIQUEN" <arnaud.pouliquen@st.com>,
	linux-remoteproc@vger.kernel.org, alsa-devel@alsa-project.org,
	"Bjorn Andersson" <bjorn.andersson@linaro.org>,
	liam.r.girdwood@linux.intel.com, "Vinod Koul" <vkoul@kernel.org>,
	broonie@kernel.org,
	"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
	"Xiang Xiao" <xiaoxiang@xiaomi.com>,
	"Alan Cox" <alan@linux.intel.com>,
	wendy.liang@xilinx.com, sound-open-firmware@alsa-project.org,
	安超 <anchao@pinecone.net>, 李桂丁 <liguiding@pinecone.net>,
	zhongan@pinecone.net
Subject: Re: [alsa-devel] [Sound-open-firmware] [v4, 00/14] ASoC: Sound Open Firmware (SOF) core
Date: Fri, 22 Feb 2019 15:52:33 -0600	[thread overview]
Message-ID: <47956eb2-c4a5-bd73-12ce-f5ddfa5d108a@linux.intel.com> (raw)
In-Reply-To: <CAH2Cfb9Ubbt1c4TVD8CLFPhxNW8vCCKkPhX96qpYyiV2jCi04w@mail.gmail.com>


>>> We can share our rpmsg based topology implementation as reference which:
>>> 1.About 2500 lines(much less than SOF)
>>> 2.Support pcm and compress playback/capture
>>> 3.No any vendor dependence(thanks for rpmsg/remoteproc)
>> Sure. Where's the code? What's the license?
>>
> The code is base on 4.19 kernel, I could upstream the code basing on
> the latest kernel in the next couple days for reference.
> the license is GPL, of course.
I'll be looking forward to the code. My turn to provide comments :-)
>
>> Most of the SOF code is really in hardware-specific .ops callbacks and
>> topology handling, the generic IPC layer is only ~800 lines of code.
>> rpmsg would allow for easier portability but a significant reduction of
>> the code size is unlikely.
>>
> The reduce come from:
> 1.Move firmware load and dsp start/stop to remoteproc layer.
> 2.Move IPC buffer/mailbox to rpmsg layer.

You are not going to see a lot of code reduction here, at the end of the 
day most of the code comes from hardware-specific register access...

> 3.Reuse ASoC topology parser to generate the audio graph.
> 4.Reuse ASoC DAMP to control the graph node state change(run/stop/pause/resume).
> 5.Use the general machine driver glue all individual components
the last 3 points are already how SOF works, wondering if there is a 
misunderstanding... We are using topology/DAPM directly without any 
reinvention or duplication, as measured by the multiple fixes we 
provided to the frameworks in the last few weeks. Also when 
dedicated/custom topology tokens are needed, you still need code to deal 
with them and send the relevant configuration to firmware, whatever the 
transport format might be.

WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: xiang xiao <xiaoxiang781216@gmail.com>
Cc: zhongan@pinecone.net, "Daniel Baluta" <daniel.baluta@gmail.com>,
	"Kumar Gala" <kumar.gala@linaro.org>,
	andriy.shevchenko@intel.com, tiwai@suse.de,
	"Arnaud POULIQUEN" <arnaud.pouliquen@st.com>,
	linux-remoteproc@vger.kernel.org, alsa-devel@alsa-project.org,
	"Bjorn Andersson" <bjorn.andersson@linaro.org>,
	liam.r.girdwood@linux.intel.com, 李桂丁 <liguiding@pinecone.net>,
	"Vinod Koul" <vkoul@kernel.org>,
	broonie@kernel.org,
	"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
	"Xiang Xiao" <xiaoxiang@xiaomi.com>, 安超 <anchao@pinecone.net>,
	sound-open-firmware@alsa-project.org, wendy.liang@xilinx.com,
	"Alan Cox" <alan@linux.intel.com>
Subject: Re: [Sound-open-firmware] [v4, 00/14] ASoC: Sound Open Firmware (SOF) core
Date: Fri, 22 Feb 2019 15:52:33 -0600	[thread overview]
Message-ID: <47956eb2-c4a5-bd73-12ce-f5ddfa5d108a@linux.intel.com> (raw)
In-Reply-To: <CAH2Cfb9Ubbt1c4TVD8CLFPhxNW8vCCKkPhX96qpYyiV2jCi04w@mail.gmail.com>


>>> We can share our rpmsg based topology implementation as reference which:
>>> 1.About 2500 lines(much less than SOF)
>>> 2.Support pcm and compress playback/capture
>>> 3.No any vendor dependence(thanks for rpmsg/remoteproc)
>> Sure. Where's the code? What's the license?
>>
> The code is base on 4.19 kernel, I could upstream the code basing on
> the latest kernel in the next couple days for reference.
> the license is GPL, of course.
I'll be looking forward to the code. My turn to provide comments :-)
>
>> Most of the SOF code is really in hardware-specific .ops callbacks and
>> topology handling, the generic IPC layer is only ~800 lines of code.
>> rpmsg would allow for easier portability but a significant reduction of
>> the code size is unlikely.
>>
> The reduce come from:
> 1.Move firmware load and dsp start/stop to remoteproc layer.
> 2.Move IPC buffer/mailbox to rpmsg layer.

You are not going to see a lot of code reduction here, at the end of the 
day most of the code comes from hardware-specific register access...

> 3.Reuse ASoC topology parser to generate the audio graph.
> 4.Reuse ASoC DAMP to control the graph node state change(run/stop/pause/resume).
> 5.Use the general machine driver glue all individual components
the last 3 points are already how SOF works, wondering if there is a 
misunderstanding... We are using topology/DAPM directly without any 
reinvention or duplication, as measured by the multiple fixes we 
provided to the frameworks in the last few weeks. Also when 
dedicated/custom topology tokens are needed, you still need code to deal 
with them and send the relevant configuration to firmware, whatever the 
transport format might be.

  reply	other threads:[~2019-02-22 21:52 UTC|newest]

Thread overview: 81+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-13 22:07 [PATCH v4 00/14] ASoC: Sound Open Firmware (SOF) core Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 01/14] ASoC: SOF: Add Sound Open Firmware driver core Pierre-Louis Bossart
2019-02-14  9:25   ` Takashi Iwai
2019-02-14 14:53     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-19 15:38       ` Mark Brown
2019-02-20 14:35         ` Pierre-Louis Bossart
2019-02-20 16:26           ` Mark Brown
2019-02-20 21:32             ` Pierre-Louis Bossart
2019-02-21 18:47               ` Mark Brown
2019-02-22  0:08                 ` Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 02/14] ASoC: SOF: Add Sound Open Firmware KControl support Pierre-Louis Bossart
2019-02-14  9:30   ` Takashi Iwai
2019-02-14 14:35     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-14 15:21       ` Takashi Iwai
2019-02-13 22:07 ` [PATCH v4 03/14] ASoC: SOF: Add driver debug support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 04/14] ASoC: SOF: Add support for IPC IO between DSP and Host Pierre-Louis Bossart
2019-02-14 11:52   ` Takashi Iwai
2019-02-14 14:56     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-20 17:31       ` Mark Brown
2019-02-13 22:07 ` [PATCH v4 05/14] ASoC: SOF: Add PCM operations support Pierre-Louis Bossart
2019-02-14 11:20   ` Takashi Iwai
2019-02-14 15:07     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-14 20:42       ` Pierre-Louis Bossart
2019-02-18 15:51   ` Daniel Baluta
2019-02-13 22:07 ` [PATCH v4 06/14] ASoC: SOF: Add support for loading topologies Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 07/14] ASoC: SOF: Add DSP firmware logger support Pierre-Louis Bossart
2019-02-14 13:19   ` Takashi Iwai
2019-02-14 15:13     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-20 17:44   ` Mark Brown
2019-02-20 20:18     ` Pierre-Louis Bossart
2019-02-21 12:29       ` Andy Shevchenko
2019-02-21 14:57         ` Pierre-Louis Bossart
2019-02-21 15:04         ` Mark Brown
2019-02-13 22:07 ` [PATCH v4 08/14] ASoC: SOF: Add DSP HW abstraction operations Pierre-Louis Bossart
2019-02-14 13:21   ` Takashi Iwai
2019-02-14 15:22     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-14 13:45   ` Andy Shevchenko
2019-02-14 15:21     ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 09/14] ASoC: SOF: Add firmware loader support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 10/14] ASoC: SOF: Add userspace ABI support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 11/14] ASoC: SOF: Add PM support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 12/14] ASoC: SOF: Add Nocodec machine driver support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 13/14] ASoC: SOF: Add xtensa support Pierre-Louis Bossart
2019-02-13 22:07 ` [PATCH v4 14/14] ASoC: SOF: Add utils Pierre-Louis Bossart
2019-02-14 13:33   ` Takashi Iwai
2019-02-14 13:37     ` Takashi Iwai
2019-02-18 20:03 ` [v4,00/14] ASoC: Sound Open Firmware (SOF) core Xiang Xiao
2019-02-19  9:49   ` [alsa-devel] " Srinivas Kandagatla
2019-02-19  9:49     ` Srinivas Kandagatla
2019-02-19 15:09     ` [alsa-devel] " xiang xiao
2019-02-19 15:09       ` xiang xiao
2019-02-19 15:55       ` [alsa-devel] " Pierre-Louis Bossart
2019-02-19 15:55         ` Pierre-Louis Bossart
2019-02-21  4:39         ` [alsa-devel] " Vinod Koul
2019-02-21  4:39           ` Vinod Koul
2019-02-21 10:42           ` [alsa-devel] " Arnaud Pouliquen
2019-02-21 10:42             ` Arnaud Pouliquen
2019-02-21 11:28             ` [alsa-devel] " Mark Brown
2019-02-21 11:28               ` Mark Brown
2019-02-21 23:49               ` [alsa-devel] " Pierre-Louis Bossart
2019-02-21 23:49                 ` Pierre-Louis Bossart
2019-02-21 15:27           ` [alsa-devel] " Pierre-Louis Bossart
2019-02-21 15:27             ` Pierre-Louis Bossart
2019-02-22  8:32             ` [alsa-devel] " xiang xiao
2019-02-22  8:32               ` xiang xiao
2019-02-22 11:15               ` [alsa-devel] " Keyon Jie
2019-02-22 11:15                 ` Keyon Jie
2019-02-22 18:21                 ` [alsa-devel] " xiang xiao
2019-02-22 18:21                   ` xiang xiao
2019-02-25  3:05                   ` [Sound-open-firmware] [alsa-devel] [v4, 00/14] " Keyon Jie
2019-02-25  3:05                     ` [Sound-open-firmware] " Keyon Jie
2019-02-22 14:48               ` [Sound-open-firmware] [alsa-devel] " Pierre-Louis Bossart
2019-02-22 14:48                 ` [Sound-open-firmware] " Pierre-Louis Bossart
2019-02-22 18:41                 ` [Sound-open-firmware] [alsa-devel] " xiang xiao
2019-02-22 18:41                   ` [Sound-open-firmware] " xiang xiao
2019-02-22 21:52                   ` Pierre-Louis Bossart [this message]
2019-02-22 21:52                     ` Pierre-Louis Bossart
2019-02-23 16:42                     ` [alsa-devel] " xiang xiao
2019-02-23 16:42                       ` xiang xiao
2019-02-25 10:16                 ` [Sound-open-firmware] [alsa-devel] " Srinivas Kandagatla
2019-02-25 10:16                   ` [Sound-open-firmware] " Srinivas Kandagatla

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=47956eb2-c4a5-bd73-12ce-f5ddfa5d108a@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alan@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=anchao@pinecone.net \
    --cc=andriy.shevchenko@intel.com \
    --cc=arnaud.pouliquen@st.com \
    --cc=bjorn.andersson@linaro.org \
    --cc=broonie@kernel.org \
    --cc=daniel.baluta@gmail.com \
    --cc=kumar.gala@linaro.org \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=liguiding@pinecone.net \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=sound-open-firmware@alsa-project.org \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=tiwai@suse.de \
    --cc=vkoul@kernel.org \
    --cc=wendy.liang@xilinx.com \
    --cc=xiaoxiang781216@gmail.com \
    --cc=xiaoxiang@xiaomi.com \
    --cc=zhongan@pinecone.net \
    /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.