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=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,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 D90C7C4727C for ; Wed, 30 Sep 2020 07:11:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7C3B52076E for ; Wed, 30 Sep 2020 07:11:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="OVfYiy7A" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728348AbgI3HLT (ORCPT ); Wed, 30 Sep 2020 03:11:19 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:42131 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728358AbgI3HLQ (ORCPT ); Wed, 30 Sep 2020 03:11:16 -0400 X-UUID: 0174116d7c4a4158a523df129da28cf5-20200930 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=2hXK/k5kh9YX+o1mfg47pv2P1bPYrxMP0olMJnC2mT8=; b=OVfYiy7AfKTEw8b/6SsTn7+74GW4KnNpI7a+pFJk0tU8v4AteZpk2qgHF3RSOmZAN1/WG06r9EwoQ0GrSFB9OwOaeI1He7kq/jFT4/1drKxxyNZ6f7vwp03Alumd+HdhyGVyjIpJ9d5TrfstC7wZ7/8hNa7CyoNjC+MDn/27ix4=; X-UUID: 0174116d7c4a4158a523df129da28cf5-20200930 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1746852712; Wed, 30 Sep 2020 15:11:12 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 30 Sep 2020 15:11:09 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 30 Sep 2020 15:11:10 +0800 From: Yong Wu To: Joerg Roedel , Matthias Brugger , Rob Herring , Robin Murphy , Krzysztof Kozlowski , Will Deacon CC: Evan Green , Tomasz Figa , , , , , , , , , Nicolas Boichat , , , , Greg Kroah-Hartman , Subject: [PATCH v3 21/24] iommu/mediatek: Add support for multi domain Date: Wed, 30 Sep 2020 15:06:44 +0800 Message-ID: <20200930070647.10188-22-yong.wu@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200930070647.10188-1-yong.wu@mediatek.com> References: <20200930070647.10188-1-yong.wu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org U29tZSBIVyBJUChleDogQ0NVKSByZXF1aXJlIHRoZSBzcGVjaWFsIGlvdmEgcmFuZ2UuIFRoYXQg bWVhbnMgdGhlDQppb3ZhIGdvdCBmcm9tIGRtYV9hbGxvY19hdHRycyBmb3IgdGhhdCBkZXZpY2Vz IG11c3QgbG9jYXRlIGluIGhpcw0Kc3BlY2lhbCByYW5nZS4gSW4gdGhpcyBwYXRjaCwgd2UgYWxs b2NhdGUgYSBzcGVjaWFsIGlvdmFfcmFuZ2UgZm9yDQplYWNoIGEgc3BlY2lhbCByZXF1aXJlbWVu dCBhbmQgY3JlYXRlIGVhY2ggYSBpb21tdSBkb21haW4gZm9yIGVhY2gNCmEgaW92YV9yYW5nZS4N Cg0KbWVhbndoaWxlIHdlIHN0aWxsIHVzZSBvbmUgcGFnZXRhYmxlIHdoaWNoIHN1cHBvcnQgMTZH QiBpb3ZhLg0KDQpBZnRlciB0aGlzIHBhdGNoLCBJZiB0aGUgaW92YSByYW5nZSBvZiBhIG1hc3Rl ciBpcyBvdmVyIDRHLCB0aGUgbWFzdGVyDQpzaG91bGQ6DQphKSBEZWNsYXJlIGl0cyBzcGVjaWFs IGRtYV9yYW5nZXMgaW4gaXRzIGR0c2kgbm9kZS4gRm9yIGV4YW1wbGUsIElmIHdlDQogICBwcmVh c3NpZ24gdGhlIGlvdmEgNEctOEcgZm9yIHZjb2RlYywgdGhlbiB0aGUgdmNvZGVjIGR0c2kgbm9k ZSBzaG91bGQNCiAgIGFkZCB0aGlzOg0KICAgLyoNCiAgICAqIGlvdmEgc3RhcnQgYXQgMHgxXzAw MDBfMDAwMCwgcGEgc3RpbGwgc3RhcnQgYXQgMHg0MDAwXzAwMDANCiAgICAqIHNpemUgaXMgMHgx XzAwMDBfMDAwMC4NCiAgICAqLw0KICAgZG1hLXJhbmdlcyA9IDwweDEgMHgwIDB4MCAweDQwMDAw MDAwIDB4MSAweDA+OyAgLyogNEcgfiA4RyAqLw0KIE5vdGU6IHdlIGRvbid0IGhhdmUgYSBhY3R1 YWwgYnVzIGNvbmNlcHQgaGVyZS4gdGhlIG1hc3RlciBkb2Vzbid0IGhhdmUgaXRzDQogc3BlY2lh bCBwYXJlbnQgbm9kZSwgdGh1cyB0aGlzIGRtYS1yYW5nZXMgY2FuIG9ubHkgYmUgcHV0IGluIHRo ZSBtYXN0ZXIncw0KIG5vZGUuDQoNCmIpIFVwZGF0ZSB0aGUgZG1hX21hc2s6DQogIGRtYV9zZXRf bWFza19hbmRfY29oZXJlbnQoZGV2LCBETUFfQklUX01BU0soMzMpKTsNCg0KU2lnbmVkLW9mZi1i eTogWW9uZyBXdSA8eW9uZy53dUBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2lvbW11L210 a19pb21tdS5jIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQog ZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuaCB8ICAzICsrLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNDAg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lv bW11L210a19pb21tdS5jIGIvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuYw0KaW5kZXggMTY3NjBl MzE4NjQ4Li4xZDVkM2U3NmQyZDEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2lvbW11L210a19pb21t dS5jDQorKysgYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5jDQpAQCAtMzUwLDYgKzM1MCwxNCBA QCBzdGF0aWMgaW50IG10a19pb21tdV9kb21haW5fZmluYWxpc2Uoc3RydWN0IG10a19pb21tdV9k b21haW4gKmRvbSkNCiB7DQogCXN0cnVjdCBtdGtfaW9tbXVfZGF0YSAqZGF0YSA9IG10a19pb21t dV9nZXRfbTR1X2RhdGEoKTsNCiANCisJLyogVXNlIHRoZSBleGlzdCBkb21haW4gYXMgdGhlcmUg aXMgb25seSBvbmUgbTR1IHBndGFibGUgaGVyZS4gKi8NCisJaWYgKGRhdGEtPm00dV9kb20pIHsN CisJCWRvbS0+aW9wID0gZGF0YS0+bTR1X2RvbS0+aW9wOw0KKwkJZG9tLT5jZmcgPSBkYXRhLT5t NHVfZG9tLT5jZmc7DQorCQlkb20tPmRvbWFpbi5wZ3NpemVfYml0bWFwID0gZGF0YS0+bTR1X2Rv bS0+Y2ZnLnBnc2l6ZV9iaXRtYXA7DQorCQlyZXR1cm4gMDsNCisJfQ0KKw0KIAlkb20tPmNmZyA9 IChzdHJ1Y3QgaW9fcGd0YWJsZV9jZmcpIHsNCiAJCS5xdWlya3MgPSBJT19QR1RBQkxFX1FVSVJL X0FSTV9OUyB8DQogCQkJSU9fUEdUQUJMRV9RVUlSS19OT19QRVJNUyB8DQpAQCAtMzc1LDYgKzM4 Myw4IEBAIHN0YXRpYyBpbnQgbXRrX2lvbW11X2RvbWFpbl9maW5hbGlzZShzdHJ1Y3QgbXRrX2lv bW11X2RvbWFpbiAqZG9tKQ0KIA0KIHN0YXRpYyBzdHJ1Y3QgaW9tbXVfZG9tYWluICptdGtfaW9t bXVfZG9tYWluX2FsbG9jKHVuc2lnbmVkIHR5cGUpDQogew0KKwlzdHJ1Y3QgbXRrX2lvbW11X2Rh dGEgKmRhdGEgPSBtdGtfaW9tbXVfZ2V0X200dV9kYXRhKCk7DQorCWNvbnN0IHN0cnVjdCBtdGtf aW9tbXVfaW92YV9yZWdpb24gKnJlZ2lvbjsNCiAJc3RydWN0IG10a19pb21tdV9kb21haW4gKmRv bTsNCiANCiAJaWYgKHR5cGUgIT0gSU9NTVVfRE9NQUlOX0RNQSkNCkBAIC0zOTAsOCArNDAwLDkg QEAgc3RhdGljIHN0cnVjdCBpb21tdV9kb21haW4gKm10a19pb21tdV9kb21haW5fYWxsb2ModW5z aWduZWQgdHlwZSkNCiAJaWYgKG10a19pb21tdV9kb21haW5fZmluYWxpc2UoZG9tKSkNCiAJCWdv dG8gIHB1dF9kbWFfY29va2llOw0KIA0KLQlkb20tPmRvbWFpbi5nZW9tZXRyeS5hcGVydHVyZV9z dGFydCA9IDA7DQotCWRvbS0+ZG9tYWluLmdlb21ldHJ5LmFwZXJ0dXJlX2VuZCA9IERNQV9CSVRf TUFTSygzMik7DQorCXJlZ2lvbiA9IGRhdGEtPnBsYXRfZGF0YS0+aW92YV9yZWdpb24gKyBkYXRh LT5jdXJfZG9taWQ7DQorCWRvbS0+ZG9tYWluLmdlb21ldHJ5LmFwZXJ0dXJlX3N0YXJ0ID0gcmVn aW9uLT5pb3ZhX2Jhc2U7DQorCWRvbS0+ZG9tYWluLmdlb21ldHJ5LmFwZXJ0dXJlX2VuZCA9IHJl Z2lvbi0+aW92YV9iYXNlICsgcmVnaW9uLT5zaXplIC0gMTsNCiAJZG9tLT5kb21haW4uZ2VvbWV0 cnkuZm9yY2VfYXBlcnR1cmUgPSB0cnVlOw0KIA0KIAlyZXR1cm4gJmRvbS0+ZG9tYWluOw0KQEAg LTUzNSwxOSArNTQ2LDMxIEBAIHN0YXRpYyB2b2lkIG10a19pb21tdV9yZWxlYXNlX2RldmljZShz dHJ1Y3QgZGV2aWNlICpkZXYpDQogc3RhdGljIHN0cnVjdCBpb21tdV9ncm91cCAqbXRrX2lvbW11 X2RldmljZV9ncm91cChzdHJ1Y3QgZGV2aWNlICpkZXYpDQogew0KIAlzdHJ1Y3QgbXRrX2lvbW11 X2RhdGEgKmRhdGEgPSBtdGtfaW9tbXVfZ2V0X200dV9kYXRhKCk7DQorCXN0cnVjdCBpb21tdV9m d3NwZWMgKmZ3c3BlYyA9IGRldl9pb21tdV9md3NwZWNfZ2V0KGRldik7DQorCXN0cnVjdCBpb21t dV9ncm91cCAqZ3JvdXA7DQorCWludCBkb21pZDsNCiANCiAJaWYgKCFkYXRhKQ0KIAkJcmV0dXJu IEVSUl9QVFIoLUVOT0RFVik7DQogDQotCS8qIEFsbCB0aGUgY2xpZW50IGRldmljZXMgYXJlIGlu IHRoZSBzYW1lIG00dSBpb21tdS1ncm91cCAqLw0KLQlpZiAoIWRhdGEtPm00dV9ncm91cCkgew0K LQkJZGF0YS0+bTR1X2dyb3VwID0gaW9tbXVfZ3JvdXBfYWxsb2MoKTsNCi0JCWlmIChJU19FUlIo ZGF0YS0+bTR1X2dyb3VwKSkNCisJZG9taWQgPSBNVEtfTTRVX1RPX0RPTShmd3NwZWMtPmlkc1sw XSk7DQorCWlmIChkb21pZCA+PSBkYXRhLT5wbGF0X2RhdGEtPmlvdmFfcmVnaW9uX25yKSB7DQor CQlkZXZfZXJyKGRldiwgImlvbW11IGRvbWFpbiBpZCglZC8lZCkgaXMgZXJyb3IuXG4iLCBkb21p ZCwNCisJCQlkYXRhLT5wbGF0X2RhdGEtPmlvdmFfcmVnaW9uX25yKTsNCisJCXJldHVybiBFUlJf UFRSKC1FSU5WQUwpOw0KKwl9DQorDQorCWdyb3VwID0gZGF0YS0+bTR1X2dyb3VwW2RvbWlkXTsN CisJaWYgKCFncm91cCkgew0KKwkJZ3JvdXAgPSBpb21tdV9ncm91cF9hbGxvYygpOw0KKwkJaWYg KElTX0VSUihncm91cCkpDQogCQkJZGV2X2VycihkZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgTTRV IElPTU1VIGdyb3VwXG4iKTsNCisJCWRhdGEtPm00dV9ncm91cFtkb21pZF0gPSBncm91cDsNCiAJ fSBlbHNlIHsNCi0JCWlvbW11X2dyb3VwX3JlZl9nZXQoZGF0YS0+bTR1X2dyb3VwKTsNCisJCWlv bW11X2dyb3VwX3JlZl9nZXQoZ3JvdXApOw0KIAl9DQotCXJldHVybiBkYXRhLT5tNHVfZ3JvdXA7 DQorCWRhdGEtPmN1cl9kb21pZCA9IGRvbWlkOw0KKwlyZXR1cm4gZ3JvdXA7DQogfQ0KIA0KIHN0 YXRpYyBpbnQgbXRrX2lvbW11X29mX3hsYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG9m X3BoYW5kbGVfYXJncyAqYXJncykNCkBAIC01NzYsMTQgKzU5OSwyMCBAQCBzdGF0aWMgdm9pZCBt dGtfaW9tbXVfZ2V0X3Jlc3ZfcmVnaW9ucyhzdHJ1Y3QgZGV2aWNlICpkZXYsDQogCQkJCSAgICAg ICBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQ0KIHsNCiAJc3RydWN0IG10a19pb21tdV9kYXRhICpk YXRhID0gZGV2X2lvbW11X3ByaXZfZ2V0KGRldik7DQotCWNvbnN0IHN0cnVjdCBtdGtfaW9tbXVf aW92YV9yZWdpb24gKnJlc3Y7DQorCWNvbnN0IHN0cnVjdCBtdGtfaW9tbXVfaW92YV9yZWdpb24g KnJlc3YsICpjdXJkb207DQogCXN0cnVjdCBpb21tdV9yZXN2X3JlZ2lvbiAqcmVnaW9uOw0KIAlp bnQgcHJvdCA9IElPTU1VX1dSSVRFIHwgSU9NTVVfUkVBRDsNCiAJdW5zaWduZWQgaW50IGk7DQog DQorCWN1cmRvbSA9IGRhdGEtPnBsYXRfZGF0YS0+aW92YV9yZWdpb24gKyBkYXRhLT5jdXJfZG9t aWQ7DQogCWZvciAoaSA9IDA7IGkgPCBkYXRhLT5wbGF0X2RhdGEtPmlvdmFfcmVnaW9uX25yOyBp KyspIHsNCiAJCXJlc3YgPSBkYXRhLT5wbGF0X2RhdGEtPmlvdmFfcmVnaW9uICsgaTsNCiANCisJ CS8qIE9ubHkgcmVzZXJ2ZSB3aGVuIHRoZSByZWdpb24gaXMgaW4gdGhlIGN1cnJlbnQgZG9tYWlu ICovDQorCQlpZiAocmVzdi0+aW92YV9iYXNlIDw9IGN1cmRvbS0+aW92YV9iYXNlIHx8DQorCQkg ICAgcmVzdi0+aW92YV9iYXNlICsgcmVzdi0+c2l6ZSA+PSBjdXJkb20tPmlvdmFfYmFzZSArIGN1 cmRvbS0+c2l6ZSkNCisJCQljb250aW51ZTsNCisNCiAJCXJlZ2lvbiA9IGlvbW11X2FsbG9jX3Jl c3ZfcmVnaW9uKHJlc3YtPmlvdmFfYmFzZSwgcmVzdi0+c2l6ZSwNCiAJCQkJCQkgcHJvdCwgSU9N TVVfUkVTVl9SRVNFUlZFRCk7DQogCQlpZiAoIXJlZ2lvbikNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2lvbW11L210a19pb21tdS5oIGIvZHJpdmVycy9pb21tdS9tdGtfaW9tbXUuaA0KaW5kZXggZDQ1 YzEzYzlkMzI0Li41ZTM0NjQ2NGNkZjggMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2lvbW11L210a19p b21tdS5oDQorKysgYi9kcml2ZXJzL2lvbW11L210a19pb21tdS5oDQpAQCAtNjYsNyArNjYsNyBA QCBzdHJ1Y3QgbXRrX2lvbW11X2RhdGEgew0KIAlwaHlzX2FkZHJfdAkJCXByb3RlY3RfYmFzZTsg LyogcHJvdGVjdCBtZW1vcnkgYmFzZSAqLw0KIAlzdHJ1Y3QgbXRrX2lvbW11X3N1c3BlbmRfcmVn CXJlZzsNCiAJc3RydWN0IG10a19pb21tdV9kb21haW4JCSptNHVfZG9tOw0KLQlzdHJ1Y3QgaW9t bXVfZ3JvdXAJCSptNHVfZ3JvdXA7DQorCXN0cnVjdCBpb21tdV9ncm91cAkJKm00dV9ncm91cFtN VEtfTTRVX0RPTV9OUl9NQVhdOw0KIAlib29sICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVu YWJsZV80R0I7DQogCXNwaW5sb2NrX3QJCQl0bGJfbG9jazsgLyogbG9jayBmb3IgdGxiIHJhbmdl IGZsdXNoICovDQogDQpAQCAtNzYsNiArNzYsNyBAQCBzdHJ1Y3QgbXRrX2lvbW11X2RhdGEgew0K IA0KIAlzdHJ1Y3QgZG1hX2lvbW11X21hcHBpbmcJKm1hcHBpbmc7IC8qIEZvciBtdGtfaW9tbXVf djEuYyAqLw0KIA0KKwl1bnNpZ25lZCBpbnQJCQljdXJfZG9taWQ7DQogCXN0cnVjdCBsaXN0X2hl YWQJCWxpc3Q7DQogCXN0cnVjdCBtdGtfc21pX2xhcmJfaW9tbXUJbGFyYl9pbXVbTVRLX0xBUkJf TlJfTUFYXTsNCiB9Ow0KLS0gDQoyLjE4LjANCg==