All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Lars-Peter Clausen <lars@metafoo.de>
Cc: alsa-devel@alsa-project.org, broonie@kernel.org, lgirdwood@gmail.com
Subject: Re: [PATCH 13/19] ASoC: Intel: mrfld: add bytes control for modules
Date: Sat, 21 Jun 2014 11:46:05 +0530	[thread overview]
Message-ID: <20140621061605.GJ22053@intel.com> (raw)
In-Reply-To: <53A428C8.9030707@metafoo.de>

On Fri, Jun 20, 2014 at 02:27:52PM +0200, Lars-Peter Clausen wrote:
> On 06/20/2014 01:30 PM, Vinod Koul wrote:
> >On Fri, Jun 20, 2014 at 10:11:23AM +0200, Lars-Peter Clausen wrote:
> >>On 06/13/2014 02:34 PM, Vinod Koul wrote:
> >>>+static int sst_algo_control_set(struct snd_kcontrol *kcontrol,
> >>>+				struct snd_ctl_elem_value *ucontrol)
> >>>+{
> >>[...]
> >>>+}
> >>
> >>You probably want some kind of locking around the put and get handlers.
> >Is that for prevting get/set races? I though the mixer implemention in
> >sound/core would lock against that?
> 
> There core doesn't do any locking on the put and get handlers. If
> you need locking you need to do it by hand.
> 
> >
> >>>+
> >>>+static const struct snd_kcontrol_new sst_algo_controls[] = {
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop1_out", "fir", 272, SST_MODULE_ID_FIR_24,
> >>>+		 SST_PATH_INDEX_MEDIA_LOOP1_OUT, 0, SST_TASK_SBA, SBA_VB_SET_FIR),
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop1_out", "iir", 300, SST_MODULE_ID_IIR_24,
> >>>+		SST_PATH_INDEX_MEDIA_LOOP1_OUT, 0, SST_TASK_SBA, SBA_VB_SET_IIR),
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop1_out", "mdrp", 286, SST_MODULE_ID_MDRP,
> >>>+		SST_PATH_INDEX_MEDIA_LOOP1_OUT, 0, SST_TASK_SBA, SBA_SET_MDRP),
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop2_out", "fir", 272, SST_MODULE_ID_FIR_24,
> >>>+		SST_PATH_INDEX_MEDIA_LOOP2_OUT, 0, SST_TASK_SBA, SBA_VB_SET_FIR),
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop2_out", "iir", 300, SST_MODULE_ID_IIR_24,
> >>>+		SST_PATH_INDEX_MEDIA_LOOP2_OUT, 0, SST_TASK_SBA, SBA_VB_SET_IIR),
> >>>+	SST_ALGO_KCONTROL_BYTES("media_loop2_out", "mdrp", 286, SST_MODULE_ID_MDRP,
> >>>+		SST_PATH_INDEX_MEDIA_LOOP2_OUT, 0, SST_TASK_SBA, SBA_SET_MDRP),
> >>>+	SST_ALGO_KCONTROL_BYTES("sprot_loop_out", "lpro", 192, SST_MODULE_ID_SPROT,
> >>>+		SST_PATH_INDEX_SPROT_LOOP_OUT, 0, SST_TASK_SBA, SBA_VB_LPRO),
> >>>+	SST_ALGO_KCONTROL_BYTES("codec_in0", "dcr", 52, SST_MODULE_ID_FILT_DCR,
> >>>+		SST_PATH_INDEX_CODEC_IN0, 0, SST_TASK_SBA, SBA_VB_SET_IIR),
> >>>+	SST_ALGO_KCONTROL_BYTES("codec_in1", "dcr", 52, SST_MODULE_ID_FILT_DCR,
> >>>+		SST_PATH_INDEX_CODEC_IN1, 0, SST_TASK_SBA, SBA_VB_SET_IIR),
> >>
> >>
> >>You are creating a lot of global non-const variables here that are
> >>later modified in the put and get handlers and also elsewhere.
> >Sorry which ones above are modfied. Above values are information for headers of
> >IPCs which we send to DSPs
> >
> 
> The SST_ALGO_CTL_VALUE() macro uses compound literals to create a
> global (nameless) struct. A pointer to this struct is assigned to
> the kcontrols private_value field. This is later read and the struct
> is modified.
Yes but not the above values as these as IPC header info which DSP needs.

-- 
~Vinod

  reply	other threads:[~2014-06-21  6:15 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-13 12:33 [PATCH 00/19]: add mrfld DSP support Vinod Koul
2014-06-13 12:33 ` [PATCH 01/19] ASoC: Intel: add COMPILE_TEST to mfld machine Vinod Koul
2014-06-21 10:42   ` Mark Brown
2014-06-21 15:34     ` Mark Brown
2014-06-21 16:08       ` Vinod Koul
2014-06-13 12:33 ` [PATCH 02/19] ASoC: Intel: mfld_pcm: move stream handling to dai_ops Vinod Koul
2014-06-21 10:43   ` Mark Brown
2014-06-13 12:33 ` [PATCH 03/19] ASoC: Intel: mfld-pcm rename period callback arg Vinod Koul
2014-06-21 10:43   ` Mark Brown
2014-06-13 12:33 ` [PATCH 04/19] ASoc: Intel: mfld-pcm: report pcm delay Vinod Koul
2014-06-21 10:43   ` Mark Brown
2014-06-13 12:33 ` [PATCH 05/19] ASoC: Intel: add the mrfld fw IPC definations Vinod Koul
2014-06-22 11:02   ` Mark Brown
2014-06-13 12:33 ` [PATCH 06/19] ASoC: Intel: mfld-pcm: modularize stream allocation code Vinod Koul
2014-06-22 11:02   ` Mark Brown
2014-06-13 12:33 ` [PATCH 07/19] ASoC: Intel: add mrfld pipelines Vinod Koul
2014-06-23 11:24   ` Mark Brown
2014-06-13 12:33 ` [PATCH 08/19] ASoC: Intel: use common stream allocation method for compressed stream Vinod Koul
2014-06-23 11:24   ` Mark Brown
2014-06-13 12:33 ` [PATCH 09/19] ASoC: Intel: mfld-pcm: add FE and BE ops Vinod Koul
2014-06-23 11:26   ` Mark Brown
2014-06-13 12:33 ` [PATCH 10/19] ASoC: Intel: add mrfld DSP registers Vinod Koul
2014-06-20  8:22   ` Lars-Peter Clausen
2014-06-20 11:32     ` Vinod Koul
2014-06-20 12:33       ` Lars-Peter Clausen
2014-06-21  6:22         ` Vinod Koul
2014-06-21  6:56           ` Lars-Peter Clausen
2014-06-23  4:27             ` Vinod Koul
2014-06-25  4:31               ` Lars-Peter Clausen
2014-06-26 10:22                 ` Vinod Koul
2014-06-13 12:34 ` [PATCH 11/19] ASoC: intel: mfld-pcm: don't call trigger ops to DSP for internal streams Vinod Koul
2014-06-13 12:34 ` [PATCH 12/19] ASoC: Intel: add generic parameter set interface Vinod Koul
2014-06-13 12:34 ` [PATCH 13/19] ASoC: Intel: mrfld: add bytes control for modules Vinod Koul
2014-06-20  8:11   ` Lars-Peter Clausen
2014-06-20 11:30     ` Vinod Koul
2014-06-20 12:27       ` Lars-Peter Clausen
2014-06-21  6:16         ` Vinod Koul [this message]
2014-06-21  6:19           ` Lars-Peter Clausen
2014-06-23  4:15             ` Vinod Koul
2014-06-25  4:23               ` Lars-Peter Clausen
2014-06-13 12:34 ` [PATCH 14/19] ASoC: Intel: mrfld: add the gain controls Vinod Koul
2014-06-13 12:34 ` [PATCH 15/19] ASoC: Intel: mfld-pcm: add control for powering up/down dsp Vinod Koul
2014-06-13 12:34 ` [PATCH 16/19] ASoC: Intel: mrfld: add DSP core controls Vinod Koul
2014-06-13 12:34 ` [PATCH 17/19] ASoC: InteL; mrfld: add the DSP DAPM widgets Vinod Koul
2014-06-13 12:34 ` [PATCH 18/19] ASoC: Intel: mfld-pcm: add the fe & be dai ops Vinod Koul
2014-06-13 12:34 ` [RFC 19/19] ASoC: Intel: mrfld: add the DSP mixers Vinod Koul
2014-06-14 15:39   ` Lars-Peter Clausen
2014-07-04  4:46     ` Vinod Koul
2014-07-04 11:21       ` Lars-Peter Clausen
2014-07-07  8:45         ` Vinod Koul
2014-06-20  8:04 ` [PATCH 00/19]: add mrfld DSP support Lars-Peter Clausen
2014-06-20  8:20   ` Vinod Koul
2014-06-20  8:57     ` Lars-Peter Clausen
2014-06-23 10:09       ` Mark Brown
2014-06-25  4:27         ` Lars-Peter Clausen
2014-06-26 10:31           ` 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=20140621061605.GJ22053@intel.com \
    --to=vinod.koul@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=lars@metafoo.de \
    --cc=lgirdwood@gmail.com \
    /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.