From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2.5/5] Reapply "drm/i915: Pass atomic states to fbc update, functions." Date: Tue, 14 Jun 2016 14:37:41 +0200 Message-ID: <20160614123741.GP1338@phenom.ffwll.local> References: <1465827229-1704-1-git-send-email-daniel.vetter@ffwll.ch> <1465827229-1704-2-git-send-email-daniel.vetter@ffwll.ch> <28208c38-8738-abdf-0cce-8d8f266b9c28@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9E9D26E748 for ; Tue, 14 Jun 2016 12:37:46 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id m124so22059228wme.3 for ; Tue, 14 Jun 2016 05:37:46 -0700 (PDT) Content-Disposition: inline In-Reply-To: <28208c38-8738-abdf-0cce-8d8f266b9c28@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: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBKdW4gMTQsIDIwMTYgYXQgMDI6MjQ6MjBQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gVGhlIHBhdGNoIHdhcyByZXZlcnRlZCBhcyBwYXJ0IG9mIHRoZSBvcmlnaW5h bCBub25ibG9ja2luZyBjb21taXQKPiBzdXBwb3J0LCBidXQgaXMgcmVxdWlyZWQgZm9yIGFueSBr aW5kIG9mIG5vbmJsb2NraW5nIGNvbW1pdC4KPiAKPiBUaGlzIGlzIHJlcXVpcmVkIHRvIGxldCBm YmMgdXBkYXRlcyBydW4gYXN5bmMuIEl0IGhhcyBhIGxvdCBvZgo+IGNoZWNrcyB3aGV0aGVyIGNl cnRhaW4gbG9ja3MgYXJlIHRha2VuLCB3aGljaCBjYW4gYmUgcmVtb3ZlZCB3aGVuCj4gdGhlIHJl bGV2YW50IHN0YXRlcyBhcmUgcGFzc2VkIGluIGFzIHBvaW50ZXJzLgo+IAo+IFNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ Cj4gTGluazogaHR0cDovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMTQ2 MzQ5MDQ4NC0xOTU0MC0xNy1naXQtc2VuZC1lbWFpbC1tYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20KPiBSZXZpZXdlZC1ieTogUGF0cmlrIEpha29ic3NvbiA8cGF0cmlrLmpha29ic3Nv bkBsaW51eC5pbnRlbC5jb20+CgpsZ3RtIHRvbywgUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAgOCArKysrKy0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaCAgICAgfCAgOCArKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmMuYyAgICAgfCAzOSArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMyBm aWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAyNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gaW5kZXggNWQwMDgxMDY3YmFjLi5kZGNmOTY2 YzUxNWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTQ2NDEs NyArNDY0MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91cGRhdGUoc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ICAJCXN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqb2xkX3ByaW1hcnlfc3RhdGUgPQo+ICAJCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShvbGRf cHJpX3N0YXRlKTsKPiAgCj4gLQkJaW50ZWxfZmJjX3ByZV91cGRhdGUoY3J0Yyk7Cj4gKwkJaW50 ZWxfZmJjX3ByZV91cGRhdGUoY3J0YywgcGlwZV9jb25maWcsIHByaW1hcnlfc3RhdGUpOwo+ICAK PiAgCQlpZiAob2xkX3ByaW1hcnlfc3RhdGUtPnZpc2libGUgJiYKPiAgCQkgICAgKG1vZGVzZXQg fHwgIXByaW1hcnlfc3RhdGUtPnZpc2libGUpKQo+IEBAIC0xMTcwOCw3ICsxMTcwOCw5IEBAIHN0 YXRpYyBpbnQgaW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAK PiAgCWNydGMtPnByaW1hcnktPmZiID0gZmI7Cj4gIAl1cGRhdGVfc3RhdGVfZmIoY3J0Yy0+cHJp bWFyeSk7Cj4gLQlpbnRlbF9mYmNfcHJlX3VwZGF0ZShpbnRlbF9jcnRjKTsKPiArCj4gKwlpbnRl bF9mYmNfcHJlX3VwZGF0ZShpbnRlbF9jcnRjLCBpbnRlbF9jcnRjLT5jb25maWcsCj4gKwkJCSAg ICAgdG9faW50ZWxfcGxhbmVfc3RhdGUocHJpbWFyeS0+c3RhdGUpKTsKPiAgCj4gIAl3b3JrLT5w ZW5kaW5nX2ZsaXBfb2JqID0gb2JqOwo+ICAKPiBAQCAtMTM3OTksNyArMTM4MDEsNyBAQCBzdGF0 aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4g IAkJaWYgKGNydGMtPnN0YXRlLT5hY3RpdmUgJiYKPiAgCQkgICAgZHJtX2F0b21pY19nZXRfZXhp c3RpbmdfcGxhbmVfc3RhdGUoc3RhdGUsIGNydGMtPnByaW1hcnkpKQo+IC0JCQlpbnRlbF9mYmNf ZW5hYmxlKGludGVsX2NydGMpOwo+ICsJCQlpbnRlbF9mYmNfZW5hYmxlKGludGVsX2NydGMsIHBp cGVfY29uZmlnLCB0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5LT5zdGF0ZSkpOwo+ ICAKPiAgCQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKPiAgCQkJZHJtX2F0b21pY19oZWxwZXJf Y29tbWl0X3BsYW5lc19vbl9jcnRjKG9sZF9jcnRjX3N0YXRlKTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+IGluZGV4IDhkYzY3YWRhY2U2Yi4uMGMxZGM5YmFlMTcwIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTQzMSwxMSArMTQzMSwxNSBAQCBzdGF0aWMgaW5saW5l IHZvaWQgaW50ZWxfZmJkZXZfcmVzdG9yZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g IHZvaWQgaW50ZWxfZmJjX2Nob29zZV9jcnRjKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiAgCQkJICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKPiAgYm9vbCBp bnRlbF9mYmNfaXNfYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4g LXZvaWQgaW50ZWxfZmJjX3ByZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwo+ICt2 b2lkIGludGVsX2ZiY19wcmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICsJCQkg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCQkgIHN0cnVjdCBpbnRl bF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpOwo+ICB2b2lkIGludGVsX2ZiY19wb3N0X3VwZGF0 ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gIHZvaWQgaW50ZWxfZmJjX2luaXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiAgdm9pZCBpbnRlbF9mYmNfaW5pdF9waXBl X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gLXZvaWQgaW50ZWxf ZmJjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7Cj4gK3ZvaWQgaW50ZWxfZmJjX2Vu YWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiArCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkgICAgICBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUg KnBsYW5lX3N0YXRlKTsKPiAgdm9pZCBpbnRlbF9mYmNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0Yyk7Cj4gIHZvaWQgaW50ZWxfZmJjX2dsb2JhbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIHZvaWQgaW50ZWxfZmJjX2ludmFsaWRhdGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCj4g aW5kZXggNDVlZTA3Yjg4OGEwLi5lY2FiZDU5ZmZiYWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZmJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9mYmMuYwo+IEBAIC00ODEsMTAgKzQ4MSwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9mYmNfZGVh Y3RpdmF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJaW50ZWxfZmJj X2h3X2RlYWN0aXZhdGUoZGV2X3ByaXYpOwo+ICB9Cj4gIAo+IC1zdGF0aWMgYm9vbCBtdWx0aXBs ZV9waXBlc19vayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArc3RhdGljIGJvb2wgbXVsdGlw bGVfcGlwZXNfb2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCj4gKwkJCSAgICAgIHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4gIHsKPiAtCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVj dCBkcm1fcGxhbmUgKnByaW1hcnkgPSBjcnRjLT5iYXNlLnByaW1hcnk7Cj4gKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKPiAgCXN0 cnVjdCBpbnRlbF9mYmMgKmZiYyA9ICZkZXZfcHJpdi0+ZmJjOwo+ICAJZW51bSBwaXBlIHBpcGUg PSBjcnRjLT5waXBlOwo+ICAKPiBAQCAtNDkyLDkgKzQ5Miw3IEBAIHN0YXRpYyBib29sIG11bHRp cGxlX3BpcGVzX29rKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJaWYgKCFub19mYmNfb25f bXVsdGlwbGVfcGlwZXMoZGV2X3ByaXYpKQo+ICAJCXJldHVybiB0cnVlOwo+ICAKPiAtCVdBUk5f T04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmcHJpbWFyeS0+bXV0ZXgpKTsKPiAtCj4gLQlpZiAo dG9faW50ZWxfcGxhbmVfc3RhdGUocHJpbWFyeS0+c3RhdGUpLT52aXNpYmxlKQo+ICsJaWYgKHBs YW5lX3N0YXRlLT52aXNpYmxlKQo+ICAJCWZiYy0+dmlzaWJsZV9waXBlc19tYXNrIHw9ICgxIDw8 IHBpcGUpOwo+ICAJZWxzZQo+ICAJCWZiYy0+dmlzaWJsZV9waXBlc19tYXNrICY9IH4oMSA8PCBw aXBlKTsKPiBAQCAtNzA5LDIxICs3MDcsMTYgQEAgc3RhdGljIGJvb2wgaW50ZWxfZmJjX2h3X3Ry YWNraW5nX2NvdmVyc19zY3JlZW4oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAlyZXR1cm4g ZWZmZWN0aXZlX3cgPD0gbWF4X3cgJiYgZWZmZWN0aXZlX2ggPD0gbWF4X2g7Cj4gIH0KPiAgCj4g LXN0YXRpYyB2b2lkIGludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIGludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCj4gKwkJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAo+ICsJCQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRl KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5iYXNl LmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgaW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYt PmZiYzsKPiAgCXN0cnVjdCBpbnRlbF9mYmNfc3RhdGVfY2FjaGUgKmNhY2hlID0gJmZiYy0+c3Rh dGVfY2FjaGU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9Cj4gLQkJ dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsKPiAtCXN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUgPQo+IC0JCXRvX2ludGVsX3BsYW5lX3N0YXRlKGNydGMt PmJhc2UucHJpbWFyeS0+c3RhdGUpOwo+ICAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBw bGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 Cj4gIAo+IC0JV0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZjcnRjLT5iYXNlLm11dGV4 KSk7Cj4gLQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmNydGMtPmJhc2UucHJpbWFy eS0+bXV0ZXgpKTsKPiAtCj4gIAljYWNoZS0+Y3J0Yy5tb2RlX2ZsYWdzID0gY3J0Y19zdGF0ZS0+ YmFzZS5hZGp1c3RlZF9tb2RlLmZsYWdzOwo+ICAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8 IElTX0JST0FEV0VMTChkZXZfcHJpdikpCj4gIAkJY2FjaGUtPmNydGMuaHN3X2Jkd19waXhlbF9y YXRlID0KPiBAQCAtODg4LDcgKzg4MSw5IEBAIHN0YXRpYyBib29sIGludGVsX2ZiY19yZWdfcGFy YW1zX2VxdWFsKHN0cnVjdCBpbnRlbF9mYmNfcmVnX3BhcmFtcyAqcGFyYW1zMSwKPiAgCXJldHVy biBtZW1jbXAocGFyYW1zMSwgcGFyYW1zMiwgc2l6ZW9mKCpwYXJhbXMxKSkgPT0gMDsKPiAgfQo+ ICAKPiAtdm9pZCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykK PiArdm9pZCBpbnRlbF9mYmNfcHJlX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiAr CQkJICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkJICBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1 Y3QgaW50ZWxfZmJjICpmYmMgPSAmZGV2X3ByaXYtPmZiYzsKPiBAQCAtODk4LDcgKzg5Myw3IEBA IHZvaWQgaW50ZWxfZmJjX3ByZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAo+ ICAJbXV0ZXhfbG9jaygmZmJjLT5sb2NrKTsKPiAgCj4gLQlpZiAoIW11bHRpcGxlX3BpcGVzX29r KGNydGMpKSB7Cj4gKwlpZiAoIW11bHRpcGxlX3BpcGVzX29rKGNydGMsIHBsYW5lX3N0YXRlKSkg ewo+ICAJCWZiYy0+bm9fZmJjX3JlYXNvbiA9ICJtb3JlIHRoYW4gb25lIHBpcGUgYWN0aXZlIjsK PiAgCQlnb3RvIGRlYWN0aXZhdGU7Cj4gIAl9Cj4gQEAgLTkwNiw3ICs5MDEsNyBAQCB2b2lkIGlu dGVsX2ZiY19wcmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJaWYgKCFmYmMt PmVuYWJsZWQgfHwgZmJjLT5jcnRjICE9IGNydGMpCj4gIAkJZ290byB1bmxvY2s7Cj4gIAo+IC0J aW50ZWxfZmJjX3VwZGF0ZV9zdGF0ZV9jYWNoZShjcnRjKTsKPiArCWludGVsX2ZiY191cGRhdGVf c3RhdGVfY2FjaGUoY3J0YywgY3J0Y19zdGF0ZSwgcGxhbmVfc3RhdGUpOwo+ICAKPiAgZGVhY3Rp dmF0ZToKPiAgCWludGVsX2ZiY19kZWFjdGl2YXRlKGRldl9wcml2KTsKPiBAQCAtMTA5MCw3ICsx MDg1LDkgQEAgb3V0Ogo+ICAgKiBpbnRlbF9mYmNfZW5hYmxlIG11bHRpcGxlIHRpbWVzIGZvciB0 aGUgc2FtZSBwaXBlIHdpdGhvdXQgYW4KPiAgICogaW50ZWxfZmJjX2Rpc2FibGUgaW4gdGhlIG1p ZGRsZSwgYXMgbG9uZyBhcyBpdCBpcyBkZWFjdGl2YXRlZC4KPiAgICovCj4gLXZvaWQgaW50ZWxf ZmJjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiArdm9pZCBpbnRlbF9mYmNfZW5h YmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICsJCSAgICAgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlLAo+ICsJCSAgICAgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXN0cnVjdCBpbnRlbF9mYmMgKmZiYyA9 ICZkZXZfcHJpdi0+ZmJjOwo+IEBAIC0xMTAzLDE5ICsxMTAwLDE5IEBAIHZvaWQgaW50ZWxfZmJj X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCWlmIChmYmMtPmVuYWJsZWQpIHsK PiAgCQlXQVJOX09OKGZiYy0+Y3J0YyA9PSBOVUxMKTsKPiAgCQlpZiAoZmJjLT5jcnRjID09IGNy dGMpIHsKPiAtCQkJV0FSTl9PTighY3J0Yy0+Y29uZmlnLT5lbmFibGVfZmJjKTsKPiArCQkJV0FS Tl9PTighY3J0Y19zdGF0ZS0+ZW5hYmxlX2ZiYyk7Cj4gIAkJCVdBUk5fT04oZmJjLT5hY3RpdmUp Owo+ICAJCX0KPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCj4gLQlpZiAoIWNydGMtPmNvbmZpZy0+ ZW5hYmxlX2ZiYykKPiArCWlmICghY3J0Y19zdGF0ZS0+ZW5hYmxlX2ZiYykKPiAgCQlnb3RvIG91 dDsKPiAgCj4gIAlXQVJOX09OKGZiYy0+YWN0aXZlKTsKPiAgCVdBUk5fT04oZmJjLT5jcnRjICE9 IE5VTEwpOwo+ICAKPiAtCWludGVsX2ZiY191cGRhdGVfc3RhdGVfY2FjaGUoY3J0Yyk7Cj4gKwlp bnRlbF9mYmNfdXBkYXRlX3N0YXRlX2NhY2hlKGNydGMsIGNydGNfc3RhdGUsIHBsYW5lX3N0YXRl KTsKPiAgCWlmIChpbnRlbF9mYmNfYWxsb2NfY2ZiKGNydGMpKSB7Cj4gIAkJZmJjLT5ub19mYmNf cmVhc29uID0gIm5vdCBlbm91Z2ggc3RvbGVuIG1lbW9yeSI7Cj4gIAkJZ290byBvdXQ7Cj4gLS0g Cj4gMi41LjUKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBD b3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK