diff options
author | Dylan Reid <dgreid@chromium.org> | 2013-03-14 20:27:45 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-03-15 02:40:39 -0400 |
commit | e8f1bd5d77484a1088797fd5689b1a37148a170e (patch) | |
tree | 127733b992fb9a804db9d5a48a817b377806196c | |
parent | d1d28500cccc269fdbf81ba33d7328d1d2c04b2f (diff) |
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: Dylan Reid <dgreid@chromium.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/patch_ca0132.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c index cf24b75108d9..225d1d52abad 100644 --- a/sound/pci/hda/patch_ca0132.c +++ b/sound/pci/hda/patch_ca0132.c | |||
@@ -3239,7 +3239,7 @@ static int ca0132_set_vipsource(struct hda_codec *codec, int val) | |||
3239 | struct ca0132_spec *spec = codec->spec; | 3239 | struct ca0132_spec *spec = codec->spec; |
3240 | unsigned int tmp; | 3240 | unsigned int tmp; |
3241 | 3241 | ||
3242 | if (!dspload_is_loaded(codec)) | 3242 | if (spec->dsp_state != DSP_DOWNLOADED) |
3243 | return 0; | 3243 | return 0; |
3244 | 3244 | ||
3245 | /* if CrystalVoice if off, vipsource should be 0 */ | 3245 | /* if CrystalVoice if off, vipsource should be 0 */ |
@@ -4267,11 +4267,12 @@ static void ca0132_refresh_widget_caps(struct hda_codec *codec) | |||
4267 | */ | 4267 | */ |
4268 | static void ca0132_setup_defaults(struct hda_codec *codec) | 4268 | static void ca0132_setup_defaults(struct hda_codec *codec) |
4269 | { | 4269 | { |
4270 | struct ca0132_spec *spec = codec->spec; | ||
4270 | unsigned int tmp; | 4271 | unsigned int tmp; |
4271 | int num_fx; | 4272 | int num_fx; |
4272 | int idx, i; | 4273 | int idx, i; |
4273 | 4274 | ||
4274 | if (!dspload_is_loaded(codec)) | 4275 | if (spec->dsp_state != DSP_DOWNLOADED) |
4275 | return; | 4276 | return; |
4276 | 4277 | ||
4277 | /* out, in effects + voicefx */ | 4278 | /* out, in effects + voicefx */ |