public inbox for alsa-devel@alsa-project.org
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Mark Brown <broonie@kernel.org>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de,
	liam.r.girdwood@linux.intel.com, patches.audio@intel.com,
	Jeeja KP <jeeja.kp@intel.com>,
	"Subhransu S. Prusty" <subhransu.s.prusty@intel.com>
Subject: Re: [PATCH 4/9] ASoC: Intel: Skylake: Add FE and BE hw_params handling
Date: Sat, 15 Aug 2015 20:43:22 +0530	[thread overview]
Message-ID: <20150815151322.GI13546@localhost> (raw)
In-Reply-To: <20150815144646.GD10748@sirena.org.uk>


[-- Attachment #1.1: Type: text/plain, Size: 3048 bytes --]

On Sat, Aug 15, 2015 at 07:46:46AM -0700, Mark Brown wrote:
> On Sat, Aug 15, 2015 at 07:30:14PM +0530, Vinod Koul wrote:
> > On Fri, Aug 14, 2015 at 10:53:10PM +0100, Mark Brown wrote:
> > > On Sat, Aug 08, 2015 at 01:06:19AM +0530, Subhransu S. Prusty wrote:
> 
> > > > +	/*
> > > > +	 * 16 bit is 16 bit container whereas 24 bit is in 32 bit container so
> > > > +	 * update bit depth accordingly
> > > > +	 */
> > > > +	if (format->valid_bit_depth == SKL_DEPTH_16BIT)
> > > > +		format->bit_depth = format->valid_bit_depth;
> > > > +	else if (format->valid_bit_depth == SKL_DEPTH_24BIT)
> > > > +		format->bit_depth = SKL_DEPTH_32BIT;
> > > > +
> 
> > > What if the depth is neither 16 bit nor 24 bit?  Shouldn't this just be
> > > a simple override for the 24 bit case?
> 
> > These are the only two DSP supports, so am not sure that overriding will
> > work with DSP. I think we should add else and error out.
> 
> Then write a switch statement.  :/

Ok

> 
> > > > +static int skl_tplg_be_set_params(struct snd_soc_dai *dai,
> > > > +					struct snd_soc_dapm_widget *w,
> > > > +					struct skl_pipe_params *params)
> > > > +{
> > > > +	if (!w->power) {
> > > > +		dev_dbg(dai->dev, "set params for widget=%s\n", w->name);
> > > > +		return skl_tplg_be_fill_pipe_params(dai, w->priv, params);
> > > > +	}
> > > > +
> > > > +	return -EINVAL;
> > > 
> > > Shouldn't that be -EBUSY?  The normal idiom would be to check to see if
> > > we were busy and error out rather than writing it as only configuing if
> > > not busy (which looks like an error case now).
> > 
> > Not EBUSY. So here we are trying to set params for the pipe. So we would
> > expect that pipe (widget) should be powered up by DAPM, but if that is not
> > the case then we are in bad state. I am thinking EIO might suit this one better
> 
> Right, that's why I'm saying -EBUSY - we can't configure the pipe
> because it is current in use.

Ok will update

> > > There's some more common code here and the same patterns as above...  :/
> 
> > well the problem here is sink, source. Former was for source pipe using
> > p->source, here we have sink pipe and using p->sink.
> > Same here too that we either set params or for sink pipe
> 
> > Jeeja did try to make this common but it becomes quite hard, if you have
> > a trick up your sleeve for this, am all ears :)
> 
> Well, I don't have the code any more.
> 
> > > > +	if (params->stream == SNDRV_PCM_STREAM_CAPTURE) {
> > > > +		w = dai->capture_widget;
> > > > +
> > > > +		dev_dbg(dai->dev, "Stream name=%s\n", w->name);
> > > > +		return skl_tplg_be_set_sink_pipe_params(dai, w, params);
> > > > +	}
> 
> > > Normally that'd be written as an if/else, and the only difference
> > > between the two cases here is which widget we pick...
> 
> > Yes we can change to else. Btw should we rather do if and if else, and else
> > for error check, in case the value became bad. I am thinking latter.
> 
> Either works.
Ok will add latter

-- 
~Vinod

[-- Attachment #1.2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



  reply	other threads:[~2015-08-15 15:11 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07 19:36 [PATCH 0/9] Add DSP topology management for SKL Subhransu S. Prusty
2015-08-07 19:36 ` [PATCH 1/9] ASoC: Intel: Skylake: Add pipe and modules handlers Subhransu S. Prusty
2015-08-14 21:30   ` Mark Brown
2015-08-15 12:55     ` Vinod Koul
2015-08-15 17:03       ` Mark Brown
2015-08-15 17:19         ` Vinod Koul
2015-08-07 19:36 ` [PATCH 2/9] ASoC: Intel: Skylake: Add module configuration helpers Subhransu S. Prusty
2015-08-07 19:36 ` [PATCH 3/9] ASoC: Intel: Skylake: add DSP platform widget event handlers Subhransu S. Prusty
2015-08-14 21:43   ` Mark Brown
2015-08-15 13:42     ` Vinod Koul
2015-08-15 14:36       ` Mark Brown
2015-08-15 15:12         ` Vinod Koul
2015-08-15 16:46           ` Mark Brown
2015-08-07 19:36 ` [PATCH 4/9] ASoC: Intel: Skylake: Add FE and BE hw_params handling Subhransu S. Prusty
2015-08-14 21:53   ` Mark Brown
2015-08-15 14:00     ` Vinod Koul
2015-08-15 14:46       ` Mark Brown
2015-08-15 15:13         ` Vinod Koul [this message]
2015-08-07 19:36 ` [PATCH 5/9] ASoC: Intel: Skylake: Add topology core init and handlers Subhransu S. Prusty
2015-08-14 22:03   ` Mark Brown
2015-08-15 14:16     ` Vinod Koul
2015-08-15 17:00       ` Mark Brown
2015-08-15 17:21         ` Vinod Koul
2015-08-07 19:36 ` [PATCH 6/9] ASoC: Intel: Skylake: Initialize and load DSP controls Subhransu S. Prusty
2015-08-07 19:36 ` [PATCH 7/9] ASoC: Intel: Skylake: Add DSP support and enable it Subhransu S. Prusty
2015-08-07 19:36 ` [PATCH 8/9] ASoC: Intel: Skylake: Initialize NHLT table Subhransu S. Prusty
2015-08-07 19:36 ` [PATCH 9/9] ASoC: Intel: Skylake: Remove CPU dai that is not used Subhransu S. Prusty
2015-08-14 22:06   ` Mark Brown
2015-08-15 14:19     ` 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=20150815151322.GI13546@localhost \
    --to=vinod.koul@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=jeeja.kp@intel.com \
    --cc=liam.r.girdwood@linux.intel.com \
    --cc=patches.audio@intel.com \
    --cc=subhransu.s.prusty@intel.com \
    --cc=tiwai@suse.de \
    /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