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=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,INCLUDES_PATCH,MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT 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 D88F4CA9EC0 for ; Mon, 28 Oct 2019 11:21:16 +0000 (UTC) Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (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 B29BF205ED for ; Mon, 28 Oct 2019 11:21:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B29BF205ED 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 mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 5A160110D; Mon, 28 Oct 2019 11:21:02 +0000 (UTC) Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id F185BB0B for ; Mon, 28 Oct 2019 08:28:41 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailgw01.mediatek.com (unknown [210.61.82.183]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 936DE63D for ; Mon, 28 Oct 2019 08:28:40 +0000 (UTC) X-UUID: d01eab759fb646d5973c98ec934ee649-20191028 X-UUID: d01eab759fb646d5973c98ec934ee649-20191028 Received: from mtkexhb01.mediatek.inc [(172.21.101.102)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1505586292; Mon, 28 Oct 2019 16:28:36 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Mon, 28 Oct 2019 16:28:33 +0800 Received: from localhost.localdomain (10.15.20.246) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Mon, 28 Oct 2019 16:28:32 +0800 From: Chao Hao To: Joerg Roedel , Rob Herring , Matthias Brugger Subject: [PATCH 03/13] iommu/mediatek: Add mtk_iommu_pgtable structure Date: Mon, 28 Oct 2019 16:28:10 +0800 Message-ID: <20191028082820.20221-4-chao.hao@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20191028082820.20221-1-chao.hao@mediatek.com> References: <20191028082820.20221-1-chao.hao@mediatek.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 28 Oct 2019 11:21:00 +0000 Cc: Anan Sun , devicetree@vger.kernel.org, Cui Zhang , Jun Yan , wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org, Chao Hao , iommu@lists.linux-foundation.org, linux-mediatek@lists.infradead.org, Miles Chen , linux-arm-kernel@lists.infradead.org, Guangming Cao X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============5030092278456602411==" Sender: iommu-bounces@lists.linux-foundation.org Errors-To: iommu-bounces@lists.linux-foundation.org --===============5030092278456602411== Content-Type: multipart/alternative; boundary="__=_Part_Boundary_004_1342251543.824474493" --__=_Part_Boundary_004_1342251543.824474493 Content-Type: text/html Content-Transfer-Encoding: base64 PHByZT4NClN0YXJ0IHdpdGggdGhpcyBwYXRjaCwgd2Ugd2lsbCBjaGFuZ2UgdGhlIFNXIGFyY2hp dGVjdHVyZQ0KdG8gc3VwcG9ydCBtdWx0aXBsZSBkb21haW5zLiBTVyBhcmNoaXRlY3R1cmUgd2ls bCBoYXMgYSBiaWcgY2hhbmdlLA0Kc28gd2UgbmVlZCB0byBtb2RpZnkgYSBsaXR0bGUgYml0IGJ5 IG1vcmUgdGhhbiBvbmUgcGF0Y2guDQpUaGUgbmV3IFNXIG92ZXJhbGwgYXJjaGl0ZWN0dXJlIGlz IGFzIGJlbG93Og0KDQoJCQkJaW9tbXUwICAgaW9tbXUxDQoJCQkJICB8CSAgICB8DQoJCQkJICAt LS0tLS0tLS0tLQ0KCQkJCSAgICAgICB8DQoJCQkJbXRrX2lvbW11X3BndGFibGUNCgkJCQkgICAg ICAgfA0KCQkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCQl8 CQkgICAgIHwJCQkgfA0KCQltdGtfaW9tbXVfZG9tYWluMSAgIG10a19pb21tdV9kb21haW4yICBt dGtfaW9tbXVfZG9tYWluMw0KCQkJfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAg ICAgICB8DQoJCSAgIGlvbW11X2dyb3VwMSAgICAgICAgIGlvbW11X2dyb3VwMiAgICAgICAgaW9t bXVfZ3JvdXAzDQoJCQl8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwN CgkJICAgaW9tbXVfZG9tYWluMSAgICAgICAgaW9tbXVfZG9tYWluMgkgICAgaW9tbXVfZG9tYWlu Mw0KCQkJfCAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICB8DQoJCSAgaW92 YSByZWdpb24xKG5vcm1hbCkgaW92YSByZWdpb24yKENDVSkgICBpb3ZhIHJlZ2lvbjMoVlBVKQ0K DQpGb3IgY3VycmVudCBzdHJ1Y3R1cmUsIG5vIG1hdHRlciBob3cgbWFueSBpb21tdXMgdGhlcmUg YXJlLA0KdGhleSB1c2UgdGhlIHNhbWUgcGFnZSB0YWJsZSB0byBzaW1wbGlmeSB0aGUgdXNhZ2Ug b2YgbW9kdWxlLg0KSW4gb3JkZXIgdG8gbWFrZSB0aGUgc29mdHdhcmUgYXJjaGl0ZWN0dXJlIG1v cmUgZXhwbGljaXQsIHRoaXMNCnBhdGNoIHdpbGwgY3JlYXRlIGEgZ2xvYmFsIG10a19pb21tdV9w Z3RhYmxlIHN0cnVjdHVyZSB0byBkZXNjcmliZQ0KcGFnZSB0YWJsZSBhbmQgYWxsIHRoZSBpb21t dXMgdXNlIGl0Lg0KVGhlIGRpYWdyYW0gaXMgYXMgYmVsb3c6DQoNCgltdGtfaW9tbXVfZGF0YTEo TU0pICAgICAgIG10a19pb21tdV9kYXRhMihBUFUpDQoJCXwJCQkgICB8DQoJCXwJCQkgICB8DQoJ CS0tLS0tLW10a19pb21tdV9wZ3RhYmxlLS0tLS0NCg0KV2UgbmVlZCB0byBjcmVhdGUgZ2xvYmFs IG10a19pb21tdV9wZ3RhYmxlIHRvIGluY2x1ZGUgYWxsIHRoZSBpb3ZhDQpyZWdpb25zIGZpcnN0 bHkgYW5kIHNwZWNpYWwgaW92YSByZWdpb25zIGJ5IGRpdmlkZWQgYmFzZWQgb24gaXQsDQpzbyB0 aGUgaW5mb3JtYXRpb24gb2YgcGd0YWJsZSBuZWVkcyB0byBiZSBjcmVhdGVkIGluIGRldmljZV9n cm91cC4NCg0KU2lnbmVkLW9mZi1ieTogQ2hhbyBIYW8gJmx0O2NoYW8uaGFvQG1lZGlhdGVrLmNv bSZndDsNCi0tLQ0KIGRyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMgfCA4NCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCiBkcml2ZXJzL2lvbW11L210a19pb21tdS5oIHwg IDEgKw0KIDIgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmMNCmlu ZGV4IGYyODQ3ZTY2MTEzNy4uZmNiZGU2YjBmNThkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9pb21t dS9tdGtfaW9tbXUuYw0KKysrIGIvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYw0KQEAgLTEyMyw2 ICsxMjMsMTIgQEAgc3RydWN0IG10a19pb21tdV9kb21haW4gew0KIAlzdHJ1Y3QgaW9tbXVfZG9t YWluCQlkb21haW47DQogfTsNCiANCitzdHJ1Y3QgbXRrX2lvbW11X3BndGFibGUgew0KKwlzdHJ1 Y3QgaW9fcGd0YWJsZV9jZmcJY2ZnOw0KKwlzdHJ1Y3QgaW9fcGd0YWJsZV9vcHMJKmlvcDsNCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgbXRrX2lvbW11X3BndGFibGUgKnNoYXJlX3BndGFibGU7DQog c3RhdGljIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgbXRrX2lvbW11X29wczsNCiANCiAvKg0KQEAg LTE3MCw2ICsxNzYsMTEgQEAgc3RhdGljIHN0cnVjdCBtdGtfaW9tbXVfZGF0YSAqbXRrX2lvbW11 X2dldF9tNHVfZGF0YSh2b2lkKQ0KIAlyZXR1cm4gTlVMTDsNCiB9DQogDQorc3RhdGljIHN0cnVj dCBtdGtfaW9tbXVfcGd0YWJsZSAqbXRrX2lvbW11X2dldF9wZ3RhYmxlKHZvaWQpDQorew0KKwly ZXR1cm4gc2hhcmVfcGd0YWJsZTsNCit9DQorDQogc3RhdGljIHN0cnVjdCBtdGtfaW9tbXVfZG9t YWluICp0b19tdGtfZG9tYWluKHN0cnVjdCBpb21tdV9kb21haW4gKmRvbSkNCiB7DQogCXJldHVy biBjb250YWluZXJfb2YoZG9tLCBzdHJ1Y3QgbXRrX2lvbW11X2RvbWFpbiwgZG9tYWluKTsNCkBA IC0zMjIsNiArMzMzLDEzIEBAIHN0YXRpYyBpbnQgbXRrX2lvbW11X2RvbWFpbl9maW5hbGlzZShz dHJ1Y3QgbXRrX2lvbW11X2RvbWFpbiAqZG9tKQ0KIHsNCiAJc3RydWN0IG10a19pb21tdV9kYXRh ICpkYXRhID0gbXRrX2lvbW11X2dldF9tNHVfZGF0YSgpOw0KIA0KKwlpZiAoZGF0YS0mZ3Q7cGd0 YWJsZSkgew0KKwkJZG9tLSZndDtjZmcgPSBkYXRhLSZndDtwZ3RhYmxlLSZndDtjZmc7DQorCQlk b20tJmd0O2lvcCA9IGRhdGEtJmd0O3BndGFibGUtJmd0O2lvcDsNCisJCWRvbS0mZ3Q7ZG9tYWlu LnBnc2l6ZV9iaXRtYXAgPSBkYXRhLSZndDtwZ3RhYmxlLSZndDtjZmcucGdzaXplX2JpdG1hcDsN CisJCXJldHVybiAwOw0KKwl9DQorDQogCWRvbS0mZ3Q7Y2ZnID0gKHN0cnVjdCBpb19wZ3RhYmxl X2NmZykgew0KIAkJLnF1aXJrcyA9IElPX1BHVEFCTEVfUVVJUktfQVJNX05TIHwNCiAJCQlJT19Q R1RBQkxFX1FVSVJLX05PX1BFUk1TIHwNCkBAIC0zNDUsNiArMzYzLDYxIEBAIHN0YXRpYyBpbnQg bXRrX2lvbW11X2RvbWFpbl9maW5hbGlzZShzdHJ1Y3QgbXRrX2lvbW11X2RvbWFpbiAqZG9tKQ0K IAlyZXR1cm4gMDsNCiB9DQogDQorc3RhdGljIHN0cnVjdCBtdGtfaW9tbXVfcGd0YWJsZSAqY3Jl YXRlX3BndGFibGUoc3RydWN0IG10a19pb21tdV9kYXRhICpkYXRhKQ0KK3sNCisJc3RydWN0IG10 a19pb21tdV9wZ3RhYmxlICpwZ3RhYmxlOw0KKw0KKwlwZ3RhYmxlID0ga3phbGxvYyhzaXplb2Yo KnBndGFibGUpLCBHRlBfS0VSTkVMKTsNCisJaWYgKCFwZ3RhYmxlKQ0KKwkJcmV0dXJuIEVSUl9Q VFIoLUVOT01FTSk7DQorDQorCXBndGFibGUtJmd0O2NmZyA9IChzdHJ1Y3QgaW9fcGd0YWJsZV9j ZmcpIHsNCisJCS5xdWlya3MgPSBJT19QR1RBQkxFX1FVSVJLX0FSTV9OUyB8DQorCQkJSU9fUEdU QUJMRV9RVUlSS19OT19QRVJNUyB8DQorCQkJSU9fUEdUQUJMRV9RVUlSS19UTEJJX09OX01BUCB8 DQorCQkJSU9fUEdUQUJMRV9RVUlSS19BUk1fTVRLX0VYVCwNCisJCS5wZ3NpemVfYml0bWFwID0g bXRrX2lvbW11X29wcy5wZ3NpemVfYml0bWFwLA0KKwkJLmlhcyA9IDMyLA0KKwkJLm9hcyA9IDM0 LA0KKwkJLnRsYiA9ICZhbXA7bXRrX2lvbW11X2ZsdXNoX29wcywNCisJCS5pb21tdV9kZXYgPSBk YXRhLSZndDtkZXYsDQorCX07DQorDQorCXBndGFibGUtJmd0O2lvcCA9IGFsbG9jX2lvX3BndGFi bGVfb3BzKEFSTV9WN1MsICZhbXA7cGd0YWJsZS0mZ3Q7Y2ZnLCBkYXRhKTsNCisJaWYgKCFwZ3Rh YmxlLSZndDtpb3ApIHsNCisJCWRldl9lcnIoZGF0YS0mZ3Q7ZGV2LCAmcXVvdDtGYWlsZWQgdG8g YWxsb2MgaW8gcGd0YWJsZVxuJnF1b3Q7KTsNCisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOw0K Kwl9DQorDQorCWRldl9pbmZvKGRhdGEtJmd0O2RldiwgJnF1b3Q7JXMgY3JlYXRlIHBndGFibGUg ZG9uZVxuJnF1b3Q7LCBfX2Z1bmNfXyk7DQorDQorCXJldHVybiBwZ3RhYmxlOw0KK30NCisNCitz dGF0aWMgaW50IG10a19pb21tdV9hdHRhY2hfcGd0YWJsZShzdHJ1Y3QgbXRrX2lvbW11X2RhdGEg KmRhdGEsDQorCQkJCSAgICBzdHJ1Y3QgZGV2aWNlICpkZXYpDQorew0KKwlzdHJ1Y3QgbXRrX2lv bW11X3BndGFibGUgKnBndGFibGUgPSBtdGtfaW9tbXVfZ2V0X3BndGFibGUoKTsNCisNCisJLyog Y3JlYXRlIHNoYXJlIHBndGFibGUgKi8NCisJaWYgKCFwZ3RhYmxlKSB7DQorCQlwZ3RhYmxlID0g Y3JlYXRlX3BndGFibGUoZGF0YSk7DQorCQlpZiAoSVNfRVJSKHBndGFibGUpKSB7DQorCQkJZGV2 X2VycihkYXRhLSZndDtkZXYsICZxdW90O0ZhaWxlZCB0byBjcmVhdGUgcGd0YWJsZVxuJnF1b3Q7 KTsNCisJCQlyZXR1cm4gLUVOT01FTTsNCisJCX0NCisNCisJCXNoYXJlX3BndGFibGUgPSBwZ3Rh YmxlOw0KKwl9DQorDQorCS8qIGJpbmRpbmcgdG8gcGd0YWJsZSAqLw0KKwlkYXRhLSZndDtwZ3Rh YmxlID0gcGd0YWJsZTsNCisNCisJZGV2X2luZm8oZGF0YS0mZ3Q7ZGV2LCAmcXVvdDttNHUlZCBh dHRhY2hfcGd0YWJsZSBkb25lIVxuJnF1b3Q7LCBkYXRhLSZndDttNHVfaWQpOw0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQogc3RhdGljIHN0cnVjdCBpb21tdV9kb21haW4gKm10a19pb21tdV9kb21h aW5fYWxsb2ModW5zaWduZWQgdHlwZSkNCiB7DQogCXN0cnVjdCBtdGtfaW9tbXVfZG9tYWluICpk b207DQpAQCAtNTA4LDEwICs1ODEsMjEgQEAgc3RhdGljIHZvaWQgbXRrX2lvbW11X3JlbW92ZV9k ZXZpY2Uoc3RydWN0IGRldmljZSAqZGV2KQ0KIHN0YXRpYyBzdHJ1Y3QgaW9tbXVfZ3JvdXAgKm10 a19pb21tdV9kZXZpY2VfZ3JvdXAoc3RydWN0IGRldmljZSAqZGV2KQ0KIHsNCiAJc3RydWN0IG10 a19pb21tdV9kYXRhICpkYXRhID0gbXRrX2lvbW11X2dldF9tNHVfZGF0YSgpOw0KKwlzdHJ1Y3Qg bXRrX2lvbW11X3BndGFibGUgKnBndGFibGU7DQorCWludCByZXQgPSAwOw0KIA0KIAlpZiAoIWRh dGEpDQogCQlyZXR1cm4gRVJSX1BUUigtRU5PREVWKTsNCiANCisJcGd0YWJsZSA9IGRhdGEtJmd0 O3BndGFibGU7DQorCWlmICghcGd0YWJsZSkgew0KKwkJcmV0ID0gbXRrX2lvbW11X2F0dGFjaF9w Z3RhYmxlKGRhdGEsIGRldik7DQorCQlpZiAocmV0KSB7DQorCQkJZGV2X2VycihkYXRhLSZndDtk ZXYsICZxdW90O0ZhaWxlZCB0byBkZXZpY2VfZ3JvdXBcbiZxdW90Oyk7DQorCQkJcmV0dXJuIE5V TEw7DQorCQl9DQorCX0NCisNCiAJLyogQWxsIHRoZSBjbGllbnQgZGV2aWNlcyBhcmUgaW4gdGhl IHNhbWUgbTR1IGlvbW11LWdyb3VwICovDQogCWlmICghZGF0YS0mZ3Q7bTR1X2dyb3VwKSB7DQog CQlkYXRhLSZndDttNHVfZ3JvdXAgPSBpb21tdV9ncm91cF9hbGxvYygpOw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmggYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5oDQpp bmRleCAxMzJkYzc2NWE0MGIuLmRkNWYxOWY3OGI2MiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvaW9t bXUvbXRrX2lvbW11LmgNCisrKyBiL2RyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmgNCkBAIC02MSw2 ICs2MSw3IEBAIHN0cnVjdCBtdGtfaW9tbXVfZGF0YSB7DQogCXN0cnVjdCBjbGsJCQkqYmNsazsN CiAJcGh5c19hZGRyX3QJCQlwcm90ZWN0X2Jhc2U7IC8qIHByb3RlY3QgbWVtb3J5IGJhc2UgKi8N CiAJc3RydWN0IG10a19pb21tdV9zdXNwZW5kX3JlZwlyZWc7DQorCXN0cnVjdCBtdGtfaW9tbXVf cGd0YWJsZQkqcGd0YWJsZTsNCiAJc3RydWN0IG10a19pb21tdV9kb21haW4JCSptNHVfZG9tOw0K IAlzdHJ1Y3QgaW9tbXVfZ3JvdXAJCSptNHVfZ3JvdXA7DQogCWJvb2wgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZW5hYmxlXzRHQjsNCi0tIA0KMi4xOC4wDQoNCjwvcHJlPjwhLS10eXBlOnRl eHQtLT48IS0tey0tPjxwcmU+KioqKioqKioqKioqKiBNRURJQVRFSyBDb25maWRlbnRpYWxpdHkg Tm90aWNlDQogKioqKioqKioqKioqKioqKioqKioNClRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQg aW4gdGhpcyBlLW1haWwgbWVzc2FnZSAoaW5jbHVkaW5nIGFueSANCmF0dGFjaG1lbnRzKSBtYXkg YmUgY29uZmlkZW50aWFsLCBwcm9wcmlldGFyeSwgcHJpdmlsZWdlZCwgb3Igb3RoZXJ3aXNlDQpl eGVtcHQgZnJvbSBkaXNjbG9zdXJlIHVuZGVyIGFwcGxpY2FibGUgbGF3cy4gSXQgaXMgaW50ZW5k ZWQgdG8gYmUgDQpjb252ZXllZCBvbmx5IHRvIHRoZSBkZXNpZ25hdGVkIHJlY2lwaWVudChzKS4g QW55IHVzZSwgZGlzc2VtaW5hdGlvbiwgDQpkaXN0cmlidXRpb24sIHByaW50aW5nLCByZXRhaW5p bmcgb3IgY29weWluZyBvZiB0aGlzIGUtbWFpbCAoaW5jbHVkaW5nIGl0cyANCmF0dGFjaG1lbnRz KSBieSB1bmludGVuZGVkIHJlY2lwaWVudChzKSBpcyBzdHJpY3RseSBwcm9oaWJpdGVkIGFuZCBt YXkgDQpiZSB1bmxhd2Z1bC4gSWYgeW91IGFyZSBub3QgYW4gaW50ZW5kZWQgcmVjaXBpZW50IG9m IHRoaXMgZS1tYWlsLCBvciBiZWxpZXZlDQogDQp0aGF0IHlvdSBoYXZlIHJlY2VpdmVkIHRoaXMg ZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgDQppbW1lZGlhdGVseSAo YnkgcmVwbHlpbmcgdG8gdGhpcyBlLW1haWwpLCBkZWxldGUgYW55IGFuZCBhbGwgY29waWVzIG9m IA0KdGhpcyBlLW1haWwgKGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGZyb20geW91ciBzeXN0 ZW0sIGFuZCBkbyBub3QNCmRpc2Nsb3NlIHRoZSBjb250ZW50IG9mIHRoaXMgZS1tYWlsIHRvIGFu eSBvdGhlciBwZXJzb24uIFRoYW5rIHlvdSENCjwvcHJlPjwhLS19LS0+ --__=_Part_Boundary_004_1342251543.824474493 Content-Type: text/plain Content-Transfer-Encoding: base64 U3RhcnQgd2l0aCB0aGlzIHBhdGNoLCB3ZSB3aWxsIGNoYW5nZSB0aGUgU1cgYXJjaGl0ZWN0dXJl DQp0byBzdXBwb3J0IG11bHRpcGxlIGRvbWFpbnMuIFNXIGFyY2hpdGVjdHVyZSB3aWxsIGhhcyBh IGJpZyBjaGFuZ2UsDQpzbyB3ZSBuZWVkIHRvIG1vZGlmeSBhIGxpdHRsZSBiaXQgYnkgbW9yZSB0 aGFuIG9uZSBwYXRjaC4NClRoZSBuZXcgU1cgb3ZlcmFsbCBhcmNoaXRlY3R1cmUgaXMgYXMgYmVs b3c6DQoNCgkJCQlpb21tdTAgICBpb21tdTENCgkJCQkgIHwJICAgIHwNCgkJCQkgIC0tLS0tLS0t LS0tDQoJCQkJICAgICAgIHwNCgkJCQltdGtfaW9tbXVfcGd0YWJsZQ0KCQkJCSAgICAgICB8DQoJ CQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkJCXwJCSAgICAg fAkJCSB8DQoJCW10a19pb21tdV9kb21haW4xICAgbXRrX2lvbW11X2RvbWFpbjIgIG10a19pb21t dV9kb21haW4zDQoJCQl8ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwN CgkJICAgaW9tbXVfZ3JvdXAxICAgICAgICAgaW9tbXVfZ3JvdXAyICAgICAgICBpb21tdV9ncm91 cDMNCgkJCXwgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgfA0KCQkgICBp b21tdV9kb21haW4xICAgICAgICBpb21tdV9kb21haW4yCSAgICBpb21tdV9kb21haW4zDQoJCQl8 ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwNCgkJICBpb3ZhIHJlZ2lv bjEobm9ybWFsKSBpb3ZhIHJlZ2lvbjIoQ0NVKSAgIGlvdmEgcmVnaW9uMyhWUFUpDQoNCkZvciBj dXJyZW50IHN0cnVjdHVyZSwgbm8gbWF0dGVyIGhvdyBtYW55IGlvbW11cyB0aGVyZSBhcmUsDQp0 aGV5IHVzZSB0aGUgc2FtZSBwYWdlIHRhYmxlIHRvIHNpbXBsaWZ5IHRoZSB1c2FnZSBvZiBtb2R1 bGUuDQpJbiBvcmRlciB0byBtYWtlIHRoZSBzb2Z0d2FyZSBhcmNoaXRlY3R1cmUgbW9yZSBleHBs aWNpdCwgdGhpcw0KcGF0Y2ggd2lsbCBjcmVhdGUgYSBnbG9iYWwgbXRrX2lvbW11X3BndGFibGUg c3RydWN0dXJlIHRvIGRlc2NyaWJlDQpwYWdlIHRhYmxlIGFuZCBhbGwgdGhlIGlvbW11cyB1c2Ug aXQuDQpUaGUgZGlhZ3JhbSBpcyBhcyBiZWxvdzoNCg0KCW10a19pb21tdV9kYXRhMShNTSkgICAg ICAgbXRrX2lvbW11X2RhdGEyKEFQVSkNCgkJfAkJCSAgIHwNCgkJfAkJCSAgIHwNCgkJLS0tLS0t bXRrX2lvbW11X3BndGFibGUtLS0tLQ0KDQpXZSBuZWVkIHRvIGNyZWF0ZSBnbG9iYWwgbXRrX2lv bW11X3BndGFibGUgdG8gaW5jbHVkZSBhbGwgdGhlIGlvdmENCnJlZ2lvbnMgZmlyc3RseSBhbmQg c3BlY2lhbCBpb3ZhIHJlZ2lvbnMgYnkgZGl2aWRlZCBiYXNlZCBvbiBpdCwNCnNvIHRoZSBpbmZv cm1hdGlvbiBvZiBwZ3RhYmxlIG5lZWRzIHRvIGJlIGNyZWF0ZWQgaW4gZGV2aWNlX2dyb3VwLg0K DQpTaWduZWQtb2ZmLWJ5OiBDaGFvIEhhbyA8Y2hhby5oYW9AbWVkaWF0ZWsuY29tPg0KLS0tDQog ZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKw0KIGRyaXZlcnMvaW9tbXUvbXRrX2lvbW11LmggfCAgMSArDQogMiBmaWxl cyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11 L210a19pb21tdS5jIGIvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYw0KaW5kZXggZjI4NDdlNjYx MTM3Li5mY2JkZTZiMGY1OGQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2lvbW11L210a19pb21tdS5j DQorKysgYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5jDQpAQCAtMTIzLDYgKzEyMywxMiBAQCBz dHJ1Y3QgbXRrX2lvbW11X2RvbWFpbiB7DQogCXN0cnVjdCBpb21tdV9kb21haW4JCWRvbWFpbjsN CiB9Ow0KIA0KK3N0cnVjdCBtdGtfaW9tbXVfcGd0YWJsZSB7DQorCXN0cnVjdCBpb19wZ3RhYmxl X2NmZwljZmc7DQorCXN0cnVjdCBpb19wZ3RhYmxlX29wcwkqaW9wOw0KK307DQorDQorc3RhdGlj IHN0cnVjdCBtdGtfaW9tbXVfcGd0YWJsZSAqc2hhcmVfcGd0YWJsZTsNCiBzdGF0aWMgY29uc3Qg c3RydWN0IGlvbW11X29wcyBtdGtfaW9tbXVfb3BzOw0KIA0KIC8qDQpAQCAtMTcwLDYgKzE3Niwx MSBAQCBzdGF0aWMgc3RydWN0IG10a19pb21tdV9kYXRhICptdGtfaW9tbXVfZ2V0X200dV9kYXRh KHZvaWQpDQogCXJldHVybiBOVUxMOw0KIH0NCiANCitzdGF0aWMgc3RydWN0IG10a19pb21tdV9w Z3RhYmxlICptdGtfaW9tbXVfZ2V0X3BndGFibGUodm9pZCkNCit7DQorCXJldHVybiBzaGFyZV9w Z3RhYmxlOw0KK30NCisNCiBzdGF0aWMgc3RydWN0IG10a19pb21tdV9kb21haW4gKnRvX210a19k b21haW4oc3RydWN0IGlvbW11X2RvbWFpbiAqZG9tKQ0KIHsNCiAJcmV0dXJuIGNvbnRhaW5lcl9v Zihkb20sIHN0cnVjdCBtdGtfaW9tbXVfZG9tYWluLCBkb21haW4pOw0KQEAgLTMyMiw2ICszMzMs MTMgQEAgc3RhdGljIGludCBtdGtfaW9tbXVfZG9tYWluX2ZpbmFsaXNlKHN0cnVjdCBtdGtfaW9t bXVfZG9tYWluICpkb20pDQogew0KIAlzdHJ1Y3QgbXRrX2lvbW11X2RhdGEgKmRhdGEgPSBtdGtf aW9tbXVfZ2V0X200dV9kYXRhKCk7DQogDQorCWlmIChkYXRhLT5wZ3RhYmxlKSB7DQorCQlkb20t PmNmZyA9IGRhdGEtPnBndGFibGUtPmNmZzsNCisJCWRvbS0+aW9wID0gZGF0YS0+cGd0YWJsZS0+ aW9wOw0KKwkJZG9tLT5kb21haW4ucGdzaXplX2JpdG1hcCA9IGRhdGEtPnBndGFibGUtPmNmZy5w Z3NpemVfYml0bWFwOw0KKwkJcmV0dXJuIDA7DQorCX0NCisNCiAJZG9tLT5jZmcgPSAoc3RydWN0 IGlvX3BndGFibGVfY2ZnKSB7DQogCQkucXVpcmtzID0gSU9fUEdUQUJMRV9RVUlSS19BUk1fTlMg fA0KIAkJCUlPX1BHVEFCTEVfUVVJUktfTk9fUEVSTVMgfA0KQEAgLTM0NSw2ICszNjMsNjEgQEAg c3RhdGljIGludCBtdGtfaW9tbXVfZG9tYWluX2ZpbmFsaXNlKHN0cnVjdCBtdGtfaW9tbXVfZG9t YWluICpkb20pDQogCXJldHVybiAwOw0KIH0NCiANCitzdGF0aWMgc3RydWN0IG10a19pb21tdV9w Z3RhYmxlICpjcmVhdGVfcGd0YWJsZShzdHJ1Y3QgbXRrX2lvbW11X2RhdGEgKmRhdGEpDQorew0K KwlzdHJ1Y3QgbXRrX2lvbW11X3BndGFibGUgKnBndGFibGU7DQorDQorCXBndGFibGUgPSBremFs bG9jKHNpemVvZigqcGd0YWJsZSksIEdGUF9LRVJORUwpOw0KKwlpZiAoIXBndGFibGUpDQorCQly ZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsNCisNCisJcGd0YWJsZS0+Y2ZnID0gKHN0cnVjdCBpb19w Z3RhYmxlX2NmZykgew0KKwkJLnF1aXJrcyA9IElPX1BHVEFCTEVfUVVJUktfQVJNX05TIHwNCisJ CQlJT19QR1RBQkxFX1FVSVJLX05PX1BFUk1TIHwNCisJCQlJT19QR1RBQkxFX1FVSVJLX1RMQklf T05fTUFQIHwNCisJCQlJT19QR1RBQkxFX1FVSVJLX0FSTV9NVEtfRVhULA0KKwkJLnBnc2l6ZV9i aXRtYXAgPSBtdGtfaW9tbXVfb3BzLnBnc2l6ZV9iaXRtYXAsDQorCQkuaWFzID0gMzIsDQorCQku b2FzID0gMzQsDQorCQkudGxiID0gJm10a19pb21tdV9mbHVzaF9vcHMsDQorCQkuaW9tbXVfZGV2 ID0gZGF0YS0+ZGV2LA0KKwl9Ow0KKw0KKwlwZ3RhYmxlLT5pb3AgPSBhbGxvY19pb19wZ3RhYmxl X29wcyhBUk1fVjdTLCAmcGd0YWJsZS0+Y2ZnLCBkYXRhKTsNCisJaWYgKCFwZ3RhYmxlLT5pb3Ap IHsNCisJCWRldl9lcnIoZGF0YS0+ZGV2LCAiRmFpbGVkIHRvIGFsbG9jIGlvIHBndGFibGVcbiIp Ow0KKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7DQorCX0NCisNCisJZGV2X2luZm8oZGF0YS0+ ZGV2LCAiJXMgY3JlYXRlIHBndGFibGUgZG9uZVxuIiwgX19mdW5jX18pOw0KKw0KKwlyZXR1cm4g cGd0YWJsZTsNCit9DQorDQorc3RhdGljIGludCBtdGtfaW9tbXVfYXR0YWNoX3BndGFibGUoc3Ry dWN0IG10a19pb21tdV9kYXRhICpkYXRhLA0KKwkJCQkgICAgc3RydWN0IGRldmljZSAqZGV2KQ0K K3sNCisJc3RydWN0IG10a19pb21tdV9wZ3RhYmxlICpwZ3RhYmxlID0gbXRrX2lvbW11X2dldF9w Z3RhYmxlKCk7DQorDQorCS8qIGNyZWF0ZSBzaGFyZSBwZ3RhYmxlICovDQorCWlmICghcGd0YWJs ZSkgew0KKwkJcGd0YWJsZSA9IGNyZWF0ZV9wZ3RhYmxlKGRhdGEpOw0KKwkJaWYgKElTX0VSUihw Z3RhYmxlKSkgew0KKwkJCWRldl9lcnIoZGF0YS0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBwZ3Rh YmxlXG4iKTsNCisJCQlyZXR1cm4gLUVOT01FTTsNCisJCX0NCisNCisJCXNoYXJlX3BndGFibGUg PSBwZ3RhYmxlOw0KKwl9DQorDQorCS8qIGJpbmRpbmcgdG8gcGd0YWJsZSAqLw0KKwlkYXRhLT5w Z3RhYmxlID0gcGd0YWJsZTsNCisNCisJZGV2X2luZm8oZGF0YS0+ZGV2LCAibTR1JWQgYXR0YWNo X3BndGFibGUgZG9uZSFcbiIsIGRhdGEtPm00dV9pZCk7DQorDQorCXJldHVybiAwOw0KK30NCisN CiBzdGF0aWMgc3RydWN0IGlvbW11X2RvbWFpbiAqbXRrX2lvbW11X2RvbWFpbl9hbGxvYyh1bnNp Z25lZCB0eXBlKQ0KIHsNCiAJc3RydWN0IG10a19pb21tdV9kb21haW4gKmRvbTsNCkBAIC01MDgs MTAgKzU4MSwyMSBAQCBzdGF0aWMgdm9pZCBtdGtfaW9tbXVfcmVtb3ZlX2RldmljZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpDQogc3RhdGljIHN0cnVjdCBpb21tdV9ncm91cCAqbXRrX2lvbW11X2Rldmlj ZV9ncm91cChzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KIAlzdHJ1Y3QgbXRrX2lvbW11X2RhdGEg KmRhdGEgPSBtdGtfaW9tbXVfZ2V0X200dV9kYXRhKCk7DQorCXN0cnVjdCBtdGtfaW9tbXVfcGd0 YWJsZSAqcGd0YWJsZTsNCisJaW50IHJldCA9IDA7DQogDQogCWlmICghZGF0YSkNCiAJCXJldHVy biBFUlJfUFRSKC1FTk9ERVYpOw0KIA0KKwlwZ3RhYmxlID0gZGF0YS0+cGd0YWJsZTsNCisJaWYg KCFwZ3RhYmxlKSB7DQorCQlyZXQgPSBtdGtfaW9tbXVfYXR0YWNoX3BndGFibGUoZGF0YSwgZGV2 KTsNCisJCWlmIChyZXQpIHsNCisJCQlkZXZfZXJyKGRhdGEtPmRldiwgIkZhaWxlZCB0byBkZXZp Y2VfZ3JvdXBcbiIpOw0KKwkJCXJldHVybiBOVUxMOw0KKwkJfQ0KKwl9DQorDQogCS8qIEFsbCB0 aGUgY2xpZW50IGRldmljZXMgYXJlIGluIHRoZSBzYW1lIG00dSBpb21tdS1ncm91cCAqLw0KIAlp ZiAoIWRhdGEtPm00dV9ncm91cCkgew0KIAkJZGF0YS0+bTR1X2dyb3VwID0gaW9tbXVfZ3JvdXBf YWxsb2MoKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lvbW11L210a19pb21tdS5oIGIvZHJpdmVy cy9pb21tdS9tdGtfaW9tbXUuaA0KaW5kZXggMTMyZGM3NjVhNDBiLi5kZDVmMTlmNzhiNjIgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2lvbW11L210a19pb21tdS5oDQorKysgYi9kcml2ZXJzL2lvbW11 L210a19pb21tdS5oDQpAQCAtNjEsNiArNjEsNyBAQCBzdHJ1Y3QgbXRrX2lvbW11X2RhdGEgew0K IAlzdHJ1Y3QgY2xrCQkJKmJjbGs7DQogCXBoeXNfYWRkcl90CQkJcHJvdGVjdF9iYXNlOyAvKiBw cm90ZWN0IG1lbW9yeSBiYXNlICovDQogCXN0cnVjdCBtdGtfaW9tbXVfc3VzcGVuZF9yZWcJcmVn Ow0KKwlzdHJ1Y3QgbXRrX2lvbW11X3BndGFibGUJKnBndGFibGU7DQogCXN0cnVjdCBtdGtfaW9t bXVfZG9tYWluCQkqbTR1X2RvbTsNCiAJc3RydWN0IGlvbW11X2dyb3VwCQkqbTR1X2dyb3VwOw0K IAlib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZV80R0I7DQotLSANCjIuMTgu MA0K --__=_Part_Boundary_004_1342251543.824474493-- --===============5030092278456602411== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu --===============5030092278456602411==--