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 X-Spam-Level: X-Spam-Status: No, score=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BA84C433E6 for ; Tue, 29 Dec 2020 11:18:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 531FB221F8 for ; Tue, 29 Dec 2020 11:18:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726221AbgL2LS3 (ORCPT ); Tue, 29 Dec 2020 06:18:29 -0500 Received: from mailgw02.mediatek.com ([1.203.163.81]:55392 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726026AbgL2LS2 (ORCPT ); Tue, 29 Dec 2020 06:18:28 -0500 X-UUID: a265345998e04ca4a2d32d1135c7a17d-20201229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=kjdDDsR62/sn1Fub2YpVwLbpjVry+o489WtdnLg/RPA=; b=j85CWewiMQm78U7KBaWow+N6gvruv4RDqU5o+zYFjQvgQHlSaobts6499n2kpyUKPLTMCUBZkO/WaE0cJUXtGHhBR7Oej8zqRzafS+7fuhf6srFdh1Z/MJcsyDUk67sR28wkFn6ekgzhhzZO1p8BP6yfFf3ao1z5HePR3bWAKqM=; X-UUID: a265345998e04ca4a2d32d1135c7a17d-20201229 Received: from mtkcas36.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1139923315; Tue, 29 Dec 2020 19:17:40 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 19:17:37 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 29 Dec 2020 19:17:37 +0800 Message-ID: <1609240657.26323.298.camel@mhfsdcap03> Subject: Re: [PATCH v5 09/27] iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek From: Yong Wu To: Tomasz Figa CC: Joerg Roedel , Matthias Brugger , Rob Herring , Will Deacon , Robin Murphy , , , Nicolas Boichat , , , , Evan Green , Tomasz Figa , , , Krzysztof Kozlowski , , Date: Tue, 29 Dec 2020 19:17:37 +0800 In-Reply-To: References: <20201209080102.26626-1-yong.wu@mediatek.com> <20201209080102.26626-10-yong.wu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: D8FBC57831CD7A85616D1A7462D4159D3B98DDE313D42CDF6FB3EC071BE3DD992000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIwLTEyLTIzIGF0IDE3OjIwICswOTAwLCBUb21hc3ogRmlnYSB3cm90ZToNCj4g T24gV2VkLCBEZWMgMDksIDIwMjAgYXQgMDQ6MDA6NDRQTSArMDgwMCwgWW9uZyBXdSB3cm90ZToN Cj4gPiBNZWRpYVRlayBleHRlbmQgdGhlIGJpdDUgaW4gbHZsMSBhbmQgbHZsMiBkZXNjcmlwdG9y IGFzIFBBMzQuDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogWW9uZyBXdSA8eW9uZy53dUBtZWRp YXRlay5jb20+DQo+ID4gQWNrZWQtYnk6IFdpbGwgRGVhY29uIDx3aWxsQGtlcm5lbC5vcmc+DQo+ ID4gUmV2aWV3ZWQtYnk6IFJvYmluIE11cnBoeSA8cm9iaW4ubXVycGh5QGFybS5jb20+DQo+ID4g LS0tDQo+ID4gIGRyaXZlcnMvaW9tbXUvaW8tcGd0YWJsZS1hcm0tdjdzLmMgfCA5ICsrKysrKyst LQ0KPiA+ICBkcml2ZXJzL2lvbW11L210a19pb21tdS5jICAgICAgICAgIHwgMiArLQ0KPiA+ICBp bmNsdWRlL2xpbnV4L2lvLXBndGFibGUuaCAgICAgICAgIHwgNCArKy0tDQo+ID4gIDMgZmlsZXMg Y2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4gPiANCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9pb21tdS9pby1wZ3RhYmxlLWFybS12N3MuYyBiL2RyaXZlcnMvaW9t bXUvaW8tcGd0YWJsZS1hcm0tdjdzLmMNCj4gPiBpbmRleCBlODgwNzQ1YWIxZTguLjRkMGFhMDc5 NDcwZiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2lvbW11L2lvLXBndGFibGUtYXJtLXY3cy5j DQo+ID4gKysrIGIvZHJpdmVycy9pb21tdS9pby1wZ3RhYmxlLWFybS12N3MuYw0KPiA+IEBAIC0x MTIsOSArMTEyLDEwIEBADQo+ID4gICNkZWZpbmUgQVJNX1Y3U19URVhfTUFTSwkJMHg3DQo+ID4g ICNkZWZpbmUgQVJNX1Y3U19BVFRSX1RFWCh2YWwpCQkoKCh2YWwpICYgQVJNX1Y3U19URVhfTUFT SykgPDwgQVJNX1Y3U19URVhfU0hJRlQpDQo+ID4gIA0KPiA+IC0vKiBNZWRpYVRlayBleHRlbmQg dGhlIHR3byBiaXRzIGZvciBQQSAzMmJpdC8zM2JpdCAqLw0KPiA+ICsvKiBNZWRpYVRlayBleHRl bmQgdGhlIGJpdHMgYmVsb3cgZm9yIFBBIDMyYml0LzMzYml0LzM0Yml0ICovDQo+ID4gICNkZWZp bmUgQVJNX1Y3U19BVFRSX01US19QQV9CSVQzMglCSVQoOSkNCj4gPiAgI2RlZmluZSBBUk1fVjdT X0FUVFJfTVRLX1BBX0JJVDMzCUJJVCg0KQ0KPiA+ICsjZGVmaW5lIEFSTV9WN1NfQVRUUl9NVEtf UEFfQklUMzQJQklUKDUpDQo+ID4gIA0KPiA+ICAvKiAqd2VsbCwgZXhjZXB0IGZvciBURVggb24g bGV2ZWwgMiBsYXJnZSBwYWdlcywgb2YgY291cnNlIDooICovDQo+ID4gICNkZWZpbmUgQVJNX1Y3 U19DT05UX1BBR0VfVEVYX1NISUZUCTYNCj4gPiBAQCAtMTk0LDYgKzE5NSw4IEBAIHN0YXRpYyBh cm1fdjdzX2lvcHRlIHBhZGRyX3RvX2lvcHRlKHBoeXNfYWRkcl90IHBhZGRyLCBpbnQgbHZsLA0K PiA+ICAJCXB0ZSB8PSBBUk1fVjdTX0FUVFJfTVRLX1BBX0JJVDMyOw0KPiA+ICAJaWYgKHBhZGRy ICYgQklUX1VMTCgzMykpDQo+ID4gIAkJcHRlIHw9IEFSTV9WN1NfQVRUUl9NVEtfUEFfQklUMzM7 DQo+ID4gKwlpZiAocGFkZHIgJiBCSVRfVUxMKDM0KSkNCj4gPiArCQlwdGUgfD0gQVJNX1Y3U19B VFRSX01US19QQV9CSVQzNDsNCj4gPiAgCXJldHVybiBwdGU7DQo+ID4gIH0NCj4gPiAgDQo+ID4g QEAgLTIxOCw2ICsyMjEsOCBAQCBzdGF0aWMgcGh5c19hZGRyX3QgaW9wdGVfdG9fcGFkZHIoYXJt X3Y3c19pb3B0ZSBwdGUsIGludCBsdmwsDQo+ID4gIAkJcGFkZHIgfD0gQklUX1VMTCgzMik7DQo+ ID4gIAlpZiAocHRlICYgQVJNX1Y3U19BVFRSX01US19QQV9CSVQzMykNCj4gPiAgCQlwYWRkciB8 PSBCSVRfVUxMKDMzKTsNCj4gPiArCWlmIChwdGUgJiBBUk1fVjdTX0FUVFJfTVRLX1BBX0JJVDM0 KQ0KPiA+ICsJCXBhZGRyIHw9IEJJVF9VTEwoMzQpOw0KPiA+ICAJcmV0dXJuIHBhZGRyOw0KPiA+ ICB9DQo+ID4gIA0KPiA+IEBAIC03NTQsNyArNzU5LDcgQEAgc3RhdGljIHN0cnVjdCBpb19wZ3Rh YmxlICphcm1fdjdzX2FsbG9jX3BndGFibGUoc3RydWN0IGlvX3BndGFibGVfY2ZnICpjZmcsDQo+ ID4gIAlpZiAoY2ZnLT5pYXMgPiBBUk1fVjdTX0FERFJfQklUUykNCj4gPiAgCQlyZXR1cm4gTlVM TDsNCj4gPiAgDQo+ID4gLQlpZiAoY2ZnLT5vYXMgPiAoYXJtX3Y3c19pc19tdGtfZW5hYmxlZChj ZmcpID8gMzQgOiBBUk1fVjdTX0FERFJfQklUUykpDQo+ID4gKwlpZiAoY2ZnLT5vYXMgPiAoYXJt X3Y3c19pc19tdGtfZW5hYmxlZChjZmcpID8gMzUgOiBBUk1fVjdTX0FERFJfQklUUykpDQo+ID4g IAkJcmV0dXJuIE5VTEw7DQo+ID4gIA0KPiA+ICAJaWYgKGNmZy0+cXVpcmtzICYgfihJT19QR1RB QkxFX1FVSVJLX0FSTV9OUyB8DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaW9tbXUvbXRrX2lv bW11LmMgYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5jDQo+ID4gaW5kZXggNjQ1MWQ4Mzc1M2Ux Li5lYzNjODdkNGIxNzIgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUu Yw0KPiA+ICsrKyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMNCj4gPiBAQCAtMzIwLDcgKzMy MCw3IEBAIHN0YXRpYyBpbnQgbXRrX2lvbW11X2RvbWFpbl9maW5hbGlzZShzdHJ1Y3QgbXRrX2lv bW11X2RvbWFpbiAqZG9tKQ0KPiA+ICAJCQlJT19QR1RBQkxFX1FVSVJLX0FSTV9NVEtfRVhULA0K PiA+ICAJCS5wZ3NpemVfYml0bWFwID0gbXRrX2lvbW11X29wcy5wZ3NpemVfYml0bWFwLA0KPiA+ ICAJCS5pYXMgPSAzMiwNCj4gPiAtCQkub2FzID0gMzQsDQo+ID4gKwkJLm9hcyA9IDM1LA0KPiAN Cj4gU2hvdWxkbid0IHRoaXMgYmUgc2V0IGFjY29yZGluZyB0byB0aGUgcmVhbCBoYXJkd2FyZSBj YXBhYmlsaXRpZXMsDQo+IGluc3RlYWQgb2YgYWx3YXlzIHNldHRpbmcgaXQgdG8gMzU/DQoNCkhl cmUgb25seSBtYWtlIHRoZSBjb2RlIGNsZWFuLiAzNSBpcyBvayBmb3IgYWxsIHRoZSBTb0MuDQpC dXQgeW91IGFyZSByaWdodCBmcm9tIHRoZSBIVyBwb2ludCwgdGhlIGxvZ2ljIGlzIGxpa2UgdGhp czoNCg0KaWYgKE1US19JT01NVV9IQVNfRkxBRyhkYXRhLT5wbGF0X2RhdGEsIEhBU180R0JfTU9E RSkpDQoJZG9tLT5jZmcub2FzID0gZGF0YS0+ZW5hYmxlXzRHQiA/IDMzIDogMzI7DQplbHNlDQoJ ZG9tLT5jZmcub2FzID0gMzU7DQoNCkkgd2lsbCB1c2UgdGhpcyBpbiBuZXh0IHZlcnNpb24uDQoN Cj4gDQo+IEJlc3QgcmVnYXJkcywNCj4gVG9tYXN6DQo+IA0KPiA+ICAJCS50bGIgPSAmbXRrX2lv bW11X2ZsdXNoX29wcywNCj4gPiAgCQkuaW9tbXVfZGV2ID0gZGF0YS0+ZGV2LA0KPiA+ICAJfTsN Cj4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pby1wZ3RhYmxlLmggYi9pbmNsdWRlL2xp bnV4L2lvLXBndGFibGUuaA0KPiA+IGluZGV4IDRjZGUxMTFlNDI1Yi4uMWFlMDc1N2Y0Zjk0IDEw MDY0NA0KPiA+IC0tLSBhL2luY2x1ZGUvbGludXgvaW8tcGd0YWJsZS5oDQo+ID4gKysrIGIvaW5j bHVkZS9saW51eC9pby1wZ3RhYmxlLmgNCj4gPiBAQCAtNzcsOCArNzcsOCBAQCBzdHJ1Y3QgaW9f cGd0YWJsZV9jZmcgew0KPiA+ICAJICoJVExCIG1haW50ZW5hbmNlIHdoZW4gbWFwcGluZyBhcyB3 ZWxsIGFzIHdoZW4gdW5tYXBwaW5nLg0KPiA+ICAJICoNCj4gPiAgCSAqIElPX1BHVEFCTEVfUVVJ UktfQVJNX01US19FWFQ6IChBUk0gdjdzIGZvcm1hdCkgTWVkaWFUZWsgSU9NTVVzIGV4dGVuZA0K PiA+IC0JICoJdG8gc3VwcG9ydCB1cCB0byAzNCBiaXRzIFBBIHdoZXJlIHRoZSBiaXQzMiBhbmQg Yml0MzMgYXJlDQo+ID4gLQkgKgllbmNvZGVkIGluIHRoZSBiaXQ5IGFuZCBiaXQ0IG9mIHRoZSBQ VEUgcmVzcGVjdGl2ZWx5Lg0KPiA+ICsJICoJdG8gc3VwcG9ydCB1cCB0byAzNSBiaXRzIFBBIHdo ZXJlIHRoZSBiaXQzMiwgYml0MzMgYW5kIGJpdDM0IGFyZQ0KPiA+ICsJICoJZW5jb2RlZCBpbiB0 aGUgYml0OSwgYml0NCBhbmQgYml0NSBvZiB0aGUgUFRFIHJlc3BlY3RpdmVseS4NCj4gPiAgCSAq DQo+ID4gIAkgKiBJT19QR1RBQkxFX1FVSVJLX05PTl9TVFJJQ1Q6IFNraXAgaXNzdWluZyBzeW5j aHJvbm91cyBsZWFmIFRMQklzDQo+ID4gIAkgKglvbiB1bm1hcCwgZm9yIERNQSBkb21haW5zIHVz aW5nIHRoZSBmbHVzaCBxdWV1ZSBtZWNoYW5pc20gZm9yDQo+ID4gLS0gDQo+ID4gMi4xOC4wDQo+ ID4gDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cj4gPiBpb21tdSBtYWlsaW5nIGxpc3QNCj4gPiBpb21tdUBsaXN0cy5saW51eC1mb3VuZGF0aW9u Lm9yZw0KPiA+IGh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lvbW11DQoNCg== 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 X-Spam-Level: X-Spam-Status: No, score=-15.1 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED, USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 963DFC433E0 for ; Tue, 29 Dec 2020 11:17:49 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3EC6820825 for ; Tue, 29 Dec 2020 11:17:48 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3EC6820825 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id C7F0886970; Tue, 29 Dec 2020 11:17:48 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bEx9NBquIi7e; Tue, 29 Dec 2020 11:17:48 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by whitealder.osuosl.org (Postfix) with ESMTP id 314928690B; Tue, 29 Dec 2020 11:17:48 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 19460C088B; Tue, 29 Dec 2020 11:17:48 +0000 (UTC) Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 85A20C0174 for ; Tue, 29 Dec 2020 11:17:46 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 80C1A8690B for ; Tue, 29 Dec 2020 11:17:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OgUaCHdAurU2 for ; Tue, 29 Dec 2020 11:17:45 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mailgw02.mediatek.com (unknown [1.203.163.81]) by whitealder.osuosl.org (Postfix) with ESMTP id 947A8867FD for ; Tue, 29 Dec 2020 11:17:44 +0000 (UTC) X-UUID: a265345998e04ca4a2d32d1135c7a17d-20201229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=kjdDDsR62/sn1Fub2YpVwLbpjVry+o489WtdnLg/RPA=; b=j85CWewiMQm78U7KBaWow+N6gvruv4RDqU5o+zYFjQvgQHlSaobts6499n2kpyUKPLTMCUBZkO/WaE0cJUXtGHhBR7Oej8zqRzafS+7fuhf6srFdh1Z/MJcsyDUk67sR28wkFn6ekgzhhzZO1p8BP6yfFf3ao1z5HePR3bWAKqM=; X-UUID: a265345998e04ca4a2d32d1135c7a17d-20201229 Received: from mtkcas36.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1139923315; Tue, 29 Dec 2020 19:17:40 +0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 19:17:37 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 29 Dec 2020 19:17:37 +0800 Message-ID: <1609240657.26323.298.camel@mhfsdcap03> Subject: Re: [PATCH v5 09/27] iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek From: Yong Wu To: Tomasz Figa Date: Tue, 29 Dec 2020 19:17:37 +0800 In-Reply-To: References: <20201209080102.26626-1-yong.wu@mediatek.com> <20201209080102.26626-10-yong.wu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: D8FBC57831CD7A85616D1A7462D4159D3B98DDE313D42CDF6FB3EC071BE3DD992000:8 X-MTK: N Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, Tomasz Figa , Will Deacon , linux-kernel@vger.kernel.org, Evan Green , chao.hao@mediatek.com, iommu@lists.linux-foundation.org, Rob Herring , linux-mediatek@lists.infradead.org, Krzysztof Kozlowski , Matthias Brugger , anan.sun@mediatek.com, Robin Murphy , linux-arm-kernel@lists.infradead.org X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" On Wed, 2020-12-23 at 17:20 +0900, Tomasz Figa wrote: > On Wed, Dec 09, 2020 at 04:00:44PM +0800, Yong Wu wrote: > > MediaTek extend the bit5 in lvl1 and lvl2 descriptor as PA34. > > > > Signed-off-by: Yong Wu > > Acked-by: Will Deacon > > Reviewed-by: Robin Murphy > > --- > > drivers/iommu/io-pgtable-arm-v7s.c | 9 +++++++-- > > drivers/iommu/mtk_iommu.c | 2 +- > > include/linux/io-pgtable.h | 4 ++-- > > 3 files changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c > > index e880745ab1e8..4d0aa079470f 100644 > > --- a/drivers/iommu/io-pgtable-arm-v7s.c > > +++ b/drivers/iommu/io-pgtable-arm-v7s.c > > @@ -112,9 +112,10 @@ > > #define ARM_V7S_TEX_MASK 0x7 > > #define ARM_V7S_ATTR_TEX(val) (((val) & ARM_V7S_TEX_MASK) << ARM_V7S_TEX_SHIFT) > > > > -/* MediaTek extend the two bits for PA 32bit/33bit */ > > +/* MediaTek extend the bits below for PA 32bit/33bit/34bit */ > > #define ARM_V7S_ATTR_MTK_PA_BIT32 BIT(9) > > #define ARM_V7S_ATTR_MTK_PA_BIT33 BIT(4) > > +#define ARM_V7S_ATTR_MTK_PA_BIT34 BIT(5) > > > > /* *well, except for TEX on level 2 large pages, of course :( */ > > #define ARM_V7S_CONT_PAGE_TEX_SHIFT 6 > > @@ -194,6 +195,8 @@ static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl, > > pte |= ARM_V7S_ATTR_MTK_PA_BIT32; > > if (paddr & BIT_ULL(33)) > > pte |= ARM_V7S_ATTR_MTK_PA_BIT33; > > + if (paddr & BIT_ULL(34)) > > + pte |= ARM_V7S_ATTR_MTK_PA_BIT34; > > return pte; > > } > > > > @@ -218,6 +221,8 @@ static phys_addr_t iopte_to_paddr(arm_v7s_iopte pte, int lvl, > > paddr |= BIT_ULL(32); > > if (pte & ARM_V7S_ATTR_MTK_PA_BIT33) > > paddr |= BIT_ULL(33); > > + if (pte & ARM_V7S_ATTR_MTK_PA_BIT34) > > + paddr |= BIT_ULL(34); > > return paddr; > > } > > > > @@ -754,7 +759,7 @@ static struct io_pgtable *arm_v7s_alloc_pgtable(struct io_pgtable_cfg *cfg, > > if (cfg->ias > ARM_V7S_ADDR_BITS) > > return NULL; > > > > - if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS)) > > + if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 35 : ARM_V7S_ADDR_BITS)) > > return NULL; > > > > if (cfg->quirks & ~(IO_PGTABLE_QUIRK_ARM_NS | > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index 6451d83753e1..ec3c87d4b172 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -320,7 +320,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom) > > IO_PGTABLE_QUIRK_ARM_MTK_EXT, > > .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, > > .ias = 32, > > - .oas = 34, > > + .oas = 35, > > Shouldn't this be set according to the real hardware capabilities, > instead of always setting it to 35? Here only make the code clean. 35 is ok for all the SoC. But you are right from the HW point, the logic is like this: if (MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_4GB_MODE)) dom->cfg.oas = data->enable_4GB ? 33 : 32; else dom->cfg.oas = 35; I will use this in next version. > > Best regards, > Tomasz > > > .tlb = &mtk_iommu_flush_ops, > > .iommu_dev = data->dev, > > }; > > diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h > > index 4cde111e425b..1ae0757f4f94 100644 > > --- a/include/linux/io-pgtable.h > > +++ b/include/linux/io-pgtable.h > > @@ -77,8 +77,8 @@ struct io_pgtable_cfg { > > * TLB maintenance when mapping as well as when unmapping. > > * > > * IO_PGTABLE_QUIRK_ARM_MTK_EXT: (ARM v7s format) MediaTek IOMMUs extend > > - * to support up to 34 bits PA where the bit32 and bit33 are > > - * encoded in the bit9 and bit4 of the PTE respectively. > > + * to support up to 35 bits PA where the bit32, bit33 and bit34 are > > + * encoded in the bit9, bit4 and bit5 of the PTE respectively. > > * > > * IO_PGTABLE_QUIRK_NON_STRICT: Skip issuing synchronous leaf TLBIs > > * on unmap, for DMA domains using the flush queue mechanism for > > -- > > 2.18.0 > > > > _______________________________________________ > > iommu mailing list > > iommu@lists.linux-foundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/iommu _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu 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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2A621C433E0 for ; Tue, 29 Dec 2020 11:17:59 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D5A32207AB for ; Tue, 29 Dec 2020 11:17:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D5A32207AB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KpNLozeHkDl65WKc4BzriuASXEHQ7V3RyIn6HqUQQLQ=; b=l9M8n8P3BZPVj/OXPPQrzdi7E XdrmQqYB8XvA8hYmwdRXeAT1JR5TyIATTMmHvDpe9gI3lWs2D4EN/yN7Qbifzf2E4oPEJMfEa/anG YFD9OIfXmCKWfvHCxCUoteRzXZJtjspwP7tjitDitcyVGIRnMhFeuZ2bZ6SNSsj1/V/E1JaUJtxta MC1VI4eWm4/xX7NBMdpHSbSV4nfGXqO8O+7v5Ybzs+IR6l4Dd/+09Q7SZyhGj902+d9/ZUjUSDlOW abhlbK8kANRwSn4lmv7tPH55s8z/Vg0SHgoDKmr4sxpX7mmDhOQJfvqZZ0t2/ypnobRE743DJZwU7 pZU5zt+CA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuD0d-0000QZ-TT; Tue, 29 Dec 2020 11:17:47 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuD0a-0000Pv-Lj; Tue, 29 Dec 2020 11:17:46 +0000 X-UUID: 028884f780d742ffb02fa486b6fd54c1-20201229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=kjdDDsR62/sn1Fub2YpVwLbpjVry+o489WtdnLg/RPA=; b=FHvIf0hXeHXEin7HOzba4Z4z9pH6en1yNnVohXqpsCnVjb7Gf17pCn3LSF6WlUPF4yKvoEOdACD12QMxkRvR2hVYW28fg/CSjUZ8lydniqZajsRRZ+1e4J3X0JfD6Lh0y8hm9jnEqFaCdSQ87rQrFx80LjFuPin8R6aquGY9P4o=; X-UUID: 028884f780d742ffb02fa486b6fd54c1-20201229 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 814916895; Tue, 29 Dec 2020 03:17:42 -0800 Received: from MTKMBS31N2.mediatek.inc (172.27.4.87) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 03:17:41 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 19:17:37 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 29 Dec 2020 19:17:37 +0800 Message-ID: <1609240657.26323.298.camel@mhfsdcap03> Subject: Re: [PATCH v5 09/27] iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek From: Yong Wu To: Tomasz Figa Date: Tue, 29 Dec 2020 19:17:37 +0800 In-Reply-To: References: <20201209080102.26626-1-yong.wu@mediatek.com> <20201209080102.26626-10-yong.wu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: D8FBC57831CD7A85616D1A7462D4159D3B98DDE313D42CDF6FB3EC071BE3DD992000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201229_061744_934907_3BFB82E8 X-CRM114-Status: GOOD ( 26.66 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, Tomasz Figa , Will Deacon , Joerg Roedel , linux-kernel@vger.kernel.org, Evan Green , chao.hao@mediatek.com, iommu@lists.linux-foundation.org, Rob Herring , linux-mediatek@lists.infradead.org, Krzysztof Kozlowski , Matthias Brugger , anan.sun@mediatek.com, Robin Murphy , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Wed, 2020-12-23 at 17:20 +0900, Tomasz Figa wrote: > On Wed, Dec 09, 2020 at 04:00:44PM +0800, Yong Wu wrote: > > MediaTek extend the bit5 in lvl1 and lvl2 descriptor as PA34. > > > > Signed-off-by: Yong Wu > > Acked-by: Will Deacon > > Reviewed-by: Robin Murphy > > --- > > drivers/iommu/io-pgtable-arm-v7s.c | 9 +++++++-- > > drivers/iommu/mtk_iommu.c | 2 +- > > include/linux/io-pgtable.h | 4 ++-- > > 3 files changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c > > index e880745ab1e8..4d0aa079470f 100644 > > --- a/drivers/iommu/io-pgtable-arm-v7s.c > > +++ b/drivers/iommu/io-pgtable-arm-v7s.c > > @@ -112,9 +112,10 @@ > > #define ARM_V7S_TEX_MASK 0x7 > > #define ARM_V7S_ATTR_TEX(val) (((val) & ARM_V7S_TEX_MASK) << ARM_V7S_TEX_SHIFT) > > > > -/* MediaTek extend the two bits for PA 32bit/33bit */ > > +/* MediaTek extend the bits below for PA 32bit/33bit/34bit */ > > #define ARM_V7S_ATTR_MTK_PA_BIT32 BIT(9) > > #define ARM_V7S_ATTR_MTK_PA_BIT33 BIT(4) > > +#define ARM_V7S_ATTR_MTK_PA_BIT34 BIT(5) > > > > /* *well, except for TEX on level 2 large pages, of course :( */ > > #define ARM_V7S_CONT_PAGE_TEX_SHIFT 6 > > @@ -194,6 +195,8 @@ static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl, > > pte |= ARM_V7S_ATTR_MTK_PA_BIT32; > > if (paddr & BIT_ULL(33)) > > pte |= ARM_V7S_ATTR_MTK_PA_BIT33; > > + if (paddr & BIT_ULL(34)) > > + pte |= ARM_V7S_ATTR_MTK_PA_BIT34; > > return pte; > > } > > > > @@ -218,6 +221,8 @@ static phys_addr_t iopte_to_paddr(arm_v7s_iopte pte, int lvl, > > paddr |= BIT_ULL(32); > > if (pte & ARM_V7S_ATTR_MTK_PA_BIT33) > > paddr |= BIT_ULL(33); > > + if (pte & ARM_V7S_ATTR_MTK_PA_BIT34) > > + paddr |= BIT_ULL(34); > > return paddr; > > } > > > > @@ -754,7 +759,7 @@ static struct io_pgtable *arm_v7s_alloc_pgtable(struct io_pgtable_cfg *cfg, > > if (cfg->ias > ARM_V7S_ADDR_BITS) > > return NULL; > > > > - if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS)) > > + if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 35 : ARM_V7S_ADDR_BITS)) > > return NULL; > > > > if (cfg->quirks & ~(IO_PGTABLE_QUIRK_ARM_NS | > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index 6451d83753e1..ec3c87d4b172 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -320,7 +320,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom) > > IO_PGTABLE_QUIRK_ARM_MTK_EXT, > > .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, > > .ias = 32, > > - .oas = 34, > > + .oas = 35, > > Shouldn't this be set according to the real hardware capabilities, > instead of always setting it to 35? Here only make the code clean. 35 is ok for all the SoC. But you are right from the HW point, the logic is like this: if (MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_4GB_MODE)) dom->cfg.oas = data->enable_4GB ? 33 : 32; else dom->cfg.oas = 35; I will use this in next version. > > Best regards, > Tomasz > > > .tlb = &mtk_iommu_flush_ops, > > .iommu_dev = data->dev, > > }; > > diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h > > index 4cde111e425b..1ae0757f4f94 100644 > > --- a/include/linux/io-pgtable.h > > +++ b/include/linux/io-pgtable.h > > @@ -77,8 +77,8 @@ struct io_pgtable_cfg { > > * TLB maintenance when mapping as well as when unmapping. > > * > > * IO_PGTABLE_QUIRK_ARM_MTK_EXT: (ARM v7s format) MediaTek IOMMUs extend > > - * to support up to 34 bits PA where the bit32 and bit33 are > > - * encoded in the bit9 and bit4 of the PTE respectively. > > + * to support up to 35 bits PA where the bit32, bit33 and bit34 are > > + * encoded in the bit9, bit4 and bit5 of the PTE respectively. > > * > > * IO_PGTABLE_QUIRK_NON_STRICT: Skip issuing synchronous leaf TLBIs > > * on unmap, for DMA domains using the flush queue mechanism for > > -- > > 2.18.0 > > > > _______________________________________________ > > iommu mailing list > > iommu@lists.linux-foundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/iommu _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 X-Spam-Level: X-Spam-Status: No, score=-15.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 68537C433DB for ; Tue, 29 Dec 2020 11:19:28 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3004F207B8 for ; Tue, 29 Dec 2020 11:19:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3004F207B8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Date:To:From: Subject:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wqVkAU9JdtpU3tKjo6ytf6E5uU3PUnqcCu92/bOrEGI=; b=19lujCrrrQgojQ972EZT3pR8r qt59Itxhol/SeeaP420XZpLg774mzswq3yfNEkvvRacdB/CDqleFAERkXuZStH6J+Bvz0kLuvWZ/a MfI0F2hKFizg9EeG5jixiYu9MJG+odjRa79fABDsPgdhj3IHC4gPPckS3tcT482ZlHMKc2SlDrwhs mv0K7iUHwWFQNh3kIlnWjb79wn9xVssSdi6xbPw5oEa6EF0jW5k7x8DBcch41RVVKZKv+pLngr8tG MbWyfEXoZ4O/kj6duhJAnmVYWbB2jzOT1K5S0TYTZxki0rjdeEB0Tw1s+EBTBvZoIuXQXgsyezvOR wNVsP4a6g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuD0e-0000Qi-WF; Tue, 29 Dec 2020 11:17:49 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kuD0a-0000Pv-Lj; Tue, 29 Dec 2020 11:17:46 +0000 X-UUID: 028884f780d742ffb02fa486b6fd54c1-20201229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=kjdDDsR62/sn1Fub2YpVwLbpjVry+o489WtdnLg/RPA=; b=FHvIf0hXeHXEin7HOzba4Z4z9pH6en1yNnVohXqpsCnVjb7Gf17pCn3LSF6WlUPF4yKvoEOdACD12QMxkRvR2hVYW28fg/CSjUZ8lydniqZajsRRZ+1e4J3X0JfD6Lh0y8hm9jnEqFaCdSQ87rQrFx80LjFuPin8R6aquGY9P4o=; X-UUID: 028884f780d742ffb02fa486b6fd54c1-20201229 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 814916895; Tue, 29 Dec 2020 03:17:42 -0800 Received: from MTKMBS31N2.mediatek.inc (172.27.4.87) by MTKMBS62N1.mediatek.inc (172.29.193.41) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 03:17:41 -0800 Received: from MTKCAS36.mediatek.inc (172.27.4.186) by MTKMBS31N2.mediatek.inc (172.27.4.87) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 29 Dec 2020 19:17:37 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS36.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 29 Dec 2020 19:17:37 +0800 Message-ID: <1609240657.26323.298.camel@mhfsdcap03> Subject: Re: [PATCH v5 09/27] iommu/io-pgtable-arm-v7s: Extend PA34 for MediaTek From: Yong Wu To: Tomasz Figa Date: Tue, 29 Dec 2020 19:17:37 +0800 In-Reply-To: References: <20201209080102.26626-1-yong.wu@mediatek.com> <20201209080102.26626-10-yong.wu@mediatek.com> X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: D8FBC57831CD7A85616D1A7462D4159D3B98DDE313D42CDF6FB3EC071BE3DD992000:8 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20201229_061744_934907_3BFB82E8 X-CRM114-Status: GOOD ( 26.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: youlin.pei@mediatek.com, devicetree@vger.kernel.org, Nicolas Boichat , srv_heupstream@mediatek.com, Tomasz Figa , Will Deacon , Joerg Roedel , linux-kernel@vger.kernel.org, Evan Green , chao.hao@mediatek.com, iommu@lists.linux-foundation.org, Rob Herring , linux-mediatek@lists.infradead.org, Krzysztof Kozlowski , Matthias Brugger , anan.sun@mediatek.com, Robin Murphy , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Wed, 2020-12-23 at 17:20 +0900, Tomasz Figa wrote: > On Wed, Dec 09, 2020 at 04:00:44PM +0800, Yong Wu wrote: > > MediaTek extend the bit5 in lvl1 and lvl2 descriptor as PA34. > > > > Signed-off-by: Yong Wu > > Acked-by: Will Deacon > > Reviewed-by: Robin Murphy > > --- > > drivers/iommu/io-pgtable-arm-v7s.c | 9 +++++++-- > > drivers/iommu/mtk_iommu.c | 2 +- > > include/linux/io-pgtable.h | 4 ++-- > > 3 files changed, 10 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/iommu/io-pgtable-arm-v7s.c b/drivers/iommu/io-pgtable-arm-v7s.c > > index e880745ab1e8..4d0aa079470f 100644 > > --- a/drivers/iommu/io-pgtable-arm-v7s.c > > +++ b/drivers/iommu/io-pgtable-arm-v7s.c > > @@ -112,9 +112,10 @@ > > #define ARM_V7S_TEX_MASK 0x7 > > #define ARM_V7S_ATTR_TEX(val) (((val) & ARM_V7S_TEX_MASK) << ARM_V7S_TEX_SHIFT) > > > > -/* MediaTek extend the two bits for PA 32bit/33bit */ > > +/* MediaTek extend the bits below for PA 32bit/33bit/34bit */ > > #define ARM_V7S_ATTR_MTK_PA_BIT32 BIT(9) > > #define ARM_V7S_ATTR_MTK_PA_BIT33 BIT(4) > > +#define ARM_V7S_ATTR_MTK_PA_BIT34 BIT(5) > > > > /* *well, except for TEX on level 2 large pages, of course :( */ > > #define ARM_V7S_CONT_PAGE_TEX_SHIFT 6 > > @@ -194,6 +195,8 @@ static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl, > > pte |= ARM_V7S_ATTR_MTK_PA_BIT32; > > if (paddr & BIT_ULL(33)) > > pte |= ARM_V7S_ATTR_MTK_PA_BIT33; > > + if (paddr & BIT_ULL(34)) > > + pte |= ARM_V7S_ATTR_MTK_PA_BIT34; > > return pte; > > } > > > > @@ -218,6 +221,8 @@ static phys_addr_t iopte_to_paddr(arm_v7s_iopte pte, int lvl, > > paddr |= BIT_ULL(32); > > if (pte & ARM_V7S_ATTR_MTK_PA_BIT33) > > paddr |= BIT_ULL(33); > > + if (pte & ARM_V7S_ATTR_MTK_PA_BIT34) > > + paddr |= BIT_ULL(34); > > return paddr; > > } > > > > @@ -754,7 +759,7 @@ static struct io_pgtable *arm_v7s_alloc_pgtable(struct io_pgtable_cfg *cfg, > > if (cfg->ias > ARM_V7S_ADDR_BITS) > > return NULL; > > > > - if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS)) > > + if (cfg->oas > (arm_v7s_is_mtk_enabled(cfg) ? 35 : ARM_V7S_ADDR_BITS)) > > return NULL; > > > > if (cfg->quirks & ~(IO_PGTABLE_QUIRK_ARM_NS | > > diff --git a/drivers/iommu/mtk_iommu.c b/drivers/iommu/mtk_iommu.c > > index 6451d83753e1..ec3c87d4b172 100644 > > --- a/drivers/iommu/mtk_iommu.c > > +++ b/drivers/iommu/mtk_iommu.c > > @@ -320,7 +320,7 @@ static int mtk_iommu_domain_finalise(struct mtk_iommu_domain *dom) > > IO_PGTABLE_QUIRK_ARM_MTK_EXT, > > .pgsize_bitmap = mtk_iommu_ops.pgsize_bitmap, > > .ias = 32, > > - .oas = 34, > > + .oas = 35, > > Shouldn't this be set according to the real hardware capabilities, > instead of always setting it to 35? Here only make the code clean. 35 is ok for all the SoC. But you are right from the HW point, the logic is like this: if (MTK_IOMMU_HAS_FLAG(data->plat_data, HAS_4GB_MODE)) dom->cfg.oas = data->enable_4GB ? 33 : 32; else dom->cfg.oas = 35; I will use this in next version. > > Best regards, > Tomasz > > > .tlb = &mtk_iommu_flush_ops, > > .iommu_dev = data->dev, > > }; > > diff --git a/include/linux/io-pgtable.h b/include/linux/io-pgtable.h > > index 4cde111e425b..1ae0757f4f94 100644 > > --- a/include/linux/io-pgtable.h > > +++ b/include/linux/io-pgtable.h > > @@ -77,8 +77,8 @@ struct io_pgtable_cfg { > > * TLB maintenance when mapping as well as when unmapping. > > * > > * IO_PGTABLE_QUIRK_ARM_MTK_EXT: (ARM v7s format) MediaTek IOMMUs extend > > - * to support up to 34 bits PA where the bit32 and bit33 are > > - * encoded in the bit9 and bit4 of the PTE respectively. > > + * to support up to 35 bits PA where the bit32, bit33 and bit34 are > > + * encoded in the bit9, bit4 and bit5 of the PTE respectively. > > * > > * IO_PGTABLE_QUIRK_NON_STRICT: Skip issuing synchronous leaf TLBIs > > * on unmap, for DMA domains using the flush queue mechanism for > > -- > > 2.18.0 > > > > _______________________________________________ > > iommu mailing list > > iommu@lists.linux-foundation.org > > https://lists.linuxfoundation.org/mailman/listinfo/iommu _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel