From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 09/20] drm/i915: Add helper function to update scaler_users in crtc_state Date: Thu, 2 Apr 2015 16:04:26 -0700 Message-ID: <20150402230426.GX28205@intel.com> References: <1427943589-6254-1-git-send-email-chandra.konduru@intel.com> <1427943589-6254-10-git-send-email-chandra.konduru@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 69D286E3F6 for ; Thu, 2 Apr 2015 16:04:27 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1427943589-6254-10-git-send-email-chandra.konduru@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chandra Konduru Cc: daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, ander.conselvan.de.oliveira@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBBcHIgMDEsIDIwMTUgYXQgMDc6NTk6MzhQTSAtMDcwMCwgQ2hhbmRyYSBLb25kdXJ1 IHdyb3RlOgo+IFRoaXMgaGVscGVyIGZ1bmN0aW9uIHN0YWdlcyBhIHNjYWxlciByZXF1ZXN0IGZv ciBhIHBsYW5lL2NydGMgaW50bwo+IGNydGNfc3RhdGUtPnNjYWxlcl91c2VycyAod2hpY2ggaXMg YSBiaXQgZmllbGQpLiBJdCBhbHNvIHBlcmZvcm1zCj4gcmVxdWlyZWQgY2hlY2tzIGJlZm9yZSBz dGFnaW5nIGFueSBjaGFuZ2UgaW50byBzY2FsZXJfc3RhdGUuCj4gCj4gdjI6Cj4gLXVwZGF0ZXMg dG8gdXNlIHNpbmdsZSBjb3B5IG9mIHNjYWxlciBsaW1pdHMgKE1hdHQpCj4gLWFkZGVkIGZvcmNl IGRldGFjaCBwYXJhbWV0ZXIgZm9yIHBmaXQgZGlzYWJsZSBwdXJwb3NlIChtZSkKPiAKPiB2MzoK PiAtdXBkYXRlZCBmdW5jdGlvbiBoZWFkZXIgdG8ga2VybmVsZG9jIGZvcm1hdCAoTWF0dCkKPiAt ZHJvcHBlZCBuZWVkX3NjYWxpbmcgY2hlY2tzIChNYXR0KQo+IAo+IHY0Ogo+IC1tb3ZlIGNsZWFy aW5nIG9mIHNjYWxlciBpZCBmcm9tIGNvbW1pdCBwYXRoIHRvIGNoZWNrIHBhdGggKE1hdHQpCj4g LXVwZGF0ZWQgY29sb3JrZXkgY2hlY2tzIGJhc2VkIG9uIHJlY2VudCB1cGRhdGVzIChtZSkKPiAt c3F1YXNoZWQgc2NhbGVyIGNoZWNrIHdoaWxlIGVuYWJsaW5nIGNvbG9ya2V5IHRvIGhlcmUgKG1l KQo+IC11c2UgdmFsdWVzIGluIHBsYW5lX3N0YXRlLT5zcmMgYXMgcmVndWxhciBpbnRlZ2VycyAo bWUpCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVA aW50ZWwuY29tPgoKQXMgbm90ZWQgaW4gdGhlIHByZXZpb3VzIHJldmlldyBjeWNsZSwgdGhpcyBz aG91bGQgYXQgbGVhc3QgYmUgc3F1YXNoZWQKd2l0aCBwYXRjaCAxNywgd2hpY2ggaXMgd2hlbiB5 b3Ugc3RhcnQgY2FsbGluZyB0aGlzLgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIHwgIDE0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4g IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgIDMgKwo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgICA5ICsrKwo+ICAzIGZpbGVzIGNoYW5n ZWQsIDE1NiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+IGluZGV4IDhiMmVmZjQuLjYwM2EyZGMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gQEAgLTEyNTk0LDYgKzEyNTk0LDE1MCBAQCBpbnRlbF9jbGVhbnVwX3BsYW5l X2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ICAJfQo+ICB9Cj4gIAo+ICsvKioKPiArICog c2tsX3VwZGF0ZV9zY2FsZXJfdXNlcnMgLSBTdGFnZXMgdXBkYXRlIHRvIGNydGMncyBzY2FsZXIg c3RhdGUKPiArICogQGludGVsX2NydGM6IGNydGMKPiArICogQGNydGNfc3RhdGU6IGNydGNfc3Rh dGUKPiArICogQHBsYW5lOiBwbGFuZSAoTlVMTCBpbmRpY2F0ZXMgY3J0YyBpcyByZXF1ZXN0aW5n IHVwZGF0ZSkKPiArICogQHBsYW5lX3N0YXRlOiBwbGFuZSdzIHN0YXRlCj4gKyAqIEBmb3JjZV9k ZXRhY2g6IHJlcXVlc3QgdW5jb25kaXRpb25hbCBkZXRhY2htZW50IG9mIHNjYWxlcgo+ICsgKgo+ ICsgKiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgc2NhbGVyIHN0YXRlIGZvciByZXF1ZXN0ZWQgcGxh bmUgb3IgY3J0Yy4KPiArICogVG8gcmVxdWVzdCBzY2FsZXIgdXNhZ2UgdXBkYXRlIGZvciBhIHBs YW5lLCBjYWxsZXIgc2hhbGwgcGFzcyBwbGFuZSBwb2ludGVyLgo+ICsgKiBUbyByZXF1ZXN0IHNj YWxlciB1c2FnZSB1cGRhdGUgZm9yIGNydGMsIGNhbGxlciBzaGFsbCBwYXNzIHBsYW5lIHBvaW50 ZXIKPiArICogYXMgTlVMTC4KPiArICoKPiArICogUmV0dXJuCj4gKyAqICAgICAwIC0gc2NhbGVy X3VzYWdlIHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5Cj4gKyAqICAgIGVycm9yIC0gcmVxdWVzdGVkIHNj YWxpbmcgY2Fubm90IGJlIHN1cHBvcnRlZCBvciBvdGhlciBlcnJvciBjb25kaXRpb24KPiArICov Cj4gK2ludAo+ICtza2xfdXBkYXRlX3NjYWxlcl91c2VycygKPiArCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCXN0 cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUsCj4gKwlpbnQgZm9yY2VfZGV0YWNoKQo+ICt7Cj4gKwlpbnQgbmVlZF9zY2Fs aW5nOwo+ICsJaW50IGlkeDsKPiArCWludCBzcmNfdywgc3JjX2gsIGRzdF93LCBkc3RfaDsKPiAr CWludCAqc2NhbGVyX2lkOwo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY3J0Y19zY2FsZXJfc3RhdGUgKnNjYWxlcl9zdGF0ZTsKPiArCj4gKwlpZiAoIWlu dGVsX2NydGMgfHwgIWNydGNfc3RhdGUgfHwKPiArCQkoaW50ZWxfcGxhbmUgJiYgaW50ZWxfcGxh bmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpKQoKSXQgZG9lc24ndCBsb29r IHBvc3NpYmxlIHRvIGdldCBoZXJlIHdpdGggYSBjdXJzb3IgcGxhbmUgdG8gbWUuICBNYXliZQp3 cmFwIHRoYXQgcGxhbmUgdHlwZSB0ZXN0IGluIGEgV0FSTl9PTigpIHNvIHRoYXQgd2Ugbm90aWNl IGlmIHdlIHNjcmV3CnVwPwoKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlzY2FsZXJfc3RhdGUgPSAm Y3J0Y19zdGF0ZS0+c2NhbGVyX3N0YXRlOwo+ICsKPiArCWlmICghc2NhbGVyX3N0YXRlLT5udW1f c2NhbGVycykgewo+ICsJCURSTV9ERUJVR19LTVMoImNydGNfc3RhdGUgPSAlcCwgbnVtX3NjYWxl cnMgPSAlZFxuIiwgY3J0Y19zdGF0ZSwKPiArCQkJc2NhbGVyX3N0YXRlLT5udW1fc2NhbGVycyk7 Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gKwo+ICsJaWR4ID0gaW50ZWxfcGxhbmUgPyBkcm1fcGxh bmVfaW5kZXgoJmludGVsX3BsYW5lLT5iYXNlKSA6IFNLTF9DUlRDX0lOREVYOwo+ICsJZmIgPSBp bnRlbF9wbGFuZSA/IHBsYW5lX3N0YXRlLT5iYXNlLmZiIDogTlVMTDsKPiArCj4gKwlpZiAoaW50 ZWxfcGxhbmUpIHsKPiArCQlzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+c3Jj KTsKPiArCQlzcmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPnNyYyk7Cj4gKwkJ ZHN0X3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmRzdCk7Cj4gKwkJZHN0X2ggPSBk cm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5kc3QpOwo+ICsJCXNjYWxlcl9pZCA9ICZwbGFu ZV9zdGF0ZS0+c2NhbGVyX2lkOwo+ICsJfSBlbHNlIHsKPiArCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqdXN0ZWRfbW9kZSA9Cj4gKwkJCSZjcnRjX3N0YXRlLT5iYXNlLmFkanVzdGVkX21v ZGU7Cj4gKwkJc3JjX3cgPSBjcnRjX3N0YXRlLT5waXBlX3NyY193Owo+ICsJCXNyY19oID0gY3J0 Y19zdGF0ZS0+cGlwZV9zcmNfaDsKPiArCQlkc3RfdyA9IGFkanVzdGVkX21vZGUtPmhkaXNwbGF5 Owo+ICsJCWRzdF9oID0gYWRqdXN0ZWRfbW9kZS0+dmRpc3BsYXk7Cj4gKwkJc2NhbGVyX2lkID0g JnNjYWxlcl9zdGF0ZS0+c2NhbGVyX2lkOwo+ICsJfQo+ICsJbmVlZF9zY2FsaW5nID0gKHNyY193 ICE9IGRzdF93IHx8IHNyY19oICE9IGRzdF9oKTsKPiArCj4gKwkvKgo+ICsJICogaWYgcGxhbmUg aXMgYmVpbmcgZGlzYWJsZWQgb3Igc2NhbGVyIGlzIG5vIG1vcmUgcmVxdWlyZWQgb3IgZm9yY2Ug ZGV0YWNoCj4gKwkgKiAgLSBmcmVlIHNjYWxlciBiaW5kZWQgdG8gdGhpcyBwbGFuZS9jcnRjCj4g KwkgKiAgLSBpbiBvcmRlciB0byBkbyB0aGlzLCB1cGRhdGUgY3J0Yy0+c2NhbGVyX3VzYWdlCj4g KwkgKgo+ICsJICogSGVyZSBzY2FsZXIgc3RhdGUgaW4gY3J0Y19zdGF0ZSBpcyBzZXQgZnJlZSBz byB0aGF0Cj4gKwkgKiBzY2FsZXIgY2FuIGJlIGFzc2lnbmVkIHRvIG90aGVyIHVzZXIuIEFjdHVh bCByZWdpc3Rlcgo+ICsJICogdXBkYXRlIHRvIGZyZWUgdGhlIHNjYWxlciBpcyBkb25lIGluIHBs YW5lL3BhbmVsLWZpdCBwcm9ncmFtbWluZy4KPiArCSAqIEZvciB0aGlzIHB1cnBvc2UgY3J0Yy9w bGFuZV9zdGF0ZS0+c2NhbGVyX2lkIGlzbid0IHJlc2V0IGhlcmUuCj4gKwkgKi8KPiArCWlmIChm b3JjZV9kZXRhY2ggfHwgIW5lZWRfc2NhbGluZyB8fCAoaW50ZWxfcGxhbmUgJiYKCkkgZ3Vlc3Mg dGhpcyBmb3JjZV9kZXRhY2ggYXBwcm9hY2ggaXMgYSBiaXQgb2YgYSBuZWNlc3NhcnkgZXZpbCBi ZWNhdXNlCndlIGhhdmVuJ3QgY29udmVydGVkIHRvIGF0b21pYyBmb3IgZnVsbCBtb2Rlc2V0cyB5 ZXQgKG9yIGhhdmUgcmVhbApjcnRjX3N0YXRlIHRyYWNraW5nIHlldCkuICBJJ20gYSBsaXR0bGUg Yml0IHdvcnJpZWQgdGhhdCBpdCB3aWxsIG1ha2UKdGhlIGV2ZW50dWFsIGF0b21pYyBjb252ZXJz aW9uIGEgYml0IHRyaWNraWVyLCBidXQgSSBndWVzcyB0aGVyZSBpc24ndAptdWNoIHdlIGNhbiBk byBhYm91dCB0aGF0IGlmIHdlJ3JlIHBsYW5uaW5nIHRvIG1lcmdlIHRoaXMgc2VyaWVzIG9uCnRv ZGF5J3MgZHJpdmVyIHJhdGhlciB0aGFuIHdhaXRpbmcgdG8gZmluaXNoIGF0b21pYyBjb252ZXJz aW9uLgoKQW5kZXIgaXMgQ2MnZCBvbiB0aGlzLCBhbmQgaXQgaW50ZXJzZWN0cyBtYWlubHkgd2l0 aCBoaXMgb25nb2luZyB3b3JrLApzbyBpZiBoZSdzIG9rYXkgd2l0aCBob3cgdGhlIHNjYWxlciBh c3NpZ25tZW50IHN0YXRlIGlzIG1hbmFnZWQgd2l0aAp0aGlzLCB0aGVuIEkgYW0gdG9vLgoKPiAr CQkoIWZiIHx8ICFwbGFuZV9zdGF0ZS0+dmlzaWJsZSkpKSB7Cj4gKwkJaWYgKCpzY2FsZXJfaWQg Pj0gMCkgewo+ICsJCQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2VycyAmPSB+KDEgPDwgaWR4KTsK PiArCQkJc2NhbGVyX3N0YXRlLT5zY2FsZXJzWypzY2FsZXJfaWRdLmluX3VzZSA9IDA7Cj4gKwkJ CSpzY2FsZXJfaWQgPSAtMTsKPiArCj4gKwkJCURSTV9ERUJVR19LTVMoIlN0YWdlZCBmcmVlaW5n IHNjYWxlciBpZCAldS4ldSBmcm9tICVzOiVkICIKPiArCQkJCSJjcnRjX3N0YXRlID0gJXAgc2Nh bGVyX3VzZXJzID0gMHgleFxuIiwKPiArCQkJCWludGVsX2NydGMtPnBpcGUsICpzY2FsZXJfaWQs IGludGVsX3BsYW5lID8gIlBMQU5FIiA6ICJDUlRDIiwKPiArCQkJCWludGVsX3BsYW5lID8gaW50 ZWxfcGxhbmUtPmJhc2UuYmFzZS5pZCA6Cj4gKwkJCQlpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQs IGNydGNfc3RhdGUsCj4gKwkJCQlzY2FsZXJfc3RhdGUtPnNjYWxlcl91c2Vycyk7Cj4gKwkJfQo+ ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKPiArCS8qIHJhbmdlIGNoZWNrcyAqLwo+ICsJaWYgKHNy Y193IDwgc2NhbGVyX3N0YXRlLT5taW5fc3JjX3cgfHwgc3JjX2ggPCBzY2FsZXJfc3RhdGUtPm1p bl9zcmNfaCB8fAo+ICsJCWRzdF93IDwgc2NhbGVyX3N0YXRlLT5taW5fZHN0X3cgfHwgZHN0X2gg PCBzY2FsZXJfc3RhdGUtPm1pbl9kc3RfaCB8fAo+ICsKPiArCQlzcmNfdyA+IHNjYWxlcl9zdGF0 ZS0+bWF4X3NyY193IHx8IHNyY19oID4gc2NhbGVyX3N0YXRlLT5tYXhfc3JjX2ggfHwKPiArCQlk c3RfdyA+IHNjYWxlcl9zdGF0ZS0+bWF4X2RzdF93IHx8IGRzdF9oID4gc2NhbGVyX3N0YXRlLT5t YXhfZHN0X2gpIHsKPiArCQlEUk1fREVCVUdfS01TKCIlczolZCBzY2FsZXJfdXNlciBpbmRleCAl dS4ldTogc3JjICV1eCV1IGRzdCAldXgldSAiCj4gKwkJCSJzaXplIGlzIG91dCBvZiBzY2FsZXIg cmFuZ2VcbiIsCj4gKwkJCWludGVsX3BsYW5lID8gIlBMQU5FIiA6ICJDUlRDIiwKPiArCQkJaW50 ZWxfcGxhbmUgPyBpbnRlbF9wbGFuZS0+YmFzZS5iYXNlLmlkIDogaW50ZWxfY3J0Yy0+YmFzZS5i YXNlLmlkLAo+ICsJCQlpbnRlbF9jcnRjLT5waXBlLCBpZHgsIHNyY193LCBzcmNfaCwgZHN0X3cs IGRzdF9oKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwkvKiBjaGVjayBjb2xv cmtleSAqLwo+ICsJaWYgKGludGVsX3BsYW5lICYmIGludGVsX3BsYW5lLT5ja2V5LmZsYWdzICE9 IEk5MTVfU0VUX0NPTE9SS0VZX05PTkUpIHsKPiArCQlEUk1fREVCVUdfS01TKCJQTEFORTolZCBz Y2FsaW5nIHdpdGggY29sb3Iga2V5IG5vdCBhbGxvd2VkIiwKPiArCQkJaW50ZWxfcGxhbmUtPmJh c2UuYmFzZS5pZCk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJLyogQ2hlY2sg c3JjIGZvcm1hdCAqLwo+ICsJaWYgKGludGVsX3BsYW5lKSB7Cj4gKwkJc3dpdGNoIChmYi0+cGl4 ZWxfZm9ybWF0KSB7Cj4gKwkJY2FzZSBEUk1fRk9STUFUX1JHQjU2NToKPiArCQljYXNlIERSTV9G T1JNQVRfWEJHUjg4ODg6Cj4gKwkJY2FzZSBEUk1fRk9STUFUX1hSR0I4ODg4Ogo+ICsJCWNhc2Ug RFJNX0ZPUk1BVF9BQkdSODg4ODoKPiArCQljYXNlIERSTV9GT1JNQVRfQVJHQjg4ODg6Cj4gKwkJ Y2FzZSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwOgo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9BUkdCMjEw MTAxMDoKPiArCQljYXNlIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA6Cj4gKwkJY2FzZSBEUk1fRk9S TUFUX0FCR1IyMTAxMDEwOgo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9ZVVlWOgo+ICsJCWNhc2UgRFJN X0ZPUk1BVF9ZVllVOgo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9VWVZZOgo+ICsJCWNhc2UgRFJNX0ZP Uk1BVF9WWVVZOgo+ICsJCQlicmVhazsKPiArCQlkZWZhdWx0Ogo+ICsJCQlEUk1fREVCVUdfS01T KCJQTEFORTolZCBGQjolZCB1bnN1cHBvcnRlZCBzY2FsaW5nIGZvcm1hdCAweCV4XG4iLAo+ICsJ CQkJaW50ZWxfcGxhbmUtPmJhc2UuYmFzZS5pZCwgZmItPmJhc2UuaWQsIGZiLT5waXhlbF9mb3Jt YXQpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJLyogbWFyayB0 aGlzIHBsYW5lIGFzIGEgc2NhbGVyIHVzZXIgaW4gY3J0Y19zdGF0ZSAqLwo+ICsJc2NhbGVyX3N0 YXRlLT5zY2FsZXJfdXNlcnMgfD0gKDEgPDwgaWR4KTsKPiArCURSTV9ERUJVR19LTVMoIiVzOiVk IHN0YWdlZCBzY2FsaW5nIHJlcXVlc3QgZm9yICV1eCV1LT4ldXgldSAiCj4gKwkJImNydGNfc3Rh dGUgPSAlcCBzY2FsZXJfdXNlcnMgPSAweCV4XG4iLAo+ICsJCWludGVsX3BsYW5lID8gIlBMQU5F IiA6ICJDUlRDIiwKPiArCQlpbnRlbF9wbGFuZSA/IGludGVsX3BsYW5lLT5iYXNlLmJhc2UuaWQg OiBpbnRlbF9jcnRjLT5iYXNlLmJhc2UuaWQsCj4gKwkJc3JjX3csIHNyY19oLCBkc3RfdywgZHN0 X2gsIGNydGNfc3RhdGUsIHNjYWxlcl9zdGF0ZS0+c2NhbGVyX3VzZXJzKTsKPiArCXJldHVybiAw Owo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50Cj4gIGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmUoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAkJCSAgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpz dGF0ZSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGU4MTQwYzcuLmUyMGRkZDUg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMTQzLDYgKzExNDMsOSBAQCB2 b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSwKPiAgCQkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpOwo+ICB2 b2lkIGludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhzdHJ1Y3QgZHJtX2NydGMgKmNy dGMpOwo+ICB2b2lkIGludGVsX21vZGVzZXRfcHJlY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgc3RydWN0IGRybV9maWxlICpmaWxlKTsKPiAraW50IHNrbF91cGRhdGVfc2NhbGVyX3VzZXJz KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ICsJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsIHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsCj4gKwlzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlLCBpbnQgZm9yY2VfZGV0YWNoKTsKPiAg Cj4gIHVuc2lnbmVkIGxvbmcgaW50ZWxfcGxhbmVfb2JqX29mZnNldChzdHJ1Y3QgaW50ZWxfcGxh bmUgKmludGVsX3BsYW5lLAo+ICAJCQkJICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IGluZGV4IGFjNGFhNjguLmM4 ZmVmZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+IEBAIC0xMTE5LDYg KzExMTksMTUgQEAgaW50IGludGVsX3Nwcml0ZV9zZXRfY29sb3JrZXkoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKPiAgCX0KPiAgCj4gIAlpbnRlbF9wbGFuZSA9IHRvX2ludGVs X3BsYW5lKHBsYW5lKTsKPiArCj4gKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+ ICsJCS8qIHBsYW5lIHNjYWxpbmcgYW5kIGNvbG9ya2V5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUg Ki8KPiArCQlpZiAodG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKS0+c2NhbGVyX2lk ID49IDApIHsKPiArCQkJRFJNX0VSUk9SKCJjb2xvcmtleSBub3QgYWxsb3dlZCB3aXRoIHNjYWxl clxuIik7Cj4gKwkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCX0KPiArCj4gIAlpbnRlbF9w bGFuZS0+Y2tleSA9ICpzZXQ7Cj4gIAo+ICAJLyoKPiAtLSAKPiAxLjcuOS41Cj4gCgotLSAKTWF0 dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RHIFBsYXRmb3JtIEVuYWJsaW5n ICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikgMzU2LTI3OTUKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK