From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 04/20] drm/i915: Do not update pfit state when toggling crtc enabled. Date: Tue, 7 Jul 2015 11:26:28 +0200 Message-ID: <20150707092627.GY7568@phenom.ffwll.local> References: <1436252911-5703-1-git-send-email-maarten.lankhorst@linux.intel.com> <1436252911-5703-5-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f44.google.com (mail-wg0-f44.google.com [74.125.82.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id E3DA26E4E7 for ; Tue, 7 Jul 2015 02:23:42 -0700 (PDT) Received: by wgck11 with SMTP id k11so162322327wgc.0 for ; Tue, 07 Jul 2015 02:23:41 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1436252911-5703-5-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdWwgMDcsIDIwMTUgYXQgMDk6MDg6MTVBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhpcyBtdXN0IGJlIGRvbmUgaW4gYWR2YW5jZSwgYW5kIGR1cmluZyBjcnRj X2Rpc2FibGUgYWxsIHNjYWxlcnMKCiJpbiBhZHZhbmNlIiAuLi4gYmVmb3JlIHdoYXQgZXhhY3Rs eT8gWWVzIEknbSBoYXJwaW5nIGEgYml0IGFib3V0IGNvbW1pdAptZXNzYWdlcyB0b2RheSA7LSkK Cj4gY2FuIGJlIGZvcmNlIGRpc2FibGVkLgoKV2h5IGRvZXMgaXQgbWF0dGVyIHRoYXQgYWxsIHNj YWxlcnMgY2FuIGJlIGZvcmNlIGRpc2FibGVkPwoKPiBUaGlzIG1lYW5zIGludGVsX2F0b21pY19z ZXR1cF9zY2FsZXJzIGlzIG9ubHkgY2FsbGVkIGluIDEgcGxhY2Ugbm93LAo+IGR1cmluZyBjcnRj X2NoZWNrLgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxh bmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cgp0YmggSSBkb24ndCByZWFsbHkgdW5kZXJzdGFuZCB3 aGF0J3MgdGhlIHByb2JsZW0gYW5kIHdoYXQncyB0aGUgc29sdXRpb24KaW1wbGVtZW50ZWQgaGVy ZS4gSnVkZ2luZyBmcm9tIGNvbW1lbnRzIHRoZSB0cm91YmxlIGlzIHRoYXQgd2UgZG9uJ3QKY29y cmVjdGx5IHJlY292ZXIgdGhlIHBmaXQgc3RhdGUgZm9yIHNrbCBzY2FsZXJzIGF0IGh3IHJlYWRv dXQgdGltZT8KCkkgZ3Vlc3Mgd2Ugc2hvdWxkIGZpeCB0aGF0IGZvciBhdCBsZXN0IHRoZSBjcnRj IGxldmVsIHNjYWxlciAoaW5jbHVkaW5nCmNyb3NzLWNoZWNraW5nIG9mIGFsbCBzY2FsZXIgc3Rh dGUpIGFuZCBpbiBzYW5pdGl6ZV9wbGFuZSBmb3JjZS1kaXNhYmxpbmcKYW55IHBsYW5lIHRoYXQg aXMgdXNpbmcgYSBzY2FsZXIuIEJ1dCByZWFsbHkgbm90IG11Y2ggY2x1ZSBoZXJlLgoKPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgIHwgMTQgKystLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNjggKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg ICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAy ICstCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKPiBpbmRleCAwYWVjZWQ4MjIwMWUu LjQyOTY3N2ExMTFkNSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9h dG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gQEAg LTI3MiwxNyArMjcyLDEyIEBAIGludCBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVycyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAoKVGhpcyBmdW5jdGlvbiBpcyB3YXkgdG9vIGJpZy4gWWVhaCBub3Qg eW91ciBkb2luZywgYnV0IGltbyB3b3VsZCBiZSBnb29kCnRvIHNwbGl0IGl0IHVwIGEgYml0LiBF c3BlY2lhbGx5IHNpbmNlIGl0IGFscmVhZHkgaGFzIGEgY29tbWVudCBleHBsYWluaW5nCnRoZSBo aWdoLWxldmVsIGZsb3cgd2hpY2ggd291bGQgYmUgYSBnb29kIHBhdHRlcm4gdG8gc3RydWN0dXJl IHRoZQpzdWJmdW5jdGlvbiBleHRyYWN0aW9uIGFmdGVyLgoKPiAgCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lID0gTlVMTDsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmU7Cj4gIAlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlID0gTlVMTDsKPiAtCXN0cnVjdCBp bnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAqc2NhbGVyX3N0YXRlOwo+IC0Jc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKmRybV9zdGF0ZTsKPiArCXN0cnVjdCBpbnRlbF9jcnRjX3NjYWxlcl9zdGF0ZSAq c2NhbGVyX3N0YXRlID0KPiArCQkmY3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ICsJc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKmRybV9zdGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7Cj4g IAlpbnQgbnVtX3NjYWxlcnNfbmVlZDsKPiAgCWludCBpLCBqOwo+ICAKPiAtCWlmIChJTlRFTF9J TkZPKGRldiktPmdlbiA8IDkgfHwgIWludGVsX2NydGMgfHwgIWNydGNfc3RhdGUpCj4gLQkJcmV0 dXJuIDA7Cj4gLQo+IC0Jc2NhbGVyX3N0YXRlID0gJmNydGNfc3RhdGUtPnNjYWxlcl9zdGF0ZTsK PiAtCWRybV9zdGF0ZSA9IGNydGNfc3RhdGUtPmJhc2Uuc3RhdGU7Cj4gLQo+ICAJbnVtX3NjYWxl cnNfbmVlZCA9IGh3ZWlnaHQzMihzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2Vycyk7Cj4gIAlEUk1f REVCVUdfS01TKCJjcnRjX3N0YXRlID0gJXAgbmVlZCA9ICVkIGF2YWlsID0gJWQgc2NhbGVyX3Vz ZXJzID0gMHgleFxuIiwKPiAgCQljcnRjX3N0YXRlLCBudW1fc2NhbGVyc19uZWVkLCBpbnRlbF9j cnRjLT5udW1fc2NhbGVycywKPiBAQCAtMzI3LDkgKzMyMiw2IEBAIGludCBpbnRlbF9hdG9taWNf c2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQluYW1lID0gIlBMQU5F IjsKPiAgCQkJaWR4ID0gcGxhbmUtPmJhc2UuaWQ7Cj4gIAo+IC0JCQlpZiAoIWRybV9zdGF0ZSkK PiAtCQkJCWNvbnRpbnVlOwo+IC0KPiAgCQkJLyogcGxhbmUgc2NhbGVyIGNhc2U6IGFzc2lnbiBh cyBhIHBsYW5lIHNjYWxlciAqLwo+ICAJCQkvKiBmaW5kIHRoZSBwbGFuZSB0aGF0IHNldCB0aGUg Yml0IGFzIHNjYWxlcl91c2VyICovCj4gIAkJCXBsYW5lID0gZHJtX3N0YXRlLT5wbGFuZXNbaV07 Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDRkMWE0NzRlMGQxMy4u OGNkM2E3ZWIxZTMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBA IC0yOTA5LDI5ICsyOTA5LDMyIEBAIHVuc2lnbmVkIGxvbmcgaW50ZWxfcGxhbmVfb2JqX29mZnNl dChzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lLAo+ICAJcmV0dXJuIGk5MTVfZ2VtX29i al9nZ3R0X29mZnNldF92aWV3KG9iaiwgdmlldyk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIHNr bF9kZXRhY2hfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLCBpbnQgaWQpCj4g K3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9jcnRjLT5iYXNlLmRldjsKPiAr CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4g Kwo+ICsJSTkxNV9XUklURShTS0xfUFNfQ1RSTChpbnRlbF9jcnRjLT5waXBlLCBpZCksIDApOwo+ ICsJSTkxNV9XUklURShTS0xfUFNfV0lOX1BPUyhpbnRlbF9jcnRjLT5waXBlLCBpZCksIDApOwo+ ICsJSTkxNV9XUklURShTS0xfUFNfV0lOX1NaKGludGVsX2NydGMtPnBpcGUsIGlkKSwgMCk7Cj4g KwlEUk1fREVCVUdfS01TKCJDUlRDOiVkIERpc2FibGVkIHNjYWxlciBpZCAldS4ldVxuIiwKPiAr CQlpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsIGludGVsX2NydGMtPnBpcGUsIGlkKTsKPiArfQo+ ICsKPiAgLyoKPiAgICogVGhpcyBmdW5jdGlvbiBkZXRhY2hlcyAoYWthLiB1bmJpbmRzKSB1bnVz ZWQgc2NhbGVycyBpbiBoYXJkd2FyZQo+ICAgKi8KPiAgc3RhdGljIHZvaWQgc2tsX2RldGFjaF9z Y2FsZXJzKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICB7Cj4gLQlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2Owo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2Owo+ICAJ c3RydWN0IGludGVsX2NydGNfc2NhbGVyX3N0YXRlICpzY2FsZXJfc3RhdGU7Cj4gIAlpbnQgaTsK PiAgCj4gLQlkZXYgPSBpbnRlbF9jcnRjLT5iYXNlLmRldjsKPiAtCWRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPiAgCXNjYWxlcl9zdGF0ZSA9ICZpbnRlbF9jcnRjLT5jb25maWctPnNjYWxl cl9zdGF0ZTsKPiAgCj4gIAkvKiBsb29wIHRocm91Z2ggYW5kIGRpc2FibGUgc2NhbGVycyB0aGF0 IGFyZW4ndCBpbiB1c2UgKi8KPiAgCWZvciAoaSA9IDA7IGkgPCBpbnRlbF9jcnRjLT5udW1fc2Nh bGVyczsgaSsrKSB7Cj4gLQkJaWYgKCFzY2FsZXJfc3RhdGUtPnNjYWxlcnNbaV0uaW5fdXNlKSB7 Cj4gLQkJCUk5MTVfV1JJVEUoU0tMX1BTX0NUUkwoaW50ZWxfY3J0Yy0+cGlwZSwgaSksIDApOwo+ IC0JCQlJOTE1X1dSSVRFKFNLTF9QU19XSU5fUE9TKGludGVsX2NydGMtPnBpcGUsIGkpLCAwKTsK PiAtCQkJSTkxNV9XUklURShTS0xfUFNfV0lOX1NaKGludGVsX2NydGMtPnBpcGUsIGkpLCAwKTsK PiAtCQkJRFJNX0RFQlVHX0tNUygiQ1JUQzolZCBEaXNhYmxlZCBzY2FsZXIgaWQgJXUuJXVcbiIs Cj4gLQkJCQlpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsIGludGVsX2NydGMtPnBpcGUsIGkpOwo+ IC0JCX0KPiArCQlpZiAoIXNjYWxlcl9zdGF0ZS0+c2NhbGVyc1tpXS5pbl91c2UpCj4gKwkJCXNr bF9kZXRhY2hfc2NhbGVyKGludGVsX2NydGMsIGkpOwo+ICAJfQo+ICB9Cj4gIAo+IEBAIC00MzYy LDEzICs0MzY1LDEyIEBAIHNrbF91cGRhdGVfc2NhbGVyKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLCBib29sIGZvcmNlX2RldGFjaCwKPiAgICogc2tsX3VwZGF0ZV9zY2FsZXJf Y3J0YyAtIFN0YWdlcyB1cGRhdGUgdG8gc2NhbGVyIHN0YXRlIGZvciBhIGdpdmVuIGNydGMuCj4g ICAqCj4gICAqIEBzdGF0ZTogY3J0YydzIHNjYWxlciBzdGF0ZQo+IC0gKiBAZm9yY2VfZGV0YWNo OiB3aGV0aGVyIHRvIGZvcmNpYmx5IGRpc2FibGUgc2NhbGVyCj4gICAqCj4gICAqIFJldHVybgo+ ICAgKiAgICAgMCAtIHNjYWxlcl91c2FnZSB1cGRhdGVkIHN1Y2Nlc3NmdWxseQo+ICAgKiAgICBl cnJvciAtIHJlcXVlc3RlZCBzY2FsaW5nIGNhbm5vdCBiZSBzdXBwb3J0ZWQgb3Igb3RoZXIgZXJy b3IgY29uZGl0aW9uCj4gICAqLwo+IC1pbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyhzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUsIGludCBmb3JjZV9kZXRhY2gpCj4gK2ludCBza2xfdXBk YXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSkKPiAgewo+ICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKHN0YXRlLT5iYXNl LmNydGMpOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+IEBA IC00Mzc3LDcgKzQzNzksNyBAQCBpbnQgc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyhzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqc3RhdGUsIGludCBmb3JjZV9kZXRhY2gpCj4gIAlEUk1fREVCVUdfS01T KCJVcGRhdGluZyBzY2FsZXIgZm9yIFtDUlRDOiVpXSBzY2FsZXJfdXNlciBpbmRleCAldS4ldVxu IiwKPiAgCQkgICAgICBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsIGludGVsX2NydGMtPnBpcGUs IFNLTF9DUlRDX0lOREVYKTsKPiAgCj4gLQlyZXR1cm4gc2tsX3VwZGF0ZV9zY2FsZXIoc3RhdGUs IGZvcmNlX2RldGFjaCwgU0tMX0NSVENfSU5ERVgsCj4gKwlyZXR1cm4gc2tsX3VwZGF0ZV9zY2Fs ZXIoc3RhdGUsICFzdGF0ZS0+YmFzZS5hY3RpdmUsIFNLTF9DUlRDX0lOREVYLAo+ICAJCSZzdGF0 ZS0+c2NhbGVyX3N0YXRlLnNjYWxlcl9pZCwgRFJNX1JPVEFURV8wLAo+ICAJCXN0YXRlLT5waXBl X3NyY193LCBzdGF0ZS0+cGlwZV9zcmNfaCwKPiAgCQlhZGp1c3RlZF9tb2RlLT5oZGlzcGxheSwg YWRqdXN0ZWRfbW9kZS0+dmRpc3BsYXkpOwo+IEBAIC00NDUxLDcgKzQ0NTMsMTUgQEAgc3RhdGlj IGludCBza2xfdXBkYXRlX3NjYWxlcl9wbGFuZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBza3lsYWtlX3Bm aXRfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBpbnQgZW5hYmxlKQo+ICtzdGF0aWMg dm9pZCBza3lsYWtlX3NjYWxlcl9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICt7 Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgY3J0Yy0+bnVtX3NjYWxlcnM7IGkr KykKPiArCQlza2xfZGV0YWNoX3NjYWxlcihjcnRjLCBpKTsKPiArfQo+ICsKPiArc3RhdGljIHZv aWQgc2t5bGFrZV9wZml0X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+ICAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ICAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtNDQ2MSwxMyAr NDQ3MSw2IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfcGZpdF91cGRhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMsIGludCBlbmFibGUpCj4gIAo+ICAJRFJNX0RFQlVHX0tNUygiZm9yIGNydGNfc3Rh dGUgPSAlcFxuIiwgY3J0Yy0+Y29uZmlnKTsKPiAgCj4gLQkvKiBUbyB1cGRhdGUgcGZpdCwgZmly c3QgdXBkYXRlIHNjYWxlciBzdGF0ZSAqLwo+IC0Jc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyhjcnRj LT5jb25maWcsICFlbmFibGUpOwo+IC0JaW50ZWxfYXRvbWljX3NldHVwX3NjYWxlcnMoY3J0Yy0+ YmFzZS5kZXYsIGNydGMsIGNydGMtPmNvbmZpZyk7Cj4gLQlza2xfZGV0YWNoX3NjYWxlcnMoY3J0 Yyk7Cj4gLQlpZiAoIWVuYWJsZSkKPiAtCQlyZXR1cm47Cj4gLQo+ICAJaWYgKGNydGMtPmNvbmZp Zy0+cGNoX3BmaXQuZW5hYmxlZCkgewo+ICAJCWludCBpZDsKPiAgCj4gQEAgLTQ5NDEsNyArNDk0 NCw3IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICAJaW50ZWxfZGRpX2VuYWJsZV9waXBlX2Nsb2NrKGludGVsX2NydGMpOwo+ICAKPiAg CWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA5KQo+IC0JCXNreWxha2VfcGZpdF91cGRhdGUo aW50ZWxfY3J0YywgMSk7Cj4gKwkJc2t5bGFrZV9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKPiAg CWVsc2UgaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOSkKPiAgCQlpcm9ubGFrZV9wZml0X2Vu YWJsZShpbnRlbF9jcnRjKTsKPiAgCWVsc2UKPiBAQCAtNTA3NSw3ICs1MDc4LDcgQEAgc3RhdGlj IHZvaWQgaGFzd2VsbF9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJaW50 ZWxfZGRpX2Rpc2FibGVfdHJhbnNjb2Rlcl9mdW5jKGRldl9wcml2LCBjcHVfdHJhbnNjb2Rlcik7 Cj4gIAo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID09IDkpCj4gLQkJc2t5bGFrZV9wZml0 X3VwZGF0ZShpbnRlbF9jcnRjLCAwKTsKPiArCQlza3lsYWtlX3NjYWxlcl9kaXNhYmxlKGludGVs X2NydGMpOwo+ICAJZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPCA5KQo+ICAJCWlyb25s YWtlX3BmaXRfZGlzYWJsZShpbnRlbF9jcnRjKTsKPiAgCWVsc2UKPiBAQCAtMTE4MjMsNyArMTE4 MjYsMTcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCj4gIAkJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0dXJuIGludGVsX2F0 b21pY19zZXR1cF9zY2FsZXJzKGRldiwgaW50ZWxfY3J0YywgcGlwZV9jb25maWcpOwo+ICsJcmV0 ID0gMDsKPiArCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5KSB7Cj4gKwkJaWYgKG1vZGVf Y2hhbmdlZCkKPiArCQkJcmV0ID0gc2tsX3VwZGF0ZV9zY2FsZXJfY3J0YyhwaXBlX2NvbmZpZyk7 Cj4gKwo+ICsJCWlmICghcmV0KQo+ICsJCQlyZXQgPSBpbnRlbF9hdG9taWNfc2V0dXBfc2NhbGVy cyhkZXYsIGludGVsX2NydGMsCj4gKwkJCQkJCQkgcGlwZV9jb25maWcpOwo+ICsJfQo+ICsKPiAr CXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVs cGVyX2Z1bmNzIGludGVsX2hlbHBlcl9mdW5jcyA9IHsKPiBAQCAtMTUzMjcsNiArMTUzNDAsMTEg QEAgc3RhdGljIHZvaWQgcmVhZG91dF9wbGFuZV9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCWRybV9wbGFuZV9zdGF0ZSA9IHAtPmJhc2Uuc3Rh dGU7Cj4gKwo+ICsJCS8qIFBsYW5lIHNjYWxlciBzdGF0ZSBpcyBub3QgdG91Y2hlZCBoZXJlLiBU aGUgZmlyc3QgYXRvbWljCj4gKwkJICogY29tbWl0IHdpbGwgcmVzdG9yZSBhbGwgcGxhbmUgc2Nh bGVycyB0byBpdHMgb2xkIHN0YXRlLgo+ICsJCSAqLwo+ICsKPiAgCQlpZiAoYWN0aXZlICYmIHAt PmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKSB7Cj4gIAkJCXZpc2libGUgPSBw cmltYXJ5X2dldF9od19zdGF0ZShjcnRjKTsKPiAgCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUoZHJt X3BsYW5lX3N0YXRlKS0+dmlzaWJsZSA9IHZpc2libGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j Cj4gaW5kZXggZmNjNjRlNWVmOWM4Li5mMWI5ZjkzOWI0MzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwLmMKPiBAQCAtMTM4NCw3ICsxMzg0LDcgQEAgaW50ZWxfZHBfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAo+ICAJCWlmIChJTlRFTF9JTkZPKGRl diktPmdlbiA+PSA5KSB7Cj4gIAkJCWludCByZXQ7Cj4gLQkJCXJldCA9IHNrbF91cGRhdGVfc2Nh bGVyX2NydGMocGlwZV9jb25maWcsIDApOwo+ICsJCQlyZXQgPSBza2xfdXBkYXRlX3NjYWxlcl9j cnRjKHBpcGVfY29uZmlnKTsKPiAgCQkJaWYgKHJldCkKPiAgCQkJCXJldHVybiByZXQ7Cj4gIAkJ fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggNjNkN2QzMmU2MTIzLi4yZWQ2MThm NzhmZTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMTUyLDcgKzExNTIs NyBAQCB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSwKPiAgdm9pZCBpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9tb2Rlc2V0X3ByZWNsb3NlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7Cj4gIAo+IC1pbnQgc2ts X3VwZGF0ZV9zY2FsZXJfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwg aW50IGZvcmNlX2RldGFjaCk7Cj4gK2ludCBza2xfdXBkYXRlX3NjYWxlcl9jcnRjKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgaW50IHNrbF9tYXhfc2NhbGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsK PiAgCj4gIHVuc2lnbmVkIGxvbmcgaW50ZWxfcGxhbmVfb2JqX29mZnNldChzdHJ1Y3QgaW50ZWxf cGxhbmUgKmludGVsX3BsYW5lLAo+IC0tIAo+IDIuMS4wCj4gCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3 YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=