History log of /haiku/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp
Revision Date Author Comments
# 9b655000 06-Apr-2024 Muhamed Emad <muhamed.emadeldeen@gmail.com>

hda audio: Enable -Werror

There seem to be a gcc2 bug resulting in bitfields of uint32 type being cast to int.
The bitfield is mostly not needed here, since the fields are 8, 16 or 32
bits, so just use the appropriate types.

Change-Id: Ie4297db8bcda8ca0937c7f55915b318a1f4f6e55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7599
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 32f411b9 03-Feb-2022 Jérôme Duval <jerome.duval@gmail.com>

hda: detect some audio devices per device ID

as it's possible they use the audio class_sub instead of hd_audio.
* also power up the audio function, this seems required on Jasper Lake.
* tested on Acer Swift 1 SF114-34.

Change-Id: I603018b1b973e7884aa99a58be1c24e568f2d5ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4928
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 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>


# 5caa9c86 15-Jun-2019 Murai Takashi <tmurai01@gmail.com>

drivers/audio/hda: Fix -Wformat=

Change-Id: Ifbc08eefc53cac2e23fc3ac4b003bf4d897265d7
Reviewed-on: https://review.haiku-os.org/c/1522
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 2501f22b 28-Oct-2018 Tim De Jong <tjadejong@thinkpractice.nl>

hda: Fixed headphone output on iMac 24 inch (early 2008).
Added subsystem_vendor_id and subsystem_id for iMac 24 inch early 2008 (iMac 8,1) and Macbook Pro 3,1 with specific quirks for those systems. This enables sound via head phone out at a decent level and quality. Previously, sound with the Haiku HDA driver was distorted and very low

Change-Id: I8e3dc3dbf5324bafff2b35ae64b43a0088272c8d
Reviewed-on: https://review.haiku-os.org/647
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# 82530463 29-Jun-2017 Jessica Hamilton <jessica.l.hamilton@gmail.com>

hda: prevent buffer overrun for associations array.


# 9457b769 06-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

hda: cleanup tracing.

* Make sure all traces are prefixed with the driver name (for easier
grepping)
* Remove some useless traces
* 80 column limit fixes


# 4d9dca19 08-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

hda: added a few quirks.

* trace the quirks along with codec ids.


# bd3bcbe5 18-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hda: reorganized the code for sense checking.

* should help with #9965


# 697c0d7c 15-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hdaudio: check pin sense on init, don't wait for a switch event

with headphones plugged on boot, sound was still enabled on speakers.
see #9956


# a07d8884 15-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hdaudio: check pin sense on init, don't wait for a switch event

with headphones plugged on boot, sound was still enabled on speakers.
see #9956


# 25a627d8 12-Nov-2012 Jerome Duval <jerome.duval@gmail.com>

hda: fixes KDL on HDMI, some digital quirks

* avoid crashing in case of lack of playback or record stream
* set format on digital output widgets
* accept digital output on the output path


# 41828f15 23-Sep-2012 Axel Dörfler <axeld@pinc-software.de>

Cleanup, no functional change intended.


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

hda: later specification updates


# b7bb5837 29-Aug-2012 Jérôme Duval <jerome.duval@gmail.com>

hda: mixer and audio paths fixes

* avoid mixing input and output paths when building a tree. In fact, an
audio input shouldn't use only a mixer used for output.
* in case an audio input has more than one input, use these inputs to
build a mux control.
* should help with #8270, #8333


# 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


# 9a0a4979 12-Jun-2010 Jérôme Duval <korli@users.berlios.de>

* add some helper functions to read/write verbs.
* try at support realtek alc888. alsa uses this init sequence.


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


# e43d37db 04-Jun-2010 Jérôme Duval <korli@users.berlios.de>

* added idt codec vendor id
* added quirks for idt 0x76b2 and apple macbook 0x00a1
* add headphones to the output path in case one input has a path to a used output


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


# 1716472d 27-May-2010 Jérôme Duval <korli@users.berlios.de>

try at unmuting the headphone pin complex when the jack is present, see ticket #6057


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36959 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


# cee04e80 08-Feb-2010 Artur Wyszynski <aljen-mlists@o2.pl>

Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


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


# 72570e2e 25-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* spawn the thread after an audio group is created to be safe.


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


# e25dcf1a 15-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* We now mute internal speakers when using headphones. We don't distinguish between headphones and mic jacks though.


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


# ab496a4b 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Changed various labels in audio drivers to sentence case. This is
case-audio-drivers.diff from #5169.


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


# e4e70475 20-Dec-2009 Jérôme Duval <korli@users.berlios.de>

* style cleanup
* added location to pin widget control name


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


