FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Ubuntu > Ubuntu Kernel Team

 
 
LinkBack Thread Tools
 
Old 09-26-2012, 04:17 PM
 
Default Revert "ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup"

From: Joseph Salisbury <joseph.salisbury@canonical.com>

BugLink: http://bugs.launchpad.net/bugs/1006690


== Quantal Justification ==
This commit causes a regression that prevents the microphone from working on an Acer 1830T.


== Fix ==
Revert the following commit:
commit af741c150f66db8d1da6f82ac75e2571f7f1dd38
Author: Takashi Iwai <tiwai@suse.de>
Date: Mon May 7 18:09:48 2012 +0200

ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup

== Impact ==
The microphone does not work on an Acer 1830T with this commit.

== Test Case ==

A test kernel was built with this commit reverted. The original bug reporter confirmed the microphone worked with this commit reverted.


Joseph Salisbury (1):
Revert "ALSA: hda/realtek - Call alc_auto_parse_customize_define()
always after fixup"

sound/pci/hda/patch_realtek.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

--
1.7.9.5


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 09-26-2012, 04:17 PM
 
Default Revert "ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup"

From: Joseph Salisbury <joseph.salisbury@canonical.com>

This reverts commit af741c150f66db8d1da6f82ac75e2571f7f1dd38.

BugLink: http://bugs.launchpad.net/bugs/1006690
Backport required to apply this commit to Quantal.

Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
---
sound/pci/hda/patch_realtek.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index c4c4b01..62b2206 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5596,13 +5596,13 @@ static int patch_alc262(struct hda_codec *codec)
snd_hda_codec_write(codec, 0x1a, 0, AC_VERB_SET_PROC_COEF, tmp | 0x80);
}
#endif
+ alc_auto_parse_customize_define(codec);
+
alc_fix_pll_init(codec, 0x20, 0x0a, 10);

alc_pick_fixup(codec, NULL, alc262_fixup_tbl, alc262_fixups);
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);

- alc_auto_parse_customize_define(codec);
-
/* automatic parse from the BIOS config */
err = alc262_parse_auto_config(codec);
if (err < 0)
@@ -6267,6 +6267,8 @@ static int patch_alc269(struct hda_codec *codec)
struct alc_spec *spec;
int err;

+ alc_auto_parse_customize_define(codec);
+
err = alc_alloc_spec(codec, 0x0b);
if (err < 0)
return err;
@@ -6304,8 +6306,6 @@ static int patch_alc269(struct hda_codec *codec)
alc269_fixup_tbl, alc269_fixups);
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE);

- alc_auto_parse_customize_define(codec);
-
/* automatic parse from the BIOS config */
err = alc269_parse_auto_config(codec);
if (err < 0)
@@ -6917,6 +6917,8 @@ static int patch_alc662(struct hda_codec *codec)
/* handle multiple HPs as is */
spec->parse_flags = HDA_PINCFG_NO_HP_FIXUP;

+ alc_auto_parse_customize_define(codec);
+
alc_fix_pll_init(codec, 0x20, 0x04, 15);

spec->init_hook = alc662_fill_coef;
--
1.7.9.5


--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 09-26-2012, 07:19 PM
Herton Ronaldo Krzesinski
 
Default Revert "ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup"

On Wed, Sep 26, 2012 at 12:17:36PM -0400, joseph.salisbury@canonical.com wrote:
> From: Joseph Salisbury <joseph.salisbury@canonical.com>
>
> This reverts commit af741c150f66db8d1da6f82ac75e2571f7f1dd38.
>
> BugLink: http://bugs.launchpad.net/bugs/1006690
> Backport required to apply this commit to Quantal.
>
> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
> ---
> sound/pci/hda/patch_realtek.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>

The real problem with commit af741c150f66db8d1da6f82ac75e2571f7f1dd38 is
that alc269 for example has this check:

if (codec->vendor_id == 0x10ec0269) {
spec->codec_variant = ALC269_TYPE_ALC269VA;
switch (alc_get_coef0(codec) & 0x00f0) {
case 0x0010:
if (codec->bus->pci->subsystem_vendor == 0x1025 &&
spec->cdefine.platform_type == 1)
err = alc_codec_rename(codec, "ALC271X");
spec->codec_variant = ALC269_TYPE_ALC269VB;
break;

When alc_auto_parse_customize_define was moved after this,
spec->cdefine.platform_type will always be zero, since it's filled by
alc_auto_parse_customize_define. So it prevents alc271_fixup_dmic to
being run, and from that I expect the mic recording failure.

A similar issue happens with alc662. But the patch was not at all wrong,
we need to run alc_auto_parse_customize_define after
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE) so we can properly take
ALC_FIXUP_SKU_IGNORE quirks into account. So I'm not acking the revert.

Chicken and egg problem... I'll try to cook up a patch to fix the
problem.

--
[]'s
Herton

--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 
Old 09-26-2012, 07:24 PM
Joseph Salisbury
 
Default Revert "ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup"

On 09/26/2012 03:19 PM, Herton Ronaldo Krzesinski wrote:

On Wed, Sep 26, 2012 at 12:17:36PM -0400, joseph.salisbury@canonical.com wrote:

From: Joseph Salisbury<joseph.salisbury@canonical.com>

This reverts commit af741c150f66db8d1da6f82ac75e2571f7f1dd38.

BugLink: http://bugs.launchpad.net/bugs/1006690
Backport required to apply this commit to Quantal.

Signed-off-by: Joseph Salisbury<joseph.salisbury@canonical.com>
---
sound/pci/hda/patch_realtek.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)


The real problem with commit af741c150f66db8d1da6f82ac75e2571f7f1dd38 is
that alc269 for example has this check:

if (codec->vendor_id == 0x10ec0269) {
spec->codec_variant = ALC269_TYPE_ALC269VA;
switch (alc_get_coef0(codec)& 0x00f0) {
case 0x0010:
if (codec->bus->pci->subsystem_vendor == 0x1025&&
spec->cdefine.platform_type == 1)
err = alc_codec_rename(codec, "ALC271X");
spec->codec_variant = ALC269_TYPE_ALC269VB;
break;

When alc_auto_parse_customize_define was moved after this,
spec->cdefine.platform_type will always be zero, since it's filled by
alc_auto_parse_customize_define. So it prevents alc271_fixup_dmic to
being run, and from that I expect the mic recording failure.

A similar issue happens with alc662. But the patch was not at all wrong,
we need to run alc_auto_parse_customize_define after
alc_apply_fixup(codec, ALC_FIXUP_ACT_PRE_PROBE) so we can properly take
ALC_FIXUP_SKU_IGNORE quirks into account. So I'm not acking the revert.

Chicken and egg problem... I'll try to cook up a patch to fix the
problem.

Thanks, Herton.






--
kernel-team mailing list
kernel-team@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/kernel-team
 

Thread Tools




All times are GMT. The time now is 01:06 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org