History log of /haiku/src/add-ons/kernel/drivers/audio/hda/hda_codec_defs.h
Revision Date Author Comments
# 69958ca2 24-Oct-2021 Jessica Hamilton <jessica.l.hamilton@gmail.com>

hda: subsystem is from the codec, not the PCI bus.

* Refactors so that we look for a codec subsystem ID, then the
Audio Function Group subsystem ID if not found.
* Moves the order around a bit so that the quirks are set early
enough.
* Also adds a quirk for MacBookAir 6,2, allows speakers to work.

Change-Id: I4c64f96936a82a5d7187d86d8558f28516fd4ecb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4654
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 992c945a 30-Aug-2012 Jérôme Duval <jerome.duval@gmail.com>

hda: later specification updates


# cdd1c5c6 13-Feb-2011 Jérôme Duval <korli@users.berlios.de>

added additional power states


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40479 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd439bd9 19-Feb-2010 Jérôme Duval <korli@users.berlios.de>

We now pin sense the headphone pin widget to check if something is plugged in. Use this to disable/enable speakers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35528 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aafe92a 29-Nov-2009 Jérôme Duval <korli@users.berlios.de>

* cleanup
* use gpio count for gpio quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34355 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 144c4c62 29-Nov-2009 Jérôme Duval <korli@users.berlios.de>

* added vref and unsol responses definitions
* untested unsolicited response support
* added quirk support for vref and gpio
* vref are now enabled for all inputs, and gpio for some Apple Macs
* replaced dprintf with TRACE and ERROR macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f7c0754 11-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* add set volume knob control
* display subsystem vendor and device id


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29184 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c71a6614 01-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* try to enable EAPD on capable pin widgets
* added a pin capabilities attribute instead of input and output pin attributes
* added ATI and nVidia vendor ids definitions
* uses "mic in" and "line in" when pin colors are undefined


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28839 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34bda3ae 19-Nov-2008 Jérôme Duval <korli@users.berlios.de>

introduced a widget inside the audio function group to extract widget node attributes and reuse functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8c3da8dd 16-Nov-2008 Jérôme Duval <korli@users.berlios.de>

added a mixer interface


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28677 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fb04337 12-Aug-2008 Jérôme Duval <korli@users.berlios.de>

* added pin capabilities and power support constants
* added a record stream, assigned it to input widgets: no recorded sound yet, though buffer cycling is ok


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26953 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30f55bc9 12-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Rewrote widget output path discovery, it's now very similar to what the
FreeBSD driver is doing.
* hda_codec_new_audio_group() did not free the audio group's widgets on
failure.
* No longer create the input stream for now.
* Reworked multiaudio-support to work regardless if there is only a playback
or record stream.
* With these changes, I hear nothing on my laptop anymore (before there was
noise), but on another system, I can finally hear something that sounds very
much like the sinus wave the multi_audio_test application produces; the
sound quality is pretty bad though (lots of periodical noise and glitches).
* Made B_MULTI_GET_DESCRIPTION safe to be called from userland.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24383 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17959555 11-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Separated widget parsing and debug output a bit better.
* More generic supported parameter support, respect the
AUDIO_CAP_AMPLIFIER_OVERRIDE, and AUDIO_CAP_FORMAT_OVERRIDE bits.
* More cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24360 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e8c0240 03-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Also print the codec's revision.
* Only print [Output] if it's an output.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24215 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 438500b02 29-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

A bit more meaningful constant names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24183 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 340dd4fe 29-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Renamed .c to .cpp, and fixed all warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24178 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6fdcf43 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* More cleanup, build fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24138 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4919a4dc 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Coding style cleanup, also fixed some minor bugs I found during that work:
* hda_widget_get_stream_support() did reference an out-of-bounds response for
the stream support parameter.
* Bit 18 in the PCM support parameter is 20bit sample support, not 18bit support.
* Enabled reporting B_FMT_FLOAT capability (not tested at all yet).
* Fixed B_FMT_FLOAT size (float is only 4 bytes, not 8).
* No longer clobbers the request_* parameters in B_MULTI_GET_BUFFERS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 44f16897 05-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Removed B_CAN_INTERRUPT from acquire_sem_etc() call in hda_send_verbs();
that doesn't look right to me (and since there is a 50 ms timeout anyway...).
* Minor coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89db0a5b 13-May-2007 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

*** WARNING: UNSTABLE CODE AHEAD :P ***

This is the first (sort-of) working incarnation of the High Definition Audio driver. This
driver still has quite some way to go before coming to a point that we could call it stable
and useful, so please use with care. It has been developed on R5, so it might even become
useful for people still stuck on R5.

This driver was inspired by both the BSD work on HDA support, as well as our own dr_evil's
work on the ich_ac97 driver.

Before you start bugging me about completing the driver, or adding features, please capture
the serial debug output and mail it to ithamar AT unet DOT nl, including hardware details,
and success/failure descriptions.

As a last note, DasJott, if you're reading this, the first music it played was...
'Prodigy: Smack Your Bitch Up' :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21127 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 992c945afe166a71d08222f2e036a65bbe175caa 30-Aug-2012 Jérôme Duval <jerome.duval@gmail.com>

hda: later specification updates


# cdd1c5c6797ffc521f9591faf119df84f4d808d0 13-Feb-2011 Jérôme Duval <korli@users.berlios.de>

