ALSA: firewire-lib: cache maximum length of payload to reduce function calls
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>
Tue, 11 Apr 2017 11:33:18 +0000 (20:33 +0900)
committerTakashi Iwai <tiwai@suse.de>
Wed, 12 Apr 2017 13:34:21 +0000 (15:34 +0200)
commitf91c9d7610a2fe306273a83e2fd5351bceb85d28
tree83e477ea0a5ccdaa6f6e57e5ccbd83882c7a2d45
parent12ee4022f67f8854061b46e5c0a7ad6258ab66c2
ALSA: firewire-lib: cache maximum length of payload to reduce function calls

During packet streaming, maximum length of payload for isochronous packet
is invariable, therefore no need to recalculate. Current ALSA IEC 61883-1/6
engine calls a function to calculate it 8,000 or more times per second
for incoming packet processing.

This commit adds a member to have maximum length of payload into 'struct
amdtp_stream', to reduces the function calls. At first callback from
isochronous context, the length is calculated and stored for later
processing.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/firewire/amdtp-stream.c
sound/firewire/amdtp-stream.h