Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp4362622ybl; Tue, 20 Aug 2019 10:44:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqz4U8VskysTvka3QGYPaV0e0aQLAKtqWCpv03b9DuUHZyANbLMaEEy9MN87Tj/V4T6stQ5y X-Received: by 2002:a63:ed55:: with SMTP id m21mr25832818pgk.343.1566323061998; Tue, 20 Aug 2019 10:44:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566323061; cv=none; d=google.com; s=arc-20160816; b=JvlE13WdXwSludTCs0xGId65fUsybo5E07xEL+tWTrN8nXfDN2NYpl+Cikg8v/s67O ssi6SQO8Ft+C2uv/GvVb4q2zzERkWb7QLjFkAeXo04aAecIpW6Z0RGK+2yz6ElAfsW5W 9GucsW2lWgl8EPh6Mz9pqtgUsqbI5ATgVJo/pb7tct0ShyHVND1KQ5zK8TrHjcRVErh9 hc/uwftxtRNSbkffnpF+CuSzbOnr2dH/Yt6g1m2XkNyMBVTz1P70zz0yu52miYuXGeuK 3mrjg2IsVyHea6q9qO5zdqCdsc5Ue685gYRc8r/KtH3AQ/AXF2ja80a0oT8xnOqX9J0V 7ePw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:in-reply-to:subject:cc:to :from; bh=rEm//JA9Ode+pkJQsVxasRJPsyZWnLEZfrP5SRv2v4A=; b=QA5u5jx86wVAbap6yZovcxDvkgmMx5Hk805le/8za4DV0jsdewx+OXuabzfNEKTsp9 MhaliDlbcJ90zNz/Kflx5iLn/IFDMuTmFS5bgVo13ek+iWwm+sDUghJ7lTpJ8TWUYRAm AISjHQ5DyH3tX0OXBuk7i5i4RTIhNBvBoL4z7HKzxD0SOW/xG+dlY/tX6hbiYpz7OCMu ZBfXzos7G7iKmylyWlhcAV8q17zLzd1HAZKvlvGJcpQWnwASSkXPEOYvx+LHRYolQMcw 7Q4jiBIq+pkmQ9RXnmeo/3UfwX2bP4Wq5LrfXH6qYlLTdhfJM+vhYkaVuLlpHsGjh5I3 Dvgw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a21si12388188pgv.185.2019.08.20.10.44.07; Tue, 20 Aug 2019 10:44:21 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730874AbfHTRmY (ORCPT + 99 others); Tue, 20 Aug 2019 13:42:24 -0400 Received: from mail-wr1-f97.google.com ([209.85.221.97]:39147 "EHLO mail-wr1-f97.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730092AbfHTRlH (ORCPT ); Tue, 20 Aug 2019 13:41:07 -0400 Received: by mail-wr1-f97.google.com with SMTP id t16so13258098wra.6 for ; Tue, 20 Aug 2019 10:41:05 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:in-reply-to:message-id:date; bh=rEm//JA9Ode+pkJQsVxasRJPsyZWnLEZfrP5SRv2v4A=; b=Sgjac72jG7d162s7vmzb/kEOm/+6qVx3KaBvr2KgbWYv6U+hqEx0/RkB8nj/FKDfkD Tih2dqVnKV9gPfCppkkhEobgmxWm+r/B5xb2C/WYqAuXzv+bQEUCecujSHNIkSc5kdnY +EvMFaYJgFlZ97W3ht12lW7KeVPjhSadA9+qKArEAUN/P/QMNwRnCoYAVAdETylzHnob NBlwKydMavMd0Ucsk/t4rLQuFtKwbQ7FyqgYaJGVBTBJi1UuCa0hTbnD8dcjrVHdTdxb 1/uUv4T+RQAXKJTqh/hIuRnppgd0CjKrlqn8eOMtBfyOntMP3OaZOEDtBtWDl34ilomM T91A== X-Gm-Message-State: APjAAAUleShD9GqQIFYYRzDeBWKzOv6CAia/f0y+G5cHAEbC1wxi/fx7 qOvjzQRugeDCct5LoHKbhtrBGVPGOQKhg+6oC1o6e0k6D/4J98ciHgnMBWSwaHyz5A== X-Received: by 2002:a5d:55cf:: with SMTP id i15mr36897292wrw.151.1566322864978; Tue, 20 Aug 2019 10:41:04 -0700 (PDT) Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk. [2a01:7e01::f03c:91ff:fed4:a3b6]) by smtp-relay.gmail.com with ESMTPS id a4sm313012wro.12.2019.08.20.10.41.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 20 Aug 2019 10:41:04 -0700 (PDT) X-Relaying-Domain: sirena.org.uk Received: from ypsilon.sirena.org.uk ([2001:470:1f1d:6b5::7]) by heliosphere.sirena.org.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1i0880-00032I-L5; Tue, 20 Aug 2019 17:41:04 +0000 Received: by ypsilon.sirena.org.uk (Postfix, from userid 1000) id 006C12743150; Tue, 20 Aug 2019 18:41:03 +0100 (BST) From: Mark Brown To: Maxime Ripard Cc: alsa-devel@alsa-project.org, broonie@kernel.org, Chen-Yu Tsai , codekipper@gmail.com, lgirdwood@gmail.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Mark Brown , Maxime Ripard Subject: Applied "ASoC: sun4i-i2s: Pass the channels number as an argument" to the asoc tree In-Reply-To: <48887cf7abfaab6597db233b24d7a088a913e48a.1566242458.git-series.maxime.ripard@bootlin.com> X-Patchwork-Hint: ignore Message-Id: <20190820174104.006C12743150@ypsilon.sirena.org.uk> Date: Tue, 20 Aug 2019 18:41:03 +0100 (BST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch ASoC: sun4i-i2s: Pass the channels number as an argument has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-5.4 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark From 0083a507a78fdfa868acc0709408b59e72488a61 Mon Sep 17 00:00:00 2001 From: Maxime Ripard Date: Mon, 19 Aug 2019 21:25:25 +0200 Subject: [PATCH] ASoC: sun4i-i2s: Pass the channels number as an argument The channels number have been hardcoded to 2 so far, while the controller supports more than that. Remove the instance where it has been hardcoded to compute the BCLK divider, and pass it through as an argument to ease further support of more channels. Signed-off-by: Maxime Ripard Link: https://lore.kernel.org/r/48887cf7abfaab6597db233b24d7a088a913e48a.1566242458.git-series.maxime.ripard@bootlin.com Signed-off-by: Mark Brown --- sound/soc/sunxi/sun4i-i2s.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sound/soc/sunxi/sun4i-i2s.c b/sound/soc/sunxi/sun4i-i2s.c index 4c636f1cf7dc..6b172dfbc25d 100644 --- a/sound/soc/sunxi/sun4i-i2s.c +++ b/sound/soc/sunxi/sun4i-i2s.c @@ -238,10 +238,11 @@ static unsigned long sun8i_i2s_get_bclk_parent_rate(const struct sun4i_i2s *i2s) static int sun4i_i2s_get_bclk_div(struct sun4i_i2s *i2s, unsigned long parent_rate, unsigned int sampling_rate, + unsigned int channels, unsigned int word_size) { const struct sun4i_i2s_clk_div *dividers = i2s->variant->bclk_dividers; - int div = parent_rate / sampling_rate / word_size / 2; + int div = parent_rate / sampling_rate / word_size / channels; int i; for (i = 0; i < i2s->variant->num_bclk_dividers; i++) { @@ -286,6 +287,7 @@ static bool sun4i_i2s_oversample_is_valid(unsigned int oversample) static int sun4i_i2s_set_clk_rate(struct snd_soc_dai *dai, unsigned int rate, + unsigned int channels, unsigned int word_size) { struct sun4i_i2s *i2s = snd_soc_dai_get_drvdata(dai); @@ -333,7 +335,7 @@ static int sun4i_i2s_set_clk_rate(struct snd_soc_dai *dai, bclk_parent_rate = i2s->variant->get_bclk_parent_rate(i2s); bclk_div = sun4i_i2s_get_bclk_div(i2s, bclk_parent_rate, - rate, word_size); + rate, channels, word_size); if (bclk_div < 0) { dev_err(dai->dev, "Unsupported BCLK divider: %d\n", bclk_div); return -EINVAL; @@ -488,7 +490,7 @@ static int sun4i_i2s_hw_params(struct snd_pcm_substream *substream, regmap_field_write(i2s->field_fmt_sr, sr); return sun4i_i2s_set_clk_rate(dai, params_rate(params), - params_width(params)); + 2, params_width(params)); } static int sun4i_i2s_set_soc_fmt(const struct sun4i_i2s *i2s, -- 2.20.1