From owner-freebsd-arm@freebsd.org Mon Nov 12 19:46:17 2018 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EE6D4110FF92 for ; Mon, 12 Nov 2018 19:46:16 +0000 (UTC) (envelope-from herbert@gojira.at) Received: from mail.bsd4all.net (mail.bsd4all.net [IPv6:2a01:4f8:191:217b::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mail.bsd4all.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0608080039 for ; Mon, 12 Nov 2018 19:46:15 +0000 (UTC) (envelope-from herbert@gojira.at) Date: Mon, 12 Nov 2018 20:46:13 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=gojira.at; s=mail201809; t=1542051973; bh=viYogIhdnxLnj9Am+T+l7Jf5HnRn02lnwbQp44LBHDg=; h=Date:Message-ID:From:To:Subject:MIME-Version:Content-Type:from:to: subject:date:content-type:mime-version:message-id; b=U7GD+0nDiVyF/AlW5or5Zd98vUObx/J360e/Xz1KZ4kQNosS5sE/gQQadT2E6FlKp qWyqPKdTOLJhjCDl96iBGo+7/q675O7wWnxnR9Dt/rGyB1IEYESKZ9LeIKEFuK1JCS bTRsT11ZKpwJZYcz/0M77miq0ylOcr7q2C4xYvL7/fi9ASIJgowG3TAyi3HzLLyyYc 8IT6d/g8J0WajN1PSvjkz7WtY4Ouks7IH8m+eN+FvxjRCSmht7ZMurPxJqb71val3G SHCuGGtBa6lfVywuzHp8jCPFoUjXiWNwxnPd7Wokm4krKZeBhsA8nHnV/z460o2qeH iLU/WAth6WUEQ== Message-ID: <875zx2hyey.wl-herbert@gojira.at> From: "Herbert J. Skuhra" To: Hans Petter Selasky Cc: freebsd-arm@freebsd.org Subject: Re: Raspberry PI 2B/3 and USB audio In-Reply-To: <6beca923-ba25-3814-6bb2-f4cc2d7360d3@selasky.org> References: <87ftw96uq0.wl-herbert@gojira.at> <6beca923-ba25-3814-6bb2-f4cc2d7360d3@selasky.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.8 EasyPG/1.0.0 Emacs/27.0 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 0608080039 X-Spamd-Result: default: False [-3.59 / 200.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gojira.at]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:191:217b::25]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[gojira.at]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[gojira.at:+]; MX_GOOD(-0.01)[mail.bsd4all.net]; MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_SHORT(-0.93)[-0.926,0]; RCPT_COUNT_TWO(0.00)[2]; RCVD_COUNT_ZERO(0.00)[0]; FROM_EQ_ENVFROM(0.00)[]; IP_SCORE(-1.16)[ipnet: 2a01:4f8::/29(-2.86), asn: 24940(-2.92), country: DE(-0.01)]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Nov 2018 19:46:17 -0000 On Sun, 11 Nov 2018 13:52:14 +0100, Hans Petter Selasky wrote: > > On 11/10/18 12:24 PM, Herbert J. Skuhra wrote: > > Hi, > > > > if you use an USB sound card on your Raspberry PI 2B/3, can you please > > answer the following questions: > > > > - which USB sound card? > > - do you have bad audio on current or stable/12 after r339388? > > > > My "Creative Technology Ltd Sound Blaster Play 2" device sounds very > > bad. Meanwhile more changes were commited but they don't fix audio > > completly. > > > > Hi, > > Some background: > > The USB controller in Raspberry PI is running HIGH-speed USB. Many USB > audio device are FULL-speed USB. In order for a FULL-speed USB device > to work in a HIGH-speed USB environment all data transfers need to go > through a so-called transaction translator. This transaction > translator operate on chunks of data, 171 bytes maximum. That means if > a USB audio stream generates 1000 packets per second, then suddenly a > bunch of smaller packets will be needed. This puts some stress on the > DWC OTG driver and there might be some room for improvement in this > area too, but the basic sympthom is that the DWC OTG driver in FreeBSD > is not always able to keep up with the timing required for these > so-called split transactions. One idea is to move all DWC OTG IRQ > handling away from CPU-0. I'm not sure if cpuset supports this yet on > armv7 // arm64. Might have to be done in the driver. > > Further some audio device use non-adaptive clocks, which means the > recording channel must be active along with the playback channel else > jitter will occur. > > The recommendation for RPI is a HIGH-speed USB audio device (should be > clearly marked in the specification). Using a HIGH-speed USB audio > device will reduce the number of interrupts significantly. Well, the sound card worked perfectly fine so far... both on FreeBSD and Arch Linux ARM... no luck with NetBSD. Never mind! I am obviously the only user affected by this "fix" (r339388). -- Herbert