svn commit: r268584 - head/sys/dev/sound/pci/hda

Adrian Chadd adrian at freebsd.org
Sun Jul 27 08:20:33 UTC 2014


Hi!

ok, so how do I figure out what the right patch should be?

pcm0: <Conexant CX20561 (Hermosa) (Front Analog)> at nid 22 and 24 on hdaa0
pcm1: <Conexant CX20561 (Hermosa) (Internal Analog)> at nid 26 and 29 on hdaa0

.. and

hdac0 at pci0:0:27:0: class=0x040300 card=0x20f217aa chip=0x293e8086
rev=0x03 hdr=0x00



-a


On 13 July 2014 18:44, Alexander Motin <mav at freebsd.org> wrote:
> 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 at 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


More information about the svn-src-all mailing list