Ubuntu

Enable internal mic on a Lenovo machine

Reported by David Henningsson on 2013-09-27
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Undecided
David Henningsson
linux (Ubuntu)
Undecided
David Henningsson

Bug Description

This bug is used for tracking purposes only, please do not triage.

Changed in linux (Ubuntu):
status: New → In Progress
assignee: nobody → David Henningsson (diwic)

From: Kailang <email address hidden>

More thorough testing showed that these verbs were necessary to
improve quality of the internal mic. Patch originally from Realtek.

Cc: <email address hidden> (3.11)
BugLink: https://bugs.launchpad.net/bugs/1231931
Signed-off-by: David Henningsson <email address hidden>
---
 sound/pci/hda/patch_realtek.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index bc07d36..c4d54a9 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -3531,6 +3531,7 @@ enum {
  ALC269VB_FIXUP_ORDISSIMO_EVE2,
  ALC283_FIXUP_CHROME_BOOK,
  ALC282_FIXUP_ASUS_TX300,
+ ALC283_FIXUP_INT_MIC,
 };

 static const struct hda_fixup alc269_fixups[] = {
@@ -3790,6 +3791,16 @@ static const struct hda_fixup alc269_fixups[] = {
   .type = HDA_FIXUP_FUNC,
   .v.func = alc282_fixup_asus_tx300,
  },
+ [ALC283_FIXUP_INT_MIC] = {
+ .type = HDA_FIXUP_VERBS,
+ .v.verbs = (const struct hda_verb[]) {
+ {0x20, AC_VERB_SET_COEF_INDEX, 0x1a},
+ {0x20, AC_VERB_SET_PROC_COEF, 0x0011},
+ { }
+ },
+ .chained = true,
+ .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
+ },
 };

 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -3874,7 +3885,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
  SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
  SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
  SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
- SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
+ SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
  SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
  SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
  SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
--
1.7.9.5

tags: added: blocks-hwcert-enablement
Takashi Iwai (tiwai) wrote :

At Fri, 27 Sep 2013 13:10:25 +0200,
David Henningsson wrote:
>
> From: Kailang <email address hidden>
>
> More thorough testing showed that these verbs were necessary to
> improve quality of the internal mic. Patch originally from Realtek.
>
> Cc: <email address hidden> (3.11)
> BugLink: https://bugs.launchpad.net/bugs/1231931
> Signed-off-by: David Henningsson <email address hidden>
> ---

Applied it now, but dropped the Cc to stable, since this can't be
applied cleanly without your former patch, which wasn't merged to
stable either. If you'd like to move them to Cc, please inform the
all necessary upstream commit ids.

thanks,

Takashi

> sound/pci/hda/patch_realtek.c | 13 ++++++++++++-
> 1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index bc07d36..c4d54a9 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -3531,6 +3531,7 @@ enum {
> ALC269VB_FIXUP_ORDISSIMO_EVE2,
> ALC283_FIXUP_CHROME_BOOK,
> ALC282_FIXUP_ASUS_TX300,
> + ALC283_FIXUP_INT_MIC,
> };
>
> static const struct hda_fixup alc269_fixups[] = {
> @@ -3790,6 +3791,16 @@ static const struct hda_fixup alc269_fixups[] = {
> .type = HDA_FIXUP_FUNC,
> .v.func = alc282_fixup_asus_tx300,
> },
> + [ALC283_FIXUP_INT_MIC] = {
> + .type = HDA_FIXUP_VERBS,
> + .v.verbs = (const struct hda_verb[]) {
> + {0x20, AC_VERB_SET_COEF_INDEX, 0x1a},
> + {0x20, AC_VERB_SET_PROC_COEF, 0x0011},
> + { }
> + },
> + .chained = true,
> + .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
> + },
> };
>
> static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -3874,7 +3885,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> - SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> + SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
> SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
> SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
> --
> 1.7.9.5
>

On 09/27/2013 02:13 PM, Takashi Iwai wrote:
> At Fri, 27 Sep 2013 13:10:25 +0200,
> David Henningsson wrote:
>>
>> From: Kailang <email address hidden>
>>
>> More thorough testing showed that these verbs were necessary to
>> improve quality of the internal mic. Patch originally from Realtek.
>>
>> Cc: <email address hidden> (3.11)
>> BugLink: https://bugs.launchpad.net/bugs/1231931
>> Signed-off-by: David Henningsson <email address hidden>
>> ---
>
> Applied it now, but dropped the Cc to stable, since this can't be
> applied cleanly without your former patch, which wasn't merged to
> stable either. If you'd like to move them to Cc, please inform the
> all necessary upstream commit ids.

Ah, I thought the other fixup made it into 3.11. Thanks for checking.
I'll talk to stable if I need it backported to 3.11.

