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=-6.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,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 5711EC31E46 for ; Wed, 12 Jun 2019 07:16:44 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EE685205ED for ; Wed, 12 Jun 2019 07:16:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="SlJYgj2x" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2436620AbfFLHQm (ORCPT ); Wed, 12 Jun 2019 03:16:42 -0400 Received: from mail-eopbgr140055.outbound.protection.outlook.com ([40.107.14.55]:39531 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S2436574AbfFLHQk (ORCPT ); Wed, 12 Jun 2019 03:16:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xHYWZCiInd0iRKOWNxnWzNPEGRbwn+GgxC0M+avjzfk=; b=SlJYgj2x4xPXzHe81gT9slYaMORum81TtgWi8nm/rY/SGBwWlh0FL+WsHdOPMzJ0Zg7KiDpWc5mTNswL/ozIV0YI1rcYlfKs2KCQSexiPXYYcB8+gNfnyapwh7yPd+/M3BSv/4fF9VfYt21Eet4bySh3zfexV8L35CudPTpUTxo= Received: from VI1PR08MB5488.eurprd08.prod.outlook.com (52.133.246.150) by VI1PR08MB2685.eurprd08.prod.outlook.com (10.175.245.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.15; Wed, 12 Jun 2019 07:16:35 +0000 Received: from VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b]) by VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b%4]) with mapi id 15.20.1987.010; Wed, 12 Jun 2019 07:16:35 +0000 From: "Lowry Li (Arm Technology China)" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey CC: "Julien Yin (Arm Technology China)" , "Jonathan Chai (Arm Technology China)" , Ayan Halder , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , nd Subject: [PATCH v3 1/2] drm/komeda: Adds SMMU support Thread-Topic: [PATCH v3 1/2] drm/komeda: Adds SMMU support Thread-Index: AQHVIO7F+FpTdXRSMEeFxjU+MRb+8A== Date: Wed, 12 Jun 2019 07:16:35 +0000 Message-ID: <1560323768-24817-2-git-send-email-lowry.li@arm.com> References: <1560323768-24817-1-git-send-email-lowry.li@arm.com> In-Reply-To: <1560323768-24817-1-git-send-email-lowry.li@arm.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-clientproxiedby: HK2PR04CA0066.apcprd04.prod.outlook.com (2603:1096:202:14::34) To VI1PR08MB5488.eurprd08.prod.outlook.com (2603:10a6:803:137::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Lowry.Li@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.9.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: df4fe933-1db9-4344-6139-08d6ef05e756 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:VI1PR08MB2685; x-ms-traffictypediagnostic: VI1PR08MB2685: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:313; x-forefront-prvs: 0066D63CE6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(39860400002)(366004)(396003)(346002)(376002)(189003)(199004)(2501003)(86362001)(2201001)(14454004)(36756003)(53936002)(6436002)(2906002)(72206003)(6512007)(71190400001)(71200400001)(6636002)(4326008)(6116002)(6486002)(3846002)(478600001)(81156014)(110136005)(68736007)(186003)(316002)(54906003)(52116002)(486006)(66946007)(66476007)(66446008)(476003)(73956011)(446003)(25786009)(2616005)(11346002)(66556008)(64756008)(99286004)(305945005)(81166006)(7736002)(8936002)(26005)(50226002)(76176011)(8676002)(5660300002)(5024004)(14444005)(256004)(55236004)(386003)(102836004)(6506007)(66066001)(473944003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB2685;H:VI1PR08MB5488.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: mwhSBZ/TcybEXGrvyaKOEBDYYgjgS0/jmnyIpzrhk9AM6wjqt/QTztjchZXsuvcembwqkQezO+o6JhemvvzSeVOr6LHLE0MrdDdE/1UJdo5MRPXs6y47Zr79YRmeIXHdi9Cr4pNjuofBcVlDo1TwfcuThz4gwrkwJ8xHJ5HtSs4yln42WYloYen70AMgqvOO8DYGY+1t6xG5Yyv9idMyNtIQy/Yml2nDB6LWunhzO4MCd9s/k27zKDOYSbUC+yHE7Yne1/plH9hNkHSIblSJnPOPwRGbfBHmoT1GD43d5TSnJ2mqQTsLdL5dBRRmBO4mfPay5E1gsbPuziJQyPgh7g719yr53Gji36ZOcoe9kokuWyPM/oK3kHA8anx9zlDhpchRo0E1gewdOPLpGQRxkTnKv9DxqeLynnz/5zlTTcE= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: df4fe933-1db9-4344-6139-08d6ef05e756 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2019 07:16:35.7048 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Lowry.Li@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2685 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t Pg0KDQpBZGRzIGlvbW11X2Nvbm5lY3QgYW5kIGRpc2Nvbm5lY3QgZm9yIFNNTVUgc3VwcG9ydCwg YW5kIGNvbmZpZ3VyZXMNClRCVSB0cmFuc2xhdGlvbiBvbmNlIFNNTVUgaGFzIGJlZW4gYXR0YWNo ZWQgdG8gdGhlIGRpc3BsYXkgZGV2aWNlLg0KDQpTaWduZWQtb2ZmLWJ5OiBMb3dyeSBMaSAoQXJt IFRlY2hub2xvZ3kgQ2hpbmEpIDxsb3dyeS5saUBhcm0uY29tPg0KLS0tDQogLi4uL2dwdS9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgfCAgNSArKysNCiBkcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgICB8IDQ5ICsrKysrKysr KysrKysrKysrKysrKysNCiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9kZXYuYyAgICB8IDE4ICsrKysrKysrDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZGV2LmggICAgfCAgNyArKysrDQogLi4uL2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMgICAgfCAgMiArDQogLi4uL2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggICAgfCAgMiArDQogNiBmaWxlcyBjaGFuZ2VkLCA4 MyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMNCmluZGV4IDRlMjZhODAuLjRhNDhkZDYgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29t cG9uZW50LmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3 MV9jb21wb25lbnQuYw0KQEAgLTIxNSw2ICsyMTUsOCBAQCBzdGF0aWMgdm9pZCBkNzFfbGF5ZXJf dXBkYXRlKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLA0KIAltYWxpZHBfd3JpdGUzMihyZWcs IExBWUVSX0ZNVCwga2ZiLT5mb3JtYXRfY2Fwcy0+aHdfaWQpOw0KIAltYWxpZHBfd3JpdGUzMihy ZWcsIEJMS19JTl9TSVpFLCBIVl9TSVpFKHN0LT5oc2l6ZSwgc3QtPnZzaXplKSk7DQogDQorCWlm IChrZmItPmlzX3ZhKQ0KKwkJY3RybCB8PSBMX1RCVV9FTjsNCiAJbWFsaWRwX3dyaXRlMzJfbWFz ayhyZWcsIEJMS19DT05UUk9MLCBjdHJsX21hc2ssIGN0cmwpOw0KIH0NCiANCkBAIC0zNDgsNiAr MzUwLDkgQEAgc3RhdGljIHZvaWQgZDcxX3diX2xheWVyX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX2Nv bXBvbmVudCAqYywNCiAJCQkgICAgICAgZmItPnBpdGNoZXNbaV0gJiAweEZGRkYpOw0KIAl9DQog DQorCWlmIChrZmItPmlzX3ZhKQ0KKwkJY3RybCB8PSBMV19UQlVfRU47DQorDQogCW1hbGlkcF93 cml0ZTMyKHJlZywgTEFZRVJfRk1ULCBrZmItPmZvcm1hdF9jYXBzLT5od19pZCk7DQogCW1hbGlk cF93cml0ZTMyKHJlZywgQkxLX0lOX1NJWkUsIEhWX1NJWkUoc3QtPmhzaXplLCBzdC0+dnNpemUp KTsNCiAJbWFsaWRwX3dyaXRlMzIocmVnLCBCTEtfSU5QVVRfSUQwLCB0b19kNzFfaW5wdXRfaWQo JnN0YXRlLT5pbnB1dHNbMF0pKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2Q3MS9kNzFfZGV2LmMNCmluZGV4IDhlNjgyYzcuLmY4OGQ5M2EgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMNCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYw0KQEAgLTUx Nyw2ICs1MTcsNTMgQEAgc3RhdGljIHZvaWQgZDcxX2luaXRfZm10X3RibChzdHJ1Y3Qga29tZWRh X2RldiAqbWRldikNCiAJdGFibGUtPm5fZm9ybWF0cyA9IEFSUkFZX1NJWkUoZDcxX2Zvcm1hdF9j YXBzX3RhYmxlKTsNCiB9DQogDQorc3RhdGljIGludCBkNzFfY29ubmVjdF9pb21tdShzdHJ1Y3Qg a29tZWRhX2RldiAqbWRldikNCit7DQorCXN0cnVjdCBkNzFfZGV2ICpkNzEgPSBtZGV2LT5jaGlw X2RhdGE7DQorCXUzMiBfX2lvbWVtICpyZWcgPSBkNzEtPmdjdV9hZGRyOw0KKwl1MzIgY2hlY2tf Yml0cyA9IChkNzEtPm51bV9waXBlbGluZXMgPT0gMikgPw0KKwkJCSBHQ1VfU1RBVFVTX1RDUzAg fCBHQ1VfU1RBVFVTX1RDUzEgOiBHQ1VfU1RBVFVTX1RDUzA7DQorCWludCBpLCByZXQ7DQorDQor CWlmICghZDcxLT5pbnRlZ3JhdGVzX3RidSkNCisJCXJldHVybiAtMTsNCisNCisJbWFsaWRwX3dy aXRlMzJfbWFzayhyZWcsIEJMS19DT05UUk9MLCAweDcsIFRCVV9DT05ORUNUX01PREUpOw0KKw0K KwlyZXQgPSBkcF93YWl0X2NvbmQoaGFzX2JpdHMoY2hlY2tfYml0cywgbWFsaWRwX3JlYWQzMihy ZWcsIEJMS19TVEFUVVMpKSwNCisJCQkxMDAsIDEwMDAsIDEwMDApOw0KKwlpZiAocmV0IDwgMCkg ew0KKwkJRFJNX0VSUk9SKCJjb25uZWN0IHRvIFRDVSB0aW1lb3V0IVxuIik7DQorCQltYWxpZHBf d3JpdGUzMl9tYXNrKHJlZywgQkxLX0NPTlRST0wsIDB4NywgSU5BQ1RJVkVfTU9ERSk7DQorCQly ZXR1cm4gLUVUSU1FRE9VVDsNCisJfQ0KKw0KKwlmb3IgKGkgPSAwOyBpIDwgZDcxLT5udW1fcGlw ZWxpbmVzOyBpKyspDQorCQltYWxpZHBfd3JpdGUzMl9tYXNrKGQ3MS0+cGlwZXNbaV0tPmxwdV9h ZGRyLCBMUFVfVEJVX0NPTlRST0wsDQorCQkJCSAgICBMUFVfVEJVX0NUUkxfVExCUEVOLCBMUFVf VEJVX0NUUkxfVExCUEVOKTsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgZDcxX2Rp c2Nvbm5lY3RfaW9tbXUoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpDQorew0KKwlzdHJ1Y3QgZDcx X2RldiAqZDcxID0gbWRldi0+Y2hpcF9kYXRhOw0KKwl1MzIgX19pb21lbSAqcmVnID0gZDcxLT5n Y3VfYWRkcjsNCisJdTMyIGNoZWNrX2JpdHMgPSAoZDcxLT5udW1fcGlwZWxpbmVzID09IDIpID8N CisJCQkgR0NVX1NUQVRVU19UQ1MwIHwgR0NVX1NUQVRVU19UQ1MxIDogR0NVX1NUQVRVU19UQ1Mw Ow0KKwlpbnQgcmV0Ow0KKw0KKwltYWxpZHBfd3JpdGUzMl9tYXNrKHJlZywgQkxLX0NPTlRST0ws IDB4NywgVEJVX0RJU0NPTk5FQ1RfTU9ERSk7DQorDQorCXJldCA9IGRwX3dhaXRfY29uZCgoKG1h bGlkcF9yZWFkMzIocmVnLCBCTEtfU1RBVFVTKSAmIGNoZWNrX2JpdHMpID09IDApLA0KKwkJCTEw MCwgMTAwMCwgMTAwMCk7DQorCWlmIChyZXQgPCAwKSB7DQorCQlEUk1fRVJST1IoImRpc2Nvbm5l Y3QgZnJvbSBUQ1UgdGltZW91dCFcbiIpOw0KKwkJbWFsaWRwX3dyaXRlMzJfbWFzayhyZWcsIEJM S19DT05UUk9MLCAweDcsIElOQUNUSVZFX01PREUpOw0KKwl9DQorDQorCXJldHVybiByZXQ7DQor fQ0KKw0KIHN0YXRpYyBzdHJ1Y3Qga29tZWRhX2Rldl9mdW5jcyBkNzFfY2hpcF9mdW5jcyA9IHsN CiAJLmluaXRfZm9ybWF0X3RhYmxlID0gZDcxX2luaXRfZm10X3RibCwNCiAJLmVudW1fcmVzb3Vy Y2VzCT0gZDcxX2VudW1fcmVzb3VyY2VzLA0KQEAgLTUyNyw2ICs1NzQsOCBAQCBzdGF0aWMgdm9p ZCBkNzFfaW5pdF9mbXRfdGJsKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQ0KIAkub25fb2ZmX3Zi bGFuawk9IGQ3MV9vbl9vZmZfdmJsYW5rLA0KIAkuY2hhbmdlX29wbW9kZQk9IGQ3MV9jaGFuZ2Vf b3Btb2RlLA0KIAkuZmx1c2gJCT0gZDcxX2ZsdXNoLA0KKwkuY29ubmVjdF9pb21tdQk9IGQ3MV9j b25uZWN0X2lvbW11LA0KKwkuZGlzY29ubmVjdF9pb21tdSA9IGQ3MV9kaXNjb25uZWN0X2lvbW11 LA0KIH07DQogDQogc3RydWN0IGtvbWVkYV9kZXZfZnVuY3MgKg0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5jIGIvZHJpdmVycy9ncHUv ZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMNCmluZGV4IGM5MmUxNjEuLmU4MGU2 NzMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9kZXYuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf ZGV2LmMNCkBAIC0yNTMsNiArMjUzLDE5IEBAIHN0cnVjdCBrb21lZGFfZGV2ICprb21lZGFfZGV2 X2NyZWF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCWRldi0+ZG1hX3Bhcm1zID0gJm1kZXYtPmRt YV9wYXJtczsNCiAJZG1hX3NldF9tYXhfc2VnX3NpemUoZGV2LCBETUFfQklUX01BU0soMzIpKTsN CiANCisJbWRldi0+aW9tbXUgPSBpb21tdV9nZXRfZG9tYWluX2Zvcl9kZXYobWRldi0+ZGV2KTsN CisJaWYgKCFtZGV2LT5pb21tdSkNCisJCURSTV9JTkZPKCJjb250aW51ZSB3aXRob3V0IElPTU1V IHN1cHBvcnQhXG4iKTsNCisNCisJaWYgKG1kZXYtPmlvbW11ICYmIG1kZXYtPmZ1bmNzLT5jb25u ZWN0X2lvbW11KSB7DQorCQllcnIgPSBtZGV2LT5mdW5jcy0+Y29ubmVjdF9pb21tdShtZGV2KTsN CisJCWlmIChlcnIpIHsNCisJCQltZGV2LT5pb21tdSA9IE5VTEw7DQorCQkJRFJNX0VSUk9SKCJj b25uZWN0IGlvbW11IGZhaWxlZC5cbiIpOw0KKwkJCWdvdG8gZXJyX2NsZWFudXA7DQorCQl9DQor CX0NCisNCiAJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZkZXYtPmtvYmosICZrb21lZGFfc3lz ZnNfYXR0cl9ncm91cCk7DQogCWlmIChlcnIpIHsNCiAJCURSTV9FUlJPUigiY3JlYXRlIHN5c2Zz IGdyb3VwIGZhaWxlZC5cbiIpOw0KQEAgLTI4Miw2ICsyOTUsMTEgQEAgdm9pZCBrb21lZGFfZGV2 X2Rlc3Ryb3koc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpDQogCWRlYnVnZnNfcmVtb3ZlX3JlY3Vy c2l2ZShtZGV2LT5kZWJ1Z2ZzX3Jvb3QpOw0KICNlbmRpZg0KIA0KKwlpZiAobWRldi0+aW9tbXUg JiYgbWRldi0+ZnVuY3MtPmRpc2Nvbm5lY3RfaW9tbXUpDQorCQlpZiAobWRldi0+ZnVuY3MtPmRp c2Nvbm5lY3RfaW9tbXUobWRldikpDQorCQkJRFJNX0VSUk9SKCJkaXNjb25uZWN0IGlvbW11IGZh aWxlZC5cbiIpOw0KKwltZGV2LT5pb21tdSA9IE5VTEw7DQorDQogCWZvciAoaSA9IDA7IGkgPCBt ZGV2LT5uX3BpcGVsaW5lczsgaSsrKSB7DQogCQlrb21lZGFfcGlwZWxpbmVfZGVzdHJveShtZGV2 LCBtZGV2LT5waXBlbGluZXNbaV0pOw0KIAkJbWRldi0+cGlwZWxpbmVzW2ldID0gTlVMTDsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYu aCBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oDQppbmRl eCA4M2FjZTcxLi5kYWMxZWRhIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZGV2LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxh eS9rb21lZGEva29tZWRhX2Rldi5oDQpAQCAtOTIsNiArOTIsMTAgQEAgc3RydWN0IGtvbWVkYV9k ZXZfZnVuY3Mgew0KIAlpbnQgKCplbnVtX3Jlc291cmNlcykoc3RydWN0IGtvbWVkYV9kZXYgKm1k ZXYpOw0KIAkvKiogQGNsZWFudXA6IGNhbGwgdG8gY2hpcCB0byBjbGVhbnVwIGtvbWVkYV9kZXYt PmNoaXAgZGF0YSAqLw0KIAl2b2lkICgqY2xlYW51cCkoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYp Ow0KKwkvKiogQGNvbm5lY3RfaW9tbXU6IE9wdGlvbmFsLCBjb25uZWN0IHRvIGV4dGVybmFsIGlv bW11ICovDQorCWludCAoKmNvbm5lY3RfaW9tbXUpKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KTsN CisJLyoqIEBkaXNjb25uZWN0X2lvbW11OiBPcHRpb25hbCwgZGlzY29ubmVjdCB0byBleHRlcm5h bCBpb21tdSAqLw0KKwlpbnQgKCpkaXNjb25uZWN0X2lvbW11KShzdHJ1Y3Qga29tZWRhX2RldiAq bWRldik7DQogCS8qKg0KIAkgKiBAaXJxX2hhbmRsZXI6DQogCSAqDQpAQCAtMTg0LDYgKzE4OCw5 IEBAIHN0cnVjdCBrb21lZGFfZGV2IHsNCiAJICovDQogCXZvaWQgKmNoaXBfZGF0YTsNCiANCisJ LyoqIEBpb21tdTogaW9tbXUgZG9tYWluICovDQorCXN0cnVjdCBpb21tdV9kb21haW4gKmlvbW11 Ow0KKw0KIAkvKiogQGRlYnVnZnNfcm9vdDogcm9vdCBkaXJlY3Rvcnkgb2Yga29tZWRhIGRlYnVn ZnMgKi8NCiAJc3RydWN0IGRlbnRyeSAqZGVidWdmc19yb290Ow0KIH07DQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuYyBi L2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMN CmluZGV4IGQ1ODIyYTMuLjM2MGFiNzAgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQorKysgYi9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQpAQCAtMjAxLDYgKzIw MSw4IEBAIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKg0KIAkJZ290byBlcnJfY2xlYW51cDsNCiAJ fQ0KIA0KKwlrZmItPmlzX3ZhID0gbWRldi0+aW9tbXUgPyB0cnVlIDogZmFsc2U7DQorDQogCXJl dHVybiAma2ZiLT5iYXNlOw0KIA0KIGVycl9jbGVhbnVwOg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggYi9kcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oDQppbmRleCA2 Y2JiMmY2Li5mNDA0NmUyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuaA0KQEAgLTIxLDYgKzIxLDggQEAgc3Ry dWN0IGtvbWVkYV9mYiB7DQogCSAqIGV4dGVuZHMgZHJtX2Zvcm1hdF9pbmZvIGZvciBrb21lZGEg c3BlY2lmaWMgaW5mb3JtYXRpb24NCiAJICovDQogCWNvbnN0IHN0cnVjdCBrb21lZGFfZm9ybWF0 X2NhcHMgKmZvcm1hdF9jYXBzOw0KKwkvKiogQGlzX3ZhOiBpZiBzbW11IGlzIGVuYWJsZWQsIGl0 IHdpbGwgYmUgdHJ1ZSAqLw0KKwlib29sIGlzX3ZhOw0KIAkvKiogQGFsaWduZWRfdzogYWxpZ25l ZCBmcmFtZSBidWZmZXIgd2lkdGggKi8NCiAJdTMyIGFsaWduZWRfdzsNCiAJLyoqIEBhbGlnbmVk X2g6IGFsaWduZWQgZnJhbWUgYnVmZmVyIGhlaWdodCAqLw0KLS0gDQoxLjkuMQ0KDQo=