added additional power states


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40479 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cd439bd9e3436a461c33676a084214cc7a45d0db 19-Feb-2010 Jérôme Duval <korli@users.berlios.de>

We now pin sense the headphone pin widget to check if something is plugged in. Use this to disable/enable speakers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35528 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4aafe92a0e65a2d8ae667548be97a1af72c17abb 29-Nov-2009 Jérôme Duval <korli@users.berlios.de>

* cleanup
* use gpio count for gpio quirks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34355 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 144c4c6240d02385fc69fe159ecdd253641da0a1 29-Nov-2009 Jérôme Duval <korli@users.berlios.de>

* added vref and unsol responses definitions
* untested unsolicited response support
* added quirk support for vref and gpio
* vref are now enabled for all inputs, and gpio for some Apple Macs
* replaced dprintf with TRACE and ERROR macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34352 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f7c075428edeed242eaff5e6d646c9cd9d086e2 11-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* add set volume knob control
* display subsystem vendor and device id


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29184 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c71a6614e2c46e35d1796191c8fb04d9fb1071b0 01-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* try to enable EAPD on capable pin widgets
* added a pin capabilities attribute instead of input and output pin attributes
* added ATI and nVidia vendor ids definitions
* uses "mic in" and "line in" when pin colors are undefined


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28839 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 34bda3ae2d8cd0d57cf719b67d19f008964bb2ae 19-Nov-2008 Jérôme Duval <korli@users.berlios.de>

introduced a widget inside the audio function group to extract widget node attributes and reuse functions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28697 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8c3da8dd2ca2427d7efa609ef8708bdf7d07da92 16-Nov-2008 Jérôme Duval <korli@users.berlios.de>

added a mixer interface


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28677 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fb04337f500f048d6c43fd8398ef3bf6c420eec 12-Aug-2008 Jérôme Duval <korli@users.berlios.de>

* added pin capabilities and power support constants
* added a record stream, assigned it to input widgets: no recorded sound yet, though buffer cycling is ok


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26953 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 30f55bc9908b08803b0fdd7f9f10e3a9f132a63f 12-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Rewrote widget output path discovery, it's now very similar to what the
FreeBSD driver is doing.
* hda_codec_new_audio_group() did not free the audio group's widgets on
failure.
* No longer create the input stream for now.
* Reworked multiaudio-support to work regardless if there is only a playback
or record stream.
* With these changes, I hear nothing on my laptop anymore (before there was
noise), but on another system, I can finally hear something that sounds very
much like the sinus wave the multi_audio_test application produces; the
sound quality is pretty bad though (lots of periodical noise and glitches).
* Made B_MULTI_GET_DESCRIPTION safe to be called from userland.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24383 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 17959555c2332cf547a3d880b6c7ab99c5c856f1 11-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Separated widget parsing and debug output a bit better.
* More generic supported parameter support, respect the
AUDIO_CAP_AMPLIFIER_OVERRIDE, and AUDIO_CAP_FORMAT_OVERRIDE bits.
* More cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24360 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0e8c024030a7e2687f35cc2ef8a3778b862076fd 03-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Also print the codec's revision.
* Only print [Output] if it's an output.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24215 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 438500b022361f076e1766b41edfc9d24d89bc70 29-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

A bit more meaningful constant names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24183 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 340dd4fe3db4608f82f8cd3599d1fe0117233afa 29-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Renamed .c to .cpp, and fixed all warnings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24178 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d6fdcf43049dc63b88a16c13128e8fe142f7febc 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* More cleanup, build fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24138 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4919a4dc6fd129fc81720250a1f7ac199786b34d 25-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

Coding style cleanup, also fixed some minor bugs I found during that work:
* hda_widget_get_stream_support() did reference an out-of-bounds response for
the stream support parameter.
* Bit 18 in the PCM support parameter is 20bit sample support, not 18bit support.
* Enabled reporting B_FMT_FLOAT capability (not tested at all yet).
* Fixed B_FMT_FLOAT size (float is only 4 bytes, not 8).
* No longer clobbers the request_* parameters in B_MULTI_GET_BUFFERS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 44f16897021638e8e307f36d2b204524c48023c3 05-Feb-2008 Axel Dörfler <axeld@pinc-software.de>

* Removed B_CAN_INTERRUPT from acquire_sem_etc() call in hda_send_verbs();
that doesn't look right to me (and since there is a 50 ms timeout anyway...).
* Minor coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23872 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 89db0a5bf7261730fcf8d988412b660ccbe1ffc8 13-May-2007 Ithamar R. Adema <ithamar.adema@team-embedded.nl>

*** WARNING: UNSTABLE CODE AHEAD :P ***

This is the first (sort-of) working incarnation of the High Definition Audio driver. This
driver still has quite some way to go before coming to a point that we could call it stable
and useful, so please use with care. It has been developed on R5, so it might even become
useful for people still stuck on R5.

This driver was inspired by both the BSD work on HDA support, as well as our own dr_evil's
work on the ich_ac97 driver.

Before you start bugging me about completing the driver, or adding features, please capture
the serial debug output and mail it to ithamar AT unet DOT nl, including hardware details,
and success/failure descriptions.

As a last note, DasJott, if you're reading this, the first music it played was...
'Prodigy: Smack Your Bitch Up' :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21127 a95241bf-73f2-0310-859d-f6bbb57e9c96