[haiku-bugs] Re: [Haiku] #14581: no audio on T410 (8086/3b56) - mixer not insertable in output path

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Tue, 30 Oct 2018 16:07:12 -0000

#14581: no audio on T410 (8086/3b56) - mixer not insertable in output path
---------------------------------+----------------------------
   Reporter:  ttcoder            |      Owner:  korli
       Type:  bug                |     Status:  new
   Priority:  normal             |  Milestone:  R1/beta2
  Component:  Drivers/Audio/HDA  |    Version:  R1/Development
 Resolution:                     |   Keywords:
 Blocked By:                     |   Blocking:
Has a Patch:  0                  |   Platform:  All
---------------------------------+----------------------------

Comment (by ttcoder):

 Thanks korli

 So the changes over at
 
[https://github.com/torvalds/linux/blob/master/sound/pci/hda/patch_conexant.c#L712]
 ended up being "Pin Config" uint32 values, so I applied them in
 {{{hda_codec_parse_audio_group()}}} [*]

 I moved my uint16 "verb" inits to where you recommended. Tried with and
 without them.
 See diff and syslog attachments below.

 As to the
 
[https://github.com/torvalds/linux/blob/master/sound/pci/hda/thinkpad_helper.c#L37
 ACPI stuff], I stumbled on this line
 {{{
 led_set_func = symbol_request(tpacpi_led_set);
 }}}
 It seems to be the important one, to perform the TPACPI_LED_MUTE call
 later down the function. But the symbol {{{tpacpi_led_set}}} is nowhere in
 the linux hda driver?

 You'll see in the syslog that the patched pin configs produce
 "Association:15", but it seems that is unchanged; i.e. the unpatched haiku
 driver was also saying the same thing; I'll try to investigate, find out
 what an "association" is, and why the 0xF patch makes it "assoc: 15"
 (seems normal) and the unpatched driver with value 0x0 also says "assoc:
 15".

 Overall, I tried a few combinations with no luck yet; will dig a bit more
 (or I'll ask tidux for more logging, should be easier :-)

 [*] details:
 {{{
 the linux driver's fix is applied in
         apply_fixup() (hda_auto_parser.c:824) ; it's of type
 HDA_FIXUP_PINS, which means calling =>
         snd_hda_apply_pincfgs() => calls..
         snd_hda_codec_set_pincfg() (in hda_codec.c) =>
         snd_hda_add_pincfg()
 }}}

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/14581#comment:7>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: