From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A0684A0540; Thu, 16 Jul 2020 03:39:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 14EA91BE95; Thu, 16 Jul 2020 03:39:03 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 6D2822C4F for ; Thu, 16 Jul 2020 03:39:00 +0200 (CEST) IronPort-SDR: qsn5pi3NtkbUyW4JU69gzPSCzLuZVHB61NzaVSVaCCXHB4inGqhH0W5oTJzbibeTxuroi++ELb 6JS7Z1Ay6DZQ== X-IronPort-AV: E=McAfee;i="6000,8403,9683"; a="234159138" X-IronPort-AV: E=Sophos;i="5.75,357,1589266800"; d="scan'208";a="234159138" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2020 18:38:59 -0700 IronPort-SDR: aGbRDvXSXeAZUpeXFqXW5qAHjs7naF175xlXWRAFZLBMmo7U+G+pasNpRYrfDZgORRx+aJm6hq j27kbShkT8OA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,357,1589266800"; d="scan'208";a="460294570" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga005.jf.intel.com with ESMTP; 15 Jul 2020 18:38:58 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 15 Jul 2020 18:38:55 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 15 Jul 2020 18:38:55 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 15 Jul 2020 18:38:55 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dHTOUpg+P6wexVg6hJoLr+Aqyi34HIcfMt2MDsYRB50fq6C3UHFdQQUCHd++2sUzVLX2vGppeJTrtJVF4wQUlogk8YehUtfjrvpCAGrIJkf3oYNNCVSNyQimu9QD/2fwoZzrhmkd4Zg4ejhatX573l/JRbqpVIq7q1zOEmYkz9topVbhOKLdRVjaDLl7NplzeFCGzTur024W7wzik9/g9d8beNRJHbiuJDhV31pKRrkyRyTsJKqbl7TaUYVO2bp5id21vk6Js1csbOs+4SdHv9tsPytN/R5e1AaJoJI/bSEXcX7FDMyeHycCuSAz0VpikhG+gQjdrt9HU8/wxMYpGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=chaTDZwwDHrkrKzZ638LeATuw3DUeyAWeuFuCwZwyhc=; b=ePwIw1IaFC01WC/QAsaDX94MWotOdA7sRj/Uakv9ttYxDmcStOknT7MLelzISSm7Tmm52lhNQ6GH29M5PYIvQamfz1gkDnyjpkHEnsSRJRV53aeiW/Rm+4JZpAxjvBqx+hKmJTWXey9WrqOmhZt51kvsZ3SHkKfsAMwXfTuekvhSdtEFrL6GoRRWkruM3a7QD1of//xOfgyuKgCj4vYBNYLF85B+Dfm9RIxMcvsM6bci4b8WQVd8mkMnvbgwIoUERoSaBhBaktxXtj71kjwqK8QvG6/bItcYyxMtMSBKyc5ngdidqp2HskBBy/DJ9QpU6tvMQMD58wnBOeGPBHNfzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=chaTDZwwDHrkrKzZ638LeATuw3DUeyAWeuFuCwZwyhc=; b=RcfaTaSI4VJWqddnpIfkoijh222UKRfAKMdK0vaQ4mPcaY/IvtzhiOQcESJyrI1DGGxR27+Mpk5kLKW+i0dO7qXDTe/Cl9Sca1TjWoCJCeSLYml30GWJHR7alyxETW8Jrgx2BDIjISpC1IWqr5rNC5W3EyNkKPz8a5EYE5hLAOo= Received: from SN6PR11MB2960.namprd11.prod.outlook.com (2603:10b6:805:d4::12) by SN6PR11MB3023.namprd11.prod.outlook.com (2603:10b6:805:d3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3195.17; Thu, 16 Jul 2020 01:38:52 +0000 Received: from SN6PR11MB2960.namprd11.prod.outlook.com ([fe80::20d6:bb89:9836:e68a]) by SN6PR11MB2960.namprd11.prod.outlook.com ([fe80::20d6:bb89:9836:e68a%7]) with mapi id 15.20.3174.025; Thu, 16 Jul 2020 01:38:52 +0000 From: "Zhang, AlvinX" To: "Guo, Jia" CC: "dev@dpdk.org" , "Xing, Beilei" Thread-Topic: [PATCH v3] net/i40e: fix modify the number of qps in VF Thread-Index: AQHWWpEbrrW3tYQY5k2fk6EI3y2oSakJblrg Date: Thu, 16 Jul 2020 01:38:52 +0000 Message-ID: References: <20200702032610.11076-1-alvinx.zhang@intel.com> <20200715072811.12592-1-alvinx.zhang@intel.com> <09d6bb96-caca-ca53-f5f9-7d6f1dc9b195@intel.com> In-Reply-To: <09d6bb96-caca-ca53-f5f9-7d6f1dc9b195@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.46] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 416d931d-91b1-47d3-891c-08d82928feeb x-ms-traffictypediagnostic: SN6PR11MB3023: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OqNGEq7ZP2t7aoFk0WfNkkO9kYUyxqZ3z0o+ao7A4l8FLYSDmjGrz2UKNDHLLALvjYyFHC5/wwZNX9adoKNd81iUuRggJBZhDbrd7JLsIvNsSGWqVoihjHsBGF04n0635r05WRkiMtucjX3SY/DQ9x8+11N2v4T7E7nP2WyyukBPG225PHijZFsh1mostSRY/bQSOPzQw2c2/Tl53rO3f71hLVS4dS1pwdbfJCQQSBqxOnUep07NCuxs0wS/8PMeCfqy033YUV0hDY3kMbw9sH2m8ACMQpNTUrychiDzSxK48CUXAVPmQOdTyvZ40kSgblR1i1N39QNuo37BXe7feA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB2960.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(366004)(396003)(136003)(376002)(66446008)(5660300002)(64756008)(76116006)(71200400001)(52536014)(33656002)(83380400001)(478600001)(8936002)(54906003)(9686003)(8676002)(55016002)(7696005)(86362001)(66946007)(66476007)(66556008)(6636002)(26005)(53546011)(6862004)(4326008)(186003)(316002)(2906002)(6506007)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: 0U9WSC8jiFF3uYVMR1x7S78941lrjo1GQ596XjniE6jLWfMu4wYAtHlVoeKuhU1B9j+KMNNhulP5YT80ml3fidjGzo2wOGAZPVcbOgDUp2GlSi5qgW72ICJyq8C3dh7MWHmp+3kx0d8EaY42catFCdZ3Zb0+3yeRUCZAanxrKkr0KRU9+xXqmo8ERtoSKvpmOasuDIiVK0FKjTByyys0yfH/WuZoRBxSK/w7YAnmtToAliL44pyO9krs9x+GjnLbaV6r23e0gaaSwBf2MT73Y6Qd2khiYgEZMRPV4VSkIP/AMXf3NkyOxAcirpXCXQZ1HXTfkYcRDOBWAQD9Tbhcj+/ZRMsKK3chsx7O/xLlMRVjlKtqXXQapvxIqV2cydhi4RY6wJJP6faFwikmsvR90tO2MfZvo0f1lYNTcXye0mytCOFW9jODdMAqDQbk84OYuKGdHpMNLCWy80ArvkLxIW8Wp0PzBymzwqsMTO3XpUU= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2960.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 416d931d-91b1-47d3-891c-08d82928feeb X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2020 01:38:52.4035 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UX9sg4VU9yoXEYgFaPb41NjIMCjZnLq9Ycn+ClSOVprnRk75EruThsHsVWjOHdAwEY9rQrRC2iLWAyF3cukeqg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3023 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v3] net/i40e: fix modify the number of qps in VF 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" SGkgR3VvamlhLA0KDQpUaGFua3MgYSBsb3QuDQpJJ2xsIHVwZGF0ZSBpdC4NCg0KQlIsDQpBbHZp bg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEd1bywgSmlhIDxqaWEu Z3VvQGludGVsLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDE1LCAyMDIwIDY6MTcgUE0N Cj4gVG86IFpoYW5nLCBBbHZpblggPGFsdmlueC56aGFuZ0BpbnRlbC5jb20+DQo+IENjOiBkZXZA ZHBkay5vcmc7IFhpbmcsIEJlaWxlaSA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW1BBVENIIHYzXSBuZXQvaTQwZTogZml4IG1vZGlmeSB0aGUgbnVtYmVyIG9mIHFwcyBp biBWRg0KPiANCj4gaGksIGFsdmluDQo+IA0KPiBUaGUgcHJvY2Vzc2luZyBvZiB0aGUgcXVldWUg cGFpcnMgY29uZmlndXJlIGxvb2tzIGJldHRlciB0aGFuIHByaW9yIHZlcnNpb24sIGJ1dA0KPiBz dGlsbCBoYXZlIHNvbWUgY29tbWVudC4NCj4gDQo+IE9uIDcvMTUvMjAyMCAzOjI4IFBNLCBhbHZp bnguemhhbmdAaW50ZWwuY29tIHdyb3RlOg0KPiA+IEZyb206IEFsdmluIFpoYW5nIDxhbHZpbngu emhhbmdAaW50ZWwuY29tPg0KPiA+DQo+ID4gSWYgYSBWRiByZXF1ZXN0IFBGIHRvIGFsbG9jYXRl IG1vcmUgbnVtYmVyIG9mIHF1ZXVlIHBhaXJzLCB0aGUgUEYgd2lsbA0KPiA+IGZyZWUgdGhlIHF1 ZXVlIHBhaXJzIHdoaWNoIGhhdmUgYmVlbiBhbGxvY2F0ZWQgYW5kIHJlc2V0IHRoZSBWRi4gU28s DQo+ID4gVkYgc2hvdWxkIHN0b3AgdG8gd29yayB1bnRpbCBhbGwgdGhlIHByb2Nlc3MgaXMgZG9u ZS4gVGhpcyBwYXRjaA0KPiA+IG1vZGlmeSB0aGUgcHJvY2VzcyBvZiB0aGUgcmVxdWVzdCBxdWV1 ZSBwYWlycy4gVG8gaW1wcm92ZSBlZmZpY2llbmN5DQo+ID4gYW5kIGVsaW1pbmF0ZSBjb2RlIHJl ZHVuZGFuY3ksIHRoZSBwcm9taXNjdW91cyBvcHMgd2VyZSBhbHNvIHVwZGF0ZWQuDQo+ID4NCj4g PiBGaXhlczogYzQ4ZWIzMDhlZDEzICgibmV0L2k0MGU6IHN1cHBvcnQgVkYgcmVxdWVzdCBtb3Jl IHF1ZXVlcyIpDQo+ID4gQ2M6IHN0YWJsZUBkcGRrLm9yZw0KPiA+DQo+ID4gU2lnbmVkLW9mZi1i eTogQWx2aW4gWmhhbmcgPGFsdmlueC56aGFuZ0BpbnRlbC5jb20+DQo+ID4gLS0tDQo+ID4NCj4g PiBWMjogVXBkYXRlIGdpdCBsb2cgYW5kIG1vZGlmeSBjb2RlcyBhY2NvcmRpbmcgdG8gY29tbWVu dHMuDQo+ID4gVjM6IEFsbCB0aGUgY29kZSB3YXMgcmVmYWN0b3JlZC4NCj4gPiAtLS0NCj4gPiAg IGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXZfdmYuYyB8IDEwOQ0KPiArKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDU5IGluc2Vy dGlvbnMoKyksIDUwIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXZfdmYuYw0KPiA+IGIvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldl92Zi5jDQo+ID4gaW5kZXggZWNhNzE2YS4uNzU4ZDQ0NCAxMDA2NDQNCj4gPiAtLS0gYS9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2X3ZmLmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2X3ZmLmMNCj4gPiBAQCAtOTEsNyArOTEsOCBAQCBzdGF0aWMgaW50IGk0 MGV2Zl92bGFuX2ZpbHRlcl9zZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4gICAJCQkJ ICB1aW50MTZfdCB2bGFuX2lkLCBpbnQgb24pOw0KPiA+ICAgc3RhdGljIGludCBpNDBldmZfdmxh bl9vZmZsb2FkX3NldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwgaW50IG1hc2spOw0KPiA+ICAg c3RhdGljIHZvaWQgaTQwZXZmX2Rldl9jbG9zZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7IC1z dGF0aWMgaW50DQo+ID4gaTQwZXZmX2Rldl9yZXNldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7 DQo+ID4gK3N0YXRpYyBpbnQgaTQwZXZmX2Rldl9yZXNldChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dik7IHN0YXRpYyBpbnQNCj4gPiAraTQwZXZmX2NoZWNrX3ZmX3Jlc2V0X2RvbmUoc3RydWN0IHJ0 ZV9ldGhfZGV2ICpkZXYpOw0KPiA+ICAgc3RhdGljIGludCBpNDBldmZfZGV2X3Byb21pc2N1b3Vz X2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ID4gICBzdGF0aWMgaW50IGk0MGV2 Zl9kZXZfcHJvbWlzY3VvdXNfZGlzYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldik7DQo+ID4g ICBzdGF0aWMgaW50IGk0MGV2Zl9kZXZfYWxsbXVsdGljYXN0X2VuYWJsZShzdHJ1Y3QgcnRlX2V0 aF9kZXYgKmRldik7DQo+ID4gQEAgLTUxOSwxMCArNTIwLDE3IEBAIHN0cnVjdCBydGVfaTQwZXZm X3hzdGF0c19uYW1lX29mZiB7DQo+ID4NCj4gPiAgIAllcnIgPSBpNDBldmZfZXhlY3V0ZV92Zl9j bWQoZGV2LCAmYXJncyk7DQo+ID4NCj4gPiAtCWlmIChlcnIpDQo+ID4gLQkJUE1EX0RSVl9MT0co RVJSLCAiZmFpbCB0byBleGVjdXRlIGNvbW1hbmQgIg0KPiA+IC0JCQkgICAgIkNPTkZJR19QUk9N SVNDVU9VU19NT0RFIik7DQo+ID4gLQlyZXR1cm4gZXJyOw0KPiA+ICsJaWYgKGVycikgew0KPiA+ ICsJCWlmIChlcnIgPT0gSTQwRV9OT1RfU1VQUE9SVEVEKQ0KPiA+ICsJCQlyZXR1cm4gLUVOT1RT VVA7DQo+ID4gKw0KPiA+ICsJCVBNRF9EUlZfTE9HKEVSUiwgIkZhaWxlZCB0byBzZXQgcHJvbWlz Y3VvdXMgbW9kZSIpOw0KPiA+ICsJCXJldHVybiAtRUFHQUlOOw0KPiANCj4gDQo+IEkgdGhpbmsg YmVsb3cgaXMgYmV0dGVyLCBwbGVhc2UgdHJ5IHRvIGtlZXAgdGhlIGxvZyBhbGlnbiBpbiBkcml2 ZXIgaWYgdGhlcmUgaXMgbm8NCj4gc3BlY2lhbCByZWFzb24uDQo+IA0KPiAJaWYgKGVycikgew0K PiAJCVBNRF9EUlZfTE9HKEVSUiwgImZhaWwgdG8gZXhlY3V0ZSBjb21tYW5kICINCj4gCQkJICAg ICJDT05GSUdfUFJPTUlTQ1VPVVNfTU9ERSIpOw0KPiANCj4gCQlpZiAoZXJyID09IEk0MEVfTk9U X1NVUFBPUlRFRCkNCj4gCQkJcmV0dXJuIC1FTk9UU1VQOw0KPiAJCWVsc2UNCj4gCQkJcmV0dXJu IC1FQUdBSU47DQo+IA0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXZmLT5wcm9taXNjX3VuaWNhc3Rf ZW5hYmxlZCA9IGVuYWJsZV91bmljYXN0Ow0KPiA+ICsJdmYtPnByb21pc2NfbXVsdGljYXN0X2Vu YWJsZWQgPSBlbmFibGVfbXVsdGljYXN0Ow0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gICB9DQo+ID4N Cj4gPiAgIHN0YXRpYyBpbnQNCj4gPiBAQCAtMTA4MSwxMiArMTA4OSwzMSBAQCBzdGF0aWMgaW50 IGk0MGV2Zl9kZXZfeHN0YXRzX2dldChzdHJ1Y3QNCj4gcnRlX2V0aF9kZXYgKmRldiwNCj4gPiAg IAlhcmdzLm91dF9zaXplID0gSTQwRV9BUV9CVUZfU1o7DQo+ID4NCj4gPiAgIAlydGVfZWFsX2Fs YXJtX2NhbmNlbChpNDBldmZfZGV2X2FsYXJtX2hhbmRsZXIsIGRldik7DQo+ID4gKw0KPiA+ICAg CWVyciA9IGk0MGV2Zl9leGVjdXRlX3ZmX2NtZChkZXYsICZhcmdzKTsNCj4gPiAtCWlmIChlcnIp DQo+ID4gKwlpZiAoZXJyICE9IEk0MEVfU1VDQ0VTUykgew0KPiA+ICsJCXJ0ZV9lYWxfYWxhcm1f c2V0KEk0MEVWRl9BTEFSTV9JTlRFUlZBTCwNCj4gPiArCQkJCSAgaTQwZXZmX2Rldl9hbGFybV9o YW5kbGVyLCBkZXYpOw0KPiA+ICAgCQlQTURfRFJWX0xPRyhFUlIsICJmYWlsIHRvIGV4ZWN1dGUg Y29tbWFuZA0KPiBPUF9SRVFVRVNUX1FVRVVFUyIpOw0KPiA+ICsJCXJldHVybiAtRUlPOw0KPiA+ ICsJfQ0KPiA+DQo+ID4gICAJcnRlX2VhbF9hbGFybV9zZXQoSTQwRVZGX0FMQVJNX0lOVEVSVkFM LA0KPiA+ICAgCQkJICBpNDBldmZfZGV2X2FsYXJtX2hhbmRsZXIsIGRldik7DQo+ID4gKw0KPiA+ ICsJLyoNCj4gPiArCSAqIFRoZSBQRiB3aWxsIGlzc3VlIGEgcmVzZXQgdG8gdGhlIFZGIHdoZW4g Y2hhbmdlIHRoZSBudW1iZXIgb2YNCj4gPiArCSAqIHF1ZXVlcy4gVGhlIFBGIHdpbGwgc2V0IEk0 MEVfVkZHRU5fUlNUQVQgdG8gQ09NUExFVEUgZmlyc3QsIHRoZW4NCj4gPiArCSAqIHdhaXQgMTBt cyBhbmQgc2V0IGl0IHRvIEFDVElWRS4gSW4gdGhpcyBkdXJhdGlvbiwgdmYgbWF5IG5vdCBjYXRj aA0KPiA+ICsJICogdGhlIG1vbWVudCB0aGF0IENPTVBMRVRFIGlzIHNldC4gU28sIGZvciB2Ziwg d2UnbGwgdHJ5IHRvIHdhaXQgYQ0KPiA+ICsJICogbG9uZyB0aW1lLg0KPiA+ICsJICovDQo+ID4g KwlydGVfZGVsYXlfbXMoMTAwKTsNCj4gPiArDQo+ID4gKwllcnIgPSBpNDBldmZfY2hlY2tfdmZf cmVzZXRfZG9uZShkZXYpOw0KPiA+ICsJaWYgKGVycikNCj4gPiArCQlQTURfRFJWX0xPRyhFUlIs ICJWRiBpcyBzdGlsbCByZXNldHRpbmciKTsNCj4gPiArDQo+IA0KPiANCj4gUGxlYXNlIGtlZXAg dGhlIHJldHVybiB2YWx1ZSBhbmQgZWxpbWluYXRlIHRoZSBkdXBsaWNhdGUsIGRvIHlvdSB0aGlu ayBiZWxvdyBpcw0KPiBiZXR0ZXIsIHlvdSBjb3VsZCByZWYNCj4gDQo+ICAgCWVyciA9IGk0MGV2 Zl9leGVjdXRlX3ZmX2NtZChkZXYsICZhcmdzKTsNCj4gDQo+ICAgCXJ0ZV9lYWxfYWxhcm1fc2V0 KEk0MEVWRl9BTEFSTV9JTlRFUlZBTCwNCj4gICAJCQkgIGk0MGV2Zl9kZXZfYWxhcm1faGFuZGxl ciwgZGV2KTsNCj4gDQo+IAlpZiAoIWVycikgew0KPiAJCWNoZWNrIHZmIHJlc2V0IGRvbmUuLi4u DQo+IAl9IGVsc2Ugew0KPiAJCVBNRF9EUlZfTE9HKEVSUiwgImZhaWwgdG8gZXhlY3V0ZSBjb21t YW5kDQo+IE9QX1JFUVVFU1RfUVVFVUVTIik7DQo+IAl9DQo+IA0KPiA+ICAgCXJldHVybiBlcnI7 DQo+ID4gICB9DQo+ID4NCj4gPiBAQCAtMTUxNCw3ICsxNTQxLDcgQEAgc3RhdGljIGludCBpNDBl dmZfZGV2X3hzdGF0c19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ICpkZXYsDQo+ID4gICAJaHct PmJ1cy5kZXZpY2UgPSBwY2lfZGV2LT5hZGRyLmRldmlkOw0KPiA+ICAgCWh3LT5idXMuZnVuYyA9 IHBjaV9kZXYtPmFkZHIuZnVuY3Rpb247DQo+ID4gICAJaHctPmh3X2FkZHIgPSAodm9pZCAqKXBj aV9kZXYtPm1lbV9yZXNvdXJjZVswXS5hZGRyOw0KPiA+IC0JaHctPmFkYXB0ZXJfc3RvcHBlZCA9 IDA7DQo+ID4gKwlody0+YWRhcHRlcl9zdG9wcGVkID0gMTsNCj4gPiAgIAlody0+YWRhcHRlcl9j bG9zZWQgPSAwOw0KPiA+DQo+ID4gICAJLyogUGFzcyB0aGUgaW5mb3JtYXRpb24gdG8gdGhlIHJ0 ZV9ldGhfZGV2X2Nsb3NlKCkgdGhhdCBpdCBzaG91bGQNCj4gPiBhbHNvIEBAIC0xNjEwLDEwICsx NjM3LDI3IEBAIHN0YXRpYyBpbnQgZXRoX2k0MGV2Zl9wY2lfcmVtb3ZlKHN0cnVjdA0KPiBydGVf cGNpX2RldmljZSAqcGNpX2RldikNCj4gPiAgIAlhZC0+dHhfdmVjX2FsbG93ZWQgPSB0cnVlOw0K PiA+DQo+ID4gICAJaWYgKG51bV9xdWV1ZV9wYWlycyA+IHZmLT52c2lfcmVzLT5udW1fcXVldWVf cGFpcnMpIHsNCj4gPiAtCQlpbnQgcmV0ID0gMDsNCj4gPiArCQlzdHJ1Y3QgaTQwZV9odyAqaHc7 DQo+ID4gKwkJaW50IHJldDsNCj4gPiArDQo+ID4gKwkJLyoNCj4gPiArCQkgKiBBbGwgVkYgcmVz b3VyY2VzIHdpbGwgYmUgcmVhbGxvY2F0ZWQsIHNvIGNoYW5nZSBxdWV1ZSBwYWlycw0KPiA+ICsJ CSAqIGluIHNlY29uZGFyeSBwcm9jZXNzZXMgaXMgZm9yYmlkZGVuLg0KPiA+ICsJCSAqLw0KPiAN Cj4gDQo+IFBsZWFzZSBkb24ndCB1c2UgYW4gZW1wdHkgLyogbGluZSwgdXNlIC8qIENvbW1lbnQu Li4uDQo+IA0KPiBBbmQgc2VlbXMgdGhhdCB0aGUgd29yZCAiZm9yYmlkZGVuIiBpcyBub3QgdmVy eSBtYWtlIHNlbnNlLiB5b3UgY291bGQgcmVmDQo+IG90aGVyIHBsYWNlIGFib3V0IHNlY29uZGFy eSBwcm9jZXNzIGNoZWNraW5nLCBzaW1wbHkgbGlrZSBiZWxvdw0KPiANCj4gIMKgwqDCoCDCoMKg wqAgwqDCoMKgIC8gKiBmb3Igc2Vjb25kYXJ5IHByb2Nlc3Nlcywgd2UgZG9uJ3QgY29uZmlndXJl IHF1ZXVlIHBhaXJzDQo+IGFueSBmdXJ0aGVyDQo+IA0KPiAgwqDCoMKgIMKgwqDCoCDCoMKgwqDC oMKgICogYXMgcHJpbWFyeSBoYXMgYWxyZWFkeSBkb25lIHRoaXMgd29yay4NCj4gDQo+ICDCoMKg wqAgwqDCoMKgIMKgwqDCoMKgICovDQo+IA0KPiANCj4gPiArCQlpZiAocnRlX2VhbF9wcm9jZXNz X3R5cGUoKSAhPSBSVEVfUFJPQ19QUklNQVJZKSB7DQo+ID4gKwkJCVBNRF9EUlZfTE9HKEVSUiwN Cj4gPiArCQkJCSJGb3Igc2Vjb25kYXJ5IHByb2Nlc3NlcywgY2hhbmdlIHF1ZXVlIHBhaXJzIGlz DQo+IGZvcmJpZGRlbiEiKTsNCj4gDQo+IA0KPiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMsIHlvdSBjb3VsZCB1c2UgdGhlIGNoZWNrcGF0Y2gucGwgdG8NCj4gY2hlY2sg aXQuDQo+IA0KPiBBZGQgcGxlYXNlIGNoZWNrIGlmIGJlbG93IGk0MGV2Zl9pbml0X3ZsYW4gYWxz byBubyBuZWVkIGluIHNlY29uZGFyeSBwcm9jZXNzLiBJZg0KPiBzbywgaSBzdWdnZXN0IHNwbGl0 IHRoaXMgcGFydCBpbnRvIG90aGVyIHNwZWNpZmljIGZpeGluZyBwYXRjaCBmb3Igc2Vjb25kYXJ5 IHByb2Nlc3MNCj4gY29uZmlndXJhdGlvbi4NCj4gDQo+IA0KPiA+ICsJCQlyZXR1cm4gLUVOT1RT VVA7DQo+ID4gKwkJfQ0KPiA+DQo+ID4gKwkJaHcgID0gSTQwRV9ERVZfUFJJVkFURV9UT19IVyhk ZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCj4gPiAgIAkJUE1EX0RSVl9MT0coSU5GTywgImNoYW5n ZSBxdWV1ZSBwYWlycyBmcm9tICV1IHRvICV1IiwNCj4gPiAgIAkJCSAgICB2Zi0+dnNpX3Jlcy0+ bnVtX3F1ZXVlX3BhaXJzLCBudW1fcXVldWVfcGFpcnMpOw0KPiA+ICsJCWlmIChody0+YWRhcHRl cl9zdG9wcGVkID09IDApIHsNCj4gPiArCQkJUE1EX0RSVl9MT0coV0FSTklORywgIkRldmljZSBt dXN0IGJlIHN0b3BwZWQgZmlyc3QhIik7DQo+ID4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiANCj4g DQo+IEkgdGhpbmsgRVJSIGJ1dCBub3Qgd2FybmluZyBzaG91bGQgYmUgcmV0dXJuIGhlcmUsIGFu ZCBkbyB5b3UgdGhpbmsgLUVCVVNZDQo+IHNob3VsZCBiZSBiZXR0ZXIgdGhhbiAtRUlOVkFMPw0K PiANCj4gDQo+ID4gKwkJfQ0KPiA+ICsNCj4gPiAgIAkJcmV0ID0gaTQwZXZmX3JlcXVlc3RfcXVl dWVzKGRldiwgbnVtX3F1ZXVlX3BhaXJzKTsNCj4gPiAgIAkJaWYgKHJldCAhPSAwKQ0KPiA+ICAg CQkJcmV0dXJuIHJldDsNCj4gPiBAQCAtMjE4Miw2OCArMjIyNiwzMiBAQCBzdGF0aWMgaW50IGV0 aF9pNDBldmZfcGNpX3JlbW92ZShzdHJ1Y3QNCj4gcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYpDQo+ ID4gICBpNDBldmZfZGV2X3Byb21pc2N1b3VzX2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRl dikNCj4gPiAgIHsNCj4gPiAgIAlzdHJ1Y3QgaTQwZV92ZiAqdmYgPQ0KPiBJNDBFVkZfREVWX1BS SVZBVEVfVE9fVkYoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4gLQlpbnQgcmV0Ow0KPiA+ IC0NCj4gPiAtCXJldCA9IGk0MGV2Zl9jb25maWdfcHJvbWlzYyhkZXYsIDEsIHZmLT5wcm9taXNj X211bHRpY2FzdF9lbmFibGVkKTsNCj4gPiAtCWlmIChyZXQgPT0gMCkNCj4gPiAtCQl2Zi0+cHJv bWlzY191bmljYXN0X2VuYWJsZWQgPSBUUlVFOw0KPiA+IC0JZWxzZSBpZiAocmV0ID09IEk0MEVf Tk9UX1NVUFBPUlRFRCkNCj4gPiAtCQlyZXQgPSAtRU5PVFNVUDsNCj4gPiAtCWVsc2UNCj4gPiAt CQlyZXQgPSAtRUFHQUlOOw0KPiA+DQo+ID4gLQlyZXR1cm4gcmV0Ow0KPiA+ICsJcmV0dXJuIGk0 MGV2Zl9jb25maWdfcHJvbWlzYyhkZXYsIHRydWUsDQo+ID4gK3ZmLT5wcm9taXNjX211bHRpY2Fz dF9lbmFibGVkKTsNCj4gPiAgIH0NCj4gPg0KPiA+ICAgc3RhdGljIGludA0KPiA+ICAgaTQwZXZm X2Rldl9wcm9taXNjdW91c19kaXNhYmxlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2KQ0KPiA+ICAg ew0KPiA+ICAgCXN0cnVjdCBpNDBlX3ZmICp2ZiA9DQo+IEk0MEVWRl9ERVZfUFJJVkFURV9UT19W RihkZXYtPmRhdGEtPmRldl9wcml2YXRlKTsNCj4gPiAtCWludCByZXQ7DQo+ID4gLQ0KPiA+IC0J cmV0ID0gaTQwZXZmX2NvbmZpZ19wcm9taXNjKGRldiwgMCwgdmYtPnByb21pc2NfbXVsdGljYXN0 X2VuYWJsZWQpOw0KPiA+IC0JaWYgKHJldCA9PSAwKQ0KPiA+IC0JCXZmLT5wcm9taXNjX3VuaWNh c3RfZW5hYmxlZCA9IEZBTFNFOw0KPiA+IC0JZWxzZSBpZiAocmV0ID09IEk0MEVfTk9UX1NVUFBP UlRFRCkNCj4gPiAtCQlyZXQgPSAtRU5PVFNVUDsNCj4gPiAtCWVsc2UNCj4gPiAtCQlyZXQgPSAt RUFHQUlOOw0KPiA+DQo+ID4gLQlyZXR1cm4gcmV0Ow0KPiA+ICsJcmV0dXJuIGk0MGV2Zl9jb25m aWdfcHJvbWlzYyhkZXYsIGZhbHNlLA0KPiA+ICt2Zi0+cHJvbWlzY19tdWx0aWNhc3RfZW5hYmxl ZCk7DQo+ID4gICB9DQo+ID4NCj4gPiAgIHN0YXRpYyBpbnQNCj4gPiAgIGk0MGV2Zl9kZXZfYWxs bXVsdGljYXN0X2VuYWJsZShzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldikNCj4gPiAgIHsNCj4gPiAg IAlzdHJ1Y3QgaTQwZV92ZiAqdmYgPQ0KPiBJNDBFVkZfREVWX1BSSVZBVEVfVE9fVkYoZGV2LT5k YXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4gLQlpbnQgcmV0Ow0KPiA+IC0NCj4gPiAtCXJldCA9IGk0 MGV2Zl9jb25maWdfcHJvbWlzYyhkZXYsIHZmLT5wcm9taXNjX3VuaWNhc3RfZW5hYmxlZCwgMSk7 DQo+ID4gLQlpZiAocmV0ID09IDApDQo+ID4gLQkJdmYtPnByb21pc2NfbXVsdGljYXN0X2VuYWJs ZWQgPSBUUlVFOw0KPiA+IC0JZWxzZSBpZiAocmV0ID09IEk0MEVfTk9UX1NVUFBPUlRFRCkNCj4g PiAtCQlyZXQgPSAtRU5PVFNVUDsNCj4gPiAtCWVsc2UNCj4gPiAtCQlyZXQgPSAtRUFHQUlOOw0K PiA+DQo+ID4gLQlyZXR1cm4gcmV0Ow0KPiA+ICsJcmV0dXJuIGk0MGV2Zl9jb25maWdfcHJvbWlz YyhkZXYsIHZmLT5wcm9taXNjX3VuaWNhc3RfZW5hYmxlZCwNCj4gPiArdHJ1ZSk7DQo+ID4gICB9 DQo+ID4NCj4gPiAgIHN0YXRpYyBpbnQNCj4gPiAgIGk0MGV2Zl9kZXZfYWxsbXVsdGljYXN0X2Rp c2FibGUoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQo+ID4gICB7DQo+ID4gICAJc3RydWN0IGk0 MGVfdmYgKnZmID0NCj4gSTQwRVZGX0RFVl9QUklWQVRFX1RPX1ZGKGRldi0+ZGF0YS0+ZGV2X3By aXZhdGUpOw0KPiA+IC0JaW50IHJldDsNCj4gPiAtDQo+ID4gLQlyZXQgPSBpNDBldmZfY29uZmln X3Byb21pc2MoZGV2LCB2Zi0+cHJvbWlzY191bmljYXN0X2VuYWJsZWQsIDApOw0KPiA+IC0JaWYg KHJldCA9PSAwKQ0KPiA+IC0JCXZmLT5wcm9taXNjX211bHRpY2FzdF9lbmFibGVkID0gRkFMU0U7 DQo+ID4gLQllbHNlIGlmIChyZXQgPT0gSTQwRV9OT1RfU1VQUE9SVEVEKQ0KPiA+IC0JCXJldCA9 IC1FTk9UU1VQOw0KPiA+IC0JZWxzZQ0KPiA+IC0JCXJldCA9IC1FQUdBSU47DQo+ID4NCj4gPiAt CXJldHVybiByZXQ7DQo+ID4gKwlyZXR1cm4gaTQwZXZmX2NvbmZpZ19wcm9taXNjKGRldiwgdmYt PnByb21pc2NfdW5pY2FzdF9lbmFibGVkLA0KPiA+ICtmYWxzZSk7DQo+ID4gICB9DQo+ID4NCj4g PiAgIHN0YXRpYyBpbnQNCj4gPiBAQCAtMjM2NSw4ICsyMzczLDkgQEAgc3RhdGljIGludCBldGhf aTQwZXZmX3BjaV9yZW1vdmUoc3RydWN0DQo+IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KQ0KPiA+ ICAgCSAqIGl0IGlzIGEgd29ya2Fyb3VuZCBzb2x1dGlvbiB3aGVuIHdvcmsgd2l0aCBrZXJuZWwg ZHJpdmVyDQo+ID4gICAJICogYW5kIGl0IGlzIG5vdCB0aGUgbm9ybWFsIHdheQ0KPiA+ICAgCSAq Lw0KPiA+IC0JaTQwZXZmX2Rldl9wcm9taXNjdW91c19kaXNhYmxlKGRldik7DQo+ID4gLQlpNDBl dmZfZGV2X2FsbG11bHRpY2FzdF9kaXNhYmxlKGRldik7DQo+ID4gKwlpZiAodmYtPnByb21pc2Nf dW5pY2FzdF9lbmFibGVkIHx8IHZmLT5wcm9taXNjX211bHRpY2FzdF9lbmFibGVkKQ0KPiA+ICsJ CWk0MGV2Zl9jb25maWdfcHJvbWlzYyhkZXYsIGZhbHNlLCBmYWxzZSk7DQo+IA0KPiANCj4gTmVl ZCBjaGVja2luZyB0aGUgcmV0dXJuIHN0YXR1cyB3aGVuIGk0MGV2Zl9jb25maWdfcHJvbWlzYyBy ZXR1cm4gZmFpbGVkPw0KPiANCj4gDQo+ID4gKw0KPiA+ICAgCXJ0ZV9lYWxfYWxhcm1fY2FuY2Vs KGk0MGV2Zl9kZXZfYWxhcm1faGFuZGxlciwgZGV2KTsNCj4gPg0KPiA+ICAgCWk0MGV2Zl9yZXNl dF92ZihkZXYpOw0K