[ALSA] Fix-up sleeping in sound/ppc

PPC AWACS driver,PPC PMAC driver,PPC Tumbler driver
Description: Fix-up sleeping in sound/ppc. Replace big_mdelay() with
msleep() to guarantee the task delays as expected. This also involved
replacing/removing custom sleep functions.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>

authored by Nishanth Aravamudan and committed by Jaroslav Kysela 989a0b24 ef21ca24

+11 -16
+3 -3
sound/ppc/awacs.c
··· 103 snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]); 104 if (chip->manufacturer == 0x1) 105 /* delay for broken crystal part */ 106 - big_mdelay(750); 107 snd_pmac_awacs_write_noreg(chip, 1, 108 chip->awacs_reg[1] | MASK_RECALIBRATE | MASK_CMUTE | MASK_AMUTE); 109 snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]); ··· 653 { 654 if (machine_is_compatible("PowerBook3,1") 655 || machine_is_compatible("PowerBook3,2")) { 656 - big_mdelay(100); 657 snd_pmac_awacs_write_reg(chip, 1, 658 chip->awacs_reg[1] & ~MASK_PAROUT); 659 - big_mdelay(300); 660 } 661 662 awacs_restore_all_regs(chip);
··· 103 snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]); 104 if (chip->manufacturer == 0x1) 105 /* delay for broken crystal part */ 106 + msleep(750); 107 snd_pmac_awacs_write_noreg(chip, 1, 108 chip->awacs_reg[1] | MASK_RECALIBRATE | MASK_CMUTE | MASK_AMUTE); 109 snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]); ··· 653 { 654 if (machine_is_compatible("PowerBook3,1") 655 || machine_is_compatible("PowerBook3,2")) { 656 + msleep(100); 657 snd_pmac_awacs_write_reg(chip, 1, 658 chip->awacs_reg[1] & ~MASK_PAROUT); 659 + msleep(300); 660 } 661 662 awacs_restore_all_regs(chip);
-5
sound/ppc/pmac.h
··· 212 213 int snd_pmac_add_automute(pmac_t *chip); 214 215 - #define big_mdelay(msec) do {\ 216 - set_current_state(TASK_UNINTERRUPTIBLE);\ 217 - schedule_timeout(((msec) * HZ + 999) / 1000);\ 218 - } while (0) 219 - 220 #endif /* __PMAC_H */
··· 212 213 int snd_pmac_add_automute(pmac_t *chip); 214 215 #endif /* __PMAC_H */
+8 -8
sound/ppc/tumbler.c
··· 945 check_mute(chip, &mix->line_mute, 0, mix->auto_mute_notify, 946 chip->lineout_sw_ctl); 947 if (mix->anded_reset) 948 - big_mdelay(10); 949 check_mute(chip, &mix->amp_mute, 1, mix->auto_mute_notify, 950 chip->speaker_sw_ctl); 951 mix->drc_enable = 0; ··· 954 check_mute(chip, &mix->amp_mute, 0, mix->auto_mute_notify, 955 chip->speaker_sw_ctl); 956 if (mix->anded_reset) 957 - big_mdelay(10); 958 check_mute(chip, &mix->hp_mute, 1, mix->auto_mute_notify, 959 chip->master_sw_ctl); 960 if (mix->line_mute.addr != 0) ··· 1109 DBG("(I) codec anded reset !\n"); 1110 write_audio_gpio(&mix->hp_mute, 0); 1111 write_audio_gpio(&mix->amp_mute, 0); 1112 - big_mdelay(200); 1113 write_audio_gpio(&mix->hp_mute, 1); 1114 write_audio_gpio(&mix->amp_mute, 1); 1115 - big_mdelay(100); 1116 write_audio_gpio(&mix->hp_mute, 0); 1117 write_audio_gpio(&mix->amp_mute, 0); 1118 - big_mdelay(100); 1119 } else { 1120 DBG("(I) codec normal reset !\n"); 1121 1122 write_audio_gpio(&mix->audio_reset, 0); 1123 - big_mdelay(200); 1124 write_audio_gpio(&mix->audio_reset, 1); 1125 - big_mdelay(100); 1126 write_audio_gpio(&mix->audio_reset, 0); 1127 - big_mdelay(100); 1128 } 1129 } 1130
··· 945 check_mute(chip, &mix->line_mute, 0, mix->auto_mute_notify, 946 chip->lineout_sw_ctl); 947 if (mix->anded_reset) 948 + msleep(10); 949 check_mute(chip, &mix->amp_mute, 1, mix->auto_mute_notify, 950 chip->speaker_sw_ctl); 951 mix->drc_enable = 0; ··· 954 check_mute(chip, &mix->amp_mute, 0, mix->auto_mute_notify, 955 chip->speaker_sw_ctl); 956 if (mix->anded_reset) 957 + msleep(10); 958 check_mute(chip, &mix->hp_mute, 1, mix->auto_mute_notify, 959 chip->master_sw_ctl); 960 if (mix->line_mute.addr != 0) ··· 1109 DBG("(I) codec anded reset !\n"); 1110 write_audio_gpio(&mix->hp_mute, 0); 1111 write_audio_gpio(&mix->amp_mute, 0); 1112 + msleep(200); 1113 write_audio_gpio(&mix->hp_mute, 1); 1114 write_audio_gpio(&mix->amp_mute, 1); 1115 + msleep(100); 1116 write_audio_gpio(&mix->hp_mute, 0); 1117 write_audio_gpio(&mix->amp_mute, 0); 1118 + msleep(100); 1119 } else { 1120 DBG("(I) codec normal reset !\n"); 1121 1122 write_audio_gpio(&mix->audio_reset, 0); 1123 + msleep(200); 1124 write_audio_gpio(&mix->audio_reset, 1); 1125 + msleep(100); 1126 write_audio_gpio(&mix->audio_reset, 0); 1127 + msleep(100); 1128 } 1129 } 1130