Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp4570147ybi; Mon, 27 May 2019 21:51:22 -0700 (PDT) X-Google-Smtp-Source: APXvYqwQqY0HQUMDlfPkbgk8KNuzKzm7/WP1ZPYgzt6XSgqQQhgBuIX1HD1hinvvfJsIQf3dFYmD X-Received: by 2002:a63:d949:: with SMTP id e9mr42019074pgj.437.1559019082335; Mon, 27 May 2019 21:51:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559019082; cv=none; d=google.com; s=arc-20160816; b=jvuOWTXtjM80rrOaiGnpqnSYGQ631vQQ+xEDpWzCJvpUOaS/JRHTAoki/Zqu3BRNnJ N5fO9c3bHpwR6FlZyWPxiEssUtW6nqyTg9uTNzbjLf/LVK2M8WGbUpnsZDlhN1G7sjRo Xor1Ss+uK556mlySNHwoDiBK4mv1IHJpP4tqTkYA8zuyZPAyVr/sFhztBJz/yDdS7sfD wWx4TainSOUp97Mkko/2oBNxH/rRRoMgxbBjvYC0zPuDNvlOIQT1EWXjGLKIsgiWp16i acrweNE7aI1BXxUatj0GaV9zWv260dYxv6WzaC7RZr0W6DNeLlqCJbQYQ6u3v2zE6QiF dSrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=k/SiUj4Q6MbgIm3HnwLW9H2MANCl+qo4AxTw06wQENo=; b=oiKqulaSrnpdTPGsbd1WZ75j7wHvQSpkrKAMaIvXZ0wFAsEjYqp9KhRdI9vy2kDWdq lbCPrhj43kZhwKtjipwrzBLcBAOx5v0m3UcN5tA3TufAsN78wZ+p0Y1QO7SkSWO3pqrb Gf4iLCoaE539SGNueTcJhKtFPgk4dofBP58slPSE3o2EdGezJy+6z4jiOfBvxmKjYJEu 8UFQ/cWHhGSVVs5zPTcU3cEdF0A1tNA5JDLUMu9lqfevw/EDT1PTnimL6xvZ7e4VpPbX qJj+KNhlSAQstGM8oyIMOAPit9QsvjkS9UGPcWyp1S7UCZi3H83epI2s4TUohjcqZdzZ H0yA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=PxXIJk6R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j38si21238479plb.308.2019.05.27.21.51.06; Mon, 27 May 2019 21:51:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b=PxXIJk6R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728027AbfE1Ery (ORCPT + 99 others); Tue, 28 May 2019 00:47:54 -0400 Received: from mail-eopbgr70048.outbound.protection.outlook.com ([40.107.7.48]:18259 "EHLO EUR04-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725904AbfE1Erx (ORCPT ); Tue, 28 May 2019 00:47:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k/SiUj4Q6MbgIm3HnwLW9H2MANCl+qo4AxTw06wQENo=; b=PxXIJk6Rr3MY8aDsKT4fhB7eQAyqcJNPmcx1LgjjAmEPYEh1tYl1UBaa7osf8xb4YuolKxJefRDkEjG/j10bVmYWKfcbekZec5TFTokWAebzEoUJ10tSOnelAnIMD3RWt+HtuS3pJoO/9gLc47EaK1Y2kEdJ0+Lq6VWGqZ0LIiE= Received: from VI1PR04MB4431.eurprd04.prod.outlook.com (20.177.55.159) by VI1PR04MB4493.eurprd04.prod.outlook.com (20.177.54.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.18; Tue, 28 May 2019 04:47:47 +0000 Received: from VI1PR04MB4431.eurprd04.prod.outlook.com ([fe80::54b1:3c46:7345:1c71]) by VI1PR04MB4431.eurprd04.prod.outlook.com ([fe80::54b1:3c46:7345:1c71%5]) with mapi id 15.20.1922.021; Tue, 28 May 2019 04:47:47 +0000 From: Peng Ma To: Vinod Koul CC: "dan.j.williams@intel.com" , Leo Li , "linux-kernel@vger.kernel.org" , "dmaengine@vger.kernel.org" Subject: RE: [EXT] Re: [V3 1/2] dmaengine: fsl-dpaa2-qdma: Add the DPDMAI(Data Path DMA Interface) support Thread-Topic: [EXT] Re: [V3 1/2] dmaengine: fsl-dpaa2-qdma: Add the DPDMAI(Data Path DMA Interface) support Thread-Index: AQHU7qXrQE+ChtXpc0GfkN7fbJd35KZOfqgAgDGsnlA= Date: Tue, 28 May 2019 04:47:47 +0000 Message-ID: References: <20190409072212.15860-1-peng.ma@nxp.com> <20190426124550.GE28103@vkoul-mobl> In-Reply-To: <20190426124550.GE28103@vkoul-mobl> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=peng.ma@nxp.com; x-originating-ip: [119.31.174.73] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 18434446-0bf7-4102-c73e-08d6e327a19d x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4618075)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:VI1PR04MB4493; x-ms-traffictypediagnostic: VI1PR04MB4493: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 00514A2FE6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(136003)(396003)(346002)(366004)(376002)(13464003)(199004)(189003)(99286004)(186003)(6116002)(316002)(3846002)(68736007)(6916009)(66556008)(305945005)(53936002)(8936002)(5660300002)(64756008)(81166006)(81156014)(8676002)(66946007)(55016002)(73956011)(76176011)(66446008)(66476007)(6436002)(26005)(7736002)(76116006)(6246003)(11346002)(2906002)(256004)(14444005)(25786009)(52536014)(476003)(102836004)(74316002)(486006)(66066001)(33656002)(71200400001)(71190400001)(54906003)(9686003)(4326008)(6506007)(229853002)(44832011)(7696005)(86362001)(14454004)(478600001)(446003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR04MB4493;H:VI1PR04MB4431.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: aoLakcNtaeiOOyYUdppmMlF25Vf0s5zL3eIwKt4KmO3YWJmVEgQcN1rwLIcFuUL28yvszgdvOszeK22zQ57L8GI96z0X2JY7RVQ0vVfh/fNTJlOnTMyez90EJ6UwSFwZvtodQ5v+hsJVpxoAfk7F3FSoji03xeQXuG78qStzTRLHpYFoP7RvRFGnhxpr1Ajg7oBbr8OFU6ebnGPOwU06VWhDkavCO+u1SFRpPPDZn5yEz/19zoyqk45Sqvbnre8YxEinf6Q65axOMVkQH8S5KTxuSFVfoewd3P3u7V4djobKvddWiJ6/bdsS6bTrz48PHjBls7O5BP/mdTzRnJFAhVZhQQ02CwBEaCsM0dOOV21qjeUZD+bmwWpZalkfK3uFvi/SNR4bCsBXyCkEh+sU++bUJ8fkyzF0vxO2DBK3TNU= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18434446-0bf7-4102-c73e-08d6e327a19d X-MS-Exchange-CrossTenant-originalarrivaltime: 28 May 2019 04:47:47.3066 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: peng.ma@nxp.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4493 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgVmlub2QNCg0KU29ycnkgdG8gcmVwbGF5IHNvIGxhdGUuDQpUaGUgZHBhYTIgcWRtYSBkcml2 ZXIgaXMgYmFzZWQgb24gRlNMX01DX0JVUyBhbmQgRlNMX01DX0RQSU8sIHNvIEl0IHdpbGwgdXNl ZCB0aG9zZSB0d28gZHJpdmVycw0KRnVuY3Rpb25zIG9yIHN0cnVjdHMuIFRoaXMgcGF0Y2ggcHJv dmlkZXMgc29tZSBuZWNlc3NhcnkgZnVuY3Rpb25zIGFuZCBzdHJ1Y3RzIGZvciBxZG1hIGRyaXZl cihuZXh0IHBhdGNoOiBkcGFhMi1xZG1hLmMpDQpUaGUgZHBhYTIgZHJpdmVyIGlzIG5vdCBvbmx5 IHRvIHdyaXRlIHNvbWUgcmVnaXN0ZXIgb24gZHJpdmVyIHNpZGUgYnV0IGFsc28gbmVlZCBlbmFi bGUgRlNMX01DX0JVUyBhbmQgRlNMX01DX0RQSU8gdG8NCmNhbGwgc29tZSBmdW5jdGlvbnMgcHJv dmlkZWQgYnkgdGhlbS4gU3VjaCBhczogbWNfZW5jb2RlX2NtZF9oZWFkZXIsIG1jX3NlbmRfY29t bWFuZCBldGMuIEkgd2lsbCBjbGVhciB1cCB0aGlzIGRyaXZlcg0KYWdhaW4uIEFuZCBzZW5kIFY0 IHRvIHJldmlldywgdGhhbmtzIGZvciB5b3VyIHJldmlldy4NCg0KQmVzdCBSZWdhcmRzLA0KUGVu Zw0KPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+RnJvbTogVmlub2QgS291bCA8dmtvdWxA a2VybmVsLm9yZz4NCj5TZW50OiAyMDE5xOo01MIyNsjVIDIwOjQ2DQo+VG86IFBlbmcgTWEgPHBl bmcubWFAbnhwLmNvbT4NCj5DYzogZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tOyBMZW8gTGkgPGxl b3lhbmcubGlAbnhwLmNvbT47DQo+bGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgZG1hZW5n aW5lQHZnZXIua2VybmVsLm9yZw0KPlN1YmplY3Q6IFtFWFRdIFJlOiBbVjMgMS8yXSBkbWFlbmdp bmU6IGZzbC1kcGFhMi1xZG1hOiBBZGQgdGhlIERQRE1BSShEYXRhDQo+UGF0aCBETUEgSW50ZXJm YWNlKSBzdXBwb3J0DQo+DQo+Q2F1dGlvbjogRVhUIEVtYWlsDQo+DQo+T24gMDktMDQtMTksIDE1 OjIyLCBQZW5nIE1hIHdyb3RlOg0KPg0KPlN1YmplY3QgbWlzc2VkIFBBVENIIHRhZyENCj4NCj4+ IFRoZSBNQyBleHBvcnRzIHRoZSBEUERNQUkgb2JqZWN0IGFzIGFuIGludGVyZmFjZSB0byBvcGVy YXRlIHRoZSBEUEFBMg0KPj4gUURNQQ0KPg0KPndoYXRzIE1DLCBEUERNQUksIERQQUEyDQo+DQpb UGVuZyBNYV0gTUM6IE1hbmFnZW1lbnQgQ29tcGxleA0KRFBETUFJOiBEYXRhIFBhdGggRE1BIElu dGVyZmFjZQ0KRFBBQTI6IERhdGEgUGF0aCBBY2NlbGVyYXRpb24gQXJjaGl0ZWN0dXJlLCBTZWNv bmQgR2VuZXJhdGlvbg0KSSB3aWxsIGV4cGxhaW4gdGhlbSBvbiBuZXh0IHZlcnNpb24uDQo+PiBF bmdpbmUuIFRoZSBEUERNQUkgZW5hYmxlcyBzZW5kaW5nIGZyYW1lLWJhc2VkIHJlcXVlc3RzIHRv IFFETUEgYW5kDQo+PiByZWNlaXZpbmcgYmFjayBjb25maXJtYXRpb24gcmVzcG9uc2Ugb24gdHJh bnNhY3Rpb24gY29tcGxldGlvbiwNCj4+IHV0aWxpemluZyB0aGUgRFBBQTIgUUJNYW4gaW5mcmFz dHJ1Y3R1cmUuIERQRE1BSSBvYmplY3QgcHJvdmlkZXMgdXAgdG8NCj4+IHR3byBwcmlvcml0aWVz IGZvciBwcm9jZXNzaW5nIFFETUEgcmVxdWVzdHMuDQo+DQo+PiAraW50IGRwZG1haV9vcGVuKHN0 cnVjdCBmc2xfbWNfaW8gKm1jX2lvLA0KPj4gKyAgICAgICAgICAgICB1MzIgY21kX2ZsYWdzLA0K Pj4gKyAgICAgICAgICAgICBpbnQgZHBkbWFpX2lkLA0KPj4gKyAgICAgICAgICAgICB1MTYgKnRv a2VuKQ0KPg0KPmNvdWxkIGJlIHdyaXR0ZW4gYXM6DQo+DQo+aW50IGRwZG1haV9vcGVuKHN0cnVj dCBmc2xfbWNfaW8gKm1jX2lvLCB1MzIgY21kX2ZsYWdzLA0KPiAgICAgICAgICAgICAgICBpbnQg ZHBkbWFpX2lkLCB1MTYgKnRva2VuKQ0KPg0KPkxvb2tzIG5lYXRlciwgcmlnaHQ/IEl0IHdvdWxk IGJlIHRvIHJlcmVhZCBjb2RpbmcgZ3VpZGVsaW5lcyBhbmQgcnVuIGNoZWNrcGF0Y2gNCj53aXRo IC0tc3RyaWN0IG9uIHRoaXMNCj4NCltQZW5nIE1hXSBPaywgZ290IGl0Lg0KPg0KPj4gK3sNCj4+ ICsgICAgIHN0cnVjdCBmc2xfbWNfY29tbWFuZCBjbWQgPSB7IDAgfTsNCj4NCj53aGVyZSBpcyB0 aGlzIGRlZmluZWQ/DQpbUGVuZyBNYV0gaW5jbHVkZS9saW51eC9mc2wvbWMuaA0KPg0KPj4gKyAg ICAgc3RydWN0IGRwZG1haV9jbWRfb3BlbiAqY21kX3BhcmFtczsNCj4+ICsgICAgIGludCBlcnI7 DQo+PiArDQo+PiArICAgICAvKiBwcmVwYXJlIGNvbW1hbmQgKi8NCj4+ICsgICAgIGNtZC5oZWFk ZXIgPSBtY19lbmNvZGVfY21kX2hlYWRlcihEUERNQUlfQ01ESURfT1BFTiwNCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRfZmxhZ3MsDQo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCk7DQo+PiArDQo+PiArICAgICBjbWRfcGFy YW1zID0gKHN0cnVjdCBkcGRtYWlfY21kX29wZW4gKiljbWQucGFyYW1zOw0KPg0KPkkgZG9udCBs aWtlIGNhc3RzLCBjYW4geW91IGV4cGxhaW4NCltQZW5nIE1hXSBJZiBJIGRpZG4ndCB1c2UgdGhl IGNhc3RzLCBUaGVyZSBhcmUgdHdvIGNhc2U6DQoxOiBzdHJ1Y3QgZnNsX21jX2NvbW1hbmQgY21k X29yZyA9IHsgMCB9Ow0KICBTdHJ1Y3QgZnNsX21jX2NvbW1hbmQgKmNtZCA9ICZjbWRfb3JnOw0K ICBJbiB0aGlzIGNhc2UsIHdlIHdpbGwgZGVmaW5lIG9uZSBtb3JlIHRlbXBvcmFyeSB2YXJpYWJs ZSBpbiB0aGUgc3RhY2suDQoyOiBTdHJ1Y3QgZnNsX21jX2NvbW1hbmQgKmNtZCA9IGttYWxsb2Mo KTsNCiAgSW4gdGhpcyBjYXNlLCB3ZSB3aWxsIGFsbG9jIHNvbWUgbWVtb3J5LCBJdCBtYXkgYmUg cHJvZHVjZSBtZW1vcnkNCkZyYWdtZW50YXRpb24uIFRob3NlIGZ1bmN0aW9ucyB3aWxsIGJlIGNh bGxlZCBvbiBkcml2ZXIgaW5pdCBJdCBpcyBub3QgbmVjZXNzYXJ5IA0KdXNlIHRoaXMgY2FzZSB0 byB0aG9zZSBmdW5jdGlvbi4NCj4NCj4+ICsgICAgIGNtZF9wYXJhbXMtPmRwZG1haV9pZCA9IGNw dV90b19sZTMyKGRwZG1haV9pZCk7DQo+PiArDQo+PiArICAgICAvKiBzZW5kIGNvbW1hbmQgdG8g bWMqLw0KPj4gKyAgICAgZXJyID0gbWNfc2VuZF9jb21tYW5kKG1jX2lvLCAmY21kKTsNCj4+ICsg ICAgIGlmIChlcnIpDQo+PiArICAgICAgICAgICAgIHJldHVybiBlcnI7DQo+PiArDQo+PiArICAg ICAvKiByZXRyaWV2ZSByZXNwb25zZSBwYXJhbWV0ZXJzICovDQo+PiArICAgICAqdG9rZW4gPSBt Y19jbWRfaGRyX3JlYWRfdG9rZW4oJmNtZCk7DQo+PiArICAgICByZXR1cm4gMDsNCj4+ICt9DQo+ DQo+d2hvIHdpbGwgY2FsbCB0aGlzIEFQST8NCj4NCltQZW5nIE1hXSBUaGlzIGZpbGUgaXMgbm90 IGEgZHJpdmVyLCBzb21lIG9mIGZ1bmN0aW9ucyBkZWZpbmUgaW4gdGhpcyBmaWxlLCB0aGUgZG1h IGRyaXZlcihkcGFhMi1xZG1hLmMpIHdpbGwgY2FsbCBzb21lIG9mIHRob3NlIEFQSSBhbmQgSSB3 aWxsDQpkZWxldGUgdW51c2VsZXNzIEFQSSBpbiB0aGUgZnV0dXJlLg0KPj4gK2ludCBkcGRtYWlf Y3JlYXRlKHN0cnVjdCBmc2xfbWNfaW8gKm1jX2lvLA0KPj4gKyAgICAgICAgICAgICAgIHUzMiBj bWRfZmxhZ3MsDQo+PiArICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRwZG1haV9jZmcgKmNm ZywNCj4+ICsgICAgICAgICAgICAgICB1MTYgKnRva2VuKQ0KPj4gK3sNCj4+ICsgICAgIHN0cnVj dCBmc2xfbWNfY29tbWFuZCBjbWQgPSB7IDAgfTsNCj4+ICsgICAgIGludCBlcnI7DQo+PiArDQo+ PiArICAgICAvKiBwcmVwYXJlIGNvbW1hbmQgKi8NCj4+ICsgICAgIGNtZC5oZWFkZXIgPSBtY19l bmNvZGVfY21kX2hlYWRlcihEUERNQUlfQ01ESURfQ1JFQVRFLA0KPj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNtZF9mbGFncywNCj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwKTsNCj4NCj53aHkgd2FzdGUgYSBsaW5lLCBsYXN0IGFy ZyBjYW4gYmUgaW4gcHJldmlvdXMgbGluZSENCj4NCltQZW5nIE1hXSBzb3JyeSwgSSB3aWxsIHJl bW92ZSBpdC4NCj4+ICtpbnQgZHBkbWFpX2dldF90eF9xdWV1ZShzdHJ1Y3QgZnNsX21jX2lvICpt Y19pbywNCj4+ICsgICAgICAgICAgICAgICAgICAgICB1MzIgY21kX2ZsYWdzLA0KPj4gKyAgICAg ICAgICAgICAgICAgICAgIHUxNiB0b2tlbiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICB1OCBw cmlvcml0eSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHBkbWFpX3R4X3F1ZXVl X2F0dHIgKmF0dHIpIHsNCj4+ICsgICAgIHN0cnVjdCBmc2xfbWNfY29tbWFuZCBjbWQgPSB7IDAg fTsNCj4+ICsgICAgIHN0cnVjdCBkcGRtYWlfY21kX3F1ZXVlICpjbWRfcGFyYW1zOw0KPj4gKyAg ICAgc3RydWN0IGRwZG1haV9yc3BfZ2V0X3R4X3F1ZXVlICpyc3BfcGFyYW1zOw0KPj4gKyAgICAg aW50IGVycjsNCj4+ICsNCj4+ICsgICAgIC8qIHByZXBhcmUgY29tbWFuZCAqLw0KPj4gKyAgICAg Y21kLmhlYWRlciA9DQo+bWNfZW5jb2RlX2NtZF9oZWFkZXIoRFBETUFJX0NNRElEX0dFVF9UWF9R VUVVRSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWRfZmxh Z3MsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4pOw0K Pj4gKw0KPj4gKyAgICAgY21kX3BhcmFtcyA9IChzdHJ1Y3QgZHBkbWFpX2NtZF9xdWV1ZSAqKWNt ZC5wYXJhbXM7DQo+PiArICAgICBjbWRfcGFyYW1zLT5xdWV1ZSA9IHByaW9yaXR5Ow0KPj4gKw0K Pj4gKyAgICAgLyogc2VuZCBjb21tYW5kIHRvIG1jKi8NCj4+ICsgICAgIGVyciA9IG1jX3NlbmRf Y29tbWFuZChtY19pbywgJmNtZCk7DQo+PiArICAgICBpZiAoZXJyKQ0KPj4gKyAgICAgICAgICAg ICByZXR1cm4gZXJyOw0KPj4gKw0KPj4gKyAgICAgLyogcmV0cmlldmUgcmVzcG9uc2UgcGFyYW1l dGVycyAqLw0KPj4gKw0KPj4gKyAgICAgcnNwX3BhcmFtcyA9IChzdHJ1Y3QgZHBkbWFpX3JzcF9n ZXRfdHhfcXVldWUgKiljbWQucGFyYW1zOw0KPj4gKyAgICAgYXR0ci0+ZnFpZCA9IGxlMzJfdG9f Y3B1KHJzcF9wYXJhbXMtPmZxaWQpOw0KPj4gKw0KPj4gKyAgICAgcmV0dXJuIDA7DQo+PiArfQ0K Pg0KPk9rYXkgdGhpcyBmaWxlIGRvZXMgbm90IHVzZSBhbnkgb2YgZG1hZW5naW5lIGFwaXMsIGlz IHRoaXMgYSBkbWFlbmdpbmUgZHJpdmVyPw0KW1BlbmcgTWFdIHBsZWFzZSB0aGUgcHJldmlvdXMg Y29tbWVudC4NCj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9mc2wtZHBhYTItcWRtYS9k cGRtYWkuaA0KPj4gYi9kcml2ZXJzL2RtYS9mc2wtZHBhYTItcWRtYS9kcGRtYWkuaA0KPj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGluZGV4IDAwMDAwMDAuLmM4YTdiN2YNCj4+IC0tLSAvZGV2 L251bGwNCj4+ICsrKyBiL2RyaXZlcnMvZG1hL2ZzbC1kcGFhMi1xZG1hL2RwZG1haS5oDQo+PiBA QCAtMCwwICsxLDUyNCBAQA0KPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w ICovDQo+PiArLyogQ29weXJpZ2h0IDIwMTQtMjAxOCBOWFAgKi8NCj4+ICsNCj4+ICsvKg0KPj4g KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp dGggb3Igd2l0aG91dA0KPj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUNCj5tZXQ6DQo+PiArICogKiBSZWRp c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo dA0KPj4gKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp bmcgZGlzY2xhaW1lci4NCj4+ICsgKiAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUNCj4+ICtjb3B5cmlnaHQNCj4+ICsgKiBub3RpY2UsIHRo aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4NCj4+ ICt0aGUNCj4+ICsgKiBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KPj4gKyAqICogTmVpdGhlciB0aGUgbmFtZSBvZiB0 aGUgYWJvdmUtbGlzdGVkIGNvcHlyaWdodCBob2xkZXJzIG5vciB0aGUNCj4+ICsgKiBuYW1lcyBv ZiBhbnkgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQ0KPj4g K3Byb2R1Y3RzDQo+PiArICogZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQo+PiArICoNCj4+ICsgKg0KPj4gKyAqIEFM VEVSTkFUSVZFTFksIHRoaXMgc29mdHdhcmUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0 ZXJtcyBvZg0KPj4gK3RoZQ0KPj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlICgiR1BM IikgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlDQo+PiArU29mdHdhcmUNCj4+ICsgKiBGb3VuZGF0 aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoYXQgTGljZW5zZSBvciAoYXQgeW91ciBvcHRpb24p DQo+PiArYW55DQo+PiArICogbGF0ZXIgdmVyc2lvbi4NCj4+ICsgKg0KPj4gKyAqIFRISVMgU09G VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORA0KPkNPTlRSSUJV VE9SUyAiQVMgSVMiDQo+PiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF UywgSU5DTFVESU5HLCBCVVQgTk9UDQo+TElNSVRFRA0KPj4gK1RPLCBUSEUNCj4+ICsgKiBJTVBM SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBDQo+UEFS VElDVUxBUg0KPj4gK1BVUlBPU0UNCj4+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVJTIE9SDQo+PiArQ09OVFJJQlVUT1JTIEJFDQo+PiAr ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg RVhFTVBMQVJZLA0KPj4gK09SDQo+PiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywNCj5QUk9DVVJFTUVOVA0KPj4gK09GDQo+PiArICogU1VC U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7 IE9SDQo+PiArQlVTSU5FU1MNCj4+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwNCj4+ICtXSEVUSEVSIElODQo+PiArICogQ09O VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S DQo+PiArT1RIRVJXSVNFKQ0KPj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGDQo+PiArQURWSVNFRCBPRiBUSEUNCj4+ICsgKiBQ T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCj4+ICsgKi8NCj4NCj53ZSBoYXZlIFNpUERYIHRh Zywgd2h5IGRvIHlvdSBuZWVkIHRocyBoZXJlIQ0KPg0KW1BlbmcgTWFdIEl0IGlzIG15IG1pc3Rh a2UuIEkgd2lsbCBmaXhlIGl0Lg0KPi0tDQo+flZpbm9kDQo=