Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753308AbdDCNyS (ORCPT ); Mon, 3 Apr 2017 09:54:18 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:60250 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752055AbdDCNyR (ORCPT ); Mon, 3 Apr 2017 09:54:17 -0400 Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.wolfsonmicro.com Date: Mon, 3 Apr 2017 14:54:36 +0100 From: Charles Keepax To: Daniel Baluta CC: Zidan Wang , Mark Brown , Zidan Wang , Liam Girdwood , Jaroslav Kysela , , Lars-Peter Clausen , , , Linux Kernel Mailing List , , , Subject: Re: [alsa-devel][PATCH v2 2/2] ASoC: wm8960: Let wm8960 driver configure its bit clock and frame clock Message-ID: <20170403135436.GV6986@localhost.localdomain> References: <1420615905-4078-1-git-send-email-zidan.wang@freescale.com> <1420615905-4078-2-git-send-email-zidan.wang@freescale.com> <20150114192703.GH3043@sirena.org.uk> <20150115133439.GA29323@b50113> <20170403133434.GU6986@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=2 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1702020001 definitions=main-1704030125 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1149 Lines: 34 On Mon, Apr 03, 2017 at 04:39:40PM +0300, Daniel Baluta wrote: > On Mon, Apr 3, 2017 at 4:34 PM, Charles Keepax > wrote: > > On Mon, Apr 03, 2017 at 04:16:23PM +0300, Daniel Baluta wrote: > > Does this problem still remain after the relaxed clock > > computation? The maths you quote depends on the derived BCLK > > being exactly the correct speed for the audio, that is no longer > > the case anymore. > > > > I would have thought the patch would cover both situations, as in > > if we can produce a suitable LRCLK, then we just pick a BCLK we > > That! > > The problem for remaining rates is that we cannot derive the LRCLK > > > + for (j = 0; j < ARRAY_SIZE(dac_divs); ++j) { > + if (sysclk != dac_divs[j] * lrclk) > + continue; > > If you can't generate the LRCLK you either need a different source clock or to use the PLL. You don't want to be trying to pull 44.1k audio over a link that is clocked on a 48k based clock. Is the problem here that the PLL part of the code is making the same assumption as the direct part of the code was, that the bclk should be exact? Thanks, Charles