>
>
> thanks,
>
> Takashi
>
>> sound/pci/hda/patch_realtek.c | 13 ++++++++++++-
>> 1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
>> index bc07d36..c4d54a9 100644
>> --- a/sound/pci/hda/patch_realtek.c
>> +++ b/sound/pci/hda/patch_realtek.c
>> @@ -3531,6 +3531,7 @@ enum {
>> ALC269VB_FIXUP_ORDISSIMO_EVE2,
>> ALC283_FIXUP_CHROME_BOOK,
>> ALC282_FIXUP_ASUS_TX300,
>> + ALC283_FIXUP_INT_MIC,
>> };
>>
>> static const struct hda_fixup alc269_fixups[] = {
>> @@ -3790,6 +3791,16 @@ static const struct hda_fixup alc269_fixups[] = {
>> .type = HDA_FIXUP_FUNC,
>> .v.func = alc282_fixup_asus_tx300,
>> },
>> + [ALC283_FIXUP_INT_MIC] = {
>> + .type = HDA_FIXUP_VERBS,
>> + .v.verbs = (const struct hda_verb[]) {
>> + {0x20, AC_VERB_SET_COEF_INDEX, 0x1a},
>> + {0x20, AC_VERB_SET_PROC_COEF, 0x0011},
>> + { }
>> + },
>> + .chained = true,
>> + .chain_id = ALC269_FIXUP_LIMIT_INT_MIC_BOOST
>> + },
>> };
>>
>> static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>> @@ -3874,7 +3885,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>> SND_PCI_QUIRK(0x17aa, 0x2214, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> SND_PCI_QUIRK(0x17aa, 0x2215, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> SND_PCI_QUIRK(0x17aa, 0x5013, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> - SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> + SND_PCI_QUIRK(0x17aa, 0x501a, "Thinkpad", ALC283_FIXUP_INT_MIC),
>> SND_PCI_QUIRK(0x17aa, 0x5026, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> SND_PCI_QUIRK(0x17aa, 0x5109, "Thinkpad", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
>> SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_FIXUP_PCM_44K),
>> --
>> 1.7.9.5
>>
> _______________________________________________
> Alsa-devel mailing list
> <email address hidden>
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>

--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Changed in hwe-next:
status: New → Fix Committed
assignee: nobody → David Henningsson (diwic)
Launchpad Janitor (janitor) wrote :
Download full text (3.7 KiB)

This bug was fixed in the package linux - 3.12.0-1.3

---------------
linux (3.12.0-1.3) trusty; urgency=low

  [ Andy Whitcroft ]

  * [Config] arm64 -- add arch to the configuration handlers
  * [Config] arm64 -- add generic flavour
  * [Config] arm64 -- default config
  * [Config] arm64 -- fix up various FTBFS config options
  * SAUCE: arm64: export __copy_in_user to modules
  * [Config] arm64 -- disable ABI/module checks
  * [Config] arm64 -- enforcer -- add arm64 to the enforcer
  * [Config] arm64 -- enable udebs for arm64

  [ Colin Watson ]

  * [Config] Clean up various udeb Provides

  [ Paolo Pisati ]

  * [Config] AHCI_IMX=y
  * [Config] build imx*-wandboard dtbs

  [ Serge Hallyn ]

  * SAUCE: device_cgroup: remove can_attach

  [ Tim Gardner ]

  * rebase to v3.12-rc7
  * SAUCE: KVM: Fix modprobe failure for kvm_intel/kvm_amd
  * Release tracker
    - LP: #1245932

  [ Upstream Kernel Changes ]

  * rebase to v3.12-rc7
    - LP: #1180881
    - LP: #1180881
    - LP: #1217957

linux (3.12.0-0.2) trusty; urgency=low

  [ Andy Whitcroft ]

  * Revert "SAUCE: (no-up) scsi: hyper-v storage -- mark as preferring READ
    CAPACITY (16) at SPC-2"
  * Revert "SAUCE: (no-up) scsi: hyper-v storage -- mark as VPD capable at
    SPC-2"
  * Revert "SAUCE: (no-up) scsi: add scsi device flag to request READ
    CAPACITY (16) be preferred"
  * Revert "SAUCE: (no-up) scsi: add scsi device flag to request VPD pages
    be used at SPC-2"
  * Revert "overlayfs: Update to v19"
  * Revert "ubuntu: overlayfs v18 -- -- overlayfs: implement show_options"
  * Revert "ubuntu: overlayfs v18 -- -- overlayfs: add statfs support"
  * Revert "ubuntu: overlayfs v18 -- -- overlay filesystem"
  * Revert "ubuntu: overlayfs v18 -- -- vfs: introduce
    clone_private_mount()"
  * Revert "ubuntu: overlayfs v18 -- -- vfs: export do_splice_direct() to
    modules"
  * Revert "ubuntu: overlayfs v18 -- -- overlay: overlay filesystem
    documentation"
  * ubuntu: overlayfs v20 -- overlayfs: add statfs support
  * [Config] fix linux-libc-dev generation for arm64
  * [Config] fix linux-libc-dev generation for x32
  * [Config] add linux-libc-dev generation for ppc64el

  [ Erez Zadok ]

  * ubuntu: overlayfs v20 -- overlayfs: implement show_options

  [ Miklos Szeredi ]

  * ubuntu: overlayfs v20 -- vfs: add i_op->dentry_open()
  * ubuntu: overlayfs v20 -- vfs: export do_splice_direct() to modules
  * ubuntu: overlayfs v20 -- vfs: export __inode_permission() to modules
  * ubuntu: overlayfs v20 -- vfs: introduce clone_private_mount()
  * ubuntu: overlayfs v20 -- overlay filesystem
  * ubuntu: overlayfs v20 -- fs: limit filesystem stacking depth

  [ Neil Brown ]

  * ubuntu: overlayfs v20 -- overlay: overlay filesystem documentation

  [ Paolo Pisati ]

  * [Config] arm: VIRTIO_[BLK|NET|MMIO]=y

  [ Seth Forshee ]

  * SAUCE: (no-up) ACPI: Disable Windows 8 compatibility for some Lenovo
    ThinkPads
    - LP: #1183856

  [ Tim Gardner ]

  * [Config] CONFIG_CRYPTO_CRCT10DIF=y, CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
  * rebase to v3.12-rc2
  * updateconfigs
  * [Config] disable CONFIG_FB_VESA enforcer check
  * [Config] Disable lttng for FTBS
  * rebase to v3.12-rc3
  * rebase to v...

Read more...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in hwe-next:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers