All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars-Peter Clausen <lars@metafoo.de>
To: Mark Brown <broonie@kernel.org>,
	Liam Girdwood <liam.r.girdwood@linux.intel.com>
Cc: Takashi Iwai <tiwai@suse.de>, alsa-devel@alsa-project.org
Subject: Re: [PATCH v2 2/3] ASoC: topology: Add topology core
Date: Wed, 27 May 2015 21:23:03 +0200	[thread overview]
Message-ID: <55661997.2050800@metafoo.de> (raw)
In-Reply-To: <20150527190021.GO21577@sirena.org.uk>

On 05/27/2015 09:00 PM, Mark Brown wrote:
> On Mon, May 25, 2015 at 06:22:49PM +0100, Liam Girdwood wrote:
>
> This looks really nice at a high level, obviously it's a lot of code so
> there might be detail problems but I expect we can fix those up later.
>
>> @@ -564,6 +565,7 @@ struct snd_soc_dapm_widget {
>>   	int num_kcontrols;
>>   	const struct snd_kcontrol_new *kcontrol_news;
>>   	struct snd_kcontrol **kcontrols;
>> +	struct snd_soc_dobj dobj;
>>
>>   	/* widget input and outputs */
>>   	struct list_head sources;
>
> This adds the dynamic object (which isn't enormous but isn't tiny) to
> every widget which could add up a bit.  I don't know if it's worth
> making it a pointer to a dobj and allocating that separately?  OTOH it's
> really routes rather than widgets that are the big cost, and it depends
> on allocators being friendly and not putting lots of padding round
> dobjs.  Definitely fixable incrementally if it is an issue though.

Ideally we'd turn the dependency chain the other way around and have a 
snd_soc_dobj_widget struct which inherits snd_soc_dapm_widget and 
snd_soc_dobj. In the dobj callbacks you can then still use container_of to 
get it. This comes at the expense that we have to add a free() callback to 
snd_soc_dapm_widget. But it opens up the possibility to have other 
specialized widgets sub-classes. snd_soc_dapm_widget is already rather large 
given how many instance we have of it and quite a few of the fields are only 
used by a particular type of widget. Another good candidate for example 
would be the DAI link widget with all its params fields.

  reply	other threads:[~2015-05-27 19:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-25 17:22 [PATCH v2 1/3] ASoC: topology: Add topology UAPI header Liam Girdwood
2015-05-25 17:22 ` [PATCH v2 2/3] ASoC: topology: Add topology core Liam Girdwood
2015-05-27 19:00   ` Mark Brown
2015-05-27 19:23     ` Lars-Peter Clausen [this message]
2015-05-27 19:48       ` Mark Brown
2015-05-28 14:45         ` Liam Girdwood
2015-05-28 15:23           ` Mark Brown
2015-05-28 14:33     ` Liam Girdwood
2015-05-29  5:57       ` Vinod Koul
2015-05-25 17:22 ` [PATCH v2 3/3] ALSA: topology: Export ID types for TLV controls Liam Girdwood
2015-05-28 14:47   ` Liam Girdwood
2015-05-28 14:59     ` Takashi Iwai
2015-05-26 10:33 ` [PATCH v2 1/3] ASoC: topology: Add topology UAPI header 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=55661997.2050800@metafoo.de \
    --to=lars@metafoo.de \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=liam.r.girdwood@linux.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 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.