From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AEF90C433F5 for ; Thu, 6 Oct 2022 10:46:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231322AbiJFKqw (ORCPT ); Thu, 6 Oct 2022 06:46:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58734 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231309AbiJFKqq (ORCPT ); Thu, 6 Oct 2022 06:46:46 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 77FFB98359; Thu, 6 Oct 2022 03:46:45 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7831ED6E; Thu, 6 Oct 2022 03:46:51 -0700 (PDT) Received: from [10.57.65.170] (unknown [10.57.65.170]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E771C3F73B; Thu, 6 Oct 2022 03:46:42 -0700 (PDT) Message-ID: <86084a28-be55-1c58-eace-1d73868c33dc@arm.com> Date: Thu, 6 Oct 2022 11:46:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [PATCH v2 2/3] iommu/mediatek: add support for 6-bit encoded port IDs Content-Language: en-GB To: AngeloGioacchino Del Regno , Alexandre Mergnat , Rob Herring , Yong Wu , Matthias Brugger , Will Deacon , Joerg Roedel , Krzysztof Kozlowski Cc: linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Fabien Parent , Markus Schneider-Pargmann , Amjad Ouled-Ameur , devicetree@vger.kernel.org, iommu@lists.linux.dev References: <20221001-iommu-support-v2-0-dbfef2eeebc9@baylibre.com> <20221001-iommu-support-v2-2-dbfef2eeebc9@baylibre.com> <7d37e6ae-0dca-e0ef-2841-298c1ba9784f@collabora.com> From: Robin Murphy In-Reply-To: <7d37e6ae-0dca-e0ef-2841-298c1ba9784f@collabora.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022-10-04 12:59, AngeloGioacchino Del Regno wrote: > Il 04/10/22 12:01, Alexandre Mergnat ha scritto: >> From: Fabien Parent >> >> Until now the port ID was always encoded as a 5-bit data. On MT8365, >> the port ID is encoded as a 6-bit data. This requires to rework the >> macros F_MMU_INT_ID_LARB_ID, and F_MMU_INT_ID_PORT_ID in order >> to support 5-bit and 6-bit encoded port IDs. >> >> Signed-off-by: Fabien Parent >> Signed-off-by: Markus Schneider-Pargmann >> Signed-off-by: Alexandre Mergnat >> --- >>   drivers/iommu/mtk_iommu.c | 24 ++++++++++++++++++++---- >>   1 file changed, 20 insertions(+), 4 deletions(-) >> >> diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c >> index 5a4e00e4bbbc..a57ce509c8b5 100644 >> --- a/drivers/iommu/mtk_iommu.c >> +++ b/drivers/iommu/mtk_iommu.c >> @@ -108,8 +108,10 @@ >>   #define F_MMU_INT_ID_SUB_COMM_ID(a)        (((a) >> 7) & 0x3) >>   #define F_MMU_INT_ID_COMM_ID_EXT(a)        (((a) >> 10) & 0x7) >>   #define F_MMU_INT_ID_SUB_COMM_ID_EXT(a)        (((a) >> 7) & 0x7) >> -#define F_MMU_INT_ID_LARB_ID(a)            (((a) >> 7) & 0x7) >> -#define F_MMU_INT_ID_PORT_ID(a)            (((a) >> 2) & 0x1f) >> +#define F_MMU_INT_ID_LARB_ID(a, int_id_port_width)    \ >> +                ((a) >> (((int_id_port_width) + 2) & 0x7)) >> +#define F_MMU_INT_ID_PORT_ID(a, int_id_port_width)    \ >> +                (((a) >> 2) & GENMASK((int_id_port_width) - 1, 0)) > > I can't think about any cleaner way than this one, but that's decreasing > human > readability by "quite a bit". In terms of readability, the best thing to do would be define separate macros for each register format and make the choice at the (single) callsite rather than hiding it in the macro. In fact we're already doing exactly that with the HAS_SUB_COMM_2BITS and HAS_SUB_COMM_3BITS flags right at the same point, so please follow that same pattern for consistency. Thanks, Robin. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6389CC433FE for ; Thu, 6 Oct 2022 10:47:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=jAX/GrbazkzxVp9LpBBhZWwRw2kC3dVGo8LMskFqbQI=; b=LF133S/3Pp4FCv 4ECrhMDd+iWgxP0wnrYfFUmh+kLT4cEyUa/3PzSu/fnwlO0MpUDQHsgOcZgK5ZLlFglChqIRzNMOs 21m8GdAWXLn9b3xNyDP6MrdxWz9/UW0DU0NT2EJIL103O8F1crzaz602rJNK1oo0eM3e9Da93ycRy cG0ENgcP2Lb+ADVCTHKdcrK+RROsEm6UDhONQhpf12utDs+YLFuv7Cv+vvYCL8WAFvbIOw2UH8R3H iaKHwUdafuxMUVGSpeoxHzlIOv+28IMi9ffoNdthXtewYiJ1N+A/IS/RgXBHJJQmwbWyNB9NvCqUf Rm6eGgcGy3KDSI0MJm1w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogOOy-001chQ-78; Thu, 06 Oct 2022 10:46:52 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1ogOOu-001cfm-Ul; Thu, 06 Oct 2022 10:46:50 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7831ED6E; Thu, 6 Oct 2022 03:46:51 -0700 (PDT) Received: from [10.57.65.170] (unknown [10.57.65.170]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E771C3F73B; Thu, 6 Oct 2022 03:46:42 -0700 (PDT) Message-ID: <86084a28-be55-1c58-eace-1d73868c33dc@arm.com> Date: Thu, 6 Oct 2022 11:46:38 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: [PATCH v2 2/3] iommu/mediatek: add support for 6-bit encoded port IDs Content-Language: en-GB To: AngeloGioacchino Del Regno , Alexandre Mergnat , Rob Herring , Yong Wu , Matthias Brugger , Will Deacon , Joerg Roedel , Krzysztof Kozlowski Cc: linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Fabien Parent , Markus Schneider-Pargmann , Amjad Ouled-Ameur , devicetree@vger.kernel.org, iommu@lists.linux.dev References: <20221001-iommu-support-v2-0-dbfef2eeebc9@baylibre.com> <20221001-iommu-support-v2-2-dbfef2eeebc9@baylibre.com> <7d37e6ae-0dca-e0ef-2841-298c1ba9784f@collabora.com> From: Robin Murphy In-Reply-To: <7d37e6ae-0dca-e0ef-2841-298c1ba9784f@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221006_034649_057527_3D37B3DE X-CRM114-Status: GOOD ( 14.40 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMi0xMC0wNCAxMjo1OSwgQW5nZWxvR2lvYWNjaGlubyBEZWwgUmVnbm8gd3JvdGU6Cj4g SWwgMDQvMTAvMjIgMTI6MDEsIEFsZXhhbmRyZSBNZXJnbmF0IGhhIHNjcml0dG86Cj4+IEZyb206 IEZhYmllbiBQYXJlbnQgPGZwYXJlbnRAYmF5bGlicmUuY29tPgo+Pgo+PiBVbnRpbCBub3cgdGhl IHBvcnQgSUQgd2FzIGFsd2F5cyBlbmNvZGVkIGFzIGEgNS1iaXQgZGF0YS4gT24gTVQ4MzY1LAo+ PiB0aGUgcG9ydCBJRCBpcyBlbmNvZGVkIGFzIGEgNi1iaXQgZGF0YS4gVGhpcyByZXF1aXJlcyB0 byByZXdvcmsgdGhlCj4+IG1hY3JvcyBGX01NVV9JTlRfSURfTEFSQl9JRCwgYW5kIEZfTU1VX0lO VF9JRF9QT1JUX0lEIGluIG9yZGVyCj4+IHRvIHN1cHBvcnQgNS1iaXQgYW5kIDYtYml0IGVuY29k ZWQgcG9ydCBJRHMuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IEZhYmllbiBQYXJlbnQgPGZwYXJlbnRA YmF5bGlicmUuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBNYXJrdXMgU2NobmVpZGVyLVBhcmdtYW5u IDxtc3BAYmF5bGlicmUuY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kcmUgTWVyZ25hdCA8 YW1lcmduYXRAYmF5bGlicmUuY29tPgo+PiAtLS0KPj4gwqAgZHJpdmVycy9pb21tdS9tdGtfaW9t bXUuYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrLS0tLQo+PiDCoCAxIGZpbGUgY2hhbmdlZCwg MjAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvaW9tbXUvbXRrX2lvbW11LmMgYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5jCj4+IGluZGV4 IDVhNGUwMGU0YmJiYy4uYTU3Y2U1MDljOGI1IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2lvbW11 L210a19pb21tdS5jCj4+ICsrKyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMKPj4gQEAgLTEw OCw4ICsxMDgsMTAgQEAKPj4gwqAgI2RlZmluZSBGX01NVV9JTlRfSURfU1VCX0NPTU1fSUQoYSnC oMKgwqDCoMKgwqDCoCAoKChhKSA+PiA3KSAmIDB4MykKPj4gwqAgI2RlZmluZSBGX01NVV9JTlRf SURfQ09NTV9JRF9FWFQoYSnCoMKgwqDCoMKgwqDCoCAoKChhKSA+PiAxMCkgJiAweDcpCj4+IMKg ICNkZWZpbmUgRl9NTVVfSU5UX0lEX1NVQl9DT01NX0lEX0VYVChhKcKgwqDCoMKgwqDCoMKgICgo KGEpID4+IDcpICYgMHg3KQo+PiAtI2RlZmluZSBGX01NVV9JTlRfSURfTEFSQl9JRChhKcKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKCgoYSkgPj4gNykgJiAweDcpCj4+IC0jZGVmaW5lIEZfTU1VX0lO VF9JRF9QT1JUX0lEKGEpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKChhKSA+PiAyKSAmIDB4MWYp Cj4+ICsjZGVmaW5lIEZfTU1VX0lOVF9JRF9MQVJCX0lEKGEsIGludF9pZF9wb3J0X3dpZHRoKcKg wqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKChhKSA+PiAoKChpbnRf aWRfcG9ydF93aWR0aCkgKyAyKSAmIDB4NykpCj4+ICsjZGVmaW5lIEZfTU1VX0lOVF9JRF9QT1JU X0lEKGEsIGludF9pZF9wb3J0X3dpZHRoKcKgwqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKCgoYSkgPj4gMikgJiBHRU5NQVNLKChpbnRfaWRfcG9ydF93aWR0aCkgLSAx LCAwKSkKPiAKPiBJIGNhbid0IHRoaW5rIGFib3V0IGFueSBjbGVhbmVyIHdheSB0aGFuIHRoaXMg b25lLCBidXQgdGhhdCdzIGRlY3JlYXNpbmcgCj4gaHVtYW4KPiByZWFkYWJpbGl0eSBieSAicXVp dGUgYSBiaXQiLgoKSW4gdGVybXMgb2YgcmVhZGFiaWxpdHksIHRoZSBiZXN0IHRoaW5nIHRvIGRv IHdvdWxkIGJlIGRlZmluZSBzZXBhcmF0ZSAKbWFjcm9zIGZvciBlYWNoIHJlZ2lzdGVyIGZvcm1h dCBhbmQgbWFrZSB0aGUgY2hvaWNlIGF0IHRoZSAoc2luZ2xlKSAKY2FsbHNpdGUgcmF0aGVyIHRo YW4gaGlkaW5nIGl0IGluIHRoZSBtYWNyby4gSW4gZmFjdCB3ZSdyZSBhbHJlYWR5IGRvaW5nIApl eGFjdGx5IHRoYXQgd2l0aCB0aGUgSEFTX1NVQl9DT01NXzJCSVRTIGFuZCBIQVNfU1VCX0NPTU1f M0JJVFMgZmxhZ3MgCnJpZ2h0IGF0IHRoZSBzYW1lIHBvaW50LCBzbyBwbGVhc2UgZm9sbG93IHRo YXQgc2FtZSBwYXR0ZXJuIGZvciBjb25zaXN0ZW5jeS4KClRoYW5rcywKUm9iaW4uCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVs IG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==