From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id BB0E9A00E6 for ; Sun, 17 Mar 2019 19:00:17 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C5C692B86; Sun, 17 Mar 2019 19:00:16 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00055.outbound.protection.outlook.com [40.107.0.55]) by dpdk.org (Postfix) with ESMTP id C195D201 for ; Sun, 17 Mar 2019 19:00:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RZr0hnSqtaUxqyYwW0Dko45G53Koix7L6KG1XU4laRQ=; b=XcRKHvkhPHf88vjkpkT49aOq4e78qrEYbW7jlADEKK7RlwgplD21mP3Cm+seof7ADj6shOZ4TEqJAOfQSwlgTb8LRrnrRSIbIk8UjoMM4EqddQlrGN5foY5687RzIvmaJMzhGvRZb7j5soBLJCK2drTvOTMdfHlYcF1mLy1XERU= Received: from VI1PR04MB4893.eurprd04.prod.outlook.com (20.177.49.154) by VI1PR04MB5102.eurprd04.prod.outlook.com (20.177.50.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1709.15; Sun, 17 Mar 2019 18:00:14 +0000 Received: from VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb]) by VI1PR04MB4893.eurprd04.prod.outlook.com ([fe80::d81a:c2cb:6bce:30bb%4]) with mapi id 15.20.1709.015; Sun, 17 Mar 2019 18:00:14 +0000 From: Akhil Goyal To: Tomasz Jozwiak , "dev@dpdk.org" , "fiona.trahe@intel.com" Thread-Topic: [dpdk-dev] [PATCH v4 1/1] compress/qat: add dynamic sgl allocation Thread-Index: AQHU1N2mr3JWQ+zdeEKUJoN8qLPxF6YQLMeA Date: Sun, 17 Mar 2019 18:00:13 +0000 Message-ID: <7fff607f-1a5a-9dec-07e4-dc12e23b4bdf@nxp.com> References: <1551439054-17658-1-git-send-email-tomaszx.jozwiak@intel.com> <1551960136-30358-1-git-send-email-tomaszx.jozwiak@intel.com> <1551960136-30358-2-git-send-email-tomaszx.jozwiak@intel.com> In-Reply-To: <1551960136-30358-2-git-send-email-tomaszx.jozwiak@intel.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BM1PR0101CA0057.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:19::19) To VI1PR04MB4893.eurprd04.prod.outlook.com (2603:10a6:803:56::26) authentication-results: spf=none (sender IP is ) smtp.mailfrom=akhil.goyal@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.0.8] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d00882e4-d899-41b6-da0d-08d6ab0267a6 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR04MB5102; x-ms-traffictypediagnostic: VI1PR04MB5102: x-microsoft-antispam-prvs: x-forefront-prvs: 09796A1B83 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39860400002)(376002)(136003)(366004)(199004)(189003)(11346002)(446003)(6116002)(71200400001)(26005)(256004)(68736007)(105586002)(5024004)(71190400001)(14444005)(52116002)(6512007)(3846002)(99286004)(229853002)(76176011)(2906002)(5660300002)(53936002)(2616005)(305945005)(7736002)(8936002)(478600001)(186003)(6246003)(2201001)(8676002)(486006)(44832011)(66066001)(86362001)(476003)(14454004)(31696002)(36756003)(53546011)(97736004)(110136005)(81156014)(81166006)(2501003)(102836004)(106356001)(316002)(25786009)(6486002)(6436002)(31686004)(6506007)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR04MB5102; H:VI1PR04MB4893.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: WLCDu1N4iX0Dr+/j3F/XEkhBQmkaZLDvPPZ96htipBCUbecQ/Ee0lFCGL6YCv1zsyKoh1B3w0a8572dZxzJemknS9wG2xckdlysYS3X24aOxaFmWniIoSFwU5lYUekLu7gUV+nXCECWytUQnTfS+BhaBB7QfEtqxVTkH6tg+nzomDOA4k5EWR4Z12rpCN8GDm/7CQrToufVdcvVvpbyedZnQuPT2AXME/L5oslsNAr+0MFC1J/1L7ckl8c9etWzzAH7QseyUgr900a/vLV0drVCAYjpt4a/5cWQCnrER0O1lHlAVRtm+CMk04ZhxgtYdQejVCrIpwDZkjSHCG975Kbuf2ZMdcNPPPi3muacd7y5ZaGHnpPgc41ejtCzq4rnRtwtwsyyW9eoKcoLeRL4t/hPx4kuXOzhraORMGCbu68c= Content-Type: text/plain; charset="UTF-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: d00882e4-d899-41b6-da0d-08d6ab0267a6 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Mar 2019 18:00:14.0288 (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-Transport-CrossTenantHeadersStamped: VI1PR04MB5102 Subject: Re: [dpdk-dev] [PATCH v4 1/1] compress/qat: add dynamic sgl allocation X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190317180013.ihxuhlrpIDwXcs6gCGbvQqguN138b2G5LsP_pxhKAPk@z> SGkgVG9tYXN6LA0KDQpJIGNhbiBzZWUgY29tcGlsYXRpb24gZmFpbHVyZSBpbiB0aGUgcGF0Y2h3 b3JrIENJIHRlc3RzLg0KQ291bGQgeW91IHBsZWFzZSBjaGVjay4NCg0KVGhhbmtzLg0KDQpPbiAz LzcvMjAxOSA1OjMyIFBNLCBUb21hc3ogSm96d2lhayB3cm90ZToNCj4gVGhpcyBwYXRjaCBhZGRz IGR5bmFtaWMgU0dMIGFsbG9jYXRpb24gaW5zdGVhZCBvZiBzdGF0aWMgb25lLg0KPiBUaGUgbnVt YmVyIG9mIGVsZW1lbnQgaW4gU0dMIGNhbiBiZSBhZGp1c3RlZCBpbiBlYWNoIG9wZXJhdGlvbg0K PiBkZXBlbmQgb2YgdGhlIHJlcXVlc3QuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IFRvbWFzeiBKb3p3 aWFrIDx0b21hc3p4LmpvendpYWtAaW50ZWwuY29tPg0KPiAtLS0NCj4gICBjb25maWcvY29tbW9u X2Jhc2UgICAgICAgICAgICAgICAgICAgfCAgMSAtDQo+ICAgZG9jL2d1aWRlcy9jb21wcmVzc2Rl dnMvcWF0X2NvbXAucnN0IHwgIDEgLQ0KPiAgIGRvYy9ndWlkZXMvY3J5cHRvZGV2cy9xYXQucnN0 ICAgICAgICB8ICA1IC0tLS0NCj4gICBkcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5jICAg ICAgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gICBkcml2ZXJz L2NvbXByZXNzL3FhdC9xYXRfY29tcC5oICAgICAgfCAxMyArKysrLS0tLQ0KPiAgIGRyaXZlcnMv Y29tcHJlc3MvcWF0L3FhdF9jb21wX3BtZC5jICB8IDQ5ICsrKysrKysrKysrKysrKysrKysrKysr KystLS0tLQ0KPiAgIDYgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2VydGlvbnMoKyksIDI2IGRlbGV0 aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvY29uZmlnL2NvbW1vbl9iYXNlIGIvY29uZmlnL2Nv bW1vbl9iYXNlDQo+IGluZGV4IDBiMDlhOTMuLjkxYzdiNzMgMTAwNjQ0DQo+IC0tLSBhL2NvbmZp Zy9jb21tb25fYmFzZQ0KPiArKysgYi9jb25maWcvY29tbW9uX2Jhc2UNCj4gQEAgLTU0OSw3ICs1 NDksNiBAQCBDT05GSUdfUlRFX0xJQlJURV9QTURfUUFUX1NZTT1uDQo+ICAgIyBNYXguIG51bWJl ciBvZiBRdWlja0Fzc2lzdCBkZXZpY2VzLCB3aGljaCBjYW4gYmUgZGV0ZWN0ZWQgYW5kIGF0dGFj aGVkDQo+ICAgIw0KPiAgIENPTkZJR19SVEVfUE1EX1FBVF9NQVhfUENJX0RFVklDRVM9NDgNCj4g LUNPTkZJR19SVEVfUE1EX1FBVF9DT01QX1NHTF9NQVhfU0VHTUVOVFM9MTYNCj4gICBDT05GSUdf UlRFX1BNRF9RQVRfQ09NUF9JTV9CVUZGRVJfU0laRT02NTUzNg0KPiAgIA0KPiAgICMNCj4gZGlm ZiAtLWdpdCBhL2RvYy9ndWlkZXMvY29tcHJlc3NkZXZzL3FhdF9jb21wLnJzdCBiL2RvYy9ndWlk ZXMvY29tcHJlc3NkZXZzL3FhdF9jb21wLnJzdA0KPiBpbmRleCA1NjMxY2IxLi42ZjU4M2E0IDEw MDY0NA0KPiAtLS0gYS9kb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy9xYXRfY29tcC5yc3QNCj4gKysr IGIvZG9jL2d1aWRlcy9jb21wcmVzc2RldnMvcWF0X2NvbXAucnN0DQo+IEBAIC0zNSw3ICszNSw2 IEBAIExpbWl0YXRpb25zDQo+ICAgKiBDb21wcmVzc2RldiBsZXZlbCAwLCBubyBjb21wcmVzc2lv biwgaXMgbm90IHN1cHBvcnRlZC4NCj4gICAqIFF1ZXVlIHBhaXJzIGFyZSBub3QgdGhyZWFkLXNh ZmUgKHRoYXQgaXMsIHdpdGhpbiBhIHNpbmdsZSBxdWV1ZSBwYWlyLCBSWCBhbmQgVFggZnJvbSBk aWZmZXJlbnQgbGNvcmVzIGlzIG5vdCBzdXBwb3J0ZWQpLg0KPiAgICogTm8gQlNEIHN1cHBvcnQg YXMgQlNEIFFBVCBrZXJuZWwgZHJpdmVyIG5vdCBhdmFpbGFibGUuDQo+IC0qIE51bWJlciBvZiBz ZWdtZW50cyBpbiBtYnVmIGNoYWlucyBpbiB0aGUgb3AgbXVzdCBiZSA8PSBSVEVfUE1EX1FBVF9D T01QX1NHTF9NQVhfU0VHTUVOVFMgZnJvbSB0aGUgY29uZmlnIGZpbGUuDQo+ICAgKiBXaGVuIHVz aW5nIERlZmxhdGUgZHluYW1pYyBodWZmbWFuIGVuY29kaW5nIGZvciBjb21wcmVzc2lvbiwgdGhl IGlucHV0IHNpemUgKG9wLnNyYy5sZW5ndGgpDQo+ICAgICBtdXN0IGJlIDwgQ09ORklHX1JURV9Q TURfUUFUX0NPTVBfSU1fQlVGRkVSX1NJWkUgZnJvbSB0aGUgY29uZmlnIGZpbGUsDQo+ICAgICBz ZWUgOnJlZjpgYnVpbGRpbmdfcWF0X2NvbmZpZ2AgZm9yIG1vcmUgZGV0YWlscy4NCj4gZGlmZiAt LWdpdCBhL2RvYy9ndWlkZXMvY3J5cHRvZGV2cy9xYXQucnN0IGIvZG9jL2d1aWRlcy9jcnlwdG9k ZXZzL3FhdC5yc3QNCj4gaW5kZXggYjdlYWNlMS4uMDNiZDBjMSAxMDA2NDQNCj4gLS0tIGEvZG9j L2d1aWRlcy9jcnlwdG9kZXZzL3FhdC5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9jcnlwdG9kZXZz L3FhdC5yc3QNCj4gQEAgLTE1Niw3ICsxNTYsNiBAQCBUaGVzZSBhcmUgdGhlIGJ1aWxkIGNvbmZp Z3VyYXRpb24gb3B0aW9ucyBhZmZlY3RpbmcgUUFULCBhbmQgdGhlaXIgZGVmYXVsdCB2YWx1ZQ0K PiAgIAlDT05GSUdfUlRFX0xJQlJURV9QTURfUUFUPXkNCj4gICAJQ09ORklHX1JURV9MSUJSVEVf UE1EX1FBVF9TWU09bg0KPiAgIAlDT05GSUdfUlRFX1BNRF9RQVRfTUFYX1BDSV9ERVZJQ0VTPTQ4 DQo+IC0JQ09ORklHX1JURV9QTURfUUFUX0NPTVBfU0dMX01BWF9TRUdNRU5UUz0xNg0KPiAgIAlD T05GSUdfUlRFX1BNRF9RQVRfQ09NUF9JTV9CVUZGRVJfU0laRT02NTUzNg0KPiAgIA0KPiAgIENP TkZJR19SVEVfTElCUlRFX1BNRF9RQVQgbXVzdCBiZSBlbmFibGVkIGZvciBhbnkgUUFUIFBNRCB0 byBiZSBidWlsdC4NCj4gQEAgLTE3NCwxMCArMTczLDYgQEAgTm90ZSwgdGhlcmUgYXJlIHNlcGFy YXRlIGNvbmZpZyBpdGVtcyBmb3IgbWF4IGNyeXB0b2RldnMgQ09ORklHX1JURV9DUllQVE9fTUFY X0QNCj4gICBhbmQgbWF4IGNvbXByZXNzZGV2cyBDT05GSUdfUlRFX0NPTVBSRVNTX01BWF9ERVZT LCBpZiBuZWNlc3NhcnkgdGhlc2Ugc2hvdWxkIGJlDQo+ICAgYWRqdXN0ZWQgdG8gaGFuZGxlIHRo ZSB0b3RhbCBvZiBRQVQgYW5kIG90aGVyIGRldmljZXMgd2hpY2ggdGhlIHByb2Nlc3Mgd2lsbCB1 c2UuDQo+ICAgDQo+IC1RQVQgYWxsb2NhdGVzIGludGVybmFsIHN0cnVjdHVyZXMgdG8gaGFuZGxl IFNHTHMuIEZvciB0aGUgY29tcHJlc3Npb24gc2VydmljZQ0KPiAtQ09ORklHX1JURV9QTURfUUFU X0NPTVBfU0dMX01BWF9TRUdNRU5UUyBjYW4gYmUgY2hhbmdlZCBpZiBtb3JlIHNlZ21lbnRzIGFy ZSBuZWVkZWQuDQo+IC1BbiBleHRyYSAobWF4X2luZmxpZ2h0X29wcyB4IDE2KSBieXRlcyBwZXIg cXVldWVfcGFpciB3aWxsIGJlIHVzZWQgZm9yIGV2ZXJ5IGluY3JlbWVudC4NCj4gLQ0KPiAgIFFB VCBjb21wcmVzc2lvbiBQTUQgbmVlZHMgaW50ZXJtZWRpYXRlIGJ1ZmZlcnMgdG8gc3VwcG9ydCBE ZWZsYXRlIGNvbXByZXNzaW9uDQo+ICAgd2l0aCBEeW5hbWljIEh1ZmZtYW4gZW5jb2RpbmcuIENP TkZJR19SVEVfUE1EX1FBVF9DT01QX0lNX0JVRkZFUl9TSVpFDQo+ICAgc3BlY2lmaWVzIHRoZSBz aXplIG9mIGEgc2luZ2xlIGJ1ZmZlciwgdGhlIFBNRCB3aWxsIGFsbG9jYXRlIGEgbXVsdGlwbGUg b2YgdGhlc2UsDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5j IGIvZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXAuYw0KPiBpbmRleCAzMmNhNzUzLi5jMDIx ZjRhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5jDQo+ICsr KyBiL2RyaXZlcnMvY29tcHJlc3MvcWF0L3FhdF9jb21wLmMNCj4gQEAgLTEsNSArMSw1IEBADQo+ ICAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiAtICogQ29weXJp Z2h0KGMpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4gKyAqIENvcHlyaWdodChjKSAyMDE4LTIw MTkgSW50ZWwgQ29ycG9yYXRpb24NCj4gICAgKi8NCj4gICANCj4gICAjaW5jbHVkZSA8cnRlX21l bXBvb2wuaD4NCj4gQEAgLTU1LDIyICs1NSw3MCBAQCBxYXRfY29tcF9idWlsZF9yZXF1ZXN0KHZv aWQgKmluX29wLCB1aW50OF90ICpvdXRfbXNnLA0KPiAgIAkJSUNQX1FBVF9GV19DT01OX1BUUl9U WVBFX1NFVChjb21wX3JlcS0+Y29tbl9oZHIuY29tbl9yZXFfZmxhZ3MsDQo+ICAgCQkJCVFBVF9D T01OX1BUUl9UWVBFX1NHTCk7DQo+ICAgDQo+ICsJCWlmICh1bmxpa2VseShvcC0+bV9zcmMtPm5i X3NlZ3MgPiBjb29raWUtPnNyY19uYl9lbGVtcykpIHsNCj4gKwkJCS8qIHdlIG5lZWQgdG8gYWxs b2NhdGUgbW9yZSBlbGVtZW50cyBpbiBTR0wqLw0KPiArCQkJdm9pZCAqdG1wOw0KPiArDQo+ICsJ CQl0bXAgPSBydGVfcmVhbGxvY19zb2NrZXQoY29va2llLT5xYXRfc2dsX3NyY19kLA0KPiArCQkJ CQkgIHNpemVvZihzdHJ1Y3QgcWF0X3NnbCkgKw0KPiArCQkJCQkgIHNpemVvZihzdHJ1Y3QgcWF0 X2ZsYXRfYnVmKSAqDQo+ICsJCQkJCSAgb3AtPm1fc3JjLT5uYl9zZWdzLCA2NCwNCj4gKwkJCQkJ ICBydGVfc29ja2V0X2lkKCkpOw0KPiArDQo+ICsJCQlpZiAodW5saWtlbHkodG1wID09IE5VTEwp KSB7DQo+ICsJCQkJUUFUX0RQX0xPRyhFUlIsICJRQVQgUE1EIGNhbid0IGFsbG9jYXRlIG1lbW9y eSINCj4gKwkJCQkJICAgIiBmb3IgJWQgZWxlbWVudHMgb2YgU0dMIiwNCj4gKwkJCQkJICAgb3At Pm1fc3JjLT5uYl9zZWdzKTsNCj4gKwkJCQlvcC0+c3RhdHVzID0gUlRFX0NPTVBfT1BfU1RBVFVT X0lOVkFMSURfQVJHUzsNCj4gKwkJCQlyZXR1cm4gLUVOT01FTTsNCj4gKwkJCX0NCj4gKwkJCS8q IG5ldyBTR0wgaXMgdmFsaWQgbm93ICovDQo+ICsJCQljb29raWUtPnFhdF9zZ2xfc3JjX2QgPSAo c3RydWN0IHFhdF9zZ2wgKil0bXA7DQo+ICsJCQljb29raWUtPnNyY19uYl9lbGVtcyA9IG9wLT5t X3NyYy0+bmJfc2VnczsNCj4gKwkJCWNvb2tpZS0+cWF0X3NnbF9zcmNfcGh5c19hZGRyID0NCj4g KwkJCQlydGVfbWFsbG9jX3ZpcnQyaW92YShjb29raWUtPnFhdF9zZ2xfc3JjX2QpOw0KPiArCQl9 DQo+ICsNCj4gICAJCXJldCA9IHFhdF9zZ2xfZmlsbF9hcnJheShvcC0+bV9zcmMsDQo+ICAgCQkJ CW9wLT5zcmMub2Zmc2V0LA0KPiAtCQkJCSZjb29raWUtPnFhdF9zZ2xfc3JjLA0KPiArCQkJCWNv b2tpZS0+cWF0X3NnbF9zcmNfZCwNCj4gICAJCQkJb3AtPnNyYy5sZW5ndGgsDQo+IC0JCQkJUlRF X1BNRF9RQVRfQ09NUF9TR0xfTUFYX1NFR01FTlRTKTsNCj4gKwkJCQkoY29uc3QgdWludDE2X3Qp Y29va2llLT5zcmNfbmJfZWxlbXMpOw0KPiAgIAkJaWYgKHJldCkgew0KPiAgIAkJCVFBVF9EUF9M T0coRVJSLCAiUUFUIFBNRCBDYW5ub3QgZmlsbCBzb3VyY2Ugc2dsIGFycmF5Iik7DQo+ICAgCQkJ b3AtPnN0YXR1cyA9IFJURV9DT01QX09QX1NUQVRVU19JTlZBTElEX0FSR1M7DQo+ICAgCQkJcmV0 dXJuIHJldDsNCj4gICAJCX0NCj4gICANCj4gKwkJaWYgKHVubGlrZWx5KG9wLT5tX2RzdC0+bmJf c2VncyA+IGNvb2tpZS0+ZHN0X25iX2VsZW1zKSkgew0KPiArCQkJLyogd2UgbmVlZCB0byBhbGxv Y2F0ZSBtb3JlIGVsZW1lbnRzIGluIFNHTCovDQo+ICsJCQlzdHJ1Y3QgcWF0X3NnbCAqdG1wOw0K PiArDQo+ICsJCQl0bXAgPSBydGVfcmVhbGxvY19zb2NrZXQoY29va2llLT5xYXRfc2dsX2RzdF9k LA0KPiArCQkJCQkgIHNpemVvZihzdHJ1Y3QgcWF0X3NnbCkgKw0KPiArCQkJCQkgIHNpemVvZihz dHJ1Y3QgcWF0X2ZsYXRfYnVmKSAqDQo+ICsJCQkJCSAgb3AtPm1fZHN0LT5uYl9zZWdzLCA2NCwN Cj4gKwkJCQkJICBydGVfc29ja2V0X2lkKCkpOw0KPiArDQo+ICsJCQlpZiAodW5saWtlbHkodG1w ID09IE5VTEwpKSB7DQo+ICsJCQkJUUFUX0RQX0xPRyhFUlIsICJRQVQgUE1EIGNhbid0IGFsbG9j YXRlIG1lbW9yeSINCj4gKwkJCQkJICAgIiBmb3IgJWQgZWxlbWVudHMgb2YgU0dMIiwNCj4gKwkJ CQkJICAgb3AtPm1fZHN0LT5uYl9zZWdzKTsNCj4gKwkJCQlvcC0+c3RhdHVzID0gUlRFX0NPTVBf T1BfU1RBVFVTX0lOVkFMSURfQVJHUzsNCj4gKwkJCQlyZXR1cm4gLUVJTlZBTDsNCj4gKwkJCX0N Cj4gKwkJCS8qIG5ldyBTR0wgaXMgdmFsaWQgbm93ICovDQo+ICsJCQljb29raWUtPnFhdF9zZ2xf ZHN0X2QgPSAoc3RydWN0IHFhdF9zZ2wgKil0bXA7DQo+ICsJCQljb29raWUtPmRzdF9uYl9lbGVt cyA9IG9wLT5tX2RzdC0+bmJfc2VnczsNCj4gKwkJCWNvb2tpZS0+cWF0X3NnbF9kc3RfcGh5c19h ZGRyID0NCj4gKwkJCQlydGVfbWFsbG9jX3ZpcnQyaW92YShjb29raWUtPnFhdF9zZ2xfZHN0X2Qp Ow0KPiArCQl9DQo+ICsNCj4gICAJCXJldCA9IHFhdF9zZ2xfZmlsbF9hcnJheShvcC0+bV9kc3Qs DQo+ICAgCQkJCW9wLT5kc3Qub2Zmc2V0LA0KPiAtCQkJCSZjb29raWUtPnFhdF9zZ2xfZHN0LA0K PiArCQkJCWNvb2tpZS0+cWF0X3NnbF9kc3RfZCwNCj4gICAJCQkJY29tcF9yZXEtPmNvbXBfcGFy cy5vdXRfYnVmZmVyX3N6LA0KPiAtCQkJCVJURV9QTURfUUFUX0NPTVBfU0dMX01BWF9TRUdNRU5U Uyk7DQo+ICsJCQkJKGNvbnN0IHVpbnQxNl90KWNvb2tpZS0+ZHN0X25iX2VsZW1zKTsNCj4gICAJ CWlmIChyZXQpIHsNCj4gICAJCQlRQVRfRFBfTE9HKEVSUiwgIlFBVCBQTUQgQ2Fubm90IGZpbGwg ZGVzdC4gc2dsIGFycmF5Iik7DQo+ICAgCQkJb3AtPnN0YXR1cyA9IFJURV9DT01QX09QX1NUQVRV U19JTlZBTElEX0FSR1M7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRf Y29tcC5oIGIvZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXAuaA0KPiBpbmRleCAxOWY0OGRm Li4yNDY1ZjEyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcC5o DQo+ICsrKyBiL2RyaXZlcnMvY29tcHJlc3MvcWF0L3FhdF9jb21wLmgNCj4gQEAgLTEsNSArMSw1 IEBADQo+ICAgLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiAtICog Q29weXJpZ2h0KGMpIDIwMTUtMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbg0KPiArICogQ29weXJpZ2h0 KGMpIDIwMTUtMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbg0KPiAgICAqLw0KPiAgIA0KPiAgICNpZm5k ZWYgX1FBVF9DT01QX0hfDQo+IEBAIC0zNywxNiArMzcsMTUgQEAgc3RydWN0IHFhdF9pbnRlcl9z Z2wgew0KPiAgIAlzdHJ1Y3QgcWF0X2ZsYXRfYnVmIGJ1ZmZlcnNbUUFUX05VTV9CVUZTX0lOX0lN X1NHTF07DQo+ICAgfSBfX3J0ZV9wYWNrZWQgX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gICANCj4g LXN0cnVjdCBxYXRfY29tcF9zZ2wgew0KPiAtCXFhdF9zZ2xfaGRyOw0KPiAtCXN0cnVjdCBxYXRf ZmxhdF9idWYgYnVmZmVyc1tSVEVfUE1EX1FBVF9DT01QX1NHTF9NQVhfU0VHTUVOVFNdOw0KPiAt fSBfX3J0ZV9wYWNrZWQgX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gICANCj4gICBzdHJ1Y3QgcWF0 X2NvbXBfb3BfY29va2llIHsNCj4gLQlzdHJ1Y3QgcWF0X2NvbXBfc2dsIHFhdF9zZ2xfc3JjOw0K PiAtCXN0cnVjdCBxYXRfY29tcF9zZ2wgcWF0X3NnbF9kc3Q7DQo+ICAgCXBoeXNfYWRkcl90IHFh dF9zZ2xfc3JjX3BoeXNfYWRkcjsNCj4gICAJcGh5c19hZGRyX3QgcWF0X3NnbF9kc3RfcGh5c19h ZGRyOw0KPiArCS8qIGR5bmFtaWNhbGx5IGNyZWF0ZWQgU0dMcyAqLw0KPiArCXVpbnQxNl90IHNy Y19uYl9lbGVtczsNCj4gKwl1aW50MTZfdCBkc3RfbmJfZWxlbXM7DQo+ICsJc3RydWN0IHFhdF9z Z2wgKnFhdF9zZ2xfc3JjX2Q7DQo+ICsJc3RydWN0IHFhdF9zZ2wgKnFhdF9zZ2xfZHN0X2Q7DQo+ ICAgfTsNCj4gICANCj4gICBzdHJ1Y3QgcWF0X2NvbXBfeGZvcm0gew0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9jb21wcmVzcy9xYXQvcWF0X2NvbXBfcG1kLmMgYi9kcml2ZXJzL2NvbXByZXNzL3Fh dC9xYXRfY29tcF9wbWQuYw0KPiBpbmRleCAyN2M4ODU2Li5mMDM0YTE5IDEwMDY0NA0KPiAtLS0g YS9kcml2ZXJzL2NvbXByZXNzL3FhdC9xYXRfY29tcF9wbWQuYw0KPiArKysgYi9kcml2ZXJzL2Nv bXByZXNzL3FhdC9xYXRfY29tcF9wbWQuYw0KPiBAQCAtMSwxMCArMSwxNCBAQA0KPiAgIC8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gLSAqIENvcHlyaWdodChjKSAy MDE1LTIwMTggSW50ZWwgQ29ycG9yYXRpb24NCj4gKyAqIENvcHlyaWdodChjKSAyMDE1LTIwMTkg SW50ZWwgQ29ycG9yYXRpb24NCj4gICAgKi8NCj4gICANCj4gKyNpbmNsdWRlIDxydGVfbWFsbG9j Lmg+DQo+ICsNCj4gICAjaW5jbHVkZSAicWF0X2NvbXAuaCINCj4gICAjaW5jbHVkZSAicWF0X2Nv bXBfcG1kLmgiDQo+ICAgDQo+ICsjZGVmaW5lIFFBVF9QTURfQ09NUF9TR0xfREVGX1NFR01FTlRT IDE2DQo+ICsNCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IHJ0ZV9jb21wcmVzc2Rldl9jYXBhYmls aXRpZXMgcWF0X2NvbXBfZ2VuX2NhcGFiaWxpdGllc1tdID0gew0KPiAgIAl7LyogQ09NUFJFU1NJ T04gLSBkZWZsYXRlICovDQo+ICAgCSAuYWxnbyA9IFJURV9DT01QX0FMR09fREVGTEFURSwNCj4g QEAgLTYwLDYgKzY0LDEwIEBAIHN0YXRpYyBpbnQNCj4gICBxYXRfY29tcF9xcF9yZWxlYXNlKHN0 cnVjdCBydGVfY29tcHJlc3NkZXYgKmRldiwgdWludDE2X3QgcXVldWVfcGFpcl9pZCkNCj4gICB7 DQo+ICAgCXN0cnVjdCBxYXRfY29tcF9kZXZfcHJpdmF0ZSAqcWF0X3ByaXZhdGUgPSBkZXYtPmRh dGEtPmRldl9wcml2YXRlOw0KPiArCXN0cnVjdCBxYXRfcXAgKipxcF9hZGRyID0NCj4gKwkJKHN0 cnVjdCBxYXRfcXAgKiopJihkZXYtPmRhdGEtPnF1ZXVlX3BhaXJzW3F1ZXVlX3BhaXJfaWRdKTsN Cj4gKwlzdHJ1Y3QgcWF0X3FwICpxcCA9IChzdHJ1Y3QgcWF0X3FwICopKnFwX2FkZHI7DQo+ICsJ dWludDMyX3QgaTsNCj4gICANCj4gICAJUUFUX0xPRyhERUJVRywgIlJlbGVhc2UgY29tcCBxcCAl dSBvbiBkZXZpY2UgJWQiLA0KPiAgIAkJCQlxdWV1ZV9wYWlyX2lkLCBkZXYtPmRhdGEtPmRldl9p ZCk7DQo+IEBAIC02Nyw2ICs3NSwxNCBAQCBxYXRfY29tcF9xcF9yZWxlYXNlKHN0cnVjdCBydGVf Y29tcHJlc3NkZXYgKmRldiwgdWludDE2X3QgcXVldWVfcGFpcl9pZCkNCj4gICAJcWF0X3ByaXZh dGUtPnFhdF9kZXYtPnFwc19pbl91c2VbUUFUX1NFUlZJQ0VfQ09NUFJFU1NJT05dW3F1ZXVlX3Bh aXJfaWRdDQo+ICAgCQkJCQkJPSBOVUxMOw0KPiAgIA0KPiArCWZvciAoaSA9IDA7IGkgPCBxcC0+ bmJfZGVzY3JpcHRvcnM7IGkrKykgew0KPiArDQo+ICsJCXN0cnVjdCBxYXRfY29tcF9vcF9jb29r aWUgKmNvb2tpZSA9IHFwLT5vcF9jb29raWVzW2ldOw0KPiArDQo+ICsJCXJ0ZV9mcmVlKGNvb2tp ZS0+cWF0X3NnbF9zcmNfZCk7DQo+ICsJCXJ0ZV9mcmVlKGNvb2tpZS0+cWF0X3NnbF9kc3RfZCk7 DQo+ICsJfQ0KPiArDQo+ICAgCXJldHVybiBxYXRfcXBfcmVsZWFzZSgoc3RydWN0IHFhdF9xcCAq KikNCj4gICAJCQkmKGRldi0+ZGF0YS0+cXVldWVfcGFpcnNbcXVldWVfcGFpcl9pZF0pKTsNCj4g ICB9DQo+IEBAIC0xMjIsMTUgKzEzOCwzNCBAQCBxYXRfY29tcF9xcF9zZXR1cChzdHJ1Y3QgcnRl X2NvbXByZXNzZGV2ICpkZXYsIHVpbnQxNl90IHFwX2lkLA0KPiAgIAkJc3RydWN0IHFhdF9jb21w X29wX2Nvb2tpZSAqY29va2llID0NCj4gICAJCQkJcXAtPm9wX2Nvb2tpZXNbaV07DQo+ICAgDQo+ ICsJCWNvb2tpZS0+cWF0X3NnbF9zcmNfZCA9IHJ0ZV96bWFsbG9jX3NvY2tldChOVUxMLA0KPiAr CQkJCQlzaXplb2Yoc3RydWN0IHFhdF9zZ2wpICsNCj4gKwkJCQkJc2l6ZW9mKHN0cnVjdCBxYXRf ZmxhdF9idWYpICoNCj4gKwkJCQkJUUFUX1BNRF9DT01QX1NHTF9ERUZfU0VHTUVOVFMsDQo+ICsJ CQkJCTY0LCBzb2NrZXRfaWQpOw0KPiArDQo+ICsJCWNvb2tpZS0+cWF0X3NnbF9kc3RfZCA9IHJ0 ZV96bWFsbG9jX3NvY2tldChOVUxMLA0KPiArCQkJCQlzaXplb2Yoc3RydWN0IHFhdF9zZ2wpICsN Cj4gKwkJCQkJc2l6ZW9mKHN0cnVjdCBxYXRfZmxhdF9idWYpICoNCj4gKwkJCQkJUUFUX1BNRF9D T01QX1NHTF9ERUZfU0VHTUVOVFMsDQo+ICsJCQkJCTY0LCBzb2NrZXRfaWQpOw0KPiArDQo+ICsJ CWlmIChjb29raWUtPnFhdF9zZ2xfc3JjX2QgPT0gTlVMTCB8fA0KPiArCQkJCWNvb2tpZS0+cWF0 X3NnbF9kc3RfZCA9PSBOVUxMKSB7DQo+ICsJCQlRQVRfTE9HKEVSUiwgIkNhbid0IGFsbG9jYXRl IFNHTCINCj4gKwkJCQkgICAgICIgZm9yIGRldmljZSAlcyIsDQo+ICsJCQkJICAgICBxYXRfcHJp dmF0ZS0+cWF0X2Rldi0+bmFtZSk7DQo+ICsJCQlyZXR1cm4gLUVOT01FTTsNCj4gKwkJfQ0KPiAr DQo+ICAgCQljb29raWUtPnFhdF9zZ2xfc3JjX3BoeXNfYWRkciA9DQo+IC0JCQkJcnRlX21lbXBv b2xfdmlydDJpb3ZhKGNvb2tpZSkgKw0KPiAtCQkJCW9mZnNldG9mKHN0cnVjdCBxYXRfY29tcF9v cF9jb29raWUsDQo+IC0JCQkJcWF0X3NnbF9zcmMpOw0KPiArCQkJCXJ0ZV9tYWxsb2NfdmlydDJp b3ZhKGNvb2tpZS0+cWF0X3NnbF9zcmNfZCk7DQo+ICAgDQo+ICAgCQljb29raWUtPnFhdF9zZ2xf ZHN0X3BoeXNfYWRkciA9DQo+IC0JCQkJcnRlX21lbXBvb2xfdmlydDJpb3ZhKGNvb2tpZSkgKw0K PiAtCQkJCW9mZnNldG9mKHN0cnVjdCBxYXRfY29tcF9vcF9jb29raWUsDQo+IC0JCQkJcWF0X3Nn bF9kc3QpOw0KPiArCQkJCXJ0ZV9tYWxsb2NfdmlydDJpb3ZhKGNvb2tpZS0+cWF0X3NnbF9kc3Rf ZCk7DQo+ICsNCj4gKwkJY29va2llLT5kc3RfbmJfZWxlbXMgPSBjb29raWUtPnNyY19uYl9lbGVt cyA9DQo+ICsJCQkJUUFUX1BNRF9DT01QX1NHTF9ERUZfU0VHTUVOVFM7DQo+ICAgCX0NCj4gICAN Cj4gICAJcmV0dXJuIHJldDsNCg0K