All of lore.kernel.org
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.cirrus.com>
To: Vinod Koul <vinod.koul@linaro.org>
Cc: alsa-devel@alsa-project.org, kuninori.morimoto.gx@renesas.com,
	Vinod Koul <vinod.koul@intel.com>,
	patches@opensource.cirrus.com, lgirdwood@gmail.com,
	vkoul@kernel.org, broonie@kernel.org
Subject: Re: [PATCH 2/4] ASoC: compress: Clarify the intent of current compressed ops handling
Date: Tue, 8 May 2018 14:09:18 +0100	[thread overview]
Message-ID: <20180508130918.GX20410@imbe.wolfsonmicro.main> (raw)
In-Reply-To: <20180508120453.GA22536@vkoul-mobl>

On Tue, May 08, 2018 at 05:34:53PM +0530, Vinod Koul wrote:
> On 08-05-18, 11:52, Charles Keepax wrote:
> > On Tue, May 08, 2018 at 02:03:19PM +0530, Vinod Koul wrote:
> > > On 04-05-18, 12:59, Charles Keepax wrote:
> > > > On Thu, May 03, 2018 at 09:57:14PM +0530, Vinod Koul wrote:
> > > > > On Thu, Apr 26, 2018 at 05:30:05PM +0100, Charles Keepax wrote:
> > > > That said however, thinking about it more I do think there are
> > > > pretty reasonable systems that have multiple components on a
> > > > compressed DAI. For example I could imagine a system where you
> > > > have a DSP on both the AP and CODEC ends of the DAI link and
> > > > they split the decode doing some work on each. In that case
> > > > one would want calls like open and set_params to go to both
> > > > components.
> > > 
> > > Am not sure if we can split the decode into multiple DSPs like
> > > this :) Yes one can do processing and one can decode if both have
> > > the capability but I don't forsee that being split, so not sure
> > > if we need it!!!
> > >
> > 
> > I think you definitely could split the decode across multiple
> > DSPs like that, we have had processing split across multiple
> > cores for various things on the CODECs. That said "Need it"
> > is very strong, I would say such a system is plausible but
> > not something I am aware anyone is actually building right now.
> 
> well processing is different, we are dealing with PCM data.
> Decode is one shot, you get PCM output and then can do whatever
> you want with it.
> 
> If decode is split what is the output format ;-)
> 

The end output format is still PCM, but what is passed from the
DSP on the AP to the DSP on the CODEC could be anything. And
decode is hardly one shot, most decodes are made up of many
steps (frequency domain transforms, lookup tables, etc.). It seems
like we are slightly talking at cross purposes here, I wonder is
this because you are thinking mostly of the DPCM compressed case
where it looks like it is mostly hard-coded to use a PCM backend?
Whereas I am thinking more of how our systems is used where it is
a direct compressed DAI so there isn't really a backend?

> > I guess my thinking was that the system is basically already
> > supporting multiple components so it seemed like a step
> > backwards to rip it out given there are plausible systems were
> > it might be useful. And this patch is really just tidying up
> > the already submitted code a little rather than changing the
> > functionality in any substancial way.
> > 
> > That said if you feel strongly about it, I certainly don't
> > need the support in the foreseeable future. I am happy to
> > go back to something similar to my earlier patch that just
> > locates the first device with compressed ops and calls the
> > ops on that?  Although it might still be worth merging this
> > one as an intermediate tidy up in that case.
> 
> Going back would be better, I leave it upto Mark on how he wants
> to do this, either way am fine if end goal is met :)
> 

Alright will wait and see what Mark thinks, but will dig out my
original patch on the assumption that is probably the way we are
going.

Thanks,
Charles

  reply	other threads:[~2018-05-08 13:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26 16:30 [PATCH 1/4] ASoC: compress: Only assign compr->ops->copy once Charles Keepax
2018-04-26 16:30 ` [PATCH 2/4] ASoC: compress: Clarify the intent of current compressed ops handling Charles Keepax
2018-05-03 16:27   ` Vinod Koul
2018-05-04 11:59     ` Charles Keepax
2018-05-04 12:04       ` Charles Keepax
2018-05-08  8:33       ` Vinod Koul
2018-05-08 10:52         ` Charles Keepax
2018-05-08 12:04           ` Vinod Koul
2018-05-08 13:09             ` Charles Keepax [this message]
2018-04-26 16:30 ` [PATCH 3/4] ASoC: compress: Add helper functions for component trigger/set_params Charles Keepax
2018-04-26 16:30 ` [PATCH 4/4] ASoC: compress: Fix up some trivial formatting issues Charles Keepax
2018-05-11  3:25   ` Applied "ASoC: compress: Fix up some trivial formatting issues" to the asoc tree Mark Brown
2018-05-03 16:28 ` [PATCH 1/4] ASoC: compress: Only assign compr->ops->copy once Vinod Koul
2018-05-11  3:25 ` Applied "ASoC: compress: Only assign compr->ops->copy once" to the asoc tree Mark Brown

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=20180508130918.GX20410@imbe.wolfsonmicro.main \
    --to=ckeepax@opensource.cirrus.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=patches@opensource.cirrus.com \
    --cc=vinod.koul@intel.com \
    --cc=vinod.koul@linaro.org \
    --cc=vkoul@kernel.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.