All of lore.kernel.org
 help / color / mirror / Atom feed
From: Liam Girdwood <liam.r.girdwood@linux.intel.com>
To: Mark Brown <broonie@kernel.org>
Cc: Takashi Iwai <tiwai@suse.de>,
	"Koul, Vinod" <vinod.koul@intel.com>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>
Subject: Re: [RFC 1/4] ASoC: topology: Add topology UAPI header.
Date: Tue, 21 Apr 2015 10:47:53 +0100	[thread overview]
Message-ID: <1429609673.3793.14.camel@loki> (raw)
In-Reply-To: <20150420213048.GT14892@sirena.org.uk>

On Mon, 2015-04-20 at 22:30 +0100, Mark Brown wrote:
> On Thu, Apr 16, 2015 at 09:48:15PM +0100, Liam Girdwood wrote:
> 
> > +struct snd_soc_tplg_hdr {
> > +	__le32 magic;
> > +	__le32 abi;		/* ABI version */
> > +	__le32 version;		/* optional vendor specific version details */
> > +	__le32 type;		/* SND_SOC_TPLG_ */
> > +	__le32 vendor_type;	/* optional vendor specific type info */
> > +	__le32 size;		/* data bytes, excluding this header */
> > +	__le32 id;		/* identifier for block */
> > +	char reserved[128];
> > +} __attribute__((packed));
> 
> Not got a massively strong opinion here but given that we have ABI
> versioning can we just skip the 128 bytes of reserved space in most of
> the structs?  Doesn't seem to be doing much except making the files
> bigger.

We had a similar discussion in Nuremburg last week, the intention is to
keep the size of the structures constant so wont dont break older
kernels with newer userspace ABIs etc.

> 
> > +/*
> > + * Mixer kcontrol.
> > + */
> > +struct snd_soc_tplg_mixer_control {
> > +	struct snd_soc_tplg_control_hdr hdr;
> > +	__le32 min;
> > +	__le32 max;
> > +	__le32 platform_max;
> > +	__le32 reg;
> > +	__le32 rreg;
> > +	__le32 shift;
> > +	__le32 rshift;
> 
> Do we want to convert this into an array of reg/shift tuples for the
> (dobutless forthcoming) 5.1 controls?  Not sure it's worth it.  I do
> think we probably need some explicit documentation for things like what
> to do with the left and right bits, I guess we hope other OSs or
> whatever can make use of the same topology if we're trying to make it
> standard.

Yeah, that's a good point which we should address :)

What about something like :-

struct snd_soc_mixer_channel {
	__le32 reg;
	__le32 shift;
}

struct snd_soc_tplg_mixer_control {
	struct snd_soc_tplg_control_hdr hdr;
	__le32 min;
	__le32 max;
	__le32 platform_max;
	__le32 invert;
	__le32 num_channels;
	char reserved[64];
	struct snd_soc_tplg_mixer_channel channel[0];
	struct snd_soc_tplg_private priv;
} __attribute__((packed));

The same could be applied to the other control types too ?

Liam

> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2015-04-21  9:47 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-16 20:48 [RFC 1/4] ASoC: topology: Add topology UAPI header Liam Girdwood
2015-04-20 21:30 ` Mark Brown
2015-04-21  9:47   ` Liam Girdwood [this message]
2015-04-21 10:02     ` Takashi Iwai
2015-04-21 12:43       ` Liam Girdwood
2015-04-21 13:17         ` Takashi Iwai
2015-04-21 15:03         ` Mark Brown
2015-04-21 15:23           ` Takashi Iwai
2015-04-21 16:35             ` Mark Brown
2015-04-21 16:46               ` Lars-Peter Clausen
2015-04-22 11:24                 ` Mark Brown
2015-04-22 11:30                   ` Liam Girdwood
2015-04-21 19:05               ` Takashi Iwai
2015-04-21 17:01 ` Lars-Peter Clausen
2015-04-22 11:16   ` Liam Girdwood

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=1429609673.3793.14.camel@loki \
    --to=liam.r.girdwood@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=tiwai@suse.de \
    --cc=vinod.koul@intel.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.