From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752159AbcD1LD0 (ORCPT ); Thu, 28 Apr 2016 07:03:26 -0400 Received: from mx2.suse.de ([195.135.220.15]:33041 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750932AbcD1LDZ (ORCPT ); Thu, 28 Apr 2016 07:03:25 -0400 Date: Thu, 28 Apr 2016 13:03:22 +0200 Message-ID: From: Takashi Iwai To: Mark Brown Cc: Peter Rosin , alsa-devel@alsa-project.org, Liam Girdwood , Jaroslav Kysela , linux-kernel@vger.kernel.org Subject: Re: [PATCH] ASoC: pcm: allow changing the playback/capture rates for symmetric links In-Reply-To: <20160428103822.GJ3217@sirena.org.uk> References: <1461746959-11443-1-git-send-email-peda@axentia.se> <20160427161504.GZ3217@sirena.org.uk> <122ca84a-230e-654e-425f-3adb0ca00ec7@axentia.se> <20160428103822.GJ3217@sirena.org.uk> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/24.5 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 28 Apr 2016 12:38:22 +0200, Mark Brown wrote: > > On Wed, Apr 27, 2016 at 10:45:48PM +0200, Peter Rosin wrote: > > On 2016-04-27 18:15, Mark Brown wrote: > > > > You've not articulated the problem you're trying to fix here, what in > > > concrete terms is the program trying to accomplish and why should it > > > succeed? > > > It is opening an OSS fd, and setting some parameters, but changing > > the speed fails (in this case, since the codec dai has .symmetric_rates). > > As far as I know this is how you specify a specific speed when using > > OSS and it is simply not possibly when one of the involved dais is > > symmetric in any way. Which is silly since there is only one stream, > > so symmetry should not be an issue. > > Lots of things just don't work with OSS, we stopped caring about it > years ago. The configuration mechanism just doesn't play nicely with > dynamic constraints at all. True, but looking at the code there, I wonder how only OSS hits. Does ALSA-native API really work as is...? > > >> if ((fd = open("/dev/dsp", O_WRONLY, 0)) == -1) { > > >> perror("open"); > > >> return 1; > > >> } > > > > This is using the OSS interfaces which really haven't ever been > > > especially supported for ASoC. > > > Apparently, how should I know? > > OSS in general had been deprecated for 5-10 years. > > > I haven't looked really closely at the userspace side of this, but the > > big picture is that we're using a (closed source) library that in its > > documentation has an example where they open /dev/dsp like this and > > feeds the fd to the lib. We are simply replicating that in our code. > > I don't know if the library does anything OSSy with the fd, or if it > > would be equally happy with an ALSA fd. > > If it's using OSS it's unlikely to work with ALSA, the two ABIs are > completely different. You need to talk to your proprietary software > vendor about updating their software. There are also some userspace > utilities that try to do the remapping by wrapping things there but I > can't remember the names off the top of my head, it's been a long time. There are a couple of ways. A simple one is with alsa-oss LD_PRELOAD wrapper, and another is via CUSE. Also, PA has own LD_PRELOAD wrapper. Takashi