ALSA: firewire-lib: use macro for maximum value of second in 1394 OHCI isoc descriptor
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Fri, 8 May 2020 04:36:27 +0000 (13:36 +0900)
committerTakashi Iwai <tiwai@suse.de>
Fri, 8 May 2020 07:44:22 +0000 (09:44 +0200)
In descriptor of isochronous context in 1394 OHCI, the field of second
has 3 bit, thus the maximum value is 8. The value is used for correct
cycle calculation.

This commit replaces hard-coded value with macro to obsolete magic
number.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Link: https://lore.kernel.org/r/20200508043635.349339-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/amdtp-stream.c

index 37d38efb4c877f8084400b92a4c9e87599fc007c..fcde01b54d11a36b4cb3e6ad629f5d12fc7fa4dd 100644 (file)
@@ -20,6 +20,8 @@
 #define CYCLES_PER_SECOND      8000
 #define TICKS_PER_SECOND       (TICKS_PER_CYCLE * CYCLES_PER_SECOND)
 
+#define OHCI_MAX_SECOND                8
+
 /* Always support Linux tracing subsystem. */
 #define CREATE_TRACE_POINTS
 #include "amdtp-stream-trace.h"
@@ -680,8 +682,8 @@ static inline u32 compute_cycle_count(__be32 ctx_header_tstamp)
 static inline u32 increment_cycle_count(u32 cycle, unsigned int addend)
 {
        cycle += addend;
-       if (cycle >= 8 * CYCLES_PER_SECOND)
-               cycle -= 8 * CYCLES_PER_SECOND;
+       if (cycle >= OHCI_MAX_SECOND * CYCLES_PER_SECOND)
+               cycle -= OHCI_MAX_SECOND * CYCLES_PER_SECOND;
        return cycle;
 }