All of lore.kernel.org
 help / color / mirror / Atom feed
From: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: Vinod Koul <vinod.koul@intel.com>,
	alsa-devel@alsa-project.org, broonie@linaro.org,
	Clemens Ladisch <clemens@ladisch.de>,
	Takashi Sakamoto <o-takashi@sakamocchi.jp>
Subject: Re: [PATCH 1/4] ALSA: control: return payload length for TLV operation
Date: Mon, 12 Sep 2016 17:03:16 +0100	[thread overview]
Message-ID: <20160912160316.GK21682@localhost.localdomain> (raw)
In-Reply-To: <s5htwdlgmrp.wl-tiwai@suse.de>

On Mon, Sep 12, 2016 at 05:28:58PM +0200, Takashi Iwai wrote:
> On Mon, 12 Sep 2016 17:25:31 +0200,
> Vinod Koul wrote:
> > 
> > On Mon, Sep 12, 2016 at 01:37:37PM +0100, Charles Keepax wrote:
> > > On Tue, Sep 06, 2016 at 12:30:35PM +0900, Takashi Sakamoto wrote:
> > > > On Sep 5 2016 05:45, Takashi Iwai wrote:
> > 
> > Sorry havent been able to follow this yet :(
> > 
> > 
> > But yes current Skylake Chromebooks ship with this code so we cant break it.
> > 
> > I am not sure what is the issue with API though. (sorry haven't read the
> > thread yet). The tlv was designed to allow people send bytes larger than 512
> > down to kernel. The Type cna be anything (implementation specific, though we
> > haven't used it yet), length the blob length and then the bytes blob.
> 
> Yes, and this part is missing in wm_adsp driver.  It passes the blob
> without TLV encoding, i.e. starting from the offset zero without type
> and length encoding.
> 
> > We provide a tunnel and pass these to DSP. They maybe module coefficients,
> > hotwording blobs etc.
> 
> So, does Intel driver pass the blob in TLV format?  Then we have two
> different implementations.
> 

So looking at the Skylake code it does look like certainly the
read opertaion returns a TLV header, its a bit less clear with
the write operation it looks like it does use one but sometimes
it will be passed straight through to the firmware.

So looks more like we really should take the pain of the ABI
change and update wm_adsp to be consistent, two implementations
is not good. Although I do feel we should add/strip the header in
ASoC rather than expecting the driver callbacks to do so, seems
odd to push that requirement into end drivers, it has certainly
taken me by surpise. Also I guess with the current tinyalsa
implementation the end user has to add/strip the headers whereas
really I would have thought tinyalsa should be doing that.

> Also, still another point is to be decided: is passing an arbitrary
> size via info callback for an element without read/write access bits
> (but with TLV bit) a right behavior?
> 

So I guess the question would be if you couldn't read the
controls size from info how would you find out the control size?

Thanks,
Charles

  reply	other threads:[~2016-09-12 16:03 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-29 23:44 [RFC][PATCH 0/4] ALSA: control: return payload length of TLV operation Takashi Sakamoto
2016-08-29 23:44 ` [PATCH 1/4] ALSA: control: return payload length for " Takashi Sakamoto
2016-08-30  5:29   ` Takashi Iwai
2016-08-30  6:19     ` Takashi Sakamoto
2016-08-30  6:59       ` Takashi Iwai
2016-08-30  7:13         ` Takashi Sakamoto
2016-08-30  7:39           ` Takashi Iwai
2016-08-30  7:05   ` Clemens Ladisch
2016-08-30  7:09     ` Takashi Sakamoto
2016-08-30  8:04       ` Clemens Ladisch
2016-08-30 12:22         ` Takashi Sakamoto
2016-08-30 14:51       ` Vinod Koul
2016-08-30 22:04         ` Takashi Sakamoto
2016-08-31  4:20           ` Vinod Koul
2016-08-31  4:30             ` Takashi Sakamoto
2016-08-31  9:05               ` Charles Keepax
2016-08-31  9:40                 ` Takashi Iwai
2016-08-31 11:54                   ` Clemens Ladisch
2016-08-31 12:08                     ` Takashi Iwai
2016-08-31 15:26                       ` Takashi Sakamoto
2016-08-31 15:40                         ` Takashi Iwai
2016-09-02 11:30                           ` Takashi Sakamoto
2016-09-02 13:09                             ` Takashi Iwai
2016-09-02 14:50                               ` Takashi Sakamoto
2016-09-02 15:19                                 ` Takashi Iwai
2016-09-02 16:26                                   ` Takashi Iwai
2016-09-03 11:38                             ` Charles Keepax
2016-09-04 11:07                               ` Takashi Sakamoto
2016-09-04 20:45                                 ` Takashi Iwai
2016-09-06  3:30                                   ` Takashi Sakamoto
2016-09-12 12:37                                     ` Charles Keepax
2016-09-12 15:25                                       ` Vinod Koul
2016-09-12 15:28                                         ` Takashi Iwai
2016-09-12 16:03                                           ` Charles Keepax [this message]
2016-09-12 16:28                                             ` Takashi Iwai
2016-09-13  8:39                                               ` Charles Keepax
2016-08-31 12:19                     ` Charles Keepax
2016-08-31 13:24                       ` Clemens Ladisch
2016-08-31 14:18                         ` Charles Keepax
2016-08-31 16:05                           ` Vinod Koul
2016-09-02 11:18                     ` Takashi Sakamoto
2016-09-02 16:05                       ` Takashi Iwai
2016-09-03  3:53                         ` Takashi Sakamoto
2016-09-03 11:32                       ` Charles Keepax
2016-08-29 23:44 ` [PATCH 2/4] ALSA: control: delegate checking the length of data payload to each drivers Takashi Sakamoto
2016-08-30 15:46   ` Vinod Koul
2016-08-29 23:44 ` [PATCH 3/4] ALSA: control: add kerneldoc for snd_kcontrol_tlv_rw_t Takashi Sakamoto
2016-08-29 23:44 ` [PATCH 4/4] ALSA: control: bump up protocol version to 2.0.8 Takashi Sakamoto

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=20160912160316.GK21682@localhost.localdomain \
    --to=ckeepax@opensource.wolfsonmicro.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@linaro.org \
    --cc=clemens@ladisch.de \
    --cc=o-takashi@sakamocchi.jp \
    --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.