From patchwork Sun Aug 20 12:25:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takashi Sakamoto X-Patchwork-Id: 9911113 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id AD33F602B1 for ; Sun, 20 Aug 2017 12:25:36 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9720E2871B for ; Sun, 20 Aug 2017 12:25:36 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 89CEA2871C; Sun, 20 Aug 2017 12:25:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6432E287D2 for ; Sun, 20 Aug 2017 12:25:34 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 8A6332673DF; Sun, 20 Aug 2017 14:25:20 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 1C07A2673E5; Sun, 20 Aug 2017 14:25:19 +0200 (CEST) Received: from smtp-proxy003.phy.lolipop.jp (smtp-proxy003.phy.lolipop.jp [157.7.104.44]) by alsa0.perex.cz (Postfix) with ESMTP id EFC412673DF for ; Sun, 20 Aug 2017 14:25:15 +0200 (CEST) Received: from smtp-proxy003.phy.lolipop.lan (HELO smtp-proxy003.phy.lolipop.jp) (172.19.44.44) (smtp-auth username m12129643-o-takashi, mechanism plain) by smtp-proxy003.phy.lolipop.jp (qpsmtpd/0.82) with ESMTPA; Sun, 20 Aug 2017 21:25:13 +0900 Received: from 127.0.0.1 (127.0.0.1) by smtp-proxy003.phy.lolipop.jp (LOLIPOP-Fsecure); Sun, 20 Aug 2017 21:25:04 +0900 (JST) X-Virus-Status: clean(LOLIPOP-Fsecure) From: Takashi Sakamoto To: tiwai@suse.de Date: Sun, 20 Aug 2017 21:25:02 +0900 Message-Id: <20170820122504.24486-1-o-takashi@sakamocchi.jp> X-Mailer: git-send-email 2.11.0 Cc: alsa-devel@alsa-project.org, linux1394-devel@lists.sourceforge.net, clemens@ladisch.de, ffado-devel@lists.sf.net Subject: [alsa-devel] [PATCH 0/2] ALSA: firewire-motu: add support for AudioExpress X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Hi, This patchset is to add support for MOTU AudioExpress. Any PCM frames and MIDI messages are transferred in rx/tx isochronous packets. Correspondingly, this adds an arrangement for specification flag for position of existence flag of MIDI messages. I note that this unit has a quirk of acknowledge code against request subaction on asynchronous communication. In detail, please refer to 2nd patch of this set. To easy my development, I applied a patch to 'firewire-ohci' module on my develop ment tree. You can see the content in the end of this message. It's really a band-aid for the aim and can not be merged as what it is. Unfortunately, current implementations of IEC 61883-1/6 packet streaming engine is not good enough in a point to presentation timestamp, as I reported[1]. Any plaback stream for the unit still causes periodical noise. [1] [alsa-devel] Status of ALSA firewire stack at Linux v4.12 development period http://mailman.alsa-project.org/pipermail/alsa-devel/2017-April/120061.html -------- 8< -------- -------- 8< -------- Takashi Sakamoto (2): ALSA: firewire-motu: add specification flag for position of flag for MIDI messages ALSA: firewire-motu: add support for MOTU Audio Express sound/firewire/motu/motu-pcm.c | 2 +- sound/firewire/motu/motu-protocol-v2.c | 5 ----- sound/firewire/motu/motu-protocol-v3.c | 5 ----- sound/firewire/motu/motu-stream.c | 38 ++++++++++++++++++++++++++++++++-- sound/firewire/motu/motu.c | 24 ++++++++++++++++++--- sound/firewire/motu/motu.h | 6 +++++- 6 files changed, 63 insertions(+), 17 deletions(-) diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index 8bf89267dc25..06a0906a9b56 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c @@ -1499,6 +1499,10 @@ static int handle_at_packet(struct context *context, packet->ack = evt - 0x10; break; + case 0x10: + packet->ack = ACK_PENDING; + break; + case OHCI1394_evt_no_status: if (context->flushing) { packet->ack = RCODE_GENERATION;