Commit e8f1bd5d authored by Dylan Reid's avatar Dylan Reid Committed by Takashi Iwai

ALSA: hda/ca0132 - Check download state of DSP.

Instead of using the dspload_is_loaded() function, check the dsp_state
that is kept in the spec.  The dspload_is_loaded() function returns
true if the DSP transfer was never started.  This false-positive leads
to multiple second delays when ca0132_setup_efaults() times out on
each write.
Signed-off-by: default avatarDylan Reid <dgreid@chromium.org>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent d1d28500
...@@ -3239,7 +3239,7 @@ static int ca0132_set_vipsource(struct hda_codec *codec, int val) ...@@ -3239,7 +3239,7 @@ static int ca0132_set_vipsource(struct hda_codec *codec, int val)
struct ca0132_spec *spec = codec->spec; struct ca0132_spec *spec = codec->spec;
unsigned int tmp; unsigned int tmp;
if (!dspload_is_loaded(codec)) if (spec->dsp_state != DSP_DOWNLOADED)
return 0; return 0;
/* if CrystalVoice if off, vipsource should be 0 */ /* if CrystalVoice if off, vipsource should be 0 */
...@@ -4267,11 +4267,12 @@ static void ca0132_refresh_widget_caps(struct hda_codec *codec) ...@@ -4267,11 +4267,12 @@ static void ca0132_refresh_widget_caps(struct hda_codec *codec)
*/ */
static void ca0132_setup_defaults(struct hda_codec *codec) static void ca0132_setup_defaults(struct hda_codec *codec)
{ {
struct ca0132_spec *spec = codec->spec;
unsigned int tmp; unsigned int tmp;
int num_fx; int num_fx;
int idx, i; int idx, i;
if (!dspload_is_loaded(codec)) if (spec->dsp_state != DSP_DOWNLOADED)
return; return;
/* out, in effects + voicefx */ /* out, in effects + voicefx */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment