summaryrefslogtreecommitdiffstats
path: root/Kbuild
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2016-05-09 23:15:53 +0900
committerTakashi Iwai <tiwai@suse.de>2016-05-10 17:03:59 +0200
commitdec63cc8b65b04c0ebb5d82b6b399665d6d44dca (patch)
treed99aca29183855fe3467bf481ea5f6ffaee7f462 /Kbuild
parent28e64f5176387bf5b9458d213650b90fa719be88 (diff)
downloadop-kernel-dev-dec63cc8b65b04c0ebb5d82b6b399665d6d44dca.zip
op-kernel-dev-dec63cc8b65b04c0ebb5d82b6b399665d6d44dca.tar.gz
ALSA: firewire-lib: handle IT/IR contexts in each software interrupt context
In clause 6.3 of IEC 61883-6:2000, there's an explanation about processing of presentation timestamp. In the clause, we can see "If a function block receives a CIP, processes it and subsequently re-transmits it, then the SYT of the outgoing CIP shall be the sum of the incoming SYT and the processing delay." ALSA firewire stack has an implementation to partly satisfy this specification. Developers assumed the stack to perform as an Audio function block[1]. Following to the assumption, current implementation of ALSA firewire stack use one software interrupt context to handle both of in/out packets. In most case, this is processed in 1394 OHCI IR context independently of the opposite context. Thus, this implementation uses longer CPU time in the software interrupt context. This is not better for whole system. Against the assumption, I confirmed that each ASIC for IEC 61883-1/6 doesn't necessarily expect it to the stack. Thus, current implementation of ALSA firewire stack includes over-engineering. This commit purges the implementation. As a result, packets of one direction are handled in one software interrupt context and spends minimum CPU time. [1] [alsa-devel] [PATCH 0/8] [RFC] new driver for Echo Audio's Fireworks based devices http://mailman.alsa-project.org/pipermail/alsa-devel/2013-June/062660.html Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'Kbuild')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud