Received: by 2002:ac0:b08d:0:0:0:0:0 with SMTP id l13csp3945363imc; Sun, 24 Feb 2019 17:29:44 -0800 (PST) X-Google-Smtp-Source: AHgI3IbLsodzOlHWLmbJbnxoGuX7KJBrhMm5TKzSFANrsHsqjbIKgsMO8Kvg8ehHuXMMalDIBwMj X-Received: by 2002:a62:5687:: with SMTP id h7mr17247336pfj.198.1551058184378; Sun, 24 Feb 2019 17:29:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1551058184; cv=none; d=google.com; s=arc-20160816; b=YNRpK5OShvh0x47bT6nXihyUjgqKbpIYRy4mOM/DyEijz50Y8QEUYXGMilyq5a3uhy ih69asVjUDJ2/tUUA1NSA61Msr6ouBfEJqIxM9MZ2UWeBzxWHQKmonb/Ex7t03SGZ3qF uDPf9Q5t4/w5azX9iQyBI3KfAx5/GiHBLjkQ8IuivLr+BxWUoYg7kndF3mLo6GXc5PPy 3JNY56zT5wQBjIRZXcTetbPoGTWyLT0HqEWHQtT/iXdGHF8tBNMlFReeIQeuVrcUOKNp FR6lkkWzOlCryn1FZ64VUl0g1HTWjycptoO34Fz4533rhIGw7lr3X5GmNDtcFRwjR+Ng 4wLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:subject:cc:to:from:message-id:date; bh=cSz+8UND7G1h+ym2smWT5PW8WFCsuoIN/F+wvsdKOSE=; b=lcNEitfmmJWjmCBuALKEgIepJ+nvAnK0igu8X+hzwEhNLBMYt52y8Hqamf+ahR8xjY fU9d2tzGdP1cvgjaTC+8zkl8sEcGalqrav/f7A5h63eXkremMX+WGokGlxPXe4sCap4S Sn98HhvOircofkl6Be4Xeds5pK5AYd/icRIhjW+61I0k7NSwyc7PHVURmXPTAfvMnwyK yNKDIztE0xekbu/OqO6uWxna6HBXKyWfTLmozzkMdKOAZsFPXsGO+ZiT5uZ1GGgGWkaR Etj43Cy7a4putYkjDaGKRBxQIB+ba1+QF1PPBH4mNrgReL8wJGHqpodCXy5lxtlwf+w8 3PMA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b1si7616867pgt.559.2019.02.24.17.29.28; Sun, 24 Feb 2019 17:29:44 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728044AbfBYB3D (ORCPT + 99 others); Sun, 24 Feb 2019 20:29:03 -0500 Received: from relmlor1.renesas.com ([210.160.252.171]:15121 "EHLO relmlie5.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726399AbfBYB3D (ORCPT ); Sun, 24 Feb 2019 20:29:03 -0500 Date: 25 Feb 2019 10:29:01 +0900 X-IronPort-AV: E=Sophos;i="5.58,409,1544454000"; d="scan'208";a="8728147" Received: from unknown (HELO relmlir5.idc.renesas.com) ([10.200.68.151]) by relmlie5.idc.renesas.com with ESMTP; 25 Feb 2019 10:29:01 +0900 Received: from morimoto-PC.renesas.com (unknown [10.166.18.140]) by relmlir5.idc.renesas.com (Postfix) with ESMTP id 61317401BEF7; Mon, 25 Feb 2019 10:29:01 +0900 (JST) Message-ID: <878sy43bw3.wl-kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto To: Cc: , , , , , , Jiada Wang Subject: Re: [PATCH] ASoC: rsnd: gen: fix SSI9 4/5/6/7 busif related register address In-Reply-To: <1550827226-1750-1-git-send-email-twischer@de.adit-jv.com> References: <1550827226-1750-1-git-send-email-twischer@de.adit-jv.com> User-Agent: Wanderlust/2.15.9 Emacs/24.5 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jiada Thank you for your patch > Currently each SSI unit 's busif mode/adinr/dalign address is > registered by: (in busif4 case) > RSND_GEN_M_REG(SSI_BUSIF4_MODE, 0x500, 0x80) > RSND_GEN_M_REG(SSI_BUSIF4_ADINR,0x504, 0x80) > RSND_GEN_M_REG(SSI_BUSIF4_DALIGN, 0x508, 0x80) > > But according to user manual 41.1.4 Register Configuration > ssi9 4/5/6/7 busif mode/adinr/dalign register address > ( SSI9-[4/5/6/7]_BUSIF_[MODE/ADINR/DALIGN] ) > are out of this rule. > > This patch registers ssi9 4/5/6/7 mode/adinr/dalign register > as single register, and access these these registers in case > of SSI9 BUSIF 4/5/6/7. I think - and access these these registers + and access these registers > if ((id == 9) && (busif >= 4)) { > - struct device *dev = rsnd_priv_to_dev(priv); > - > - dev_err(dev, "This driver doesn't support SSI%d-%d, so far", > - id, busif); > + rsnd_mod_write(mod, SSI9_BUSIF_ADINR(busif), > + rsnd_get_adinr_bit(mod, io) | chnl); > + rsnd_mod_write(mod, SSI9_BUSIF_MODE(busif), > + rsnd_get_busif_shift(io, mod) | 1); > + rsnd_mod_write(mod, SSI9_BUSIF_DALIGN(busif), > + rsnd_get_dalign(mod, io)); > + } else { > + rsnd_mod_write(mod, SSI_BUSIF_ADINR(busif), > + rsnd_get_adinr_bit(mod, io) | chnl); > + rsnd_mod_write(mod, SSI_BUSIF_MODE(busif), > + rsnd_get_busif_shift(io, mod) | 1); > + rsnd_mod_write(mod, SSI_BUSIF_DALIGN(busif), > + rsnd_get_dalign(mod, io)); > } > - > - rsnd_mod_write(mod, SSI_BUSIF_ADINR(busif), > - rsnd_get_adinr_bit(mod, io) | > - (rsnd_io_is_play(io) ? > - rsnd_runtime_channel_after_ctu(io) : > - rsnd_runtime_channel_original(io))); > - rsnd_mod_write(mod, SSI_BUSIF_MODE(busif), > - rsnd_get_busif_shift(io, mod) | 1); > - rsnd_mod_write(mod, SSI_BUSIF_DALIGN(busif), > - rsnd_get_dalign(mod, io)); > } Necessary register on rsnd_mod_write() is just number today. So how about this ? Code will be more simple/readable if ((id == 9) && (busif >= 4)) { adinr = SSI9_BUSIF_ADINR(); mode = SSI9_BUSIF_MODE(); daligh = SSI9_BUSIF_DALIGN(); } else { adinr = SSI_BUSIF_ADINR(); mode = SSI_BUSIF_MODE(); daligh = SSI_BUSIF_DALIGN(); } rsnd_mod_write(mod, adinr, rsnd_get_adinr_bit(mod, io) | chnl); rsnd_mod_write(mod, mode, rsnd_get_busif_shift(io, mod) | 1); rsnd_mod_write(mod, dalign, rsnd_get_dalign(mod, io));