diff options
Diffstat (limited to 'sound/core/seq/seq_timer.c')
-rw-r--r-- | sound/core/seq/seq_timer.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sound/core/seq/seq_timer.c b/sound/core/seq/seq_timer.c index b57a3c07ff6f..9c87d9f8ba9f 100644 --- a/sound/core/seq/seq_timer.c +++ b/sound/core/seq/seq_timer.c | |||
@@ -37,7 +37,7 @@ extern int seq_default_timer_resolution; | |||
37 | #define SKEW_BASE 0x10000 /* 16bit shift */ | 37 | #define SKEW_BASE 0x10000 /* 16bit shift */ |
38 | 38 | ||
39 | static void snd_seq_timer_set_tick_resolution(seq_timer_tick_t *tick, | 39 | static void snd_seq_timer_set_tick_resolution(seq_timer_tick_t *tick, |
40 | int tempo, int ppq, int nticks) | 40 | int tempo, int ppq) |
41 | { | 41 | { |
42 | if (tempo < 1000000) | 42 | if (tempo < 1000000) |
43 | tick->resolution = (tempo * 1000) / ppq; | 43 | tick->resolution = (tempo * 1000) / ppq; |
@@ -51,7 +51,6 @@ static void snd_seq_timer_set_tick_resolution(seq_timer_tick_t *tick, | |||
51 | } | 51 | } |
52 | if (tick->resolution <= 0) | 52 | if (tick->resolution <= 0) |
53 | tick->resolution = 1; | 53 | tick->resolution = 1; |
54 | tick->resolution *= nticks; | ||
55 | snd_seq_timer_update_tick(tick, 0); | 54 | snd_seq_timer_update_tick(tick, 0); |
56 | } | 55 | } |
57 | 56 | ||
@@ -100,7 +99,7 @@ void snd_seq_timer_defaults(seq_timer_t * tmr) | |||
100 | /* setup defaults */ | 99 | /* setup defaults */ |
101 | tmr->ppq = 96; /* 96 PPQ */ | 100 | tmr->ppq = 96; /* 96 PPQ */ |
102 | tmr->tempo = 500000; /* 120 BPM */ | 101 | tmr->tempo = 500000; /* 120 BPM */ |
103 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq, 1); | 102 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq); |
104 | tmr->running = 0; | 103 | tmr->running = 0; |
105 | 104 | ||
106 | tmr->type = SNDRV_SEQ_TIMER_ALSA; | 105 | tmr->type = SNDRV_SEQ_TIMER_ALSA; |
@@ -183,7 +182,7 @@ int snd_seq_timer_set_tempo(seq_timer_t * tmr, int tempo) | |||
183 | spin_lock_irqsave(&tmr->lock, flags); | 182 | spin_lock_irqsave(&tmr->lock, flags); |
184 | if ((unsigned int)tempo != tmr->tempo) { | 183 | if ((unsigned int)tempo != tmr->tempo) { |
185 | tmr->tempo = tempo; | 184 | tmr->tempo = tempo; |
186 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq, 1); | 185 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq); |
187 | } | 186 | } |
188 | spin_unlock_irqrestore(&tmr->lock, flags); | 187 | spin_unlock_irqrestore(&tmr->lock, flags); |
189 | return 0; | 188 | return 0; |
@@ -207,7 +206,7 @@ int snd_seq_timer_set_ppq(seq_timer_t * tmr, int ppq) | |||
207 | } | 206 | } |
208 | 207 | ||
209 | tmr->ppq = ppq; | 208 | tmr->ppq = ppq; |
210 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq, 1); | 209 | snd_seq_timer_set_tick_resolution(&tmr->tick, tmr->tempo, tmr->ppq); |
211 | spin_unlock_irqrestore(&tmr->lock, flags); | 210 | spin_unlock_irqrestore(&tmr->lock, flags); |
212 | return 0; | 211 | return 0; |
213 | } | 212 | } |