alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
From: Raymond Yau <superquad.vortex2@gmail.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: ALSA Development Mailing List <alsa-devel@alsa-project.org>,
	broonie@kernel.org, liam.r.girdwood@intel.com
Subject: Re: [PATCH v4 0/5] ALSA: jack: Refactoring for jack kctls
Date: Wed, 8 Apr 2015 12:39:20 +0800	[thread overview]
Message-ID: <CAN8cciZdu4aXytuQqC1b-BeMF5_JbX5K6q8ZnnJf_7AMr5kv1Q@mail.gmail.com> (raw)
In-Reply-To: <s5h1tjvq5wd.wl-tiwai@suse.de>

2015-4-8 上午12:07 於 "Takashi Iwai" <tiwai@suse.de> 寫道:
>
> At Fri,  3 Apr 2015 20:07:13 +0800,
> Jie Yang wrote:
> >
> > Currently only hda will create kctls for hda jacks, for asoc, people
> > may need create jack kctls in specific driver.
> >
> > Here we are introducing kctls for each jack, by creating kctls and add
> > them to jack controls list (considering exist of combo jack). At the
> > same time, we will report events for each control in the list.
> >
> > With this new implementation, both HDA and soc jack kctls works fine,
> > they are compatible for old HDA jack kctls, too.
> >
> > For soc,
> > a. snd_jack_new() with NULL jack_kctl;
> > b. for each pin, call snd_jack_add_kctls() to add one kctl(it will
> > call snd_ctl_add() to add kctl to card);
>
> So, if I understand correctly, there is no association between input
> jack and ctl jack names at all?  The former is created via
> snd_jack_new() while the latter is created from each pin name string.
>
> > For hda,
> > a. call snd_jack_kctl_new()(in __snd_hda_jack_add_kctl()) to new a
> > jack_kctl(also new kctl); and use snd_hda_ctl_add to add kctl to card;
> > b. new a hda_jack_tbl, appoint jack_tbl->jack_kctl = jack_kctl;
> > c. for non-phantom jack, call snd_jack_new() with this jack_kctl,
> > then the jack_kctl will be added to the new created jack;
>
> This would work, yes.  But, I have some uneasy feeling, something not
> well digested...
>
> Ideally, we want a single API for representing both input and kctl
> jacks.  Now, with this implementation, essentially it's still two API
> calls -- snd_jack_new() for input jacks and snd_jack_kctl_new() for
> kctl jacks.  (Actually oxygen driver still seems lacking kctl jack
> because of this.)  The obvious difference from the current code is
> that there is an internal association from kctls to input-jack object
> (although the relation is invisible in outside).  Hmm...
>
>

Do pulseaudio need oxygen change from input device to kctl since there is
no headphone playback volume and pulseaudio drop the support multi channel
volume control recently ?

Card hw:0 'DS'/'Asus Virtuoso 66 (rev 2) at 0xe800, irq 16'
  Mixer name : 'AV200'
  Components : 'WM8776 WM8766 AV200'
  Controls      : 31
  Simple ctrls  : 25
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right - Rear Left - Rear Right -
Front Center - Woofer - Side Left - Side Right
  Limits: Playback 135 - 255
  Mono:
  Front Left: Playback 255 [100%] [0.00dB] [on]
  Front Right: Playback 255 [100%] [0.00dB] [on]
  Rear Left: Playback 255 [100%] [0.00dB] [on]
  Rear Right: Playback 255 [100%] [0.00dB] [on]
  Front Center: Playback 255 [100%] [0.00dB] [on]
  Woofer: Playback 255 [100%] [0.00dB] [on]
  Side Left: Playback 255 [100%] [0.00dB] [on]
  Side Right: Playback 255 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 61 - 127
  Mono:
  Front Left: Playback 127 [100%] [on]
  Front Right: Playback 127 [100%] [on]
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  parent reply	other threads:[~2015-04-08  4:39 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-03 12:07 [PATCH v4 0/5] ALSA: jack: Refactoring for jack kctls Jie Yang
2015-04-03 12:07 ` [PATCH v4 1/5] ALSA: jack: create jack kcontrols for every jack input Jie Yang
2015-04-03 12:07 ` [PATCH v4 2/5] ALSA: jack: add a parameter to pass kctl for snd_jack_new Jie Yang
2015-04-03 12:07 ` [PATCH v4 3/5] ALSA: hda - Update to use the new jack kctls method Jie Yang
2015-04-03 12:07 ` [PATCH v4 4/5] ASoC: jack: create kctls according to jack pins info Jie Yang
2015-04-03 12:07 ` [PATCH v4 5/5] ALSA: jack: remove export snd_kctl_jack_new() Jie Yang
2015-04-06 16:11 ` [PATCH v4 0/5] ALSA: jack: Refactoring for jack kctls Mark Brown
2015-04-07 16:06 ` Takashi Iwai
2015-04-08  2:53   ` Jie, Yang
2015-04-08  4:39   ` Raymond Yau [this message]
2015-04-08  7:20   ` David Henningsson
2015-04-08  7:34     ` Takashi Iwai
2015-04-08  7:49       ` David Henningsson
2015-04-08  7:59     ` Jie, Yang
2015-04-08  8:27       ` David Henningsson
2015-04-08  9:18         ` Jie, Yang
2015-04-08  9:22           ` Takashi Iwai
2015-04-08 14:14             ` Jie, Yang
2015-04-08 14:29               ` Takashi Iwai
2015-04-08 18:47               ` David Henningsson
2015-04-08 18:55                 ` Takashi Iwai

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=CAN8cciZdu4aXytuQqC1b-BeMF5_JbX5K6q8ZnnJf_7AMr5kv1Q@mail.gmail.com \
    --to=superquad.vortex2@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=liam.r.girdwood@intel.com \
    --cc=tiwai@suse.de \
    /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;
as well as URLs for NNTP newsgroup(s).