# 6a60618f 19-Dec-2009 Jérôme Duval <korli@users.berlios.de>

use the codec GPIO count for quirks


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


# 37e514b6 15-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed unintended operator precedence.


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


# 3a58749c 15-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Automatic whitespace cleanup.


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


# a9bff40a 08-Dec-2009 Jérôme Duval <korli@users.berlios.de>

It seems the codec GPIO count isn't usable for quirks, ie the GPIO count is zero on the Macbook


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34570 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


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

added another MacBook quirk


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34353 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


# ba4d7ed2 13-Sep-2009 Jérôme Duval <korli@users.berlios.de>

* added input selector controls
* increased responses count
* only unmute active inputs on mixer widgets


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


# bd7b0937 06-Sep-2009 Jérôme Duval <korli@users.berlios.de>

the float format is not supposed to be selected yet, as we don't support the float format in multi_audio.
dump more audio formats in hda.


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


# 4489296b 28-Jul-2009 Jérôme Duval <korli@users.berlios.de>

* dumps format and rates supported by audio group, input and output widgets.
Damn my hardware only supports 20bits input, though this explains why it doesn't work with 24bits input..


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


# 24283c48 12-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* use macros when possible


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29188 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


# fa9ec9b1 09-Feb-2009 Jérôme Duval <korli@users.berlios.de>

fix beeper widget on more codecs


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


# 5ddb65f0 03-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* added missing dprintf for errors
* fix a warning and zeroed the controller struct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28846 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


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

correctly identify the beeper for AD1988 codecs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28698 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


# 3fa33c82 17-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* store vendor, revision, stepping, revision, minor, major in the codec struct
* check specific node ids for nodes declared as inputs which are really beepers
* when unmuting/setting amp on the input amplifier, iterate on each input instead of only the first one
* also unmute/set amp on the output and input amplifiers for the input and output paths, respectively


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28683 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


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

* Moved connection retrieval code into its own function.
* Extended it to support long format as well.
* Extended it to support ranges of widgets (I didn't find those in the standard,
but the FreeBSD and Linux drivers implement them, and my laptop even makes
use of them, too).


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


# 8fa3f81a 04-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed various errors in the widget debug output.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24238 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


# 9457b76963e6c42507bc913a4e77dd78cbce7c38 06-Jun-2015 Adrien Destugues <pulkomandy@gmail.com>

hda: cleanup tracing.

* Make sure all traces are prefixed with the driver name (for easier
grepping)
* Remove some useless traces
* 80 column limit fixes


# 4d9dca1905672503cebebc64b30e3ea5dce0ae88 08-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

hda: added a few quirks.

* trace the quirks along with codec ids.


# bd3bcbe5d6f544a4c9ce93cf28c29fd9e88abbe9 18-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hda: reorganized the code for sense checking.

* should help with #9965


# 697c0d7c63ed9ffdbdfa36451673c2193018b2e4 15-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hdaudio: check pin sense on init, don't wait for a switch event

with headphones plugged on boot, sound was still enabled on speakers.
see #9956


# a07d888425a1f4949c4b0f2ca022fe93dd120a6a 15-Sep-2013 Jerome Duval <jerome.duval@gmail.com>

hdaudio: check pin sense on init, don't wait for a switch event

with headphones plugged on boot, sound was still enabled on speakers.
see #9956


# 25a627d8800361c42b1f29bd2f2d29b323e9cc2d 12-Nov-2012 Jerome Duval <jerome.duval@gmail.com>

hda: fixes KDL on HDMI, some digital quirks

* avoid crashing in case of lack of playback or record stream
* set format on digital output widgets
* accept digital output on the output path


# 41828f1567c91a86ebcfb331f556e222dd9364c4 23-Sep-2012 Axel Dörfler <axeld@pinc-software.de>

Cleanup, no functional change intended.


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

hda: later specification updates


# b7bb5837791de5bae2f089a579d6bd063b7dbc51 29-Aug-2012 Jérôme Duval <jerome.duval@gmail.com>

hda: mixer and audio paths fixes

* avoid mixing input and output paths when building a tree. In fact, an
audio input shouldn't use only a mixer used for output.
* in case an audio input has more than one input, use these inputs to
build a mux control.
* should help with #8270, #8333


# 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


# 9a0a4979d5dad3a3689e2f8420abec40fdbd2a91 12-Jun-2010 Jérôme Duval <korli@users.berlios.de>

* add some helper functions to read/write verbs.
* try at support realtek alc888. alsa uses this init sequence.


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


# e43d37db09acd2673745828f98afbb0620f3ad90 04-Jun-2010 Jérôme Duval <korli@users.berlios.de>

