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 5E080A0096 for ; Fri, 12 Apr 2019 13:03:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0EEC41B12D; Fri, 12 Apr 2019 13:01:58 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50040.outbound.protection.outlook.com [40.107.5.40]) by dpdk.org (Postfix) with ESMTP id 026905F2C for ; Fri, 12 Apr 2019 13:01:47 +0200 (CEST) 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=fcjELVAI2tp6iN6v5l0oNgfE+fOEp7TbWUkmCqAzhLE=; b=few4V84loWDFHO4xtIzsP8r5/v5QROwCXtHeDKBCArAXA/d8or0niXlCGEjTq0GVqezuVSt9ubJKwNy8nkuKyhnbGMBAWDsZpWJuP5WNDyLDygy22GZcuTj2M/CX+OW8uPCKOOXlTAsN/lMMxSKm+JhD9yOc5LspFmBVApB3NUI= Received: from VE1PR04MB6365.eurprd04.prod.outlook.com (10.255.118.78) by VE1PR04MB6384.eurprd04.prod.outlook.com (20.179.232.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.18; Fri, 12 Apr 2019 11:01:46 +0000 Received: from VE1PR04MB6365.eurprd04.prod.outlook.com ([fe80::f5ad:f178:4c55:13e0]) by VE1PR04MB6365.eurprd04.prod.outlook.com ([fe80::f5ad:f178:4c55:13e0%3]) with mapi id 15.20.1792.016; Fri, 12 Apr 2019 11:01:46 +0000 From: Gagandeep Singh To: "dev@dpdk.org" , "ferruh.yigit@intel.com" CC: Gagandeep Singh Thread-Topic: [PATCH v3 10/13] net/enetc: enable Rx-Tx queue start/stop feature Thread-Index: AQHU8R8e+oQ9Fpb6HEKwrNHsl1uLNg== Date: Fri, 12 Apr 2019 11:01:46 +0000 Message-ID: <20190412105105.24351-11-g.singh@nxp.com> References: <1555075598-4988-1-git-send-email-g.singh@nxp.com> <20190412105105.24351-1-g.singh@nxp.com> In-Reply-To: <20190412105105.24351-1-g.singh@nxp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: TYAPR01CA0204.jpnprd01.prod.outlook.com (2603:1096:404:29::24) To VE1PR04MB6365.eurprd04.prod.outlook.com (2603:10a6:803:12a::14) x-mailer: git-send-email 2.17.1 authentication-results: spf=none (sender IP is ) smtp.mailfrom=G.Singh@nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [92.120.1.68] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 75afa1d9-ac48-456f-ea86-08d6bf364103 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(4618075)(2017052603328)(7193020); SRVR:VE1PR04MB6384; x-ms-traffictypediagnostic: VE1PR04MB6384: x-microsoft-antispam-prvs: x-forefront-prvs: 0005B05917 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(366004)(396003)(376002)(346002)(39860400002)(189003)(199004)(8676002)(8936002)(14454004)(186003)(446003)(478600001)(476003)(11346002)(72206003)(81166006)(81156014)(50226002)(2616005)(66066001)(4326008)(2501003)(26005)(305945005)(2906002)(5660300002)(3846002)(6116002)(486006)(386003)(6506007)(7736002)(102836004)(1076003)(68736007)(99286004)(76176011)(14444005)(86362001)(6486002)(25786009)(97736004)(110136005)(6436002)(316002)(52116002)(105586002)(6512007)(256004)(71200400001)(71190400001)(106356001)(53936002)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:VE1PR04MB6384; H:VE1PR04MB6365.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A: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: zHd+K0ejoO8T0mq07DaC1p87knRhZ58m3g0BlwGJOs2R9qXE88i7BeB4X0XLIwUL/NxwbOK//oufFPrEgmwedtRjgCY1ywc8FiUdBYvPIGFDBldfHOtFMpLsLzEUD67uyre0iBKnUvAE3t/fpJLitYCGAHVxwcvhz4qEfQIhJqJxQKTTkx670GX9xCZLAaAh4ftQ4dc7e15IrbPlWfIy6JzJtXCWRO1EHgq4tm222p+9ecQ1rgKe0y917DrXXuu4doyVcK7u/VldAROSd2fvsg6oQ9vUShuWxEfC/wVGmus/HJm1nxpdCajEGl0mY3IRUCckaeREVI8DvUi/eyQb0zLmR/8vn/sbTVz5vfVdNpRU82uZy6+o5M2Ws26ZFkCpTO/MfZytz0wKOHLVFcWqq1Kh+Q7XgROZMzh9tAXsxo4= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 75afa1d9-ac48-456f-ea86-08d6bf364103 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Apr 2019 11:01:46.6773 (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: VE1PR04MB6384 Subject: [dpdk-dev] [PATCH v3 10/13] net/enetc: enable Rx-Tx queue start/stop feature 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: <20190412110146.PWI0ccxFHDMEaLBn5NKrM0MR-yZWVmqI-xGpzVU7V-s@z> UnggYW5kIFR4IHF1ZXVlIHN0YXJ0LXN0b3AgYW5kIGRlZmVycmVkIHF1ZXVlIHN0YXJ0DQpmZWF0 dXJlcyBlbmFibGVkLg0KDQpTaWduZWQtb2ZmLWJ5OiBHYWdhbmRlZXAgU2luZ2ggPGcuc2luZ2hA bnhwLmNvbT4NCi0tLQ0KIGRvYy9ndWlkZXMvbmljcy9lbmV0Yy5yc3QgICAgICAgICAgfCAgIDIg Kw0KIGRvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9lbmV0Yy5pbmkgfCAgIDEgKw0KIGRyaXZlcnMv bmV0L2VuZXRjL2VuZXRjX2V0aGRldi5jICAgfCAxODUgKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLQ0KIDMgZmlsZXMgY2hhbmdlZCwgMTM0IGluc2VydGlvbnMoKyksIDU0IGRl bGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9uaWNzL2VuZXRjLnJzdCBiL2Rv Yy9ndWlkZXMvbmljcy9lbmV0Yy5yc3QNCmluZGV4IGVlYjA3NTIuLjI2ZDYxZjYgMTAwNjQ0DQot LS0gYS9kb2MvZ3VpZGVzL25pY3MvZW5ldGMucnN0DQorKysgYi9kb2MvZ3VpZGVzL25pY3MvZW5l dGMucnN0DQpAQCAtNTAsNiArNTAsOCBAQCBFTkVUQyBGZWF0dXJlcw0KIC0gUHJvbWlzY3VvdXMN CiAtIE11bHRpY2FzdA0KIC0gSnVtYm8gcGFja2V0cw0KKy0gUXVldWUgU3RhcnQvU3RvcA0KKy0g RGVmZXJyZWQgUXVldWUgU3RhcnQNCiANCiBOSUMgRHJpdmVyIChQTUQpDQogfn5+fn5+fn5+fn5+ fn5+fg0KZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9lbmV0Yy5pbmkgYi9k b2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMvZW5ldGMuaW5pDQppbmRleCAwZWVkMmNiLi5iZDkwMWZh IDEwMDY0NA0KLS0tIGEvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2VuZXRjLmluaQ0KKysrIGIv ZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzL2VuZXRjLmluaQ0KQEAgLTExLDYgKzExLDcgQEAgUHJv bWlzY3VvdXMgbW9kZSAgICAgPSBZDQogQWxsbXVsdGljYXN0IG1vZGUgICAgPSBZDQogTVRVIHVw ZGF0ZSAgICAgICAgICAgPSBZDQogSnVtYm8gZnJhbWUgICAgICAgICAgPSBZDQorUXVldWUgc3Rh cnQvc3RvcCAgICAgPSBZDQogTGludXggVkZJTyAgICAgICAgICAgPSBZDQogQVJNdjggICAgICAg ICAgICAgICAgPSBZDQogVXNhZ2UgZG9jICAgICAgICAgICAgPSBZDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZW5ldGMvZW5ldGNfZXRoZGV2LmMgYi9kcml2ZXJzL25ldC9lbmV0Yy9lbmV0Y19l dGhkZXYuYw0KaW5kZXggNjZjYmY3NC4uZmY5MzAxZSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0 L2VuZXRjL2VuZXRjX2V0aGRldi5jDQorKysgYi9kcml2ZXJzL25ldC9lbmV0Yy9lbmV0Y19ldGhk ZXYuYw0KQEAgLTIwMyw3ICsyMDMsNiBAQA0KIGVuZXRjX3NldHVwX3R4YmRyKHN0cnVjdCBlbmV0 Y19odyAqaHcsIHN0cnVjdCBlbmV0Y19iZHIgKnR4X3JpbmcpDQogew0KIAlpbnQgaWR4ID0gdHhf cmluZy0+aW5kZXg7DQotCXVpbnQzMl90IHRibXI7DQogCXBoeXNfYWRkcl90IGJkX2FkZHJlc3M7 DQogDQogCWJkX2FkZHJlc3MgPSAocGh5c19hZGRyX3QpDQpAQCAtMjE1LDkgKzIxNCw2IEBADQog CWVuZXRjX3R4YmRyX3dyKGh3LCBpZHgsIEVORVRDX1RCTEVOUiwNCiAJCSAgICAgICBFTkVUQ19S VEJMRU5SX0xFTih0eF9yaW5nLT5iZF9jb3VudCkpOw0KIA0KLQl0Ym1yID0gRU5FVENfVEJNUl9F TjsNCi0JLyogZW5hYmxlIHJpbmcgKi8NCi0JZW5ldGNfdHhiZHJfd3IoaHcsIGlkeCwgRU5FVENf VEJNUiwgdGJtcik7DQogCWVuZXRjX3R4YmRyX3dyKGh3LCBpZHgsIEVORVRDX1RCQ0lSLCAwKTsN CiAJZW5ldGNfdHhiZHJfd3IoaHcsIGlkeCwgRU5FVENfVEJDSVNSLCAwKTsNCiAJdHhfcmluZy0+ dGNpciA9ICh2b2lkICopKChzaXplX3QpaHctPnJlZyArDQpAQCAtMjI3LDE2ICsyMjMsMjIgQEAN CiB9DQogDQogc3RhdGljIGludA0KLWVuZXRjX2FsbG9jX3R4X3Jlc291cmNlcyhzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwNCi0JCQkgdWludDE2X3QgcXVldWVfaWR4LA0KLQkJCSB1aW50MTZfdCBu Yl9kZXNjKQ0KK2VuZXRjX3R4X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0K KwkJICAgICB1aW50MTZfdCBxdWV1ZV9pZHgsDQorCQkgICAgIHVpbnQxNl90IG5iX2Rlc2MsDQor CQkgICAgIHVuc2lnbmVkIGludCBzb2NrZXRfaWQgX19ydGVfdW51c2VkLA0KKwkJICAgICBjb25z dCBzdHJ1Y3QgcnRlX2V0aF90eGNvbmYgKnR4X2NvbmYpDQogew0KLQlpbnQgZXJyOw0KKwlpbnQg ZXJyID0gMDsNCiAJc3RydWN0IGVuZXRjX2JkciAqdHhfcmluZzsNCiAJc3RydWN0IHJ0ZV9ldGhf ZGV2X2RhdGEgKmRhdGEgPSBkZXYtPmRhdGE7DQogCXN0cnVjdCBlbmV0Y19ldGhfYWRhcHRlciAq cHJpdiA9DQogCQkJRU5FVENfREVWX1BSSVZBVEUoZGF0YS0+ZGV2X3ByaXZhdGUpOw0KIA0KKwlQ TURfSU5JVF9GVU5DX1RSQUNFKCk7DQorCWlmIChuYl9kZXNjID4gTUFYX0JEX0NPVU5UKQ0KKwkJ cmV0dXJuIC0xOw0KKw0KIAl0eF9yaW5nID0gcnRlX3ptYWxsb2MoTlVMTCwgc2l6ZW9mKHN0cnVj dCBlbmV0Y19iZHIpLCAwKTsNCiAJaWYgKHR4X3JpbmcgPT0gTlVMTCkgew0KIAkJRU5FVENfUE1E X0VSUigiRmFpbGVkIHRvIGFsbG9jYXRlIFRYIHJpbmcgbWVtb3J5Iik7DQpAQCAtMjUzLDYgKzI1 NSwxNyBAQA0KIAllbmV0Y19zZXR1cF90eGJkcigmcHJpdi0+aHcuaHcsIHR4X3JpbmcpOw0KIAlk YXRhLT50eF9xdWV1ZXNbcXVldWVfaWR4XSA9IHR4X3Jpbmc7DQogDQorCWlmICghdHhfY29uZi0+ dHhfZGVmZXJyZWRfc3RhcnQpIHsNCisJCS8qIGVuYWJsZSByaW5nICovDQorCQllbmV0Y190eGJk cl93cigmcHJpdi0+aHcuaHcsIHR4X3JpbmctPmluZGV4LA0KKwkJCSAgICAgICBFTkVUQ19UQk1S LCBFTkVUQ19UQk1SX0VOKTsNCisJCWRldi0+ZGF0YS0+dHhfcXVldWVfc3RhdGVbdHhfcmluZy0+ aW5kZXhdID0NCisJCQkgICAgICAgUlRFX0VUSF9RVUVVRV9TVEFURV9TVEFSVEVEOw0KKwl9IGVs c2Ugew0KKwkJZGV2LT5kYXRhLT50eF9xdWV1ZV9zdGF0ZVt0eF9yaW5nLT5pbmRleF0gPQ0KKwkJ CSAgICAgICBSVEVfRVRIX1FVRVVFX1NUQVRFX1NUT1BQRUQ7DQorCX0NCisNCiAJcmV0dXJuIDA7 DQogZmFpbDoNCiAJcnRlX2ZyZWUodHhfcmluZyk7DQpAQCAtMjYwLDI0ICsyNzMsNiBAQA0KIAly ZXR1cm4gZXJyOw0KIH0NCiANCi1zdGF0aWMgaW50DQotZW5ldGNfdHhfcXVldWVfc2V0dXAoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQotCQkgICAgIHVpbnQxNl90IHF1ZXVlX2lkeCwNCi0JCSAg ICAgdWludDE2X3QgbmJfZGVzYywNCi0JCSAgICAgdW5zaWduZWQgaW50IHNvY2tldF9pZCBfX3J0 ZV91bnVzZWQsDQotCQkgICAgIGNvbnN0IHN0cnVjdCBydGVfZXRoX3R4Y29uZiAqdHhfY29uZiBf X3J0ZV91bnVzZWQpDQotew0KLQlpbnQgZXJyID0gMDsNCi0NCi0JUE1EX0lOSVRfRlVOQ19UUkFD RSgpOw0KLQlpZiAobmJfZGVzYyA+IE1BWF9CRF9DT1VOVCkNCi0JCXJldHVybiAtMTsNCi0NCi0J ZXJyID0gZW5ldGNfYWxsb2NfdHhfcmVzb3VyY2VzKGRldiwgcXVldWVfaWR4LCBuYl9kZXNjKTsN Ci0NCi0JcmV0dXJuIGVycjsNCi19DQotDQogc3RhdGljIHZvaWQNCiBlbmV0Y190eF9xdWV1ZV9y ZWxlYXNlKHZvaWQgKnR4cSkNCiB7DQpAQCAtMzY3LDIzICszNjIsMjcgQEANCiAJYnVmX3NpemUg PSAodWludDE2X3QpKHJ0ZV9wa3RtYnVmX2RhdGFfcm9vbV9zaXplKHJ4X3JpbmctPm1iX3Bvb2wp IC0NCiAJCSAgIFJURV9QS1RNQlVGX0hFQURST09NKTsNCiAJZW5ldGNfcnhiZHJfd3IoaHcsIGlk eCwgRU5FVENfUkJCU1IsIGJ1Zl9zaXplKTsNCi0JLyogZW5hYmxlIHJpbmcgKi8NCi0JZW5ldGNf cnhiZHJfd3IoaHcsIGlkeCwgRU5FVENfUkJNUiwgRU5FVENfUkJNUl9FTik7DQogCWVuZXRjX3J4 YmRyX3dyKGh3LCBpZHgsIEVORVRDX1JCUElSLCAwKTsNCiB9DQogDQogc3RhdGljIGludA0KLWVu ZXRjX2FsbG9jX3J4X3Jlc291cmNlcyhzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCi0JCQkgdWlu dDE2X3QgcnhfcXVldWVfaWQsDQotCQkJIHVpbnQxNl90IG5iX3J4X2Rlc2MsDQotCQkJIHN0cnVj dCBydGVfbWVtcG9vbCAqbWJfcG9vbCkNCitlbmV0Y19yeF9xdWV1ZV9zZXR1cChzdHJ1Y3QgcnRl X2V0aF9kZXYgKmRldiwNCisJCSAgICAgdWludDE2X3QgcnhfcXVldWVfaWQsDQorCQkgICAgIHVp bnQxNl90IG5iX3J4X2Rlc2MsDQorCQkgICAgIHVuc2lnbmVkIGludCBzb2NrZXRfaWQgX19ydGVf dW51c2VkLA0KKwkJICAgICBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYsDQor CQkgICAgIHN0cnVjdCBydGVfbWVtcG9vbCAqbWJfcG9vbCkNCiB7DQotCWludCBlcnI7DQorCWlu dCBlcnIgPSAwOw0KIAlzdHJ1Y3QgZW5ldGNfYmRyICpyeF9yaW5nOw0KIAlzdHJ1Y3QgcnRlX2V0 aF9kZXZfZGF0YSAqZGF0YSA9ICBkZXYtPmRhdGE7DQogCXN0cnVjdCBlbmV0Y19ldGhfYWRhcHRl ciAqYWRhcHRlciA9DQogCQkJRU5FVENfREVWX1BSSVZBVEUoZGF0YS0+ZGV2X3ByaXZhdGUpOw0K IA0KKwlQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQorCWlmIChuYl9yeF9kZXNjID4gTUFYX0JEX0NP VU5UKQ0KKwkJcmV0dXJuIC0xOw0KKw0KIAlyeF9yaW5nID0gcnRlX3ptYWxsb2MoTlVMTCwgc2l6 ZW9mKHN0cnVjdCBlbmV0Y19iZHIpLCAwKTsNCiAJaWYgKHJ4X3JpbmcgPT0gTlVMTCkgew0KIAkJ RU5FVENfUE1EX0VSUigiRmFpbGVkIHRvIGFsbG9jYXRlIFJYIHJpbmcgbWVtb3J5Iik7DQpAQCAt NDAwLDYgKzM5OSwxNyBAQA0KIAllbmV0Y19zZXR1cF9yeGJkcigmYWRhcHRlci0+aHcuaHcsIHJ4 X3JpbmcsIG1iX3Bvb2wpOw0KIAlkYXRhLT5yeF9xdWV1ZXNbcnhfcXVldWVfaWRdID0gcnhfcmlu ZzsNCiANCisJaWYgKCFyeF9jb25mLT5yeF9kZWZlcnJlZF9zdGFydCkgew0KKwkJLyogZW5hYmxl IHJpbmcgKi8NCisJCWVuZXRjX3J4YmRyX3dyKCZhZGFwdGVyLT5ody5odywgcnhfcmluZy0+aW5k ZXgsIEVORVRDX1JCTVIsDQorCQkJICAgICAgIEVORVRDX1JCTVJfRU4pOw0KKwkJZGV2LT5kYXRh LT5yeF9xdWV1ZV9zdGF0ZVtyeF9yaW5nLT5pbmRleF0gPQ0KKwkJCSAgICAgICBSVEVfRVRIX1FV RVVFX1NUQVRFX1NUQVJURUQ7DQorCX0gZWxzZSB7DQorCQlkZXYtPmRhdGEtPnJ4X3F1ZXVlX3N0 YXRlW3J4X3JpbmctPmluZGV4XSA9DQorCQkJICAgICAgIFJURV9FVEhfUVVFVUVfU1RBVEVfU1RP UFBFRDsNCisJfQ0KKw0KIAlyZXR1cm4gMDsNCiBmYWlsOg0KIAlydGVfZnJlZShyeF9yaW5nKTsN CkBAIC00MDcsMjcgKzQxNyw2IEBADQogCXJldHVybiBlcnI7DQogfQ0KIA0KLXN0YXRpYyBpbnQN Ci1lbmV0Y19yeF9xdWV1ZV9zZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCi0JCSAgICAg dWludDE2X3QgcnhfcXVldWVfaWQsDQotCQkgICAgIHVpbnQxNl90IG5iX3J4X2Rlc2MsDQotCQkg ICAgIHVuc2lnbmVkIGludCBzb2NrZXRfaWQgX19ydGVfdW51c2VkLA0KLQkJICAgICBjb25zdCBz dHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYgX19ydGVfdW51c2VkLA0KLQkJICAgICBzdHJ1 Y3QgcnRlX21lbXBvb2wgKm1iX3Bvb2wpDQotew0KLQlpbnQgZXJyID0gMDsNCi0NCi0JUE1EX0lO SVRfRlVOQ19UUkFDRSgpOw0KLQlpZiAobmJfcnhfZGVzYyA+IE1BWF9CRF9DT1VOVCkNCi0JCXJl dHVybiAtMTsNCi0NCi0JZXJyID0gZW5ldGNfYWxsb2NfcnhfcmVzb3VyY2VzKGRldiwgcnhfcXVl dWVfaWQsDQotCQkJCSAgICAgICBuYl9yeF9kZXNjLA0KLQkJCQkgICAgICAgbWJfcG9vbCk7DQot DQotCXJldHVybiBlcnI7DQotfQ0KLQ0KIHN0YXRpYyB2b2lkDQogZW5ldGNfcnhfcXVldWVfcmVs ZWFzZSh2b2lkICpyeHEpDQogew0KQEAgLTY2MSw2ICs2NTAsOTAgQEAgaW50IGVuZXRjX3N0YXRz X2dldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwNCiAJcmV0dXJuIDA7DQogfQ0KIA0KK3N0YXRp YyBpbnQNCitlbmV0Y19yeF9xdWV1ZV9zdGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgdWlu dDE2X3QgcWlkeCkNCit7DQorCXN0cnVjdCBlbmV0Y19ldGhfYWRhcHRlciAqcHJpdiA9DQorCQkJ RU5FVENfREVWX1BSSVZBVEUoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQorCXN0cnVjdCBlbmV0 Y19iZHIgKnJ4X3Jpbmc7DQorCXVpbnQzMl90IHJ4X2RhdGE7DQorDQorCXJ4X3JpbmcgPSBkZXYt PmRhdGEtPnJ4X3F1ZXVlc1txaWR4XTsNCisJaWYgKGRldi0+ZGF0YS0+cnhfcXVldWVfc3RhdGVb cWlkeF0gPT0gUlRFX0VUSF9RVUVVRV9TVEFURV9TVE9QUEVEKSB7DQorCQlyeF9kYXRhID0gZW5l dGNfcnhiZHJfcmQoJnByaXYtPmh3Lmh3LCByeF9yaW5nLT5pbmRleCwNCisJCQkJCSBFTkVUQ19S Qk1SKTsNCisJCXJ4X2RhdGEgPSByeF9kYXRhIHwgRU5FVENfUkJNUl9FTjsNCisJCWVuZXRjX3J4 YmRyX3dyKCZwcml2LT5ody5odywgcnhfcmluZy0+aW5kZXgsIEVORVRDX1JCTVIsDQorCQkJICAg ICAgIHJ4X2RhdGEpOw0KKwkJZGV2LT5kYXRhLT5yeF9xdWV1ZV9zdGF0ZVtxaWR4XSA9IFJURV9F VEhfUVVFVUVfU1RBVEVfU1RBUlRFRDsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIGludA0KK2VuZXRjX3J4X3F1ZXVlX3N0b3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVp bnQxNl90IHFpZHgpDQorew0KKwlzdHJ1Y3QgZW5ldGNfZXRoX2FkYXB0ZXIgKnByaXYgPQ0KKwkJ CUVORVRDX0RFVl9QUklWQVRFKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKwlzdHJ1Y3QgZW5l dGNfYmRyICpyeF9yaW5nOw0KKwl1aW50MzJfdCByeF9kYXRhOw0KKw0KKwlyeF9yaW5nID0gZGV2 LT5kYXRhLT5yeF9xdWV1ZXNbcWlkeF07DQorCWlmIChkZXYtPmRhdGEtPnJ4X3F1ZXVlX3N0YXRl W3FpZHhdID09IFJURV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRCkgew0KKwkJcnhfZGF0YSA9IGVu ZXRjX3J4YmRyX3JkKCZwcml2LT5ody5odywgcnhfcmluZy0+aW5kZXgsDQorCQkJCQkgRU5FVENf UkJNUik7DQorCQlyeF9kYXRhID0gcnhfZGF0YSAmICh+RU5FVENfUkJNUl9FTik7DQorCQllbmV0 Y19yeGJkcl93cigmcHJpdi0+aHcuaHcsIHJ4X3JpbmctPmluZGV4LCBFTkVUQ19SQk1SLA0KKwkJ CSAgICAgICByeF9kYXRhKTsNCisJCWRldi0+ZGF0YS0+cnhfcXVldWVfc3RhdGVbcWlkeF0gPSBS VEVfRVRIX1FVRVVFX1NUQVRFX1NUT1BQRUQ7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0K K3N0YXRpYyBpbnQNCitlbmV0Y190eF9xdWV1ZV9zdGFydChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl diwgdWludDE2X3QgcWlkeCkNCit7DQorCXN0cnVjdCBlbmV0Y19ldGhfYWRhcHRlciAqcHJpdiA9 DQorCQkJRU5FVENfREVWX1BSSVZBVEUoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQorCXN0cnVj dCBlbmV0Y19iZHIgKnR4X3Jpbmc7DQorCXVpbnQzMl90IHR4X2RhdGE7DQorDQorCXR4X3Jpbmcg PSBkZXYtPmRhdGEtPnR4X3F1ZXVlc1txaWR4XTsNCisJaWYgKGRldi0+ZGF0YS0+dHhfcXVldWVf c3RhdGVbcWlkeF0gPT0gUlRFX0VUSF9RVUVVRV9TVEFURV9TVE9QUEVEKSB7DQorCQl0eF9kYXRh ID0gZW5ldGNfdHhiZHJfcmQoJnByaXYtPmh3Lmh3LCB0eF9yaW5nLT5pbmRleCwNCisJCQkJCSBF TkVUQ19UQk1SKTsNCisJCXR4X2RhdGEgPSB0eF9kYXRhIHwgRU5FVENfVEJNUl9FTjsNCisJCWVu ZXRjX3R4YmRyX3dyKCZwcml2LT5ody5odywgdHhfcmluZy0+aW5kZXgsIEVORVRDX1RCTVIsDQor CQkJICAgICAgIHR4X2RhdGEpOw0KKwkJZGV2LT5kYXRhLT50eF9xdWV1ZV9zdGF0ZVtxaWR4XSA9 IFJURV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRDsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGludA0KK2VuZXRjX3R4X3F1ZXVlX3N0b3Aoc3RydWN0IHJ0ZV9ldGhfZGV2ICpk ZXYsIHVpbnQxNl90IHFpZHgpDQorew0KKwlzdHJ1Y3QgZW5ldGNfZXRoX2FkYXB0ZXIgKnByaXYg PQ0KKwkJCUVORVRDX0RFVl9QUklWQVRFKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKwlzdHJ1 Y3QgZW5ldGNfYmRyICp0eF9yaW5nOw0KKwl1aW50MzJfdCB0eF9kYXRhOw0KKw0KKwl0eF9yaW5n ID0gZGV2LT5kYXRhLT50eF9xdWV1ZXNbcWlkeF07DQorCWlmIChkZXYtPmRhdGEtPnR4X3F1ZXVl X3N0YXRlW3FpZHhdID09IFJURV9FVEhfUVVFVUVfU1RBVEVfU1RBUlRFRCkgew0KKwkJdHhfZGF0 YSA9IGVuZXRjX3R4YmRyX3JkKCZwcml2LT5ody5odywgdHhfcmluZy0+aW5kZXgsDQorCQkJCQkg RU5FVENfVEJNUik7DQorCQl0eF9kYXRhID0gdHhfZGF0YSAmICh+RU5FVENfVEJNUl9FTik7DQor CQllbmV0Y190eGJkcl93cigmcHJpdi0+aHcuaHcsIHR4X3JpbmctPmluZGV4LCBFTkVUQ19UQk1S LA0KKwkJCSAgICAgICB0eF9kYXRhKTsNCisJCWRldi0+ZGF0YS0+dHhfcXVldWVfc3RhdGVbcWlk eF0gPSBSVEVfRVRIX1FVRVVFX1NUQVRFX1NUT1BQRUQ7DQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KIC8qDQogICogVGhlIHNldCBvZiBQQ0kgZGV2aWNlcyB0aGlzIGRyaXZlciBzdXBwb3J0 cw0KICAqLw0KQEAgLTY4Niw4ICs3NTksMTIgQEAgaW50IGVuZXRjX3N0YXRzX2dldChzdHJ1Y3Qg cnRlX2V0aF9kZXYgKmRldiwNCiAJLmRldl9pbmZvc19nZXQgICAgICAgID0gZW5ldGNfZGV2X2lu Zm9zX2dldCwNCiAJLm10dV9zZXQgICAgICAgICAgICAgID0gZW5ldGNfbXR1X3NldCwNCiAJLnJ4 X3F1ZXVlX3NldHVwICAgICAgID0gZW5ldGNfcnhfcXVldWVfc2V0dXAsDQorCS5yeF9xdWV1ZV9z dGFydCAgICAgICA9IGVuZXRjX3J4X3F1ZXVlX3N0YXJ0LA0KKwkucnhfcXVldWVfc3RvcCAgICAg ICAgPSBlbmV0Y19yeF9xdWV1ZV9zdG9wLA0KIAkucnhfcXVldWVfcmVsZWFzZSAgICAgPSBlbmV0 Y19yeF9xdWV1ZV9yZWxlYXNlLA0KIAkudHhfcXVldWVfc2V0dXAgICAgICAgPSBlbmV0Y190eF9x dWV1ZV9zZXR1cCwNCisJLnR4X3F1ZXVlX3N0YXJ0ICAgICAgID0gZW5ldGNfdHhfcXVldWVfc3Rh cnQsDQorCS50eF9xdWV1ZV9zdG9wICAgICAgICA9IGVuZXRjX3R4X3F1ZXVlX3N0b3AsDQogCS50 eF9xdWV1ZV9yZWxlYXNlICAgICA9IGVuZXRjX3R4X3F1ZXVlX3JlbGVhc2UsDQogCS5kZXZfc3Vw cG9ydGVkX3B0eXBlc19nZXQgPSBlbmV0Y19zdXBwb3J0ZWRfcHR5cGVzX2dldCwNCiB9Ow0KLS0g DQoxLjkuMQ0KDQo=