[alsa-devel] [PATCH v2] amixer: skip showing asoc tlv byte controls

Takashi Iwai tiwai at suse.de
Thu Jan 28 08:04:51 CET 2016


On Thu, 28 Jan 2016 07:40:11 +0100,
Vinod Koul wrote:
> 
> On Thu, Jan 28, 2016 at 06:53:49AM +0100, Takashi Iwai wrote:
> > On Thu, 28 Jan 2016 05:49:42 +0100,
> > Vinod Koul wrote:
> > > 
> > > ASoC TLV Byte controls are very large size controls so we should add new
> > > options for these. So skip dumping contents for these.
> > > 
> > > $amixer -c0 cget numid=16
> > > numid=16,iface=MIXER,name='mdl params'
> > >   ; type=BYTES,access=-----RW-,values=30336
> > >   : ASoC TLV Byte control, skipping bytes dump
> > > 
> > > Signed-off-by: Vinod Koul <vinod.koul at intel.com>
> > 
> > No, as I wrote before, checking the type isn't enough.
> > Assigning a TLV to BYTES type doesn't mean necessarily that it's an
> > ASoC EXT control.  You need to check the r/w capabilities as well.
> 
> Oops missed that part.
> 
> So am making it
> 
> if (type == SND_CTL_ELEM_TYPE_BYTES &&
> 	(snd_ctl_elem_info_is_tlv_readable(info) ||
> 	snd_ctl_elem_info_is_tlv_writable(info))) {
> 
> But this control can be read only or write only. Like a module doesnt allow
> read, or some is read only so OR should be good here
> 
> Also should it check it is not normal read/write ?

Yes.

	/* skip ASoC ext bytes controls that may have huge binary TLV data */
	if (type == SND_CTL_ELEM_TYPE_BYTES &&
 	    !snd_ctl_elem_info_is_readable(info) &&
	    !snd_ctl_elem_info_is_writable(info))
		goto __skip_tlv;


Takashi


More information about the Alsa-devel mailing list