* added idt codec vendor id
* added quirks for idt 0x76b2 and apple macbook 0x00a1
* add headphones to the output path in case one input has a path to a used output


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


# 1716472d364ea872e73c52bd53ed0f13a3e4b188 27-May-2010 Jérôme Duval <korli@users.berlios.de>

try at unmuting the headphone pin complex when the jack is present, see ticket #6057


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36959 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


# cee04e8074ec61fd8c6dac3539c5b821c3618888 08-Feb-2010 Artur Wyszynski <aljen-mlists@o2.pl>

Fixed various errors/warnings reported by cppcheck:
* memory leaks
* resource leaks
* added const's to getters
* removed a few reundant conditions


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


# 72570e2e148d3c0ef554aea5abfa0b87818f063a 25-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* spawn the thread after an audio group is created to be safe.


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


# e25dcf1a96e0fcadf6ce67afae010f6d5e601acf 15-Jan-2010 Jérôme Duval <korli@users.berlios.de>

* We now mute internal speakers when using headphones. We don't distinguish between headphones and mic jacks though.


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


# ab496a4be829b69eba1bae9a920494c0ffb7d48f 13-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by Humdinger:
Changed various labels in audio drivers to sentence case. This is
case-audio-drivers.diff from #5169.


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


# e4e70475db3a28ceae499db7beed0848c1defbaf 20-Dec-2009 Jérôme Duval <korli@users.berlios.de>

* style cleanup
* added location to pin widget control name


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


# 6a60618fc866fb94c3ded87b25795c96d584096a 19-Dec-2009 Jérôme Duval <korli@users.berlios.de>

use the codec GPIO count for quirks


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


# 37e514b64ce2c00321e9528d0c00803d0da87dd9 15-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed unintended operator precedence.


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


# 3a58749c5d337eef4f78eb5d1834b255fc468dff 15-Dec-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Automatic whitespace cleanup.


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


# a9bff40a898985e46ad8a79fb397b120fe468c97 08-Dec-2009 Jérôme Duval <korli@users.berlios.de>

It seems the codec GPIO count isn't usable for quirks, ie the GPIO count is zero on the Macbook


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34570 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


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

added another MacBook quirk


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34353 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


# ba4d7ed20dbd4cf97ca7e8a869e958ffd659b725 13-Sep-2009 Jérôme Duval <korli@users.berlios.de>

* added input selector controls
* increased responses count
* only unmute active inputs on mixer widgets


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


# bd7b0937db2774fec1ff9c3e4a3cff8d364830a5 06-Sep-2009 Jérôme Duval <korli@users.berlios.de>

the float format is not supposed to be selected yet, as we don't support the float format in multi_audio.
dump more audio formats in hda.


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


# 4489296bf49f191838bd035df9155933bcb006f7 28-Jul-2009 Jérôme Duval <korli@users.berlios.de>

* dumps format and rates supported by audio group, input and output widgets.
Damn my hardware only supports 20bits input, though this explains why it doesn't work with 24bits input..


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


# 24283c487cce1d14223a308483d60dc1b5777d00 12-Feb-2009 Jérôme Duval <korli@users.berlios.de>

* use macros when possible


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29188 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


# fa9ec9b16bd37a6e8088a8a5d7512daf744da3af 09-Feb-2009 Jérôme Duval <korli@users.berlios.de>

fix beeper widget on more codecs


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


# 5ddb65f0078b33e5257d92ff6c3dbf3cfec8444e 03-Jan-2009 Jérôme Duval <korli@users.berlios.de>

* added missing dprintf for errors
* fix a warning and zeroed the controller struct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28846 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


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

correctly identify the beeper for AD1988 codecs


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28698 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


# 3fa33c82a4e24a5395896a477931720ecbb8d45d 17-Nov-2008 Jérôme Duval <korli@users.berlios.de>

* store vendor, revision, stepping, revision, minor, major in the codec struct
* check specific node ids for nodes declared as inputs which are really beepers
* when unmuting/setting amp on the input amplifier, iterate on each input instead of only the first one
* also unmute/set amp on the output and input amplifiers for the input and output paths, respectively


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28683 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


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

* Moved connection retrieval code into its own function.
* Extended it to support long format as well.
* Extended it to support ranges of widgets (I didn't find those in the standard,
but the FreeBSD and Linux drivers implement them, and my laptop even makes
use of them, too).


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


# 8fa3f81a667dd13cdee292c98dac1262e65e1c79 04-Mar-2008 Axel Dörfler <axeld@pinc-software.de>

* Fixed various errors in the widget debug output.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24238 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