From patchwork Wed Dec 6 05:26:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 10094943 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 A690E60210 for ; Wed, 6 Dec 2017 05:27:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B5A7288C5 for ; Wed, 6 Dec 2017 05:27:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7E7A928B0B; Wed, 6 Dec 2017 05:27:12 +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.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_NONE, T_DKIM_INVALID autolearn=no 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 DF200288C5 for ; Wed, 6 Dec 2017 05:27:10 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 72B00266E5F; Wed, 6 Dec 2017 06:27:08 +0100 (CET) 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 DB0E926789F; Wed, 6 Dec 2017 06:27:06 +0100 (CET) Received: from relmlie1.idc.renesas.com (relmlor2.renesas.com [210.160.252.172]) by alsa0.perex.cz (Postfix) with ESMTP id 2624B266E02 for ; Wed, 6 Dec 2017 06:27:00 +0100 (CET) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie1.idc.renesas.com with ESMTP; 06 Dec 2017 14:26:57 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 92E386579C; Wed, 6 Dec 2017 14:26:57 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.45,366,1508770800"; d="scan'208";a="265544408" Received: from mail-sg2apc01lp0241.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.241]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 06 Dec 2017 14:26:57 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=LEwm8NILnxQdyaYGcpm9zcul/NX5IPKZFTAFmidiB+0=; b=WCJ6vurmXNW3vuGKfecsh4INA7++0DeymE3TPe7gbXN+vGQyowjVnWqYLp4/3Xj3kA52HA7GvnPG85gBTgYwp88dgUUBDLpusYmPTMrgFhlleleuRUzuz1E/VrvDhbaLBEGt7RUTJG9oPZ6/cEx3w6gxRfZXLxeDNLqHd8S1YWs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=kuninori.morimoto.gx@renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.138) by KL1PR0601MB1879.apcprd06.prod.outlook.com (2603:1096:802:8::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.282.5; Wed, 6 Dec 2017 05:26:54 +0000 Message-ID: <87609kzb7u.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto To: Mark Brown In-Reply-To: <87po7szq28.wl%kuninori.morimoto.gx@renesas.com> References: <87r2s9txwi.wl%kuninori.morimoto.gx@renesas.com> <20171205123924.GG11658@finisterre> <87po7szq28.wl%kuninori.morimoto.gx@renesas.com> User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Wed, 6 Dec 2017 05:26:54 +0000 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: KAXPR01CA0015.jpnprd01.prod.outlook.com (2603:1096:402:19::25) To KL1PR0601MB1879.apcprd06.prod.outlook.com (2603:1096:802:8::15) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 42864356-94b0-43f7-66cf-08d53c69f678 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(5600026)(4604075)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(48565401081)(2017052603286); SRVR:KL1PR0601MB1879; X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1879; 3:ue+w1FzYdZ+LfmBwr2mUjc6j1mMqDOiUvZPU9Np4wOV4DypN1xrgGBf8x3Adj+YR5oMRzql251NfvTqT7C64ehQ/eiKwW0szvT2tlCUxBTFarreGIZxyKi14ReXwSnnW4O2ngKHFmrt2txCCJQz2knEfIEvbM879EDZs/+dDcpM8Mp1f8TYCAIrlqZnHekQ+9mnYr8IPJOpWgCJ52nS8Mhoj1wTb6QTDlPmd87Ym6ZGZQ3JpOu8/HX1/0X7JU0NM; 25:hKq8pZa1IIEfhMIEr4IyIK6vCqyB+DbC3uFKKZWa27kOrHoJq6x3N+k8JQh09S68xm9k/0e1n8ZceVqENQw3PTB5g+Z+qLPdcE5F84uAJquZFsOc84iIx0Ps6pgDd+lQeAb9ak9UvqGBw1c27kp2Cv5vZ5qW4Z2D4w37wk0AEYfF+PRT4Ig9+TH8tNDyzduOviwDUS4mijx8qhqcegS+K0YYPizweEYCaTSX3vbi+X9dVEbUnkLl8qfAPdIdA7jC4kt73vIv1skIXrXeP9BV94Oc1hZFfJC2t2TtzPaoyCpdLLU+eMup18ZdXrOuY6o32dFByijsy8EZP8gjTj4uIQ==; 31:bcF6UDxMu6p4rcSct8EHuz29eIhWxQuAozDEMEvMJbNeWPuAKlufpeJAZktkSPYNOJiQlqcF9Hadc0zsBksUyA8CDLlgIn41FhJ27wjeintXI5C4silnMieWrVALsLgj4nhp5kGr2279ngHhvL9kctpzdWyA4C/wVjdrbxH3xyx2BMuUbzxQMewdERn6WGxHrWDyj+orTlRUfoaoOu6dPY+u3b//iLRknY+bfLWvhTI= X-MS-TrafficTypeDiagnostic: KL1PR0601MB1879: X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1879; 20:gwZ1AP6BUGGITBKUHRwcMibUbsRk7SAvsbA/V96VBVwOL7bWtg2VvCQogQeTND+kc7po4k0pvFLSolZ0bj3AoL7mWIykjiPYRdaY7OiNB+lfp1v75yphQbfnw+9rv7Yw1ceLng1uL+DiBCwQcBcnD+Ea37CZ+KI/6B7XcSY0BLYHzUkAibx2W7vPyPeBKiDPNeElcICGsv/uVfqnmcrfZgKgvxAbIjPxWbXyALuEq51gCYW6j6N+VzrlyLrUhGV/lMm57ui+0HjZYwGCtwfD36pVXXuaXdEu6QfJ9RjFgmuAfM63ileVpExmaWoSiaTdFhLJEMrfRuc0K8+EMGPleCMReVNOX7TOlVqAp5D5j7FFqV/NlYvhpL/R4wtvmOV/vA65Rf9YcAmMHq3cr8OIVFm+xL3xPYOvDznmEDpcpboCS8Bzbe5eneiPayBSLWfnKhaaM7F1v/v3Ewsf8HeNsxfwh78E36fl1X2pVkqUzbkvMPockoPwnVBQPWy8XDSx; 4:yAPyRwz6cA44P7E2zmHfovRv1cWhW4TcApyzV1rtikSf0RcLkxqVLD+7+aogX6qy8bGqxaLVyIrrNIPZymiRmCLQMK0pADHPXXoHLIqx1xZk24+Kp6XagGMIlLqZBB6q1ciNG9yAkz+JAmiowe1mU01LzUo2kxYF/rn5vUEcRDKa4umA7vY0yP/Bpt+i7Rpbr+qHzdiVQkbwwdPujf0+/iG33IOIAx22Hymlr514RXQUii2f5NSa036tVflbY2gS+VGHH10tqXPatVbv/fxOyg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(8121501046)(5005006)(3231022)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(20161123558100)(6072148)(201708071742011); SRVR:KL1PR0601MB1879; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:KL1PR0601MB1879; X-Forefront-PRVS: 05134F8B4F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(39860400002)(346002)(376002)(366004)(189003)(199004)(58126008)(478600001)(23726003)(81156014)(8936002)(6246003)(33646002)(36756003)(81166006)(8676002)(316002)(305945005)(47776003)(16586007)(7736002)(69596002)(105586002)(53416004)(6916009)(2950100002)(66066001)(229853002)(3846002)(6486002)(106356001)(6116002)(97736004)(5660300001)(2906002)(25786009)(16526018)(53936002)(68736007)(86362001)(52116002)(4326008)(101416001)(50466002)(7696005)(83506002)(76176011)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:KL1PR0601MB1879; H:morimoto-PC.renesas.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: renesas.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; KL1PR0601MB1879; 23:Zx5IVPg+P5JLOLCID8r/4Yf8VTblduAGqUoChzk?= =?us-ascii?Q?gU4/C10DUNkuhjPMrL0Yaimnf/TlCmnr9rKIKfoN56aQ+nzPoo2UGN8qPerP?= =?us-ascii?Q?Rn7r1DPaSljNcWNbLayWNu2B2roARiCGLfvMaKCrYsL7ofC2ZXoxVizESck0?= =?us-ascii?Q?AX3YxDmvs3p7bYyNz3NjUv2dN7htzn7gxy/MuUIeZVqlg56pdUxsC9nxxXi6?= =?us-ascii?Q?lY5nddisHto4TAw1kJnhammlKkFURKVo1cUvrqZCXtEjRcBqgGj8V6h+eT/D?= =?us-ascii?Q?p/QgbQfBXtIyrmnfmxnAaV91CcFA00dJRa1Ke1daYYgY+8N5434J4AwrK9MO?= =?us-ascii?Q?hcwlQ1Li+FQ31pSXBXUpiezvawnqvLPciKSsvSidUe7Tclcwt2O25d09MGyA?= =?us-ascii?Q?+lO5lmg6yChBhhPqkUTB1sUt5K4JjkASwDycu1JuogepcEhw7sqD4leoVvOR?= =?us-ascii?Q?/RC+2p5PxMy0ZM+Rhhd0CP4M0y8CG/bPK9hx5b7mIGxq60ElviGMWFwQrz+c?= =?us-ascii?Q?pvU3j8xTIF9/CxNa6BESh06cXGSIOpDJv7demHEsaSAO+lPAK0ewXxEU6TUQ?= =?us-ascii?Q?y4NM3R9MrnQrgr+z+gId3NPfQuoWbT7SOGViYAdHIBBybHBrC/1lXzfwSqiP?= =?us-ascii?Q?HiQzikNZJyGSiaiq8s1Yr5Ny2hV48PWPsXNIaqtRAreuyqX+7gCcYRbBACZX?= =?us-ascii?Q?WyAU+Bq4BAgDv3jRsfWVVqPSofPmNsOE5pfjtEK9Vf4gXfqKFlXwe/0BsohT?= =?us-ascii?Q?3dRKPG7QpQ1CT+x54Gs2mQV4OSxDWqjDQfxw6erIRxdSagSL+NQS8Z8940h6?= =?us-ascii?Q?z0RQc6pEA1zxce99aAx7DZ4jHYjE4Htaf3f3bWUYOIQy0irSzHP6y2H37VHY?= =?us-ascii?Q?S9nwsU7z/P6rmV4Ma+8F6xb3M7+r4AaGkBNjekQRQn12+6tMvxWVnYgh+QIx?= =?us-ascii?Q?cN8eTBc+Kos8OuFIMYCz5aecjKC+NGSFl7z7/tqDCC4GXRV44u4SRblkkl4V?= =?us-ascii?Q?oiZXLsvKj6Q+uD+2u/QPFO9Qg4gGIDHN57/Q6lIQHxOJWyyegikReToCmGBz?= =?us-ascii?Q?gCNQ2NXrrmjGuBhvjtLrZEnuDLxBxZ1hGs5w5AMd/FTL5AAoxp4JQHUo9huS?= =?us-ascii?Q?YGTr1yW0oYjs=3D?= X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1879; 6:njPX+w2lrf1EG7pbvzGcK8HDz4fCDS78udyihh9qRbGtBuopvyszMPGGCHm5exVMoVgm/sG6W6a0TGTOhvK3QwymDjdMdbzJtNLjlCx/KSPbid/gOsWKo8DDrkebJL+nVy5Es5gE7NAVpzElEcSG/uMW1XbfkjrnluY4wU1F3aJikpN6PQaEZwwU+PDjhZjY5kGd8UoIZeEi9ufdeF1kpN4JqrMBMrHAxmOi8gX3qqcOldYUVgqs4sDUuMPiwQ5GCQuApTpDp7j/vZwZhdLTOSz3VDjo366lBpSoO7W0e7PQImPBDNPjoQK1p2L7fsR3EDS6cL+2hA7WioxTyC4N6odSstijcWvoY/8fM/WP1as=; 5:0dlo5kwetWBYg2DpM4g/roHC3R0nORRujyhGvUaLYtBrZIVQNROlmKZuw6c99OiFHSU94+PH9OqzRrgQU0VtIcCBz4cULXiVPOp/qotOhyK1FuaO5bV3zFkC1eNxsSbnvoZTDYWcYxwvMVUyzLMfnhlH6GB2P7F86B/NSTNVb9Q=; 24:gApb+IFo+PuZyUV5etSBKXXMDqbL6i0AVbVMaK/x0QWapJGR7Ne0zmqQ9f+XHvFoTqKRLPWUMyHq2IpY1yci3ixpnxcurZ2kZaVaLU65tpI=; 7:i4PcuBaPRAotGVBD7g3IPzCLIguNu9L+pT6FxVNFfqpSNTXBVkJGPlLZb8SBYqWw6qkxJafamJZqKQLcz0hWEdLJZcw99jaDUOeJ+meoKxOrV/LxPs4m9Q466VUYUS2L22eCLBsUcfU7j5WWzTSsN4T0tTFfel4eK9PFunZrcVKVuLEp8lk8kVjT7vXDW+4B95NWBFgeExpflveAjMo8gQB4vXrVttLdG541nZHnUgeBbTCN+Umi6tcVyFSfBR5y SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; KL1PR0601MB1879; 20:v24WJeuTmkY91FUgJXE391jq0T2TRXhnTXB5gyG+PHXzTSvV/w8Us+t5YVUlYeviRduaGFv7pUaGQIkcZnBzfKsgm61ppIrdG4y2h3f4bxYngxClW6hOiiQVWd33/6+TSYcPn70IJltiDEBIMTsNQOi5TEcmSmhGaDLcmm7iRlc= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2017 05:26:54.3517 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 42864356-94b0-43f7-66cf-08d53c69f678 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0601MB1879 Cc: Linux-ALSA Subject: Re: [alsa-devel] Question about soc-utils 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: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Mark, again > > > But, soc-utils::snd_soc_params_to_frame_size() > > > is using snd_pcm_format_width() instead of snd_pcm_format_physical_width(), > > > In "2ch x 24bit data with 32bit width" case, above "frame_bits" will be "64", > > > but, below "frame size" will be "48", I think. > > > Am I wrong ? > > > > That's just an oversight, it should be using the sample size. The original commit was below. It seems original code was also assuming format width. Was this also oversight ? format_width -> physical_width changes meaning, I think... -------------------------------------------------------- commit 3d8b2ce01b2de7c3c5cbf18b9b97d26cfaf11c14 Author: Mark Brown Date: Mon Jan 31 20:14:38 2011 +0000 ASoC: Use snd_pcm_format_width() in snd_soc_params_to_frame_size() Signed-off-by: Mark Brown Acked-by: Liam Girdwood -------------------------------------------------------- Best regards --- Kuninori Morimoto diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c index 1d07b93..3f45e6a 100644 --- a/sound/soc/soc-utils.c +++ b/sound/soc/soc-utils.c @@ -28,26 +28,9 @@ int snd_soc_params_to_frame_size(struct snd_pcm_hw_params *params) { int sample_size; - switch (params_format(params)) { - case SNDRV_PCM_FORMAT_S16_LE: - case SNDRV_PCM_FORMAT_S16_BE: - sample_size = 16; - break; - case SNDRV_PCM_FORMAT_S20_3LE: - case SNDRV_PCM_FORMAT_S20_3BE: - sample_size = 20; - break; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S24_BE: - sample_size = 24; - break; - case SNDRV_PCM_FORMAT_S32_LE: - case SNDRV_PCM_FORMAT_S32_BE: - sample_size = 32; - break; - default: - return -ENOTSUPP; - } + sample_size = snd_pcm_format_width(params_format(params)); + if (sample_size < 0) + return sample_size; return snd_soc_calc_frame_size(sample_size, params_channels(params), 1);