From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 11/16] drm/i915/bxt: Don't toggle power well 1 on-demand Date: Fri, 8 Apr 2016 21:10:21 +0300 Message-ID: <20160408181021.GV4329@intel.com> References: <1459515767-29228-1-git-send-email-imre.deak@intel.com> <1459515767-29228-12-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 84D296E0E6 for ; Fri, 8 Apr 2016 18:10:25 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1459515767-29228-12-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBBcHIgMDEsIDIwMTYgYXQgMDQ6MDI6NDJQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IFBvd2VyIHdlbGwgMSBpcyBtYW5hZ2VkIGJ5IHRoZSBETUMgZmlybXdhcmUgc28gZG9uJ3Qg dG9nZ2xlIGl0IG9uLWRlbWFuZAo+IGZyb20gdGhlIGRyaXZlci4gVGhpcyBtZWFucyB3ZSBuZWVk IHRvIGZvbGxvdyB0aGUgQlNwZWMgZGlzcGxheQo+IGluaXRpYWxpemF0aW9uIHNlcXVlbmNlIGR1 cmluZyBkcml2ZXIgbG9hZGluZyBhbmQgcmVzdW1pbmcgKGJvdGggc3lzdGVtCj4gYW5kIHJ1bnRp bWUpIGFuZCBlbmFibGUgcG93ZXIgd2VsbCAxIG9ubHkgb25jZSB0aGVyZS4gQWZ0ZXJ3YXJkcyBE TUMKPiB3aWxsIHRvZ2dsZSBwb3dlciB3ZWxsIDEgd2hlbmV2ZXIgZW50ZXJpbmcvZXhpdGluZyBE QzUuCj4gCj4gRm9yIHRoaXMgdG8gd29yayB3ZSBhbHNvIG5lZWQgdG8gZG8gYXdheSBnZXR0aW5n IHRoZSBQTEwgcG93ZXIgZG9tYWluLAo+IHNpbmNlIHRoYXQganVzdCBrZXB0IHJ1bnRpbWUgUE0g ZGlzYWJsZWQgZm9yIGdvb2QuCj4gCj4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgoKTWFrZSBpdCBtb3JlIGxpa2UgU0tMICh3aGljaCBhbHNvIG5lZWRzIG1v cmUgd29yayBpbiB0aGlzIGFyZWEsCmJ1dCB0aGF0J3MgYW5vdGhlciBtYXR0ZXIpLgoKUmV2aWV3 ZWQtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgfCAxNSArLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICB8IDE3IC0tLS0t LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgICB8ICA1ICstLQo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiArCj4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDc1ICsrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLQo+ICA1IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDQ4 IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+IGluZGV4IDM5OThmNmEu LjNmNTZkZGYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMTA3MCwxMCArMTA3 MCw3IEBAIHN0YXRpYyBpbnQgaHN3X3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAKPiAgc3RhdGljIGludCBieHRfc3VzcGVuZF9jb21wbGV0ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAtCS8qIFRPRE86IHdoZW4g REM1IHN1cHBvcnQgaXMgYWRkZWQgZGlzYWJsZSBEQzUgaGVyZS4gKi8KPiAtCj4gLQlicm94dG9u X2RkaV9waHlfdW5pbml0KGRldl9wcml2KTsKPiAtCWJyb3h0b25fdW5pbml0X2NkY2xrKGRldl9w cml2KTsKPiArCWJ4dF9kaXNwbGF5X2NvcmVfdW5pbml0KGRldl9wcml2KTsKPiAgCWJ4dF9lbmFi bGVfZGM5KGRldl9wcml2KTsKPiAgCj4gIAlyZXR1cm4gMDsKPiBAQCAtMTA4MSwxNiArMTA3OCw4 IEBAIHN0YXRpYyBpbnQgYnh0X3N1c3BlbmRfY29tcGxldGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAKPiAgc3RhdGljIGludCBieHRfcmVzdW1lX3ByZXBhcmUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQkvKiBUT0RPOiB3aGVuIENTUiBG VyBzdXBwb3J0IGlzIGFkZGVkIG1ha2Ugc3VyZSB0aGUgRlcgaXMgbG9hZGVkICovCj4gLQo+ICAJ Ynh0X2Rpc2FibGVfZGM5KGRldl9wcml2KTsKPiAtCj4gLQkvKgo+IC0JICogVE9ETzogd2hlbiBE QzUgc3VwcG9ydCBpcyBhZGRlZCBlbmFibGUgREM1IGhlcmUgaWYgdGhlIENTUiBGVwo+IC0JICog aXMgYXZhaWxhYmxlLgo+IC0JICovCj4gLQlicm94dG9uX2luaXRfY2RjbGsoZGV2X3ByaXYpOwo+ IC0JYnJveHRvbl9kZGlfcGh5X2luaXQoZGV2X3ByaXYpOwo+ICsJYnh0X2Rpc3BsYXlfY29yZV9p bml0KGRldl9wcml2LCB0cnVlKTsKPiAgCj4gIAlyZXR1cm4gMDsKPiAgfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBkOWRhODlkLi4xZmJlNjE5IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC01NDQyLDIxICs1NDQyLDYgQEAgc3Rh dGljIHZvaWQgYnJveHRvbl9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBpbnQgZnJlcXVlbmN5KQo+ICAKPiAgdm9pZCBicm94dG9uX2luaXRfY2RjbGsoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gLQl1aW50MzJfdCB2YWw7Cj4gLQo+ IC0JLyoKPiAtCSAqIE5ERV9SU1RXUk5fT1BUIFJTVCBQQ0ggSGFuZHNoYWtlIEVuIG11c3QgYWx3 YXlzIGJlIDBiIG9uIEJYVAo+IC0JICogb3IgZWxzZSB0aGUgcmVzZXQgd2lsbCBoYW5nIGJlY2F1 c2UgdGhlcmUgaXMgbm8gUENIIHRvIHJlc3BvbmQuCj4gLQkgKiBNb3ZlIHRoZSBoYW5kc2hha2Ug cHJvZ3JhbW1pbmcgdG8gaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UuCj4gLQkgKiBQcmV2aW91c2x5 IHdhcyBsZWZ0IHVwIHRvIEJJT1MuCj4gLQkgKi8KPiAtCXZhbCA9IEk5MTVfUkVBRChIU1dfTkRF X1JTVFdSTl9PUFQpOwo+IC0JdmFsICY9IH5SRVNFVF9QQ0hfSEFORFNIQUtFX0VOQUJMRTsKPiAt CUk5MTVfV1JJVEUoSFNXX05ERV9SU1RXUk5fT1BULCB2YWwpOwo+IC0KPiAtCS8qIEVuYWJsZSBQ RzEgZm9yIGNkY2xrICovCj4gLQlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9X RVJfRE9NQUlOX1BMTFMpOwo+IC0KPiAgCS8qIGNoZWNrIGlmIGNkIGNsb2NrIGlzIGVuYWJsZWQg Ki8KPiAgCWlmIChJOTE1X1JFQUQoQlhUX0RFX1BMTF9FTkFCTEUpICYgQlhUX0RFX1BMTF9QTExf RU5BQkxFKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiRGlzcGxheSBhbHJlYWR5IGluaXRpYWxpemVk XG4iKTsKPiBAQCAtNTQ5Myw4ICs1NDc4LDYgQEAgdm9pZCBicm94dG9uX3VuaW5pdF9jZGNsayhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAo+ICAJLyogU2V0IG1pbmltdW0g KGJ5cGFzcykgZnJlcXVlbmN5LCBpbiBlZmZlY3QgdHVybmluZyBvZmYgdGhlIERFIFBMTCAqLwo+ ICAJYnJveHRvbl9zZXRfY2RjbGsoZGV2X3ByaXYsIDE5MjAwKTsKPiAtCj4gLQlpbnRlbF9kaXNw bGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX1BMTFMpOwo+ICB9Cj4gIAo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IHNrbF9jZGNsa19lbnRyeSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcGxsX21nci5jCj4gaW5kZXggZmJlODhiOC4uYTA2MGI2NyAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+IEBAIC0xNjQ0LDEwICsxNjQ0LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZGRpX3BsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCURS TV9ERUJVR19LTVMoIlNhbml0aXplZCBjZGNsayBwcm9ncmFtbWVkIGJ5IHByZS1vc1xuIik7Cj4g IAkJaWYgKCEoSTkxNV9SRUFEKExDUExMMV9DVEwpICYgTENQTExfUExMX0VOQUJMRSkpCj4gIAkJ CURSTV9FUlJPUigiTENQTEwxIGlzIGRpc2FibGVkXG4iKTsKPiAtCX0gZWxzZSBpZiAoSVNfQlJP WFRPTihkZXYpKSB7Cj4gLQkJYnJveHRvbl9pbml0X2NkY2xrKGRldl9wcml2KTsKPiAtCQlicm94 dG9uX2RkaV9waHlfaW5pdChkZXZfcHJpdik7Cj4gLQl9IGVsc2Ugewo+ICsJfSBlbHNlIGlmICgh SVNfQlJPWFRPTihkZXZfcHJpdikpIHsKPiAgCQkvKgo+ICAJCSAqIFRoZSBMQ1BMTCByZWdpc3Rl ciBzaG91bGQgYmUgdHVybmVkIG9uIGJ5IHRoZSBCSU9TLiBGb3Igbm93Cj4gIAkJICogbGV0J3Mg anVzdCBjaGVjayBpdHMgc3RhdGUgYW5kIHByaW50IGVycm9ycyBpbiBjYXNlCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBlODg0M2E3Li40YzIwODNkIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTQ2MCw2ICsxNDYwLDggQEAgaW50IGludGVsX3Bvd2VyX2Rv bWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqKTsKPiAgdm9pZCBpbnRlbF9wb3dl cl9kb21haW5zX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKik7Cj4gIHZvaWQgaW50ZWxf cG93ZXJfZG9tYWluc19pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg Ym9vbCByZXN1bWUpOwo+ICB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNfc3VzcGVuZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICt2b2lkIGJ4dF9kaXNwbGF5X2NvcmVfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgcmVzdW1lKTsKPiArdm9p ZCBieHRfZGlzcGxheV9jb3JlX3VuaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwo+ICB2b2lkIGludGVsX3J1bnRpbWVfcG1fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdik7Cj4gIGNvbnN0IGNoYXIgKgo+ICBpbnRlbF9kaXNwbGF5X3Bvd2VyX2Rv bWFpbl9zdHIoZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbiBkb21haW4pOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCA1OGVkOGJjLi4wYzMwNjM1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IEBAIC00MTks MjUgKzQxOSwxMyBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJQklUKFBPV0VSX0RPTUFJTl9WR0EpIHwJCQkJXAo+ ICAJQklUKFBPV0VSX0RPTUFJTl9HTUJVUykgfAkJCVwKPiAgCUJJVChQT1dFUl9ET01BSU5fSU5J VCkpCj4gLSNkZWZpbmUgQlhUX0RJU1BMQVlfUE9XRVJXRUxMXzFfUE9XRVJfRE9NQUlOUyAoCQlc Cj4gLQlCWFRfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKPiAtCUJJVChQ T1dFUl9ET01BSU5fUElQRV9BKSB8CQkJXAo+IC0JQklUKFBPV0VSX0RPTUFJTl9UUkFOU0NPREVS X0VEUCkgfAkJXAo+IC0JQklUKFBPV0VSX0RPTUFJTl9UUkFOU0NPREVSX0RTSV9BKSB8CQlcCj4g LQlCSVQoUE9XRVJfRE9NQUlOX1RSQU5TQ09ERVJfRFNJX0MpIHwJCVwKPiAtCUJJVChQT1dFUl9E T01BSU5fUElQRV9BX1BBTkVMX0ZJVFRFUikgfAkJXAo+IC0JQklUKFBPV0VSX0RPTUFJTl9QT1JU X0RESV9BX0xBTkVTKSB8CQlcCj4gLQlCSVQoUE9XRVJfRE9NQUlOX1BPUlRfRFNJKSB8CQkJXAo+ IC0JQklUKFBPV0VSX0RPTUFJTl9BVVhfQSkgfAkJCVwKPiAtCUJJVChQT1dFUl9ET01BSU5fUExM UykgfAkJCVwKPiAtCUJJVChQT1dFUl9ET01BSU5fSU5JVCkpCj4gICNkZWZpbmUgQlhUX0RJU1BM QVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICAJQlhUX0RJU1BMQVlfUE9XRVJXRUxMXzJf UE9XRVJfRE9NQUlOUyB8CQlcCj4gIAlCSVQoUE9XRVJfRE9NQUlOX01PREVTRVQpIHwJCQlcCj4g IAlCSVQoUE9XRVJfRE9NQUlOX0FVWF9BKSB8CQkJXAo+ICAJQklUKFBPV0VSX0RPTUFJTl9JTklU KSkKPiAgI2RlZmluZSBCWFRfRElTUExBWV9BTFdBWVNfT05fUE9XRVJfRE9NQUlOUyAoCQlcCj4g LQkoUE9XRVJfRE9NQUlOX01BU0sgJiB+KEJYVF9ESVNQTEFZX1BPV0VSV0VMTF8xX1BPV0VSX0RP TUFJTlMgfAlcCj4gKwkoUE9XRVJfRE9NQUlOX01BU0sgJiB+KAkJCQlcCj4gIAlCWFRfRElTUExB WV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TKSkgfAlcCj4gIAlCSVQoUE9XRVJfRE9NQUlOX0lO SVQpKQo+ICAKPiBAQCAtMTkzMCw3ICsxOTE4LDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2Vy X3dlbGwgYnh0X3Bvd2VyX3dlbGxzW10gPSB7Cj4gIAl9LAo+ICAJewo+ICAJCS5uYW1lID0gInBv d2VyIHdlbGwgMSIsCj4gLQkJLmRvbWFpbnMgPSBCWFRfRElTUExBWV9QT1dFUldFTExfMV9QT1dF Ul9ET01BSU5TLAo+ICsJCS5kb21haW5zID0gMCwKPiAgCQkub3BzID0gJnNrbF9wb3dlcl93ZWxs X29wcywKPiAgCQkuZGF0YSA9IFNLTF9ESVNQX1BXXzEsCj4gIAl9LAo+IEBAIC0yMTY2LDYgKzIx NTQsNjEgQEAgc3RhdGljIHZvaWQgc2tsX2Rpc3BsYXlfY29yZV91bmluaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJbXV0ZXhfdW5sb2NrKCZwb3dlcl9kb21haW5zLT5s b2NrKTsKPiAgfQo+ICAKPiArdm9pZCBieHRfZGlzcGxheV9jb3JlX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgICBib29sIHJlc3VtZSkKPiArewo+ICsJc3Ry dWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJf ZG9tYWluczsKPiArCXN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKndlbGw7Cj4gKwl1aW50MzJfdCB2 YWw7Cj4gKwo+ICsJZ2VuOV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0RJU0FCTEUp Owo+ICsKPiArCS8qCj4gKwkgKiBOREVfUlNUV1JOX09QVCBSU1QgUENIIEhhbmRzaGFrZSBFbiBt dXN0IGFsd2F5cyBiZSAwYiBvbiBCWFQKPiArCSAqIG9yIGVsc2UgdGhlIHJlc2V0IHdpbGwgaGFu ZyBiZWNhdXNlIHRoZXJlIGlzIG5vIFBDSCB0byByZXNwb25kLgo+ICsJICogTW92ZSB0aGUgaGFu ZHNoYWtlIHByb2dyYW1taW5nIHRvIGluaXRpYWxpemF0aW9uIHNlcXVlbmNlLgo+ICsJICogUHJl dmlvdXNseSB3YXMgbGVmdCB1cCB0byBCSU9TLgo+ICsJICovCj4gKwl2YWwgPSBJOTE1X1JFQUQo SFNXX05ERV9SU1RXUk5fT1BUKTsKPiArCXZhbCAmPSB+UkVTRVRfUENIX0hBTkRTSEFLRV9FTkFC TEU7Cj4gKwlJOTE1X1dSSVRFKEhTV19OREVfUlNUV1JOX09QVCwgdmFsKTsKPiArCj4gKwkvKiBF bmFibGUgUEcxICovCj4gKwltdXRleF9sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsKPiArCj4g Kwl3ZWxsID0gbG9va3VwX3Bvd2VyX3dlbGwoZGV2X3ByaXYsIFNLTF9ESVNQX1BXXzEpOwo+ICsJ aW50ZWxfcG93ZXJfd2VsbF9lbmFibGUoZGV2X3ByaXYsIHdlbGwpOwo+ICsKPiArCW11dGV4X3Vu bG9jaygmcG93ZXJfZG9tYWlucy0+bG9jayk7Cj4gKwo+ICsJYnJveHRvbl9pbml0X2NkY2xrKGRl dl9wcml2KTsKPiArCWJyb3h0b25fZGRpX3BoeV9pbml0KGRldl9wcml2KTsKPiArCj4gKwlpZiAo cmVzdW1lICYmIGRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCj4gKwkJaW50ZWxfY3NyX2xvYWRf cHJvZ3JhbShkZXZfcHJpdik7Cj4gK30KPiArCj4gK3ZvaWQgYnh0X2Rpc3BsYXlfY29yZV91bmlu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwlzdHJ1Y3QgaTkx NV9wb3dlcl9kb21haW5zICpwb3dlcl9kb21haW5zID0gJmRldl9wcml2LT5wb3dlcl9kb21haW5z Owo+ICsJc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqd2VsbDsKPiArCj4gKwlnZW45X3NldF9kY19z dGF0ZShkZXZfcHJpdiwgRENfU1RBVEVfRElTQUJMRSk7Cj4gKwo+ICsJYnJveHRvbl9kZGlfcGh5 X3VuaW5pdChkZXZfcHJpdik7Cj4gKwlicm94dG9uX3VuaW5pdF9jZGNsayhkZXZfcHJpdik7Cj4g Kwo+ICsJLyogVGhlIHNwZWMgZG9lc24ndCBjYWxsIGZvciByZW1vdmluZyB0aGUgcmVzZXQgaGFu ZHNoYWtlIGZsYWcgKi8KPiArCj4gKwkvKiBEaXNhYmxlIFBHMSAqLwo+ICsJbXV0ZXhfbG9jaygm cG93ZXJfZG9tYWlucy0+bG9jayk7Cj4gKwo+ICsJd2VsbCA9IGxvb2t1cF9wb3dlcl93ZWxsKGRl dl9wcml2LCBTS0xfRElTUF9QV18xKTsKPiArCWludGVsX3Bvd2VyX3dlbGxfZGlzYWJsZShkZXZf cHJpdiwgd2VsbCk7Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsK PiArfQo+ICsKPiAgc3RhdGljIHZvaWQgY2h2X3BoeV9jb250cm9sX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpj bW5fYmMgPQo+IEBAIC0yMjk3LDYgKzIzNDAsOCBAQCB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNf aW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgcmVzdW1lKQo+ ICAKPiAgCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewo+ICAJCXNr bF9kaXNwbGF5X2NvcmVfaW5pdChkZXZfcHJpdiwgcmVzdW1lKTsKPiArCX0gZWxzZSBpZiAoSVNf QlJPWFRPTihkZXYpKSB7Cj4gKwkJYnh0X2Rpc3BsYXlfY29yZV9pbml0KGRldl9wcml2LCByZXN1 bWUpOwo+ICAJfSBlbHNlIGlmIChJU19DSEVSUllWSUVXKGRldikpIHsKPiAgCQltdXRleF9sb2Nr KCZwb3dlcl9kb21haW5zLT5sb2NrKTsKPiAgCQljaHZfcGh5X2NvbnRyb2xfaW5pdChkZXZfcHJp dik7Cj4gQEAgLTIzMzQsNiArMjM3OSw4IEBAIHZvaWQgaW50ZWxfcG93ZXJfZG9tYWluc19zdXNw ZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIAlpZiAoSVNfU0tZ TEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQo+ICAJCXNrbF9kaXNwbGF5 X2NvcmVfdW5pbml0KGRldl9wcml2KTsKPiArCWVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYp KQo+ICsJCWJ4dF9kaXNwbGF5X2NvcmVfdW5pbml0KGRldl9wcml2KTsKPiAgfQo+ICAKPiAgLyoq Cj4gLS0gCj4gMi41LjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=