All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Various cleanup + Mic Fix
@ 2018-10-08 19:39 ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch set fixes the microphone inconsistency issue, which means
the microphone now works all the time on all of the cards I've tested
(ZxR, Z, AE-5), along with the input effects.

It also includes changes suggested by Takashi Sakamoto, I believe I did
what he asked properly, but if I messed it up I'm sure you guys will
let me know.

This should finish up most of the ca0132 work, with all inputs and
outputs working on the desktop cards.

Connor McAdams (4):
  ALSA: hda/ca0132 - Fix microphone inconsistency issues
  ALSA: hda/ca0132 - Clean up patch_ca0132()
  ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
  ALSA: hda/ca0132 - Fix input effect controls for desktop cards

 sound/pci/hda/patch_ca0132.c | 75 +++++++++++++++++++++++++++++++-------------
 1 file changed, 54 insertions(+), 21 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 0/4] Various cleanup + Mic Fix
@ 2018-10-08 19:39 ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch set fixes the microphone inconsistency issue, which means
the microphone now works all the time on all of the cards I've tested
(ZxR, Z, AE-5), along with the input effects.

It also includes changes suggested by Takashi Sakamoto, I believe I did
what he asked properly, but if I messed it up I'm sure you guys will
let me know.

This should finish up most of the ca0132 work, with all inputs and
outputs working on the desktop cards.

Connor McAdams (4):
  ALSA: hda/ca0132 - Fix microphone inconsistency issues
  ALSA: hda/ca0132 - Clean up patch_ca0132()
  ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
  ALSA: hda/ca0132 - Fix input effect controls for desktop cards

 sound/pci/hda/patch_ca0132.c | 75 +++++++++++++++++++++++++++++++-------------
 1 file changed, 54 insertions(+), 21 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/4] ALSA: hda/ca0132 - Fix microphone inconsistency issues
  2018-10-08 19:39 ` Connor McAdams
@ 2018-10-08 19:39   ` Connor McAdams
  -1 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch fixes microphone inconsistency issues by adding a delay to
each setup_defaults function. Without this, the microphone only works
intermittently.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index b098504..12a3581 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -7223,6 +7223,8 @@ static void r3d_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
@@ -7267,6 +7269,8 @@ static void sbz_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
@@ -7324,6 +7328,8 @@ static void ae5_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 1/4] ALSA: hda/ca0132 - Fix microphone inconsistency issues
@ 2018-10-08 19:39   ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch fixes microphone inconsistency issues by adding a delay to
each setup_defaults function. Without this, the microphone only works
intermittently.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index b098504..12a3581 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -7223,6 +7223,8 @@ static void r3d_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
@@ -7267,6 +7269,8 @@ static void sbz_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
@@ -7324,6 +7328,8 @@ static void ae5_setup_defaults(struct hda_codec *codec)
 	int num_fx;
 	int idx, i;
 
+	msleep(100);
+
 	if (spec->dsp_state != DSP_DOWNLOADED)
 		return;
 
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/4] ALSA: hda/ca0132 - Clean up patch_ca0132()
  2018-10-08 19:39 ` Connor McAdams
@ 2018-10-08 19:39   ` Connor McAdams
  -1 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch cleans up the patch_ca0132() function with suggestions from
Takashi Sakamoto.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 12a3581..07d50d6 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -8697,10 +8697,6 @@ static int patch_ca0132(struct hda_codec *codec)
 	codec->spec = spec;
 	spec->codec = codec;
 
-	codec->patch_ops = ca0132_patch_ops;
-	codec->pcm_format_first = 1;
-	codec->no_sticky_stream = 1;
-
 	/* Detect codec quirk */
 	quirk = snd_pci_quirk_lookup(codec->bus->pci, ca0132_quirks);
 	if (quirk)
@@ -8711,6 +8707,15 @@ static int patch_ca0132(struct hda_codec *codec)
 	if (spec->quirk == QUIRK_SBZ)
 		sbz_detect_quirk(codec);
 
+	if (spec->quirk == QUIRK_ZXR_DBPRO)
+		codec->patch_ops = dbpro_patch_ops;
+	else
+		codec->patch_ops = ca0132_patch_ops;
+
+	codec->pcm_format_first = 1;
+	codec->no_sticky_stream = 1;
+
+
 	spec->dsp_state = DSP_DOWNLOAD_INIT;
 	spec->num_mixers = 1;
 
@@ -8725,7 +8730,6 @@ static int patch_ca0132(struct hda_codec *codec)
 		snd_hda_codec_set_name(codec, "Sound Blaster ZxR");
 		break;
 	case QUIRK_ZXR_DBPRO:
-		codec->patch_ops = dbpro_patch_ops;
 		break;
 	case QUIRK_R3D:
 		spec->mixers[0] = desktop_mixer;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/4] ALSA: hda/ca0132 - Clean up patch_ca0132()
@ 2018-10-08 19:39   ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch cleans up the patch_ca0132() function with suggestions from
Takashi Sakamoto.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 12a3581..07d50d6 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -8697,10 +8697,6 @@ static int patch_ca0132(struct hda_codec *codec)
 	codec->spec = spec;
 	spec->codec = codec;
 
-	codec->patch_ops = ca0132_patch_ops;
-	codec->pcm_format_first = 1;
-	codec->no_sticky_stream = 1;
-
 	/* Detect codec quirk */
 	quirk = snd_pci_quirk_lookup(codec->bus->pci, ca0132_quirks);
 	if (quirk)
@@ -8711,6 +8707,15 @@ static int patch_ca0132(struct hda_codec *codec)
 	if (spec->quirk == QUIRK_SBZ)
 		sbz_detect_quirk(codec);
 
+	if (spec->quirk == QUIRK_ZXR_DBPRO)
+		codec->patch_ops = dbpro_patch_ops;
+	else
+		codec->patch_ops = ca0132_patch_ops;
+
+	codec->pcm_format_first = 1;
+	codec->no_sticky_stream = 1;
+
+
 	spec->dsp_state = DSP_DOWNLOAD_INIT;
 	spec->num_mixers = 1;
 
@@ -8725,7 +8730,6 @@ static int patch_ca0132(struct hda_codec *codec)
 		snd_hda_codec_set_name(codec, "Sound Blaster ZxR");
 		break;
 	case QUIRK_ZXR_DBPRO:
-		codec->patch_ops = dbpro_patch_ops;
 		break;
 	case QUIRK_R3D:
 		spec->mixers[0] = desktop_mixer;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/4] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
  2018-10-08 19:39 ` Connor McAdams
@ 2018-10-08 19:39   ` Connor McAdams
  -1 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch adds error checking to functions creating controls inside of
ca0132_build_controls().

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 47 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 35 insertions(+), 12 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 07d50d6..693b063 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -6365,7 +6365,8 @@ static int ca0132_build_controls(struct hda_codec *codec)
 					    NULL, ca0132_alt_slave_pfxs,
 					    "Playback Switch",
 					    true, &spec->vmaster_mute.sw_kctl);
-
+		if (err < 0)
+			return err;
 	}
 
 	/* Add in and out effects controls.
@@ -6392,8 +6393,14 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 * prefix, and change PlayEnhancement and CrystalVoice to match.
 	 */
 	if (spec->use_alt_controls) {
-		ca0132_alt_add_svm_enum(codec);
-		add_ca0132_alt_eq_presets(codec);
+		err = ca0132_alt_add_svm_enum(codec);
+		if (err < 0)
+			return err;
+
+		err = add_ca0132_alt_eq_presets(codec);
+		if (err < 0)
+			return err;
+
 		err = add_fx_switch(codec, PLAY_ENHANCEMENT,
 					"Enable OutFX", 0);
 		if (err < 0)
@@ -6430,7 +6437,9 @@ static int ca0132_build_controls(struct hda_codec *codec)
 		if (err < 0)
 			return err;
 	}
-	add_voicefx(codec);
+	err = add_voicefx(codec);
+	if (err < 0)
+		return err;
 
 	/*
 	 * If the codec uses alt_functions, you need the enumerated controls
@@ -6438,23 +6447,37 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 * setting control.
 	 */
 	if (spec->use_alt_functions) {
-		ca0132_alt_add_output_enum(codec);
-		ca0132_alt_add_mic_boost_enum(codec);
+		err = ca0132_alt_add_output_enum(codec);
+		if (err < 0)
+			return err;
+		err = ca0132_alt_add_mic_boost_enum(codec);
+		if (err < 0)
+			return err;
 		/*
 		 * ZxR only has microphone input, there is no front panel
 		 * header on the card, and aux-in is handled by the DBPro board.
 		 */
-		if (spec->quirk != QUIRK_ZXR)
-			ca0132_alt_add_input_enum(codec);
+		if (spec->quirk != QUIRK_ZXR) {
+			err = ca0132_alt_add_input_enum(codec);
+			if (err < 0)
+				return err;
+		}
 	}
 
 	if (spec->quirk == QUIRK_AE5) {
-		ae5_add_headphone_gain_enum(codec);
-		ae5_add_sound_filter_enum(codec);
+		err = ae5_add_headphone_gain_enum(codec);
+		if (err < 0)
+			return err;
+		err = ae5_add_sound_filter_enum(codec);
+		if (err < 0)
+			return err;
 	}
 
