~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/sound/designs/jack-controls.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/sound/designs/jack-controls.rst (Version linux-6.12-rc7) and /Documentation/sound/designs/jack-controls.rst (Version linux-6.1.116)


  1 ==================                                  1 ==================
  2 ALSA Jack Controls                                  2 ALSA Jack Controls
  3 ==================                                  3 ==================
  4                                                     4 
  5 Why we need Jack kcontrols                          5 Why we need Jack kcontrols
  6 ==========================                          6 ==========================
  7                                                     7 
  8 ALSA uses kcontrols to export audio controls(s      8 ALSA uses kcontrols to export audio controls(switch, volume, Mux, ...)
  9 to user space. This means userspace applicatio      9 to user space. This means userspace applications like pulseaudio can
 10 switch off headphones and switch on speakers w     10 switch off headphones and switch on speakers when no headphones are
 11 plugged in.                                    !!  11 pluged in.
 12                                                    12 
 13 The old ALSA jack code only created input devi     13 The old ALSA jack code only created input devices for each registered
 14 jack. These jack input devices are not readabl     14 jack. These jack input devices are not readable by userspace devices
 15 that run as non root.                              15 that run as non root.
 16                                                    16 
 17 The new jack code creates embedded jack kcontr     17 The new jack code creates embedded jack kcontrols for each jack that
 18 can be read by any process.                        18 can be read by any process.
 19                                                    19 
 20 This can be combined with UCM to allow userspa     20 This can be combined with UCM to allow userspace to route audio more
 21 intelligently based on jack insertion or remov     21 intelligently based on jack insertion or removal events.
 22                                                    22 
 23 Jack Kcontrol Internals                            23 Jack Kcontrol Internals
 24 =======================                            24 =======================
 25                                                    25 
 26 Each jack will have a kcontrol list, so that w     26 Each jack will have a kcontrol list, so that we can create a kcontrol
 27 and attach it to the jack, at jack creation st     27 and attach it to the jack, at jack creation stage. We can also add a
 28 kcontrol to an existing jack, at anytime when      28 kcontrol to an existing jack, at anytime when required.
 29                                                    29 
 30 Those kcontrols will be freed automatically wh     30 Those kcontrols will be freed automatically when the Jack is freed.
 31                                                    31 
 32 How to use jack kcontrols                          32 How to use jack kcontrols
 33 =========================                          33 =========================
 34                                                    34 
 35 In order to keep compatibility, snd_jack_new()     35 In order to keep compatibility, snd_jack_new() has been modified by
 36 adding two params:                                 36 adding two params:
 37                                                    37 
 38 initial_kctl                                       38 initial_kctl
 39   if true, create a kcontrol and add it to the     39   if true, create a kcontrol and add it to the jack list.
 40 phantom_jack                                       40 phantom_jack
 41   Don't create a input device for phantom jack     41   Don't create a input device for phantom jacks.
 42                                                    42 
 43 HDA jacks can set phantom_jack to true in orde     43 HDA jacks can set phantom_jack to true in order to create a phantom
 44 jack and set initial_kctl to true to create an     44 jack and set initial_kctl to true to create an initial kcontrol with
 45 the correct id.                                    45 the correct id.
 46                                                    46 
 47 ASoC jacks should set initial_kctl as false. T     47 ASoC jacks should set initial_kctl as false. The pin name will be
 48 assigned as the jack kcontrol name.                48 assigned as the jack kcontrol name.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php