Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Jul 2014 04:44:15 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Adrian Chadd <adrian@freebsd.org>, Mark Johnston <markj@freebsd.org>
Cc:        "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r268584 - head/sys/dev/sound/pci/hda
Message-ID:  <53C335EF.2090606@FreeBSD.org>
In-Reply-To: <CAJ-Vmo=hsK6k6VPcig69srL%2BV_AO5yQo4z%2B2XycvGB6_fRwSGg@mail.gmail.com>
References:  <201407131031.s6DAVTja093433@svn.freebsd.org> <CAJ-Vmo=hsK6k6VPcig69srL%2BV_AO5yQo4z%2B2XycvGB6_fRwSGg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 13.07.2014 21:50, Adrian Chadd wrote:
> So I have an X230 and a T400 - both require fiddling of the default
> sound unit sysctl when I want to use headphones.
> 
> Does this above patch outline what I need to do to get it working dynamically?

As a quick and easy solution -- quite likely yes.

Proper general solution for all of those laptops, and not only, would be
to rewrite the concept of default unit in sound(4) to allow it be
switched during playback/record, and separately for playback/record
paths. HDA driver is already able to provide all information about
connected devices, number of their channels, etc, but there is just
nothing above it to use that information. :(

> On 13 July 2014 03:31, Mark Johnston <markj@freebsd.org> wrote:
>> Author: markj
>> Date: Sun Jul 13 10:31:29 2014
>> New Revision: 268584
>> URL: http://svnweb.freebsd.org/changeset/base/268584
>>
>> Log:
>>   Add a headphone redirection quirk for the Lenovo G580.
>>
>>   MFC after:    1 week
>>
>> Modified:
>>   head/sys/dev/sound/pci/hda/hdaa_patches.c
>>   head/sys/dev/sound/pci/hda/hdac.h
>>
>> Modified: head/sys/dev/sound/pci/hda/hdaa_patches.c
>> ==============================================================================
>> --- head/sys/dev/sound/pci/hda/hdaa_patches.c   Sun Jul 13 09:34:59 2014        (r268583)
>> +++ head/sys/dev/sound/pci/hda/hdaa_patches.c   Sun Jul 13 10:31:29 2014        (r268584)
>> @@ -350,7 +350,8 @@ hdac_pin_patch(struct hdaa_widget *w)
>>             (subid == LENOVO_X1_SUBVENDOR ||
>>             subid == LENOVO_X220_SUBVENDOR ||
>>             subid == LENOVO_T420_SUBVENDOR ||
>> -           subid == LENOVO_T520_SUBVENDOR)) {
>> +           subid == LENOVO_T520_SUBVENDOR ||
>> +           subid == LENOVO_G580_SUBVENDOR)) {
>>                 switch (nid) {
>>                 case 25:
>>                         patch = "as=1 seq=15";
>>
>> Modified: head/sys/dev/sound/pci/hda/hdac.h
>> ==============================================================================
>> --- head/sys/dev/sound/pci/hda/hdac.h   Sun Jul 13 09:34:59 2014        (r268583)
>> +++ head/sys/dev/sound/pci/hda/hdac.h   Sun Jul 13 10:31:29 2014        (r268584)
>> @@ -241,6 +241,7 @@
>>  #define        LENOVO_T430S_SUBVENDOR  HDA_MODEL_CONSTRUCT(LENOVO, 0x21fb)
>>  #define        LENOVO_T520_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21cf)
>>  #define        LENOVO_T530_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x21f6)
>> +#define        LENOVO_G580_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0x3977)
>>  #define LENOVO_ALL_SUBVENDOR   HDA_MODEL_CONSTRUCT(LENOVO, 0xffff)
>>
>>  /* Samsung */
>>
> 


-- 
Alexander Motin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53C335EF.2090606>