Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754577AbaGBOYu (ORCPT ); Wed, 2 Jul 2014 10:24:50 -0400 Received: from cantor2.suse.de ([195.135.220.15]:45043 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752264AbaGBOYt (ORCPT ); Wed, 2 Jul 2014 10:24:49 -0400 Date: Wed, 02 Jul 2014 16:24:46 +0200 Message-ID: From: Takashi Iwai To: Lars-Peter Clausen Cc: Peter Ujfalusi , alsa-devel@alsa-project.org, vinod.koul@intel.com, nsekhar@ti.com, Liam Girdwood , linux-kernel@vger.kernel.org, joelf@ti.com, Mark Brown , dmaengine@vger.kernel.org, dan.j.williams@intel.com Subject: Re: [alsa-devel] [PATCH v2 3/5] ASoC: generic-dmaengine-pcm: Prepare formats mask for valid physical sample sizes In-Reply-To: <53B413A7.6070301@metafoo.de> References: <1404307763-30557-1-git-send-email-peter.ujfalusi@ti.com> <1404307763-30557-4-git-send-email-peter.ujfalusi@ti.com> <53B412C1.20406@metafoo.de> <53B413A7.6070301@metafoo.de> 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.3 (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 At Wed, 02 Jul 2014 16:13:59 +0200, Lars-Peter Clausen wrote: > > On 07/02/2014 04:12 PM, Takashi Iwai wrote: > > At Wed, 02 Jul 2014 16:10:09 +0200, > > Lars-Peter Clausen wrote: > >> > >> On 07/02/2014 03:47 PM, Takashi Iwai wrote: > >> [...] > >>>> + /* > >>>> + * Prepare formats mask for valid/allowed sample types. If the dma does > >>>> + * not have support for the given physical word size, it needs to be > >>>> + * masked out so user space can not use the format which produces > >>>> + * corrupted audio. > >>>> + * In case the dma driver does not implement the slave_caps the default > >>>> + * assumption is that it supports 1, 2 and 4 bytes widths. > >>>> + */ > >>>> + for (i = 0; i <= SNDRV_PCM_FORMAT_LAST; i++) { > >>>> + int bits = snd_pcm_format_physical_width(i); > >>> > >>> Better to add a negative value check. Some formats return -EINVAL. > >>> > >> > >> So what should we do with those formats? Not support them? > > > > Yes, these are special formats that can't be handled generically. > > > > Looking through the list in pcm_misc.c there are also some formats where the > physical width is not a multiple of 8. We should probably also skip those. Right, ADPCM and G723 are such ones. Takashi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/