mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Zipdox <zipdox@zipdox.net>
Cc: Takashi Iwai <tiwai@suse.de>,
	linux-sound@vger.kernel.org, perex@perex.cz,
	linux-kernel@vger.kernel.org, tiwai@suse.com
Subject: Re: [PATCH] USB Audio Class 2 Mixer unit support for GET_CUR, SET_CUR and RANGE
Date: Thu, 17 Sep 2026 18:40:53 +0200	[thread overview]
Message-ID: <87o6dvg7ai.wl-tiwai@suse.de> (raw)
In-Reply-To: <13f9ee6e-acf2-4166-93cc-33cbc2d4bd89@zipdox.net>

On Thu, 17 Sep 2026 18:33:50 +0200,
Zipdox wrote:
> 
> On 9/17/26 6:15 PM, Takashi Iwai wrote:
> > Good to hear.  If you have a chance to test my last series of patches,
> > it'd be appreciated.
> > 
> > BTW, I'll be off from tomorrow, and the issue is no new bug to be
> > urgently fixed, so I'll handle after back to work again :)
> > 
> > 
> > thanks,
> > 
> > Takashi
> 
> I have compiled your patches and the mixer unit control seems to work
> correctly.
> 
> Another thing on my mind is the following section from section
> 5.2.5.5.1 from the spec:
> > A Mixer Unit consists of a number of Mixer Controls, either programmable or fixed. A Mixer Control must
> > support the CUR and RANGE(MIN, MAX, RES) attributes. The settings for the CUR, MIN, and MAX
> > attributes can range from +127.9961 dB (0x7FFF) down to -127.9961 dB (0x8001) in steps of 1/256 dB or
> > 0.00390625 dB (0x0001). The settings for the RES attribute can only have positive values and range from
> > 1/256 dB (0x0001) to +127.9961 dB (0x7FFF).
> > In addition, code 0x8000, representing silence (i.e., -∞ dB), must always be implemented. However, it must
> > never be reported as the MIN attribute value.
> 
> Is this presently handled? For reference, 0x8000 is -32768. When I use
> qasmixer or alsamixer, for example, it only goes down to -32767. This
> is the same in UAC1 by the way. Should we add a mute control to mixer
> nodes? Or perhaps extend the reported range downward by one, and
> overwrite the lowest value to -32768 when writing to a mixer unit. The
> latter is my preferred solution.

I guess it's not; there is cval->min_mute flag, but it's for another
case (the minimal volume = mute) for the statically mapped mixer
elements, and not for this mixer unit case.

Maybe they should be implemented by additional mute switches.

Overall, the mixer unit controls have been rarely used by the devices,
so far, and that's the reason we didn't hit this over years :)


Takashi

      reply	other threads:[~2026-09-17 16:41 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-15  8:54 Zipdox
2026-09-15 11:08 ` Takashi Iwai
2026-09-15 12:54   ` Zipdox
2026-09-15 14:19     ` Takashi Iwai
2026-09-16  7:43       ` Zipdox
2026-09-16 15:40         ` Takashi Iwai
2026-09-16 16:58           ` Takashi Iwai
2026-09-16 18:22             ` Takashi Iwai
2026-09-17 14:23               ` Zipdox
2026-09-17 14:49                 ` Takashi Iwai
2026-09-17 14:54                 ` Zipdox
2026-09-17 16:15                   ` Takashi Iwai
2026-09-17 16:33                     ` Zipdox
2026-09-17 16:40                       ` Takashi Iwai [this message]

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=87o6dvg7ai.wl-tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=tiwai@suse.com \
    --cc=zipdox@zipdox.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®