From patchwork Tue Jun 13 21:08:18 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 105424 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp604602qgd; Tue, 13 Jun 2017 14:10:51 -0700 (PDT) X-Received: by 10.223.171.29 with SMTP id q29mr4165450wrc.12.1497388251697; Tue, 13 Jun 2017 14:10:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497388251; cv=none; d=google.com; s=arc-20160816; b=kp/azevEEfwYCyhS1lyVILZqjimdRvk2RL1ZpORjwP9XhfznY9pZU1NK8AiZdSdfoz WqttI2cE0LUN0HOKA1FD+808uCOhYme+Rgu9VpXaGWVWXtFULWtYL38ADjNR7DyB2yDL FKdlBlq8waVmzD0mRikfLtdV1MNa/aPCjJuSm0z+OHUnjFIxVqS4lhgBcp2F+RORbxe3 rUATeKC22m3IdETiN7EM/ImK6tGHBb8Q/o4YyxZUxITR9HU3vwykI6U1bfcy8TqNLCoQ bsl6sg2f0YxAquHwNngDpHaeELWNeVQ6+uUXNpvbch82Jccmfh48UnAnSNNQ6xEZI84z yUdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :delivered-to:arc-authentication-results; bh=Pi6ogShh8L4rsFFbbmKNLZacFmJH852rpZqObxb+zVs=; b=zsfN74YoC9D93Nhk8F2WH+eczBTCS8YqZjDY1MpLeKd8PrsV9dq/xAZO9eMbFqoxT7 sbLNxYptSdzf36R460TtpBIReTw2qZKs8Q4x4Zckh1cICmKHWCLu0NAPb1YAkUFyAjcu TGABD3BqtP0zC0yArUqT19k5XkMN378Zfx+aUnkI7CvQTBKxWijjarMVuo5N30qP078X PbWHrc60smYou5ZI7lmekXldfVuNUerJs8ToNm2CY55yBnpTraqv24qZtyqZSErlcfqJ 6f1OstBHc7RzEuAFnPLWbH3AkG93TkVmZJoqUb+izVTXBVUPMx6gCE58+9rPl+S8/oSb TClw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id 90si1057442wrh.288.2017.06.13.14.10.51; Tue, 13 Jun 2017 14:10:51 -0700 (PDT) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 79EF92670B6; Tue, 13 Jun 2017 23:08:44 +0200 (CEST) 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 5A7E62670B6; Tue, 13 Jun 2017 23:08:43 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,SPF_PASS,T_RP_MATCHES_RCVD,URIBL_BLOCKED autolearn=disabled version=3.4.0 Received: from mezzanine.sirena.org.uk (mezzanine.sirena.org.uk [106.187.55.193]) by alsa0.perex.cz (Postfix) with ESMTP id E445526705B for ; Tue, 13 Jun 2017 23:08:24 +0200 (CEST) Received: from [2001:470:1f1d:6b5::3] (helo=debutante) by mezzanine.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1dKt2y-00070O-NF; Tue, 13 Jun 2017 21:08:21 +0000 Received: from broonie by debutante with local (Exim 4.89) (envelope-from ) id 1dKt2w-0000Om-4z; Tue, 13 Jun 2017 22:08:18 +0100 From: Mark Brown To: Kuninori Morimoto In-Reply-To: <87d1aeovg9.wl%kuninori.morimoto.gx@renesas.com> Message-Id: Date: Tue, 13 Jun 2017 22:08:18 +0100 X-SA-Exim-Connect-IP: 2001:470:1f1d:6b5::3 X-SA-Exim-Mail-From: broonie@sirena.org.uk X-SA-Exim-Version: 4.2.1 (built Tue, 02 Aug 2016 21:08:31 +0000) X-SA-Exim-Scanned: Yes (on mezzanine.sirena.org.uk) Cc: linux-renesas-soc@vger.kernel.org, alsa-devel@alsa-project.org, Mark Brown , Simon Subject: [alsa-devel] Applied "ASoC: rsnd: add detail explanation of L/R conversion timing" to the asoc tree 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: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch ASoC: rsnd: add detail explanation of L/R conversion timing has been applied to the asoc tree at git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 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 8cce431aa26ef24a4d4b820301ac73bf55df7a5e Mon Sep 17 00:00:00 2001 From: Kuninori Morimoto Date: Fri, 9 Jun 2017 00:34:09 +0000 Subject: [PATCH] ASoC: rsnd: add detail explanation of L/R conversion timing Renesas Sound device *Hardware* L/R and Linux *Software* L/R are inverted. Because of this background, it needs to convert L/R. Then, DVC needs *Hardware* L/R, and Linux needs *Software* L/R. Because Playback/Capture needs different timing, and there is no explanation about it on source code / git log, this patch adds it. Signed-off-by: Kuninori Morimoto Signed-off-by: Mark Brown --- sound/soc/sh/rcar/core.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) -- 2.11.0 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 7c68f9d4a0ed..1bf261d677b7 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -310,6 +310,24 @@ u32 rsnd_get_dalign(struct rsnd_mod *mod, struct rsnd_dai_stream *io) u32 val = 0x76543210; u32 mask = ~0; + /* + * *Hardware* L/R and *Software* L/R are inverted. + * We need to care about inversion timing to control + * Playback/Capture correctly. + * The point is [DVC] needs *Hardware* L/R, [MEM] needs *Software* L/R + * + * sL/R : software L/R + * hL/R : hardware L/R + * (*) : conversion timing + * + * Playback + * sL/R (*) hL/R hL/R hL/R hL/R hL/R + * [MEM] -> [SRC] -> [DVC] -> [CMD] -> [SSIU] -> [SSI] -> codec + * + * Capture + * hL/R hL/R hL/R hL/R hL/R (*) sL/R + * codec -> [SSI] -> [SSIU] -> [SRC] -> [DVC] -> [CMD] -> [MEM] + */ if (rsnd_io_is_play(io)) { struct rsnd_mod *src = rsnd_io_to_mod_src(io);