Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp956889pxb; Wed, 3 Mar 2021 22:28:28 -0800 (PST) X-Google-Smtp-Source: ABdhPJyCqKf9SxyOYrvv/HKUF4H3ctlff3HCK5gCjuDH5N8I7nN64Jwh2lsAjc6p+LBJXK1tD0VE X-Received: by 2002:a17:906:3052:: with SMTP id d18mr2609214ejd.530.1614839307858; Wed, 03 Mar 2021 22:28:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614839307; cv=none; d=google.com; s=arc-20160816; b=TjvDzbL5uRcHpxhEzaHQhVOKn2h0kOtAQguZW8JHUk/z3SamLv2+8dtKSKSZ0mqS+V AQC01ctNOK92ESv1nbxeQkrIBZ9sLo3r9mcVuOnpsdkUNaBrnjpj/pCSIp84nFuO6BHY aP21E1wiEThGhTmH1u0pjl3fKG59OYg9cJmrJztYqXDCArhDVYPTxYo8n87H7bjB5i55 KMclH60Q8wJHexb5HoUxHamPDTuVbO1mcrSEqVh6ugWFaAbGsEOCjoi1d8jPWOyYvL1z DuQWt39sRh0F3fG23mvD7Evm7PGbrtfW90ZeqZn1RDLlKYgC9uH1wPS/JAR/cetcYi7T 7GcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=t2lwxX1hbQrJ3MKSvW2tSY+53xgKeDE6McOV5fU3ESU=; b=EWqCyNGzBUgT2iPMUdVwQWz4HWQvxLct5TNfXxKcxfdsSXd4YlqbAqSfVL/MdHKIu7 OQcFHjQmIxI3DZ3TjRcXq0LW+6cFx1bapYeBAYI08DoYxP6g9YfG5mzK5Kr795pOmdzv lIao6T3bH+485bemzrBYzOa5Qz3S25GaCYPjj77K8suiQYjIi1FohWm7GxGyFlQTSV7t acTXYDI2z8BbTFpWtd4jABAfDqfGHW9451AGa2VESWo2BE1cXBQvjCKQd/GCGSSo3FGe ZXZrfgz/8nnft8VlPS4/h3QDocwuTkCn9we8goPyof+OL9o8G5CXc8vla5S5FOgSXc77 C57g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=NGIJpzeA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a23si14925095ejx.146.2021.03.03.22.28.05; Wed, 03 Mar 2021 22:28:27 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@cirrus.com header.s=PODMain02222019 header.b=NGIJpzeA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1576881AbhCBQ1f (ORCPT + 99 others); Tue, 2 Mar 2021 11:27:35 -0500 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:34896 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1448096AbhCBNzU (ORCPT ); Tue, 2 Mar 2021 08:55:20 -0500 Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 122DGtvB027209; Tue, 2 Mar 2021 07:19:12 -0600 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=date : from : to : cc : subject : message-id : references : mime-version : content-type : in-reply-to; s=PODMain02222019; bh=t2lwxX1hbQrJ3MKSvW2tSY+53xgKeDE6McOV5fU3ESU=; b=NGIJpzeAIxgLR2Cj+tOOqX9SOBQXThs4BVB6YvQjvva8vWnC2tooORQ9B7YXS1JBA3JP rwiloKHRhYzmmw7LEPpwt+4qbX5GJadPhTdYKaasqbo+w4p9F/mGoOrV2AvDWVnIUC1m VO2BVJKfX3aZe/mq+7XptR0ymXFEcL1VqoaNJigw95iAcU2BlFdiJJp3TVR16ekhAjHI kZ5nWRIdinEUIc0fqt+o1LvOXWrzjIkW3+fCBwQYVzLtE93cDd9Y4dMUdFnx0dm+9t62 BBvNz3zSbYTIL0874dL7uqjLBUB+y3XWOSN/jrDkp4oFzzlxQ+OJSRV/huhI9bUGJqBc bQ== Received: from ediex02.ad.cirrus.com ([87.246.76.36]) by mx0b-001ae601.pphosted.com with ESMTP id 36ykctkc7e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 02 Mar 2021 07:19:12 -0600 Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Tue, 2 Mar 2021 13:19:10 +0000 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.1913.5 via Frontend Transport; Tue, 2 Mar 2021 13:19:10 +0000 Received: from ediswmail.ad.cirrus.com (ediswmail.ad.cirrus.com [198.61.86.93]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 824B011CB; Tue, 2 Mar 2021 13:19:04 +0000 (UTC) Date: Tue, 2 Mar 2021 13:19:04 +0000 From: Charles Keepax To: Shengjiu Wang CC: , , , , , , , , , , , Subject: Re: [PATCH] ASoC: wm8960: Remove bitclk relax condition Message-ID: <20210302131904.GC106851@ediswmail.ad.cirrus.com> References: <1614683891-29255-1-git-send-email-shengjiu.wang@nxp.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1614683891-29255-1-git-send-email-shengjiu.wang@nxp.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 lowpriorityscore=0 clxscore=1011 malwarescore=0 priorityscore=1501 suspectscore=0 spamscore=0 phishscore=0 mlxscore=0 impostorscore=0 mlxlogscore=934 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2103020109 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Mar 02, 2021 at 07:18:11PM +0800, Shengjiu Wang wrote: > From: Daniel Baluta > > Using a higher bitclk then expected doesn't always work. > Here is an example: > > aplay -Dhw:0,0 -d 5 -r 48000 -f S24_LE -c 2 audio48k24b2c.wav > > In this case, the required bitclk is 48000 * 24 * 2 = 2304000 > but the closest bitclk that can be derived is 3072000. Since > the clock is faster than expected, it will start to send bytes > from the next channel so the sound will be corrupted. > > Fixes: 82bab88910ee ("ASoC: codec: wm8960: Relax bit clock computation when using PLL") > Fixes: 3c01b9ee2ab9 ("ASoC: codec: wm8960: Relax bit clock computation") > Signed-off-by: Daniel Baluta > Signed-off-by: Shengjiu Wang > --- I think this is probably going to need a much more involved fix. The problem is that there are systems that depend on this behaviour, so you can't just flat out revert it. And to be fair the I2S specification says that bit clock can run at a higher rate than required for the data, so the behaviour is correct as well. Probably the best solution here is to add additional contraints from the machine driver on which rates/bit depths/channels are supported. Thanks, Charles