All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: alsa-devel@alsa-project.org, kuninori.morimoto.gx@renesas.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: Thu, 3 May 2018 21:57:14 +0530	[thread overview]
Message-ID: <20180503162714.GX6014@localhost> (raw)
In-Reply-To: <20180426163007.5632-2-ckeepax@opensource.cirrus.com>

On Thu, Apr 26, 2018 at 05:30:05PM +0100, Charles Keepax wrote:
> It is proposed that the model adopted for compressed component
> support currently should be that multiple components are supported
> on a compressed DAI but that they must provide a unified set of
> capabilities. So for example having multiple components involved in
> the decode is fine but the core will not presently attempt to make
> smart decisions like offloading MP3 to this component and AAC another.

Well this is supposed to be entirely a userspace call, we just present
devices with capabilities and the usespace decides... Btw capabilities are
supposed to be dynamic.

Looking at the code again now, I realized that we are treating compress like
PCM. It makes little sense to me to have multiple components for a
compressed device, does that model on your systems..?

> To implement this it is suggested that callbacks configuring the state
> of the components (trigger, set_params, ack and set_metadata) should be
> called on all components and required to succeed on all components
> before being considered to have succeeded. However for callbacks that
> return information from the driver (copy, get_metadata, pointer,
> get_codec_caps, get_caps and get_params) it is expected that either
> there is only a single provider on the link or that all components
> will return identical results.
> 
> Essentially this matches the current implementation of the code and
> only small clean ups are undertaken here.

> For callbacks configuring the state of the components simplify the
> code a little and make intention clearer by aborting as soon as an
> error is encountered. The operation has already failed and there is
> nothing to be gained from processing the additional callbacks.
> 
> For callbacks returning information from the driver only look for the
> first callback provided, currently the code will call every callback
> only returning the information provided by the last. Again this makes
> the currently supported feature set a little more clear.

Btw code changes look fine but I think we need broader cleanup here...

-- 
~Vinod

  reply	other threads:[~2018-05-03 16:22 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 [this message]
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
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=20180503162714.GX6014@localhost \
    --to=vinod.koul@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=patches@opensource.cirrus.com \
    --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.