-	if (spec->quirk == QUIRK_ZXR)
-		zxr_add_headphone_gain_switch(codec);
+	if (spec->quirk == QUIRK_ZXR) {
+		err = zxr_add_headphone_gain_switch(codec);
+		if (err < 0)
+			return err;
+	}
 #ifdef ENABLE_TUNING_CONTROLS
 	add_tuning_ctls(codec);
 #endif
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/4] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
@ 2018-10-08 19:39   ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:39 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch adds error checking to functions creating controls inside of
ca0132_build_controls().

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 47 +++++++++++++++++++++++++++++++++-----------
 1 file changed, 35 insertions(+), 12 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 07d50d6..693b063 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -6365,7 +6365,8 @@ static int ca0132_build_controls(struct hda_codec *codec)
 					    NULL, ca0132_alt_slave_pfxs,
 					    "Playback Switch",
 					    true, &spec->vmaster_mute.sw_kctl);
-
+		if (err < 0)
+			return err;
 	}
 
 	/* Add in and out effects controls.
@@ -6392,8 +6393,14 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 * prefix, and change PlayEnhancement and CrystalVoice to match.
 	 */
 	if (spec->use_alt_controls) {
-		ca0132_alt_add_svm_enum(codec);
-		add_ca0132_alt_eq_presets(codec);
+		err = ca0132_alt_add_svm_enum(codec);
+		if (err < 0)
+			return err;
+
+		err = add_ca0132_alt_eq_presets(codec);
+		if (err < 0)
+			return err;
+
 		err = add_fx_switch(codec, PLAY_ENHANCEMENT,
 					"Enable OutFX", 0);
 		if (err < 0)
@@ -6430,7 +6437,9 @@ static int ca0132_build_controls(struct hda_codec *codec)
 		if (err < 0)
 			return err;
 	}
-	add_voicefx(codec);
+	err = add_voicefx(codec);
+	if (err < 0)
+		return err;
 
 	/*
 	 * If the codec uses alt_functions, you need the enumerated controls
@@ -6438,23 +6447,37 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 * setting control.
 	 */
 	if (spec->use_alt_functions) {
-		ca0132_alt_add_output_enum(codec);
-		ca0132_alt_add_mic_boost_enum(codec);
+		err = ca0132_alt_add_output_enum(codec);
+		if (err < 0)
+			return err;
+		err = ca0132_alt_add_mic_boost_enum(codec);
+		if (err < 0)
+			return err;
 		/*
 		 * ZxR only has microphone input, there is no front panel
 		 * header on the card, and aux-in is handled by the DBPro board.
 		 */
-		if (spec->quirk != QUIRK_ZXR)
-			ca0132_alt_add_input_enum(codec);
+		if (spec->quirk != QUIRK_ZXR) {
+			err = ca0132_alt_add_input_enum(codec);
+			if (err < 0)
+				return err;
+		}
 	}
 
 	if (spec->quirk == QUIRK_AE5) {
-		ae5_add_headphone_gain_enum(codec);
-		ae5_add_sound_filter_enum(codec);
+		err = ae5_add_headphone_gain_enum(codec);
+		if (err < 0)
+			return err;
+		err = ae5_add_sound_filter_enum(codec);
+		if (err < 0)
+			return err;
 	}
 
-	if (spec->quirk == QUIRK_ZXR)
-		zxr_add_headphone_gain_switch(codec);
+	if (spec->quirk == QUIRK_ZXR) {
+		err = zxr_add_headphone_gain_switch(codec);
+		if (err < 0)
+			return err;
+	}
 #ifdef ENABLE_TUNING_CONTROLS
 	add_tuning_ctls(codec);
 #endif
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/4] ALSA: hda/ca0132 - Fix input effect controls for desktop cards
  2018-10-08 19:39 ` Connor McAdams
@ 2018-10-08 19:40   ` Connor McAdams
  -1 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:40 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch removes the echo cancellation control for desktop cards, and
makes use of the special 0x47 SCP command for noise reduction.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 693b063..1a13cea 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -4857,7 +4857,7 @@ static int ca0132_effects_set(struct hda_codec *codec, hda_nid_t nid, long val)
 			val = 0;
 
 		/* If Voice Focus on SBZ, set to two channel. */
