All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Aravamudan <nacc@us.ibm.com>
To: perex@suse.cz
Cc: alsa-devel@alsa-project.org, linux-sound@vger.kernel.org
Subject: [PATCH 2/14] sound/ppc: fix-up sleeping paths
Date: Fri, 8 Jul 2005 17:04:05 -0700	[thread overview]
Message-ID: <20050709000405.GE2596@us.ibm.com> (raw)
In-Reply-To: <20050709000324.GD2596@us.ibm.com>

From: Nishanth Aravamudan <nacc@us.ibm.com>

Jaroslav, I realize that you are not the explicit maintainer for any of
these drivers, but I figured you would at least be able to {N,}ACK the
changes. I didn't find any entry in MAINTAINERS for ppc-specific sound
drivers. If you would prefer split patches instead of the large
patchset, I can do that.

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>

---

 awacs.c   |    6 +++---
 pmac.h    |    5 -----
 tumbler.c |   16 ++++++++--------
 3 files changed, 11 insertions(+), 16 deletions(-)

diff -urpN 2.6.13-rc2-kj/sound/ppc/awacs.c 2.6.13-rc2-kj-dev/sound/ppc/awacs.c
--- 2.6.13-rc2-kj/sound/ppc/awacs.c	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/awacs.c	2005-07-06 22:26:24.000000000 -0700
@@ -103,7 +103,7 @@ static void screamer_recalibrate(pmac_t 
 	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
 	if (chip->manufacturer == 0x1)
 		/* delay for broken crystal part */
-		big_mdelay(750);
+		msleep(750);
 	snd_pmac_awacs_write_noreg(chip, 1,
 				   chip->awacs_reg[1] | MASK_RECALIBRATE | MASK_CMUTE | MASK_AMUTE);
 	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
@@ -653,10 +653,10 @@ static void snd_pmac_awacs_resume(pmac_t
 {
 	if (machine_is_compatible("PowerBook3,1")
 	    || machine_is_compatible("PowerBook3,2")) {
-		big_mdelay(100);
+		msleep(100);
 		snd_pmac_awacs_write_reg(chip, 1,
 			chip->awacs_reg[1] & ~MASK_PAROUT);
-		big_mdelay(300);
+		msleep(300);
 	}
 
 	awacs_restore_all_regs(chip);
diff -urpN 2.6.13-rc2-kj/sound/ppc/pmac.h 2.6.13-rc2-kj-dev/sound/ppc/pmac.h
--- 2.6.13-rc2-kj/sound/ppc/pmac.h	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/pmac.h	2005-07-06 22:25:57.000000000 -0700
@@ -212,9 +212,4 @@ int snd_pmac_boolean_mono_info(snd_kcont
 
 int snd_pmac_add_automute(pmac_t *chip);
 
-#define big_mdelay(msec) do {\
-	set_current_state(TASK_UNINTERRUPTIBLE);\
-	schedule_timeout(((msec) * HZ + 999) / 1000);\
-} while (0)
-
 #endif /* __PMAC_H */
diff -urpN 2.6.13-rc2-kj/sound/ppc/tumbler.c 2.6.13-rc2-kj-dev/sound/ppc/tumbler.c
--- 2.6.13-rc2-kj/sound/ppc/tumbler.c	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/tumbler.c	2005-07-06 22:26:47.000000000 -0700
@@ -945,7 +945,7 @@ static void device_change_handler(void *
 			check_mute(chip, &mix->line_mute, 0, mix->auto_mute_notify,
 				   chip->lineout_sw_ctl);
 		if (mix->anded_reset)
-			big_mdelay(10);
+			msleep(10);
 		check_mute(chip, &mix->amp_mute, 1, mix->auto_mute_notify,
 			   chip->speaker_sw_ctl);
 		mix->drc_enable = 0;
@@ -954,7 +954,7 @@ static void device_change_handler(void *
 		check_mute(chip, &mix->amp_mute, 0, mix->auto_mute_notify,
 			   chip->speaker_sw_ctl);
 		if (mix->anded_reset)
-			big_mdelay(10);
+			msleep(10);
 		check_mute(chip, &mix->hp_mute, 1, mix->auto_mute_notify,
 			   chip->master_sw_ctl);
 		if (mix->line_mute.addr != 0)
@@ -1109,22 +1109,22 @@ static void tumbler_reset_audio(pmac_t *
 		DBG("(I) codec anded reset !\n");
 		write_audio_gpio(&mix->hp_mute, 0);
 		write_audio_gpio(&mix->amp_mute, 0);
-		big_mdelay(200);
+		msleep(200);
 		write_audio_gpio(&mix->hp_mute, 1);
 		write_audio_gpio(&mix->amp_mute, 1);
-		big_mdelay(100);
+		msleep(100);
 		write_audio_gpio(&mix->hp_mute, 0);
 		write_audio_gpio(&mix->amp_mute, 0);
-		big_mdelay(100);
+		msleep(100);
 	} else {
 		DBG("(I) codec normal reset !\n");
 
 		write_audio_gpio(&mix->audio_reset, 0);
-		big_mdelay(200);
+		msleep(200);
 		write_audio_gpio(&mix->audio_reset, 1);
-		big_mdelay(100);
+		msleep(100);
 		write_audio_gpio(&mix->audio_reset, 0);
-		big_mdelay(100);
+		msleep(100);
 	}
 }


-------------------------------------------------------
This SF.Net email is sponsored by the 'Do More With Dual!' webinar happening
July 14 at 8am PDT/11am EDT. We invite you to explore the latest in dual
core and dual graphics technology at this free one hour event hosted by HP, 
AMD, and NVIDIA.  To register visit http://www.hp.com/go/dualwebinar

WARNING: multiple messages have this Message-ID (diff)
From: Nishanth Aravamudan <nacc@us.ibm.com>
To: perex@suse.cz
Cc: alsa-devel@alsa-project.org, linux-sound@vger.kernel.org
Subject: [PATCH 2/14] sound/ppc: fix-up sleeping paths
Date: Sat, 09 Jul 2005 00:04:05 +0000	[thread overview]
Message-ID: <20050709000405.GE2596@us.ibm.com> (raw)
In-Reply-To: <20050709000324.GD2596@us.ibm.com>

From: Nishanth Aravamudan <nacc@us.ibm.com>

Jaroslav, I realize that you are not the explicit maintainer for any of
these drivers, but I figured you would at least be able to {N,}ACK the
changes. I didn't find any entry in MAINTAINERS for ppc-specific sound
drivers. If you would prefer split patches instead of the large
patchset, I can do that.

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>

---

 awacs.c   |    6 +++---
 pmac.h    |    5 -----
 tumbler.c |   16 ++++++++--------
 3 files changed, 11 insertions(+), 16 deletions(-)

diff -urpN 2.6.13-rc2-kj/sound/ppc/awacs.c 2.6.13-rc2-kj-dev/sound/ppc/awacs.c
--- 2.6.13-rc2-kj/sound/ppc/awacs.c	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/awacs.c	2005-07-06 22:26:24.000000000 -0700
@@ -103,7 +103,7 @@ static void screamer_recalibrate(pmac_t 
 	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
 	if (chip->manufacturer = 0x1)
 		/* delay for broken crystal part */
-		big_mdelay(750);
+		msleep(750);
 	snd_pmac_awacs_write_noreg(chip, 1,
 				   chip->awacs_reg[1] | MASK_RECALIBRATE | MASK_CMUTE | MASK_AMUTE);
 	snd_pmac_awacs_write_noreg(chip, 1, chip->awacs_reg[1]);
@@ -653,10 +653,10 @@ static void snd_pmac_awacs_resume(pmac_t
 {
 	if (machine_is_compatible("PowerBook3,1")
 	    || machine_is_compatible("PowerBook3,2")) {
-		big_mdelay(100);
+		msleep(100);
 		snd_pmac_awacs_write_reg(chip, 1,
 			chip->awacs_reg[1] & ~MASK_PAROUT);
-		big_mdelay(300);
+		msleep(300);
 	}
 
 	awacs_restore_all_regs(chip);
diff -urpN 2.6.13-rc2-kj/sound/ppc/pmac.h 2.6.13-rc2-kj-dev/sound/ppc/pmac.h
--- 2.6.13-rc2-kj/sound/ppc/pmac.h	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/pmac.h	2005-07-06 22:25:57.000000000 -0700
@@ -212,9 +212,4 @@ int snd_pmac_boolean_mono_info(snd_kcont
 
 int snd_pmac_add_automute(pmac_t *chip);
 
-#define big_mdelay(msec) do {\
-	set_current_state(TASK_UNINTERRUPTIBLE);\
-	schedule_timeout(((msec) * HZ + 999) / 1000);\
-} while (0)
-
 #endif /* __PMAC_H */
diff -urpN 2.6.13-rc2-kj/sound/ppc/tumbler.c 2.6.13-rc2-kj-dev/sound/ppc/tumbler.c
--- 2.6.13-rc2-kj/sound/ppc/tumbler.c	2005-07-06 07:57:20.000000000 -0700
+++ 2.6.13-rc2-kj-dev/sound/ppc/tumbler.c	2005-07-06 22:26:47.000000000 -0700
@@ -945,7 +945,7 @@ static void device_change_handler(void *
 			check_mute(chip, &mix->line_mute, 0, mix->auto_mute_notify,
 				   chip->lineout_sw_ctl);
 		if (mix->anded_reset)
-			big_mdelay(10);
+			msleep(10);
 		check_mute(chip, &mix->amp_mute, 1, mix->auto_mute_notify,
 			   chip->speaker_sw_ctl);
 		mix->drc_enable = 0;
@@ -954,7 +954,7 @@ static void device_change_handler(void *
 		check_mute(chip, &mix->amp_mute, 0, mix->auto_mute_notify,
 			   chip->speaker_sw_ctl);
 		if (mix->anded_reset)
-			big_mdelay(10);
+			msleep(10);
 		check_mute(chip, &mix->hp_mute, 1, mix->auto_mute_notify,
 			   chip->master_sw_ctl);
 		if (mix->line_mute.addr != 0)
@@ -1109,22 +1109,22 @@ static void tumbler_reset_audio(pmac_t *
 		DBG("(I) codec anded reset !\n");
 		write_audio_gpio(&mix->hp_mute, 0);
 		write_audio_gpio(&mix->amp_mute, 0);
-		big_mdelay(200);
+		msleep(200);
 		write_audio_gpio(&mix->hp_mute, 1);
 		write_audio_gpio(&mix->amp_mute, 1);
-		big_mdelay(100);
+		msleep(100);
 		write_audio_gpio(&mix->hp_mute, 0);
 		write_audio_gpio(&mix->amp_mute, 0);
-		big_mdelay(100);
+		msleep(100);
 	} else {
 		DBG("(I) codec normal reset !\n");
 
 		write_audio_gpio(&mix->audio_reset, 0);
-		big_mdelay(200);
+		msleep(200);
 		write_audio_gpio(&mix->audio_reset, 1);
-		big_mdelay(100);
+		msleep(100);
 		write_audio_gpio(&mix->audio_reset, 0);
-		big_mdelay(100);
+		msleep(100);
 	}
 }

  reply	other threads:[~2005-07-09  0:04 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-09  0:03 [PATCH 1/14] sound/pci: fix-up sleeping paths Nishanth Aravamudan
2005-07-09  0:03 ` Nishanth Aravamudan
2005-07-09  0:04 ` Nishanth Aravamudan [this message]
2005-07-09  0:04   ` [PATCH 2/14] sound/ppc: " Nishanth Aravamudan
2005-07-09  0:07   ` Nishanth Aravamudan
2005-07-09  0:04 ` [PATCH 3/14] sound/usb: " Nishanth Aravamudan
2005-07-09  0:04   ` Nishanth Aravamudan
2005-07-09  0:08   ` Nishanth Aravamudan
2005-07-09  0:06 ` [PATCH 1/14] sound/pci: " Nishanth Aravamudan
2005-07-09  0:11 ` [KJ] [PATCH 7/14] mips: replace timespectojiffies() with Nishanth Aravamudan
2005-07-09  0:11   ` [PATCH 7/14] mips: replace timespectojiffies() with timespec_to_jiffies() Nishanth Aravamudan
2005-07-11 14:12   ` [KJ] Re: [PATCH 7/14] mips: replace timespectojiffies() with Ralf Baechle
2005-07-11 14:12     ` [PATCH 7/14] mips: replace timespectojiffies() with timespec_to_jiffies() Ralf Baechle
2005-07-09  0:14 ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of Nishanth Aravamudan
2005-07-09  0:14   ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of schedule_timeout() Nishanth Aravamudan
2005-07-10 16:20   ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of Domen Puncer
2005-07-10 16:20     ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of schedule_timeout() Domen Puncer
2005-07-11  5:38     ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of Nishanth Aravamudan
2005-07-11  5:38       ` [KJ] [PATCH 11/14] scsi/lpfc_scsi: use msleep() instead of schedule_timeout() Nishanth Aravamudan
2005-07-09  0:15 ` [KJ] [PATCH 12/14] scsi/osst: use msleep() instead of Nishanth Aravamudan
2005-07-09  0:15   ` [KJ] [PATCH 12/14] scsi/osst: use msleep() instead of schedule_timeout() Nishanth Aravamudan
2005-07-09  0:16 ` [KJ] [PATCH 13/14] scsi/qla2xxx: use msleep{, Nishanth Aravamudan
2005-07-09  0:16   ` [KJ] [PATCH 13/14] scsi/qla2xxx: use msleep{, interruptible}() instead of schedule_timeout() Nishanth Aravamudan
  -- strict thread matches above, loose matches on Subject: below --
2005-07-09  0:06 [KJ] Re: [PATCH 1/14] sound/pci: fix-up sleeping paths Nishanth Aravamudan
2005-07-09  0:06 ` Nishanth Aravamudan
2005-07-09  0:07 [KJ] Re: [PATCH 2/14] sound/ppc: " Nishanth Aravamudan
2005-07-09  0:07 ` Nishanth Aravamudan
2005-07-09  0:08 [KJ] Re: [PATCH 3/14] sound/usb: " Nishanth Aravamudan
2005-07-09  0:08 ` Nishanth Aravamudan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050709000405.GE2596@us.ibm.com \
    --to=nacc@us.ibm.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.