[RFC PATCH 0/5] Apple Macs machine-level ASoC driver

Martin Povišer povik at cutebit.org
Fri Apr 22 15:59:25 CEST 2022


> On 22. 4. 2022, at 15:06, Mark Brown <broonie at kernel.org> wrote:
> 
> On Fri, Apr 22, 2022 at 02:53:54PM +0200, Martin Povišer wrote:
> 
>>> Oh, I see - the speaker actually allows configuration of the slots
>>> independently.  Usually the left/right thing on mono devices only does
>>> something for I2S where the bus clocking enforces that there be both
>>> left and right channels.  Either configuration is fine by me TBH, if you
>>> can do that then you could just keep them mapped to the same channel
>>> then mark the control as disabled since it should have no effect.
> 
>> Well but is there some established way to mark a control as disabled?
> 
> snd_ctl_activate_id().

Ha! Great.

>> Another issue here is that if I disable it I can’t leave the routing
>> control in it’s default value, which is ‘I2C Offset’ and makes the speaker
>> amp ignore the slot mapping.
> 
> Sure, that's fine - if a control genuinely has no effect it's fine to
> hide it from userspace.  The issue is where it's just that you don't see
> the use, if the control demonstrably does nothing then that's fine.

So I assume I can set the control from the machine driver then disable it.

Anyway, good, this is what I meant earlier when I said the controls I want
to hide are 'useless/confusing at best’. I must walk back that they are
‘dangerous at worst’, but I am glad we can hide them anyway. (Not all of
them of course, ISENSE/VSENSE will not be hidden, neither the routing
control on systems with single mono speaker.)



More information about the Alsa-devel mailing list