diff options
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/uts/common/io/audio/drv/audiohd/audiohd.c | 11 | ||||
| -rw-r--r-- | usr/src/uts/common/io/audio/drv/audiohd/audiohd.h | 3 |
2 files changed, 10 insertions, 4 deletions
diff --git a/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c b/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c index 53ae63e45f..4513b26630 100644 --- a/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c +++ b/usr/src/uts/common/io/audio/drv/audiohd/audiohd.c @@ -3191,7 +3191,7 @@ audiohd_set_codec_info(hda_codec_t *codec) break; default: (void) snprintf(buf, sizeof (buf), - "Unkown HD codec"); + "Unknown HD codec: 0x%x", codec->vid); break; } @@ -3530,8 +3530,13 @@ audiohd_build_output_path(hda_codec_t *codec) int mnum = 0; uint8_t mixer_allow = 1; - /* work around for hp mini 1000 laptop */ - if (codec->vid == AUDIOHD_CODECID_HP) + /* + * work around for laptops which have IDT audio chipset, such as + * HP mini 1000 laptop, Dell Lattitude 6400. We don't allow mixer + * widget on such path, which leads to speaker loud hiss noise. + */ + if (codec->vid == AUDIOHD_CODEC_IDT7608 || + codec->vid == AUDIOHD_CODEC_IDT76B2) mixer_allow = 0; /* search an exclusive mixer widget path. This is preferred */ audiohd_do_build_output_path(codec, mixer_allow, &mnum, 1, 0); diff --git a/usr/src/uts/common/io/audio/drv/audiohd/audiohd.h b/usr/src/uts/common/io/audio/drv/audiohd/audiohd.h index a5acee53df..64362b165f 100644 --- a/usr/src/uts/common/io/audio/drv/audiohd/audiohd.h +++ b/usr/src/uts/common/io/audio/drv/audiohd/audiohd.h @@ -40,7 +40,8 @@ extern "C" { /* * specific codec id used by specific vendors */ -#define AUDIOHD_CODECID_HP 0x111d7608 +#define AUDIOHD_CODEC_IDT7608 0x111d7608 +#define AUDIOHD_CODEC_IDT76B2 0x111d76b2 #define AUDIOHD_CODECID_ALC888 0x10ec0888 #define AUDIOHD_CODECID_SONY1 0x10ec0260 #define AUDIOHD_CODECID_SONY2 0x10ec0262 |
