From 4d9dca1905672503cebebc64b30e3ea5dce0ae88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= Date: Fri, 8 Nov 2013 18:46:45 +0100 Subject: [PATCH] hda: added a few quirks. * trace the quirks along with codec ids. --- src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp index 4cdd2225a6..de64c0fc09 100644 --- a/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp +++ b/src/add-ons/kernel/drivers/audio/hda/hda_codec.cpp @@ -81,8 +81,12 @@ static const struct { } kCodecQuirks[] = { { HDA_ALL, HDA_ALL, HDA_ALL, HDA_ALL, HDA_QUIRK_IVREF, 0 }, { HDA_ALL, HDA_ALL, HDA_ALL, HDA_ALL, HDA_QUIRK_IVREF, 0 }, + { 0x10de, 0x0d94, CIRRUSLOGIC_VENDORID, HDA_ALL, + HDA_QUIRK_GPIO1 | HDA_QUIRK_GPIO3, 0 }, // MacBookAir 3,1(2) { 0x10de, 0xcb79, CIRRUSLOGIC_VENDORID, 0x4206, - HDA_QUIRK_GPIO1 | HDA_QUIRK_GPIO3, 0 }, // MacBook Pro 5.5 + HDA_QUIRK_GPIO1 | HDA_QUIRK_GPIO3, 0 }, // MacBook Pro 5,5 + { 0x10de, 0xcb89, CIRRUSLOGIC_VENDORID, 0x4206, + HDA_QUIRK_GPIO1 | HDA_QUIRK_GPIO3, 0 }, // MacBookPro 7,1 { 0x8384, 0x7680, SIGMATEL_VENDORID, 0x7680, HDA_QUIRK_GPIO0 | HDA_QUIRK_GPIO1, 0}, // Apple Intel Mac { 0x106b, 0x00a1, REALTEK_VENDORID, 0x0885, @@ -1285,7 +1289,7 @@ hda_codec_new_audio_group(hda_codec* codec, uint32 audioGroupNodeID) if (hda_audio_group_build_tree(audioGroup) != B_OK) goto err; hda_audio_group_switch_init(audioGroup); - + audioGroup->playback_stream = hda_stream_new(audioGroup, STREAM_PLAYBACK); audioGroup->record_stream = hda_stream_new(audioGroup, STREAM_RECORD); TRACE("hda: streams playback %p, record %p\n", audioGroup->playback_stream, @@ -1501,8 +1505,9 @@ hda_codec_new(hda_controller* controller, uint32 codecAddress) hda_codec_get_quirks(codec); TRACE("Codec %ld Vendor: %04lx Product: %04lx, Revision: " - "%lu.%lu.%lu.%lu\n", codecAddress, response.vendor, response.device, - response.major, response.minor, response.revision, response.stepping); + "%lu.%lu.%lu.%lu Quirks: %04lx\n", codecAddress, response.vendor, + response.device, response.major, response.minor, response.revision, + response.stepping, codec->quirks); for (uint32 nodeID = response.start; nodeID < response.start + response.count; nodeID++) {