summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2005-09-06 08:00:19 +0200
committerJaroslav Kysela <perex@suse.cz>2005-09-12 10:42:05 +0200
commita4f508b27c6b32d15c923b119b3e90a2d6a9500f (patch)
tree00a153e854bb2d01ba287917132a465b090d8ca8
parent43bcd973d6d05d16b876e09dcc49a09d3e48e88d (diff)
[ALSA] rtctimer: add option to make RTC timer the default sequencer timer
ALSA Core,ALSA sequencer Add an option to make the RTC timer the default sequencer timer. This becomes necessary for precise MIDI timing when the system timer runs at less than 1000 Hz. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
-rw-r--r--sound/core/Kconfig12
-rw-r--r--sound/core/seq/seq.c8
2 files changed, 19 insertions, 1 deletions
diff --git a/sound/core/Kconfig b/sound/core/Kconfig
index 6ae1d2e24b4..48cf45cfd0b 100644
--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
@@ -99,6 +99,18 @@ config SND_RTCTIMER
To compile this driver as a module, choose M here: the module
will be called snd-rtctimer.
+config SND_SEQ_RTCTIMER_DEFAULT
+ bool "Use RTC as default sequencer timer"
+ depends on SND_RTCTIMER && SND_SEQUENCER
+ default y
+ help
+ Say Y here to use the RTC timer as the default sequencer
+ timer. This is strongly recommended because it ensures
+ precise MIDI timing even when the system timer runs at less
+ than 1000 Hz.
+
+ If in doubt, say Y.
+
config SND_VERBOSE_PRINTK
bool "Verbose printk"
depends on SND
diff --git a/sound/core/seq/seq.c b/sound/core/seq/seq.c
index 7449d2a6262..24644150f24 100644
--- a/sound/core/seq/seq.c
+++ b/sound/core/seq/seq.c
@@ -43,7 +43,13 @@ int seq_client_load[64] = {[0 ... 63] = -1};
int seq_default_timer_class = SNDRV_TIMER_CLASS_GLOBAL;
int seq_default_timer_sclass = SNDRV_TIMER_SCLASS_NONE;
int seq_default_timer_card = -1;
-int seq_default_timer_device = SNDRV_TIMER_GLOBAL_SYSTEM;
+int seq_default_timer_device =
+#ifdef CONFIG_SND_SEQ_RTCTIMER_DEFAULT
+ SNDRV_TIMER_GLOBAL_RTC
+#else
+ SNDRV_TIMER_GLOBAL_SYSTEM
+#endif
+ ;
int seq_default_timer_subdevice = 0;
int seq_default_timer_resolution = 0; /* Hz */