-		if ((nid == VOICE_FOCUS) && (spec->quirk == QUIRK_SBZ)
+		if ((nid == VOICE_FOCUS) && (spec->use_pci_mmio)
 				&& (spec->cur_mic_type != REAR_LINE_IN)) {
 			if (spec->effects_switch[CRYSTAL_VOICE -
 						 EFFECT_START_NID]) {
@@ -4876,7 +4876,7 @@ static int ca0132_effects_set(struct hda_codec *codec, hda_nid_t nid, long val)
 		 * For SBZ noise reduction, there's an extra command
 		 * to module ID 0x47. No clue why.
 		 */
-		if ((nid == NOISE_REDUCTION) && (spec->quirk == QUIRK_SBZ)
+		if ((nid == NOISE_REDUCTION) && (spec->use_pci_mmio)
 				&& (spec->cur_mic_type != REAR_LINE_IN)) {
 			if (spec->effects_switch[CRYSTAL_VOICE -
 						 EFFECT_START_NID]) {
@@ -6374,8 +6374,8 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 */
 	num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT;
 	for (i = 0; i < num_fx; i++) {
-		/* SBZ and R3D break if Echo Cancellation is used. */
-		if (spec->quirk == QUIRK_SBZ || spec->quirk == QUIRK_R3D) {
+		/* Desktop cards break if Echo Cancellation is used. */
+		if (spec->use_pci_mmio) {
 			if (i == (ECHO_CANCELLATION - IN_EFFECT_START_NID +
 						OUT_EFFECTS_COUNT))
 				continue;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/4] ALSA: hda/ca0132 - Fix input effect controls for desktop cards
@ 2018-10-08 19:40   ` Connor McAdams
  0 siblings, 0 replies; 13+ messages in thread
From: Connor McAdams @ 2018-10-08 19:40 UTC (permalink / raw)
  Cc: conmanx360, Jaroslav Kysela, Takashi Iwai, Takashi Sakamoto,
	Alastair Bridgewater, alsa-devel, linux-kernel

This patch removes the echo cancellation control for desktop cards, and
makes use of the special 0x47 SCP command for noise reduction.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
---
 sound/pci/hda/patch_ca0132.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index 693b063..1a13cea 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -4857,7 +4857,7 @@ static int ca0132_effects_set(struct hda_codec *codec, hda_nid_t nid, long val)
 			val = 0;
 
 		/* If Voice Focus on SBZ, set to two channel. */
-		if ((nid == VOICE_FOCUS) && (spec->quirk == QUIRK_SBZ)
+		if ((nid == VOICE_FOCUS) && (spec->use_pci_mmio)
 				&& (spec->cur_mic_type != REAR_LINE_IN)) {
 			if (spec->effects_switch[CRYSTAL_VOICE -
 						 EFFECT_START_NID]) {
@@ -4876,7 +4876,7 @@ static int ca0132_effects_set(struct hda_codec *codec, hda_nid_t nid, long val)
 		 * For SBZ noise reduction, there's an extra command
 		 * to module ID 0x47. No clue why.
 		 */
-		if ((nid == NOISE_REDUCTION) && (spec->quirk == QUIRK_SBZ)
+		if ((nid == NOISE_REDUCTION) && (spec->use_pci_mmio)
 				&& (spec->cur_mic_type != REAR_LINE_IN)) {
 			if (spec->effects_switch[CRYSTAL_VOICE -
 						 EFFECT_START_NID]) {
@@ -6374,8 +6374,8 @@ static int ca0132_build_controls(struct hda_codec *codec)
 	 */
 	num_fx = OUT_EFFECTS_COUNT + IN_EFFECTS_COUNT;
 	for (i = 0; i < num_fx; i++) {
-		/* SBZ and R3D break if Echo Cancellation is used. */
-		if (spec->quirk == QUIRK_SBZ || spec->quirk == QUIRK_R3D) {
+		/* Desktop cards break if Echo Cancellation is used. */
+		if (spec->use_pci_mmio) {
 			if (i == (ECHO_CANCELLATION - IN_EFFECT_START_NID +
 						OUT_EFFECTS_COUNT))
 				continue;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/4] Various cleanup + Mic Fix
  2018-10-08 19:39 ` Connor McAdams
                   ` (4 preceding siblings ...)
  (?)
@ 2018-10-09 14:15 ` Takashi Sakamoto
  -1 siblings, 0 replies; 13+ messages in thread
From: Takashi Sakamoto @ 2018-10-09 14:15 UTC (permalink / raw)
  To: Connor McAdams
  Cc: Jaroslav Kysela, Takashi Iwai, Alastair Bridgewater, alsa-devel,
	linux-kernel

On 2018年10月09日 04:39, Connor McAdams wrote:
> This patch set fixes the microphone inconsistency issue, which means
> the microphone now works all the time on all of the cards I've tested
> (ZxR, Z, AE-5), along with the input effects.
> 
> It also includes changes suggested by Takashi Sakamoto, I believe I did
> what he asked properly, but if I messed it up I'm sure you guys will
> let me know.
> 
> This should finish up most of the ca0132 work, with all inputs and
> outputs working on the desktop cards.
> 
> Connor McAdams (4):
>    ALSA: hda/ca0132 - Fix microphone inconsistency issues
>    ALSA: hda/ca0132 - Clean up patch_ca0132()
>    ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
>    ALSA: hda/ca0132 - Fix input effect controls for desktop cards
> 
>   sound/pci/hda/patch_ca0132.c | 75 +++++++++++++++++++++++++++++++-------------
>   1 file changed, 54 insertions(+), 21 deletions(-)

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>


Thanks

Takashi Sakamoto

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/4] Various cleanup + Mic Fix
  2018-10-08 19:39 ` Connor McAdams
@ 2018-10-09 14:21   ` Takashi Iwai
  -1 siblings, 0 replies; 13+ messages in thread
From: Takashi Iwai @ 2018-10-09 14:21 UTC (permalink / raw)
  To: Connor McAdams
  Cc: alsa-devel, Alastair Bridgewater, Jaroslav Kysela,
	Takashi Sakamoto, linux-kernel

On Mon, 08 Oct 2018 21:39:56 +0200,
Connor McAdams wrote:
> 
> This patch set fixes the microphone inconsistency issue, which means
> the microphone now works all the time on all of the cards I've tested
> (ZxR, Z, AE-5), along with the input effects.
> 
> It also includes changes suggested by Takashi Sakamoto, I believe I did
> what he asked properly, but if I messed it up I'm sure you guys will
> let me know.
> 
> This should finish up most of the ca0132 work, with all inputs and
> outputs working on the desktop cards.
> 
> Connor McAdams (4):
>   ALSA: hda/ca0132 - Fix microphone inconsistency issues
>   ALSA: hda/ca0132 - Clean up patch_ca0132()
>   ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
>   ALSA: hda/ca0132 - Fix input effect controls for desktop cards

Now applied all four patches.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/4] Various cleanup + Mic Fix
@ 2018-10-09 14:21   ` Takashi Iwai
  0 siblings, 0 replies; 13+ messages in thread
From: Takashi Iwai @ 2018-10-09 14:21 UTC (permalink / raw)
  To: Connor McAdams
  Cc: alsa-devel, Alastair Bridgewater, Jaroslav Kysela,
	Takashi Sakamoto, linux-kernel

On Mon, 08 Oct 2018 21:39:56 +0200,
Connor McAdams wrote:
> 
> This patch set fixes the microphone inconsistency issue, which means
> the microphone now works all the time on all of the cards I've tested
> (ZxR, Z, AE-5), along with the input effects.
> 
> It also includes changes suggested by Takashi Sakamoto, I believe I did
> what he asked properly, but if I messed it up I'm sure you guys will
> let me know.
> 
> This should finish up most of the ca0132 work, with all inputs and
> outputs working on the desktop cards.
> 
> Connor McAdams (4):
>   ALSA: hda/ca0132 - Fix microphone inconsistency issues
>   ALSA: hda/ca0132 - Clean up patch_ca0132()
>   ALSA: hda/ca0132 - Add error checking in ca0132_build_controls()
>   ALSA: hda/ca0132 - Fix input effect controls for desktop cards

Now applied all four patches.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2018-10-09 14:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-08 19:39 [PATCH 0/4] Various cleanup + Mic Fix Connor McAdams
2018-10-08 19:39 ` Connor McAdams
2018-10-08 19:39 ` [PATCH 1/4] ALSA: hda/ca0132 - Fix microphone inconsistency issues Connor McAdams
2018-10-08 19:39   ` Connor McAdams
2018-10-08 19:39 ` [PATCH 2/4] ALSA: hda/ca0132 - Clean up patch_ca0132() Connor McAdams
2018-10-08 19:39   ` Connor McAdams
2018-10-08 19:39 ` [PATCH 3/4] ALSA: hda/ca0132 - Add error checking in ca0132_build_controls() Connor McAdams
2018-10-08 19:39   ` Connor McAdams
2018-10-08 19:40 ` [PATCH 4/4] ALSA: hda/ca0132 - Fix input effect controls for desktop cards Connor McAdams
2018-10-08 19:40   ` Connor McAdams
2018-10-09 14:15 ` [PATCH 0/4] Various cleanup + Mic Fix Takashi Sakamoto
2018-10-09 14:21 ` Takashi Iwai
2018-10-09 14:21   ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.