From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Henningsson Subject: Re: [RFC PATCH] HDA: Generic input jack handling Date: Fri, 07 Oct 2011 17:11:38 +0200 Message-ID: <4E8F16AA.7000104@canonical.com> References: <4E8EE75A.3050809@canonical.com> <4E8EF48F.4000707@canonical.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from youngberry.canonical.com (youngberry.canonical.com [91.189.89.112]) by alsa0.perex.cz (Postfix) with ESMTP id 9A20C103824 for ; Fri, 7 Oct 2011 17:11:38 +0200 (CEST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Takashi Iwai Cc: ALSA Development Mailing List List-Id: alsa-devel@alsa-project.org On 10/07/2011 03:03 PM, Takashi Iwai wrote: > At Fri, 07 Oct 2011 14:46:07 +0200, > David Henningsson wrote: >> >> On 10/07/2011 02:08 PM, Takashi Iwai wrote: >>> At Fri, 07 Oct 2011 13:49:46 +0200, >>> David Henningsson wrote: >>>> >>>> So, this is what I had in mind for 3.2. Assuming positive feedback from >>>> Takashi I'll go ahead and make a real patch out of this, and to clean up >>>> the Realtek implementation, as well as probably add this method for more >>>> codecs. >>>> >>>> Thoughts: >>>> >>>> 1) The unsol event tags vary wildly between different vendors. How about >>>> standardising that as well? >>> >>> Generalization is good. But tags aren't always constant. It'd be >>> better to assign each tag dynamically like in patch_sigmatel.c. >>> The reason is that you'd need to know the pin NID from the unsol >>> event, so the tag has to be unique even for the same purpose. E.g. if >>> a machine has two headphones, both are the same type but they should >>> issue unsol events with different tags. >> >> One would think that this is an area where it shouldn't differ between >> vendors (after all, they need to do the same things, so this is just >> different implementations), but we can clean that up later, and when >> that is done we could consider standardising on having the nid as the >> unsol tag value. >> Anyway, as the patch below stands, sigmatel would call the function with >> unsol_tags->unsol_tag = 0, and then enable the jack itself. >> >> Did you think the patch looked good otherwise? > > Reporting per jack type isn't necessarily correct, e.g. when multiple > pins for the same type are present. In that case, only the changed > pin should be reported. So, in patch_realtek.c, the tag should be > also individual for each pin like in patch_sigmatel.c. > Currently it's using constants because of the model quirks. Once when > these are removed, we can move to the dynamic allocation. Ok. I was afraid you would consider such a change too big to reach 3.2, and current handling does not make things worse, really - it's just slightly inoptimal to detect one more jack, but does not hurt much. Would you like me to add an associate tag -> nid array? -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic