From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kumar Valsan, Prathap" Subject: Re: [PATCH v2] drm/i915/tgl: Add sysfs interface to control class-of-service Date: Tue, 27 Aug 2019 10:17:31 -0400 Message-ID: <20190827141731.GD28351@intel.com> References: <20190825224801.19117-1-prathap.kumar.valsan@intel.com> <20190825233527.17841-1-prathap.kumar.valsan@intel.com> <156680878805.2672.9336263545662894176@skylake-alporthouse-com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 85AA389B3C for ; Tue, 27 Aug 2019 14:00:52 +0000 (UTC) Content-Disposition: inline In-Reply-To: <156680878805.2672.9336263545662894176@skylake-alporthouse-com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBBdWcgMjYsIDIwMTkgYXQgMDk6Mzk6NDhBTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFF1b3RpbmcgUHJhdGhhcCBLdW1hciBWYWxzYW4gKDIwMTktMDgtMjYgMDA6MzU6Mjcp Cj4gPiBUbyBwcm92aWRlIHNoYXJlZCBsYXN0LWxldmVsLWNhY2hlIGlzb2xhdGlvbiB0byBjcHUg d29ya2xvYWRzIHJ1bm5pbmcKPiA+IGNvbmN1cnJlbnRseSB3aXRoIGdwdSB3b3JrbG9hZHMsIHRo ZSBncHUgYWxsb2NhdGlvbiBvZiBjYWNoZSBsaW5lcyBuZWVkcwo+ID4gdG8gYmUgcmVzdHJpY3Rl ZCB0byBjZXJ0YWluIHdheXMuIEN1cnJlbnRseSBHUFUgaGFyZHdhcmUgc3VwcG9ydHMgZm91cgo+ ID4gY2xhc3Mtb2Ytc2VydmljZShDTE9TKSBsZXZlbHMgYW5kIHRoZXJlIGlzIGFuIGFzc29jaWF0 ZWQgd2F5LW1hc2sgZm9yCj4gPiBlYWNoIENMT1MuCj4gPiAKPiA+IEhhcmR3YXJlIHN1cHBvcnRz IHJlYWRpbmcgc3VwcG9ydGVkIHdheS1tYXNrIGNvbmZpZ3VyYXRpb24gZm9yIEdQVSB1c2luZwo+ ID4gYSBiaW9zIHBjb2RlIGludGVyZmFjZS4gVGhlIHN1cHBvcnRlZCB3YXktbWFza3MgYW5kIHRo ZSBvbmUgY3VycmVudGx5Cj4gPiBhY3RpdmUgaXMgY29tbXVuaWNhdGVkIHRvIHVzZXJzcGFjZSB2 aWEgYSBzeXNmcyBmaWxlLS1jbG9zY3RybC4gQWRtaW4gdXNlcgo+ID4gY2FuIHRoZW4gc2VsZWN0 IGEgbmV3IG1hc2sgYnkgd3JpdGluZyB0aGUgbWFzayB2YWx1ZSB0byB0aGUgZmlsZS4KPiA+IAo+ ID4gTm90ZSBvZiBDYXV0aW9uOiBSZXN0cmljdGluZyBjYWNoZSB3YXlzIHVzaW5nIHRoaXMgbWVj aGFuaXNtIHByZXNlbnRzIGEKPiA+IGxhcmdlciBhdHRhY2sgc3VyZmFjZSBmb3Igc2lkZS1jaGFu bmVsIGF0dGFja3MuCj4gPiAKPiA+IEV4YW1wbGUgdXNhZ2U6Cj4gPiBUaGUgYWN0aXZlIHdheS1t YXNrIGlzIGhpZ2hsaWdodGVkIHdpdGhpbiBzcXVhcmUgYnJhY2tldHMuCj4gPiA+IGNhdCAvc3lz L2NsYXNzL2RybS9jYXJkMC9jbG9zY3RybAo+ID4gWzB4ZmZmZl0gMHhmZjAwIDB4YzAwMCAweDgw MDAKPiA+IAo+ID4gQ0xPUzAgaXMgY3VycmVudGx5IGFjdGl2ZS4KPiA+IAo+ID4gPiBlY2hvIDB4 ODAwMCA+IC9zeXMvY2xhc3MvZHJtL2NhcmQwL2Nsb3NjdHJsCj4gPiA+IGNhdCAvc3lzL2NsYXNz L2RybS9jYXJkMC9jbG9zY3RybAo+ID4gMHhmZmZmIDB4ZmYwMCAweGMwMDAgWzB4ODAwMF0KPiA+ IAo+ID4gQ0xPUzMgaXMgY3VycmVudGx5IGFjdGl2ZQo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBQ cmF0aGFwIEt1bWFyIFZhbHNhbiA8cHJhdGhhcC5rdW1hci52YWxzYW5AaW50ZWwuY29tPgo+ID4g LS0tCj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4gRGVjbGFyZSBjbG9zY3RybF9zaG93IGFuZCBjbG9z Y3RybF9zdG9yZSBhcyBzdGF0aWMgZnVuY3Rpb25zLgo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX21vY3MuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrLS0tCj4gPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbW9jcy5oIHwgIDEgKwo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICA4ICsrKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oICAgICAgfCAgMSArCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z eXNmcy5jICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIDUgZmlsZXMg Y2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9tb2NzLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9tb2NzLmMKPiA+IGluZGV4IDcyODcwNGJiYmUxOC4uZGQxM2U2 MTk0NGZkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbW9j cy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9tb2NzLmMKPiA+IEBA IC0yNiw2ICsyNiw3IEBACj4gPiAgI2luY2x1ZGUgImludGVsX2d0LmgiCj4gPiAgI2luY2x1ZGUg ImludGVsX21vY3MuaCIKPiA+ICAjaW5jbHVkZSAiaW50ZWxfbHJjLmgiCj4gPiArI2luY2x1ZGUg ImludGVsX3NpZGViYW5kLmgiCj4gPiAgCj4gPiAgLyogc3RydWN0dXJlcyByZXF1aXJlZCAqLwo+ ID4gIHN0cnVjdCBkcm1faTkxNV9tb2NzX2VudHJ5IHsKPiA+IEBAIC01MSw2ICs1Miw3IEBAIHN0 cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxlIHsKPiA+ICAjZGVmaW5lIExFX1NDRih2YWx1ZSkgICAg ICAgICAgKCh2YWx1ZSkgPDwgMTQpCj4gPiAgI2RlZmluZSBMRV9DT1ModmFsdWUpICAgICAgICAg ICgodmFsdWUpIDw8IDE1KQo+ID4gICNkZWZpbmUgTEVfU1NFKHZhbHVlKSAgICAgICAgICAoKHZh bHVlKSA8PCAxNykKPiA+ICsjZGVmaW5lIExFX0NPU19NQVNLICAgICAgICAgICAgR0VOTUFTSygx NiwgMTUpCj4gPiAgCj4gPiAgLyogRGVmaW5lcyBmb3IgdGhlIHRhYmxlcyAoTE5DRk1PQ1MwIC0g TE5DRk1PQ1MzMSkgLSB0d28gZW50cmllcyBwZXIgd29yZCAqLwo+ID4gICNkZWZpbmUgTDNfRVND KHZhbHVlKSAgICAgICAgICAoKHZhbHVlKSA8PCAwKQo+ID4gQEAgLTQwOCwxMCArNDEwLDEzIEBA IHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZF92YWx1 ZSk7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyB2b2lkIGludGVsX21vY3NfaW5pdF9nbG9iYWwo c3RydWN0IGludGVsX2d0ICpndCkKPiA+ICt2b2lkIGludGVsX21vY3NfaW5pdF9nbG9iYWwoc3Ry dWN0IGludGVsX2d0ICpndCkKPiA+ICB7Cj4gPiArICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gZ3QtPmk5MTU7Cj4gPiAgICAgICAgIHN0cnVjdCBpbnRlbF91bmNvcmUgKnVu Y29yZSA9IGd0LT51bmNvcmU7Cj4gPiAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxl IHRhYmxlOwo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgYWN0aXZlX2Nsb3M7Cj4gPiArICAgICAg IHUzMiB2YWx1ZSwgdW51c2VkX3ZhbHVlOwo+ID4gICAgICAgICB1bnNpZ25lZCBpbnQgaW5kZXg7 Cj4gPiAgCj4gPiAgICAgICAgIEdFTV9CVUdfT04oIUhBU19HTE9CQUxfTU9DU19SRUdJU1RFUlMo Z3QtPmk5MTUpKTsKPiA+IEBAIC00MjIsMjAgKzQyNywzMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9t b2NzX2luaXRfZ2xvYmFsKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCj4gPiAgICAgICAgIGlmIChHRU1f REVCVUdfV0FSTl9PTih0YWJsZS5zaXplID4gdGFibGUubl9lbnRyaWVzKSkKPiA+ICAgICAgICAg ICAgICAgICByZXR1cm47Cj4gPiAgCj4gPiAtICAgICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8 IHRhYmxlLnNpemU7IGluZGV4KyspCj4gPiArICAgICAgIGFjdGl2ZV9jbG9zID0gYXRvbWljX3Jl YWQoJmk5MTUtPmNsb3MuYWN0aXZlX2Nsb3MpOwo+ID4gKwo+ID4gKyAgICAgICBmb3IgKGluZGV4 ID0gMDsgaW5kZXggPCB0YWJsZS5zaXplOyBpbmRleCsrKSB7Cj4gPiArICAgICAgICAgICAgICAg dmFsdWUgPSB0YWJsZS50YWJsZVtpbmRleF0uY29udHJvbF92YWx1ZTsKPiA+ICsgICAgICAgICAg ICAgICB2YWx1ZSAmPSB+TEVfQ09TX01BU0s7Cj4gPiArICAgICAgICAgICAgICAgdmFsdWUgfD0g RklFTERfUFJFUChMRV9DT1NfTUFTSywgYWN0aXZlX2Nsb3MpOwo+ID4gKwo+ID4gICAgICAgICAg ICAgICAgIGludGVsX3VuY29yZV93cml0ZSh1bmNvcmUsCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdFTjEyX0dMT0JBTF9NT0NTKGluZGV4KSwKPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFibGUudGFibGVbaW5kZXhdLmNvbnRyb2xfdmFsdWUp Owo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSk7Cj4gPiArICAg ICAgIH0KPiA+ICAKPiA+ICAgICAgICAgLyoKPiA+ICAgICAgICAgICogT2ssIG5vdyBzZXQgdGhl IHVudXNlZCBlbnRyaWVzIHRvIHRoZSBpbnZhbGlkIGVudHJ5IChpbmRleCAwKS4gVGhlc2UKPiA+ ICAgICAgICAgICogZW50cmllcyBhcmUgb2ZmaWNpYWxseSB1bmRlZmluZWQgYW5kIG5vIGNvbnRy YWN0IGZvciB0aGUgY29udGVudHMgYW5kCj4gPiAgICAgICAgICAqIHNldHRpbmdzIGlzIGdpdmVu IGZvciB0aGVzZSBlbnRyaWVzLgo+ID4gICAgICAgICAgKi8KPiA+ICsgICAgICAgdW51c2VkX3Zh bHVlID0gdGFibGUudGFibGVbMF0uY29udHJvbF92YWx1ZTsKPiA+ICsgICAgICAgdW51c2VkX3Zh bHVlICY9IH5MRV9DT1NfTUFTSzsKPiA+ICsgICAgICAgdW51c2VkX3ZhbHVlIHw9IEZJRUxEX1BS RVAoTEVfQ09TX01BU0ssIGFjdGl2ZV9jbG9zKTsKPiA+ICsKPiA+ICAgICAgICAgZm9yICg7IGlu ZGV4IDwgdGFibGUubl9lbnRyaWVzOyBpbmRleCsrKQo+ID4gICAgICAgICAgICAgICAgIGludGVs X3VuY29yZV93cml0ZSh1bmNvcmUsCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdFTjEyX0dMT0JBTF9NT0NTKGluZGV4KSwKPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFibGUudGFibGVbMF0uY29udHJvbF92YWx1ZSk7Cj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVudXNlZF92YWx1ZSk7Cj4gPiAgfQo+ID4gIAo+ID4g IHN0YXRpYyBpbnQgZW1pdF9tb2NzX2NvbnRyb2xfdGFibGUoc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsCj4gPiBAQCAtNjI1LDEwICs2NDEsNDEgQEAgaW50IGludGVsX21vY3NfZW1pdChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSkKPiA+ICAgICAgICAgcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4g K3N0YXRpYyB2b2lkIGludGVsX3JlYWRfY2xvc193YXlfbWFzayhzdHJ1Y3QgaW50ZWxfZ3QgKmd0 KQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndC0+ aTkxNTsKPiA+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X21vY3NfdGFibGUgdGFibGU7Cj4gPiAr ICAgICAgIGludCByZXQsIGk7Cj4gPiArICAgICAgIHUzMiB2YWw7Cj4gPiArCj4gPiArICAgICAg IGlmICghZ2V0X21vY3Nfc2V0dGluZ3MoZ3QsICZ0YWJsZSkpCj4gPiArICAgICAgICAgICAgICAg cmV0dXJuOwo+ID4gKwo+ID4gKyAgICAgICAvKiBDT1MgaXMgc2FtZSBmb3IgYWxsIGVudHJpZXMg Ki8KPiA+ICsgICAgICAgYXRvbWljX3NldCgmaTkxNS0+Y2xvcy5hY3RpdmVfY2xvcywKPiA+ICsg ICAgICAgICAgICAgICAgICBGSUVMRF9HRVQoTEVfQ09TX01BU0ssIGdldF9lbnRyeV9jb250cm9s KCZ0YWJsZSwgMCkpKTsKPiA+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IE5VTV9PRl9DTE9TOyBp KyspIHsKPiA+ICsgICAgICAgICAgICAgICB2YWwgPSBpOwo+ID4gKyAgICAgICAgICAgICAgIHJl dCA9IHNhbmR5YnJpZGdlX3Bjb2RlX3JlYWQoaTkxNSwKPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElDTF9QQ09ERV9MTENfQ09TX1dBWV9NQVNLX0lORk8s Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdmFsLCBO VUxMKTsKPiA+ICsgICAgICAgICAgICAgICBpZiAocmV0KSB7Cj4gPiArICAgICAgICAgICAgICAg ICAgICAgICBEUk1fRVJST1IoIk1haWxib3ggcmVhZCBlcnJvciA9ICVkXG4iLCByZXQpOwo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwo+ID4gKyAgICAgICAgICAgICAgIH0KPiA+ ICsKPiA+ICsgICAgICAgICAgICAgICBpOTE1LT5jbG9zLndheV9tYXNrW2ldID0gdmFsOwo+ID4g KyAgICAgICB9Cj4gPiArCj4gPiArICAgICAgIGk5MTUtPmNsb3Muc3VwcG9ydF93YXlfbWFza19y ZWFkID0gdHJ1ZTsKPiA+ICt9Cj4gPiArCj4gPiAgdm9pZCBpbnRlbF9tb2NzX2luaXQoc3RydWN0 IGludGVsX2d0ICpndCkKPiA+ICB7Cj4gPiAgICAgICAgIGludGVsX21vY3NfaW5pdF9sM2NjX3Rh YmxlKGd0KTsKPiA+ICAKPiA+IC0gICAgICAgaWYgKEhBU19HTE9CQUxfTU9DU19SRUdJU1RFUlMo Z3QtPmk5MTUpKQo+ID4gKyAgICAgICBpZiAoSEFTX0dMT0JBTF9NT0NTX1JFR0lTVEVSUyhndC0+ aTkxNSkpIHsKPiA+ICsgICAgICAgICAgICAgICBpbnRlbF9yZWFkX2Nsb3Nfd2F5X21hc2soZ3Qp Owo+ID4gICAgICAgICAgICAgICAgIGludGVsX21vY3NfaW5pdF9nbG9iYWwoZ3QpOwo+ID4gKyAg ICAgICB9Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX21vY3MuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX21vY3MuaAo+ID4gaW5k ZXggMmFlODE2YjdjYTE5Li5lNjRlMWIxMDQ3NTMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9tb2NzLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX21vY3MuaAo+ID4gQEAgLTUzLDYgKzUzLDcgQEAgc3RydWN0IGk5MTVfcmVxdWVz dDsKPiA+ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzOwo+ID4gIHN0cnVjdCBpbnRlbF9ndDsKPiA+ ICAKPiA+ICt2b2lkIGludGVsX21vY3NfaW5pdF9nbG9iYWwoc3RydWN0IGludGVsX2d0ICpndCk7 Cj4gPiAgdm9pZCBpbnRlbF9tb2NzX2luaXQoc3RydWN0IGludGVsX2d0ICpndCk7Cj4gPiAgdm9p ZCBpbnRlbF9tb2NzX2luaXRfZW5naW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7 Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGI0MjY1MWEzODdkOS4u MGUyNTA0MTZjNWE5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gQEAgLTE2 MjEsNiArMTYyMSwxNCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7Cj4gPiAgICAgICAgICAg ICAgICAgYm9vbCBkaXN0cnVzdF9iaW9zX3dtOwo+ID4gICAgICAgICB9IHdtOwo+ID4gIAo+ID4g KyAgICAgICAvKiBMYXN0IExldmVsIENhY2hlICBDbGFzcyBvZiBTZXJ2aWNlICovCj4gPiArICAg ICAgIHN0cnVjdCB7Cj4gPiArICAgICAgICAgICAgICAgYm9vbCBzdXBwb3J0X3dheV9tYXNrX3Jl YWQ7Cj4gPiArICAgICAgICAgICAgICAgYXRvbWljX3QgYWN0aXZlX2Nsb3M7Cj4gPiArI2RlZmlu ZSBOVU1fT0ZfQ0xPUyA0Cj4gPiArICAgICAgICAgICAgICAgdTE2IHdheV9tYXNrW05VTV9PRl9D TE9TXTsKPiA+ICsgICAgICAgfSBjbG9zOwo+ID4gKwo+ID4gICAgICAgICBzdHJ1Y3QgZHJhbV9p bmZvIHsKPiA+ICAgICAgICAgICAgICAgICBib29sIHZhbGlkOwo+ID4gICAgICAgICAgICAgICAg IGJvb2wgaXNfMTZnYl9kaW1tOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBpbmRleCAw MmUxZWYxMGM0N2UuLjM5OWFjYjdhMzZkOCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiA+IEBAIC04ODQ1LDYgKzg4NDUsNyBAQCBlbnVtIHsKPiA+ICAjZGVmaW5lICAgSUNMX1BD T0RFX01FTV9TVUJTWVNZU1RFTV9JTkZPICAgICAgIDB4ZAo+ID4gICNkZWZpbmUgICAgIElDTF9Q Q09ERV9NRU1fU1NfUkVBRF9HTE9CQUxfSU5GTyAgKDB4MCA8PCA4KQo+ID4gICNkZWZpbmUgICAg IElDTF9QQ09ERV9NRU1fU1NfUkVBRF9RR1ZfUE9JTlRfSU5GTyhwb2ludCkgICAgICAgICgoKHBv aW50KSA8PCAxNikgfCAoMHgxIDw8IDgpKQo+ID4gKyNkZWZpbmUgICBJQ0xfUENPREVfTExDX0NP U19XQVlfTUFTS19JTkZPICAgICAgMHgxZAo+ID4gICNkZWZpbmUgICBHRU42X1BDT0RFX1JFQURf RF9DT01QICAgICAgICAgICAgICAgMHgxMAo+ID4gICNkZWZpbmUgICBHRU42X1BDT0RFX1dSSVRF X0RfQ09NUCAgICAgICAgICAgICAgMHgxMQo+ID4gICNkZWZpbmUgICBIU1dfUENPREVfREVfV1JJ VEVfRlJFUV9SRVEgICAgICAgICAgMHgxNwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc3lzZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYwo+ ID4gaW5kZXggZDhhM2IxODBjMDg0Li5iNTMxNDM0MTYzOTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3lzZnMuYwo+ID4gQEAgLTM0LDYgKzM0LDcgQEAKPiA+ICAjaW5jbHVkZSAiaTkx NV9zeXNmcy5oIgo+ID4gICNpbmNsdWRlICJpbnRlbF9wbS5oIgo+ID4gICNpbmNsdWRlICJpbnRl bF9zaWRlYmFuZC5oIgo+ID4gKyNpbmNsdWRlICJndC9pbnRlbF9tb2NzLmgiCj4gPiAgCj4gPiAg c3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqa2Rldl9taW5vcl90b19pOTE1 KHN0cnVjdCBkZXZpY2UgKmtkZXYpCj4gPiAgewo+ID4gQEAgLTI1Nyw2ICsyNTgsNjIgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBiaW5fYXR0cmlidXRlIGRwZl9hdHRyc18xID0gewo+ID4gICAgICAg ICAucHJpdmF0ZSA9ICh2b2lkICopMQo+ID4gIH07Cj4gPiAgCj4gPiArc3RhdGljIHNzaXplX3Qg Y2xvc2N0cmxfc2hvdyhzdHJ1Y3QgZGV2aWNlICprZGV2LAo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVmKQo+ID4g K3sKPiA+ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0ga2Rldl9t aW5vcl90b19pOTE1KGtkZXYpOwo+ID4gKyAgICAgICBzc2l6ZV90IGxlbiA9IDA7Cj4gPiArICAg ICAgIGludCBpOwo+ID4gKwo+ID4gKyAgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX09GX0NMT1M7 IGkrKykgewo+ID4gKyAgICAgICAgICAgICAgIGlmIChpID09IGF0b21pY19yZWFkKCZkZXZfcHJp di0+Y2xvcy5hY3RpdmVfY2xvcykpCj4gCj4gUmVhZGluZyBhbiBhdG9taWMgbW9yZSB0aGFuIG9u Y2UgaXMgbGlhYmxlIHRvIGdpdmUgeW91IGRpZmZlcmVudAo+IGFuc3dlcnMuCj4gCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICBsZW4gKz0gc25wcmludGYoYnVmICsgbGVuLCBQQUdFX1NJWkUs ICIlczB4JXglcyAiLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJbIiwgZGV2X3ByaXYtPmNsb3Mud2F5X21hc2tbaV0sICJdIik7Cj4gPiArICAgICAgICAgICAg ICAgZWxzZQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgbGVuICs9IHNucHJpbnRmKGJ1ZiAr IGxlbiwgUEFHRV9TSVpFLCAiMHgleCAiLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRldl9wcml2LT5jbG9zLndheV9tYXNrW2ldKTsKPiA+ICsgICAgICAgfQo+ ID4gKyAgICAgICBsZW4gKz0gc25wcmludGYoYnVmICsgbGVuLCBQQUdFX1NJWkUsICJcbiIpOwo+ ID4gKwo+ID4gKyAgICAgICByZXR1cm4gbGVuOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgc3Np emVfdCBjbG9zY3RybF9zdG9yZShzdHJ1Y3QgZGV2aWNlICprZGV2LAo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpidWYsIHNpemVfdCBjb3VudCkK PiA+ICt7Cj4gPiArICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGtk ZXZfbWlub3JfdG9faTkxNShrZGV2KTsKPiA+ICsgICAgICAgdTggYWN0aXZlX2Nsb3MsIGNsb3Nf aW5kZXg7Cj4gPiArICAgICAgIGJvb2wgdmFsaWRfbWFzayA9IGZhbHNlOwo+ID4gKyAgICAgICBz c2l6ZV90IHJldDsKPiA+ICsgICAgICAgdTE2IHdheV9tYXNrOwo+ID4gKwo+ID4gKyAgICAgICBy ZXQgPSBrc3RydG91MTYoYnVmLCAwLCAmd2F5X21hc2spOwo+ID4gKyAgICAgICBpZiAocmV0KQo+ ID4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4gPiArCj4gPiArICAgICAgIGFjdGl2ZV9j bG9zID0gYXRvbWljX3JlYWQoJmRldl9wcml2LT5jbG9zLmFjdGl2ZV9jbG9zKTsKPiA+ICsKPiA+ ICsgICAgICAgaWYgKGRldl9wcml2LT5jbG9zLndheV9tYXNrW2FjdGl2ZV9jbG9zXSA9PSB3YXlf bWFzaykKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gY291bnQ7Cj4gPiArCj4gPiArICAgICAg IGZvciAoY2xvc19pbmRleCA9IDA7IGNsb3NfaW5kZXggPCBOVU1fT0ZfQ0xPUzsgY2xvc19pbmRl eCsrKSB7Cj4gPiArICAgICAgICAgICAgICAgaWYgKGRldl9wcml2LT5jbG9zLndheV9tYXNrW2Ns b3NfaW5kZXhdID09IHdheV9tYXNrKSB7Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBhdG9t aWNfc2V0KCZkZXZfcHJpdi0+Y2xvcy5hY3RpdmVfY2xvcywgY2xvc19pbmRleCk7Cj4gPiArICAg ICAgICAgICAgICAgICAgICAgICB2YWxpZF9tYXNrID0gdHJ1ZTsKPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOwo+ID4gKyAgICAgICAgICAgICAgIH0KPiA+ICsgICAgICAgfQo+IAo+ IEhvdyBpcyB0aGlzIHNlcmlhbGlzZWQgYWdhaW5zdCBtdWx0aXBsZSB1c2VycyBjaGFuZ2luZyB0 aGUgc2V0dGluZz8KPiAKU2hvdWxkIGhhdmUgYmVlbiB1c2luZyBtdXRleCB0byBzZXJpYWxpemUu IFdpbGwgZml4Lgo+IFRoaXMgaXMgbm90IGFuIGF0b21pYyBvcGVyYXRpb24sIGF0b21pY190IHNo b3VsZCBoYXZlIGJlZW4gYSB3YXJuaW5nLgo+IC1DaHJpcwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=