aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/seq/seq_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/core/seq/seq_timer.c')
-rw-r--r--sound/core/seq/seq_timer.c9
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
39static void snd_seq_timer_set_tick_resolution(seq_timer_tick_t *tick, 39static 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}