From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 13/14] drm/i915: skylake primary plane scaling using shared scalers Date: Thu, 9 Apr 2015 14:51:31 -0700 Message-ID: <20150409215131.GE9016@intel.com> References: <1428445727-18103-1-git-send-email-chandra.konduru@intel.com> <1428445727-18103-14-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id B2C176E865 for ; Thu, 9 Apr 2015 14:51:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1428445727-18103-14-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 T24gVHVlLCBBcHIgMDcsIDIwMTUgYXQgMDM6Mjg6NDZQTSAtMDcwMCwgQ2hhbmRyYSBLb25kdXJ1 IHdyb3RlOgo+IFRoaXMgcGF0Y2ggZW5hYmxlcyBza3lsYWtlIHByaW1hcnkgcGxhbmUgc2NhbGlu ZyB1c2luZyBzaGFyZWQKPiBzY2FsZXJzIGF0b21pYyBkZXNnaW4uCj4gCj4gdjI6Cj4gLXVzZSBz aW5nbGUgY29weSBvZiBzY2FsZXIgbGltaXRzIChNYXR0KQo+IAo+IHYzOgo+IC1tb3ZlIGRldGFj aF9zY2FsZXJzIHRvIGNydGMgY29tbWl0IHBhdGggKE1hdHQpCj4gLXVzZSB2YWx1ZXMgaW4gcGxh bmVfc3RhdGUtPnNyYyBhcyByZWd1bGFyIGludGVnZXJzIChtZSkKPiAKPiB2NDoKPiAtY2hhbmdl cyB0byBhbGlnbiB3aXRoIHVwZGF0ZWQgc2NhbGVyIHN0cnVjdHVyZXMgKE1hdHQsIG1lKQo+IC1r ZWVwIHBsYW5lIHNyYyByZWN0IGluIDE2LjE2IGZvcm1hdCAoTWF0dCwgRGFuaWVsKQoKU2VlIGNv bW1lbnRzIG9uIHBhdGNoICM2IHRoYXQgcmVsYXRlIHRvIHRoaXMuICBJZiB5b3Ugd2FudCB0byB0 YWtlIHRoZQphcHByb2FjaCBoZXJlIChwZXJmb3JtIHRoZSB1bnNoaWZ0IGluIHNrbF91cGRhdGVf cGxhbmUpIHRoZW4geW91IGFsc28KbmVlZCB0byBkbyB0aGUgc2FtZSBmb3IgYWxsIG90aGVyIHBs YXRmb3JtcyAoaXZiLCBpbGssIHZsdiwgZXRjLikuICBCdXQKbXkgc3VnZ2VzdGlvbiBvbiB0aGUg b3RoZXIgcGF0Y2ggKGRvIHRoZSB1bnNoaWZ0aW5nIGluIGNvbW1pdF9wbGFuZSBhbmQKbGVhdmUg c2tsX3VwZGF0ZV9wbGFuZSBhbG9uZSkgbWlnaHQgYmUgYSBiaXQgc2ltcGxlci4KCgpNYXR0Cgo+ IAo+IFNpZ25lZC1vZmYtYnk6IENoYW5kcmEgS29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVs LmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMgIHwgICAg NSArLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgIDk2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmggICAgIHwgICAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jICB8ICAgIDkgKysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDEwNSBpbnNlcnRpb25zKCspLCA2 IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4gaW5kZXgg MmZjMDRlYy4uOGY3NTljNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCj4g QEAgLTE2Nyw3ICsxNjcsNyBAQCBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAo+ICAJCXBsYW5lLT5zdGF0ZS0+c3RhdGUgPSBOVUxMOwo+ICAJfQo+ICAKPiAt CS8qIHN3YXAgY3J0Y19zdGF0ZSAqLwo+ICsJLyogc3dhcCBjcnRjX3NjYWxlcl9zdGF0ZSAqLwo+ ICAJZm9yIChpID0gMDsgaSA8IGRldi0+bW9kZV9jb25maWcubnVtX2NydGM7IGkrKykgewo+ICAJ CXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRjc1tpXTsKPiAgCQlpZiAoIWNydGMp IHsKPiBAQCAtMTc2LDYgKzE3Niw5IEBAIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCj4gIAo+ICAJCXRvX2ludGVsX2NydGMoY3J0YyktPmNvbmZpZy0+c2Nh bGVyX3N0YXRlID0KPiAgCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZS0+Y3J0Y19zdGF0ZXNb aV0pLT5zY2FsZXJfc3RhdGU7Cj4gKwo+ICsJCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA+PSA5 KQo+ICsJCQlza2xfZGV0YWNoX3NjYWxlcnModG9faW50ZWxfY3J0YyhjcnRjKSk7Cj4gIAl9Cj4g IAo+ICAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lcyhkZXYsIHN0YXRlKTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggYWE0ZGExZi4uYzdlZTIzMiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtMjk3OCw2ICsyOTc4LDE0 IEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+ICAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ICAJdTMyIHBsYW5l X2N0bCwgc3RyaWRlX2RpdjsKPiAgCXVuc2lnbmVkIGxvbmcgc3VyZl9hZGRyOwo+ICsJc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSBpbnRlbF9jcnRjLT5jb25maWc7Cj4gKwlz dHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ICsJaW50IHNyY194ID0gMCwg c3JjX3kgPSAwLCBzcmNfdyA9IDAsIHNyY19oID0gMDsKPiArCWludCBkc3RfeCA9IDAsIGRzdF95 ID0gMCwgZHN0X3cgPSAwLCBkc3RfaCA9IDA7Cj4gKwlpbnQgc2NhbGVyX2lkID0gLTE7Cj4gKwo+ ICsJcGxhbmVfc3RhdGUgPSBjcnRjLT5wcmltYXJ5ID8KPiArCQl0b19pbnRlbF9wbGFuZV9zdGF0 ZShjcnRjLT5wcmltYXJ5LT5zdGF0ZSkgOiBOVUxMOwo+ICAKPiAgCWlmICghaW50ZWxfY3J0Yy0+ cHJpbWFyeV9lbmFibGVkKSB7Cj4gIAkJSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIDAp Owo+IEBAIC0zMDQ2LDEyICszMDU0LDQwIEBAIHN0YXRpYyB2b2lkIHNreWxha2VfdXBkYXRlX3By aW1hcnlfcGxhbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkJCSAgICAgICBmYi0+cGl4 ZWxfZm9ybWF0KTsKPiAgCXN1cmZfYWRkciA9IGludGVsX3BsYW5lX29ial9vZmZzZXQodG9faW50 ZWxfcGxhbmUoY3J0Yy0+cHJpbWFyeSksIG9iaik7Cj4gIAo+ICsJaWYgKHBsYW5lX3N0YXRlKSB7 Cj4gKwkJc2NhbGVyX2lkID0gcGxhbmVfc3RhdGUtPnNjYWxlcl9pZDsKPiArCQlzcmNfeCA9IHBs YW5lX3N0YXRlLT5zcmMueDEgPj4gMTY7Cj4gKwkJc3JjX3kgPSBwbGFuZV9zdGF0ZS0+c3JjLnkx ID4+IDE2Owo+ICsJCXNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5zcmMpID4+ IDE2Owo+ICsJCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAx NjsKPiArCQlkc3RfeCA9IHBsYW5lX3N0YXRlLT5kc3QueDE7Cj4gKwkJZHN0X3kgPSBwbGFuZV9z dGF0ZS0+ZHN0LnkxOwo+ICsJCWRzdF93ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5k c3QpOwo+ICsJCWRzdF9oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+ZHN0KTsKPiAr CX0KPiArCj4gIAlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCAwKSwgcGxhbmVfY3RsKTsKPiAg CUk5MTVfV1JJVEUoUExBTkVfUE9TKHBpcGUsIDApLCAwKTsKPiArCj4gKwlpZiAoc3JjX3cgJiYg c3JjX2ggJiYgZHN0X3cgJiYgZHN0X2ggJiYgc2NhbGVyX2lkID49IDApIHsKPiArCQl1aW50MzJf dCBwc19jdHJsID0gMDsKPiArCj4gKwkJV0FSTl9PTih4ICE9IHNyY194IHx8IHkgIT0gc3JjX3kp Owo+ICsJCXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQU19QTEFORV9TRUwoMCkgfAo+ICsJCQlj cnRjX3N0YXRlLT5zY2FsZXJfc3RhdGUuc2NhbGVyc1tzY2FsZXJfaWRdLm1vZGU7Cj4gKwkJSTkx NV9XUklURShTS0xfUFNfQ1RSTChwaXBlLCBzY2FsZXJfaWQpLCBwc19jdHJsKTsKPiArCQlJOTE1 X1dSSVRFKFNLTF9QU19QV1JfR0FURShwaXBlLCBzY2FsZXJfaWQpLCAwKTsKPiArCQlJOTE1X1dS SVRFKFNLTF9QU19XSU5fUE9TKHBpcGUsIHNjYWxlcl9pZCksIChkc3RfeCA8PCAxNikgfCBkc3Rf eSk7Cj4gKwkJSTkxNV9XUklURShTS0xfUFNfV0lOX1NaKHBpcGUsIHNjYWxlcl9pZCksIChkc3Rf dyA8PCAxNikgfCBkc3RfaCk7Cj4gKwo+ICsJCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCAw KSwgKChzcmNfaCAtIDEpIDw8IDE2KSB8IChzcmNfdyAtIDEpKTsKPiArCX0gZWxzZSB7Cj4gKwkJ STkxNV9XUklURShQTEFORV9TSVpFKHBpcGUsIDApLAo+ICsJCQkoaW50ZWxfY3J0Yy0+Y29uZmln LT5waXBlX3NyY19oIC0gMSkgPDwgMTYgfAo+ICsJCQkoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBl X3NyY193IC0gMSkpOwo+ICsJfQo+ICsKPiAgCUk5MTVfV1JJVEUoUExBTkVfT0ZGU0VUKHBpcGUs IDApLCAoeSA8PCAxNikgfCB4KTsKPiAtCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCAwKSwK PiAtCQkgICAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5waXBlX3NyY19oIC0gMSkgPDwgMTYgfAo+IC0J CSAgIChpbnRlbF9jcnRjLT5jb25maWctPnBpcGVfc3JjX3cgLSAxKSk7Cj4gIAlJOTE1X1dSSVRF KFBMQU5FX1NUUklERShwaXBlLCAwKSwgZmItPnBpdGNoZXNbMF0gLyBzdHJpZGVfZGl2KTsKPiAg CUk5MTVfV1JJVEUoUExBTkVfU1VSRihwaXBlLCAwKSwgc3VyZl9hZGRyKTsKPiAgCj4gQEAgLTEy Nzc4LDYgKzEyODE0LDM2IEBAIGludGVsX2NsZWFudXBfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCj4gIAl9Cj4gIH0KPiAgCj4gK2ludAo+ICtza2xfbWF4X3NjYWxlKHN0cnVjdCBp bnRlbF9jcnRjICppbnRlbF9jcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKPiArewo+ICsJaW50IG1heF9zY2FsZTsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7Cj4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXY7Cj4gKwlpbnQgY3J0Y19jbG9jaywg Y2RjbGs7Cj4gKwo+ICsJaWYgKCFpbnRlbF9jcnRjIHx8ICFjcnRjX3N0YXRlKQo+ICsJCXJldHVy biBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkc7Cj4gKwo+ICsJZGV2ID0gaW50ZWxfY3J0Yy0+ YmFzZS5kZXY7Cj4gKwlkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwljcnRjX2Nsb2Nr ID0gY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7Cj4gKwljZGNsayA9 IGRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKGRldik7Cj4gKwo+ICsJ aWYgKCFjcnRjX2Nsb2NrIHx8ICFjZGNsaykKPiArCQlyZXR1cm4gRFJNX1BMQU5FX0hFTFBFUl9O T19TQ0FMSU5HOwo+ICsKPiArCS8qCj4gKwkgKiBza2wgbWF4IHNjYWxlIGlzIGxvd2VyIG9mOgo+ ICsJICogICAgY2xvc2UgdG8gMyBidXQgbm90IDMsIC0xIGlzIGZvciB0aGF0IHB1cnBvc2UKPiAr CSAqICAgICAgICAgICAgb3IKPiArCSAqICAgIGNkY2xrL2NydGNfY2xvY2sKPiArCSAqLwo+ICsJ bWF4X3NjYWxlID0gbWluKCgxIDw8IDE2KSAqIDMgLSAxLCAoMSA8PCA4KSAqICgoY2RjbGsgPDwg OCkgLyBjcnRjX2Nsb2NrKSk7Cj4gKwo+ICsJcmV0dXJuIG1heF9zY2FsZTsKPiArfQo+ICsKPiAg c3RhdGljIGludAo+ICBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAo+ICAJCQkgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gQEAgLTEy Nzg2LDE5ICsxMjg1MiwyOSBAQCBpbnRlbF9jaGVja19wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lLAo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5iYXNlLmNy dGM7Cj4gIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKPiArCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBz dGF0ZS0+YmFzZS5mYjsKPiAgCXN0cnVjdCBkcm1fcmVjdCAqZGVzdCA9ICZzdGF0ZS0+ZHN0Owo+ ICAJc3RydWN0IGRybV9yZWN0ICpzcmMgPSAmc3RhdGUtPnNyYzsKPiAgCWNvbnN0IHN0cnVjdCBk cm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKPiArCWludCBtYXhfc2NhbGUgPSBEUk1fUExB TkVfSEVMUEVSX05PX1NDQUxJTkc7Cj4gKwlpbnQgbWluX3NjYWxlID0gRFJNX1BMQU5FX0hFTFBF Ul9OT19TQ0FMSU5HOwo+ICAJaW50IHJldDsKPiAgCj4gIAljcnRjID0gY3J0YyA/IGNydGMgOiBw bGFuZS0+Y3J0YzsKPiAgCWludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICsJY3J0 Y19zdGF0ZSA9IHN0YXRlLT5iYXNlLnN0YXRlID8KPiArCQlpbnRlbF9hdG9taWNfZ2V0X2NydGNf c3RhdGUoc3RhdGUtPmJhc2Uuc3RhdGUsIGludGVsX2NydGMpIDogTlVMTDsKPiArCj4gKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+ICsJCW1pbl9zY2FsZSA9IDE7Cj4gKwkJbWF4 X3NjYWxlID0gc2tsX21heF9zY2FsZShpbnRlbF9jcnRjLCBjcnRjX3N0YXRlKTsKPiArCX0KPiAg Cj4gIAlyZXQgPSBkcm1fcGxhbmVfaGVscGVyX2NoZWNrX3VwZGF0ZShwbGFuZSwgY3J0YywgZmIs Cj4gIAkJCQkJICAgIHNyYywgZGVzdCwgY2xpcCwKPiAtCQkJCQkgICAgRFJNX1BMQU5FX0hFTFBF Ul9OT19TQ0FMSU5HLAo+IC0JCQkJCSAgICBEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcsCj4g KwkJCQkJICAgIG1pbl9zY2FsZSwKPiArCQkJCQkgICAgbWF4X3NjYWxlLAo+ICAJCQkJCSAgICBm YWxzZSwgdHJ1ZSwgJnN0YXRlLT52aXNpYmxlKTsKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJl dDsKPiBAQCAtMTI4NDIsNiArMTI5MTgsMTMgQEAgaW50ZWxfY2hlY2tfcHJpbWFyeV9wbGFuZShz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiAgCQkJaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV93 bSA9IHRydWU7Cj4gIAl9Cj4gIAo+ICsJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpIHsK PiArCQlyZXQgPSBza2xfdXBkYXRlX3NjYWxlcl91c2VycyhpbnRlbF9jcnRjLCBjcnRjX3N0YXRl LAo+ICsJCQl0b19pbnRlbF9wbGFuZShwbGFuZSksIHN0YXRlLCAwKTsKPiArCQlpZiAocmV0KQo+ ICsJCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0x MzAyMSw2ICsxMzEwNCw5IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9wcmltYXJ5 X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAKPiAgCXByaW1hcnktPmNh bl9zY2FsZSA9IGZhbHNlOwo+ICAJcHJpbWFyeS0+bWF4X2Rvd25zY2FsZSA9IDE7Cj4gKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gOSkgewo+ICsJCXByaW1hcnktPmNhbl9zY2FsZSA9IHRy dWU7Cj4gKwl9Cj4gIAlzdGF0ZS0+c2NhbGVyX2lkID0gLTE7Cj4gIAlwcmltYXJ5LT5waXBlID0g cGlwZTsKPiAgCXByaW1hcnktPnBsYW5lID0gcGlwZTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+IGluZGV4IDdiMjhiZmYuLjA1NDMxNTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAo+IEBAIC0xMTI1LDYgKzExMjUsNyBAQCB2b2lkIHNrbF9kZXRhY2hfc2NhbGVycyhzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3J0Yyk7Cj4gIGludCBza2xfdXBkYXRlX3NjYWxlcl91c2Vycyhz dHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiAgCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLCBzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lLAo+ICAJc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSwgaW50IGZvcmNlX2RldGFjaCk7Cj4gK2lu dCBza2xfbWF4X3NjYWxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gIAo+ICB1bnNpZ25lZCBsb25nIGludGVsX3BsYW5lX29i al9vZmZzZXQoc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSwKPiAgCQkJCSAgICAgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKPiBpbmRleCBjMDVmYjM2Li45NTU5NjVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKPiBAQCAtMTExOSw2ICsxMTE5LDE1IEBAIGludCBpbnRlbF9zcHJpdGVfc2V0 X2NvbG9ya2V5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAl9Cj4gIAo+ ICAJaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7Cj4gKwo+ICsJaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuID49IDkpIHsKPiArCQkvKiBwbGFuZSBzY2FsaW5nIGFuZCBjb2xvcmtl eSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlICovCj4gKwkJaWYgKHRvX2ludGVsX3BsYW5lX3N0YXRl KHBsYW5lLT5zdGF0ZSktPnNjYWxlcl9pZCA+PSAwKSB7Cj4gKwkJCURSTV9FUlJPUigiY29sb3Jr ZXkgbm90IGFsbG93ZWQgd2l0aCBzY2FsZXJcbiIpOwo+ICsJCQlyZXR1cm4gLUVJTlZBTDsKPiAr CQl9Cj4gKwl9Cj4gKwo+ICAJaW50ZWxfcGxhbmUtPmNrZXkgPSAqc2V0Owo+ICAKPiAgCS8qCj4g LS0gCj4gMS43LjkuNQo+IAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5l ZXIKSW9URyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9u Cig5MTYpIDM1Ni0yNzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==