aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/hda/patch_conexant.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-03-25 15:06:58 +0100
committerTakashi Iwai <tiwai@suse.de>2010-03-25 15:06:58 +0100
commit05471e4c446ca42d474b89df55bd48b0ce802717 (patch)
tree186b3db5214b87a08c02e7b5c42b4d68537d203e /sound/pci/hda/patch_conexant.c
parent7fb5622326bf98437e629e94f8710eb12a90b30d (diff)
parent6a4f2ccb467e00281470cde2dee08fe5ecde62d1 (diff)
downloadlinux-2.6.34-ux500-05471e4c446ca42d474b89df55bd48b0ce802717.tar.gz
Merge branch 'fix/hda' into topic/hda
Diffstat (limited to 'sound/pci/hda/patch_conexant.c')
-rw-r--r--sound/pci/hda/patch_conexant.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c
index 194a28c5499..61682e1d09d 100644
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -1591,6 +1591,21 @@ static int patch_cxt5047(struct hda_codec *codec)
#endif
}
spec->vmaster_nid = 0x13;
+
+ switch (codec->subsystem_id >> 16) {
+ case 0x103c:
+ /* HP laptops have really bad sound over 0 dB on NID 0x10.
+ * Fix max PCM level to 0 dB (originally it has 0x1e steps
+ * with 0 dB offset 0x17)
+ */
+ snd_hda_override_amp_caps(codec, 0x10, HDA_INPUT,
+ (0x17 << AC_AMPCAP_OFFSET_SHIFT) |
+ (0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
+ (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
+ (1 << AC_AMPCAP_MUTE_SHIFT));
+ break;
+ }
+
return 0;
}