From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 3/3] drm/i915: Use atomic state to obtain load detection crtc, v3. Date: Tue, 16 Feb 2016 13:13:26 +0200 Message-ID: <20160216111326.GF23290@intel.com> References: <20160203163408.GF23290@intel.com> <1455022343-15222-1-git-send-email-maarten.lankhorst@linux.intel.com> <1455022343-15222-3-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 60D2F6E293 for ; Tue, 16 Feb 2016 11:13:49 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1455022343-15222-3-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 T24gVHVlLCBGZWIgMDksIDIwMTYgYXQgMDE6NTI6MjNQTSArMDEwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSW5zdGVhZCBvZiByZXN0b3JpbmcgZHBtcyBhbmQgYSBmbGFnIGZvciB3aGV0 aGVyIGEgdGVtcCBmYiBpcyBhbGxvY2F0ZWQgZHVwbGljYXRlCj4gYW4gYXRvbWljIHN0YXRlIGJl Zm9yZSB0aGUgbmV3IHN0YXRlIGlzIGNvbW1pdHRlZCwgYW5kIGNvbW1pdCBpdCB0aGUgb2xkIHN0 YXRlCj4gaW4gaW50ZWxfcmVsZWFzZV9sb2FkX2RldGVjdF9waXBlLgo+IAo+IENoYW5nZXMgc2lu Y2UgdjE6Cj4gLSBVc2UgYSByZWFsIGF0b21pYyBzdGF0ZS4gKFZpbGxlKQo+IENoYW5nZXMgc2lu Y2UgdjI6Cj4gLSBEbyBub3QgcHJlc2VydmUgc2hhcmVkX2RwbGwgYW55IG1vcmUsIG5vIG5lZWQg dG8gZG8gc28uIChWaWxsZSkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8 bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgoKbGd0bSAKUmV2aWV3ZWQtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAxMzIgKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgIHwgICA0ICstCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgODIgZGVs ZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDRj OTFmZDFjNTIyMi4uYWQ2ZDIzYzE3ZDQ4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwo+IEBAIC0xMDMzMiw2ICsxMDMzMiw3IEBAIG1vZGVfZml0c19pbl9mYmRldihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJaWYgKG9iai0+YmFzZS5zaXplIDwgbW9kZS0+dmRpc3Bs YXkgKiBmYi0+cGl0Y2hlc1swXSkKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCj4gKwlkcm1fZnJhbWVi dWZmZXJfcmVmZXJlbmNlKGZiKTsKPiAgCXJldHVybiBmYjsKPiAgI2Vsc2UKPiAgCXJldHVybiBO VUxMOwo+IEBAIC0xMDM4Nyw3ICsxMDM4OCw3IEBAIGJvb2wgaW50ZWxfZ2V0X2xvYWRfZGV0ZWN0 X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsK PiAgCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+ IC0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0gTlVMTDsKPiArCXN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSA9IE5VTEwsICpyZXN0b3JlX3N0YXRlID0gTlVMTDsKPiAgCXN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7Cj4gIAlzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiAgCWludCByZXQsIGkgPSAtMTsKPiBAQCAtMTAz OTYsNiArMTAzOTcsOCBAQCBib29sIGludGVsX2dldF9sb2FkX2RldGVjdF9waXBlKHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBj b25uZWN0b3ItPm5hbWUsCj4gIAkJICAgICAgZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFt ZSk7Cj4gIAo+ICsJb2xkLT5yZXN0b3JlX3N0YXRlID0gTlVMTDsKPiArCj4gIHJldHJ5Ogo+ICAJ cmV0ID0gZHJtX21vZGVzZXRfbG9jaygmY29uZmlnLT5jb25uZWN0aW9uX211dGV4LCBjdHgpOwo+ ICAJaWYgKHJldCkKPiBAQCAtMTA0MTIsMjQgKzEwNDE1LDE1IEBAIHJldHJ5Ogo+ICAJICovCj4g IAo+ICAJLyogU2VlIGlmIHdlIGFscmVhZHkgaGF2ZSBhIENSVEMgZm9yIHRoaXMgY29ubmVjdG9y ICovCj4gLQlpZiAoZW5jb2Rlci0+Y3J0Yykgewo+IC0JCWNydGMgPSBlbmNvZGVyLT5jcnRjOwo+ ICsJaWYgKGNvbm5lY3Rvci0+c3RhdGUtPmNydGMpIHsKPiArCQljcnRjID0gY29ubmVjdG9yLT5z dGF0ZS0+Y3J0YzsKPiAgCj4gIAkJcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmY3J0Yy0+bXV0ZXgs IGN0eCk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJZ290byBmYWlsOwo+IC0JCXJldCA9IGRybV9tb2Rl c2V0X2xvY2soJmNydGMtPnByaW1hcnktPm11dGV4LCBjdHgpOwo+IC0JCWlmIChyZXQpCj4gLQkJ CWdvdG8gZmFpbDsKPiAtCj4gLQkJb2xkLT5kcG1zX21vZGUgPSBjb25uZWN0b3ItPmRwbXM7Cj4g LQkJb2xkLT5sb2FkX2RldGVjdF90ZW1wID0gZmFsc2U7Cj4gIAo+ICAJCS8qIE1ha2Ugc3VyZSB0 aGUgY3J0YyBhbmQgY29ubmVjdG9yIGFyZSBydW5uaW5nICovCj4gLQkJaWYgKGNvbm5lY3Rvci0+ ZHBtcyAhPSBEUk1fTU9ERV9EUE1TX09OKQo+IC0JCQljb25uZWN0b3ItPmZ1bmNzLT5kcG1zKGNv bm5lY3RvciwgRFJNX01PREVfRFBNU19PTik7Cj4gLQo+IC0JCXJldHVybiB0cnVlOwo+ICsJCWdv dG8gZm91bmQ7Cj4gIAl9Cj4gIAo+ICAJLyogRmluZCBhbiB1bnVzZWQgb25lIChpZiBwb3NzaWJs ZSkgKi8KPiBAQCAtMTA0MzcsOCArMTA0MzEsMTUgQEAgcmV0cnk6Cj4gIAkJaSsrOwo+ICAJCWlm ICghKGVuY29kZXItPnBvc3NpYmxlX2NydGNzICYgKDEgPDwgaSkpKQo+ICAJCQljb250aW51ZTsK PiAtCQlpZiAocG9zc2libGVfY3J0Yy0+c3RhdGUtPmVuYWJsZSkKPiArCj4gKwkJcmV0ID0gZHJt X21vZGVzZXRfbG9jaygmcG9zc2libGVfY3J0Yy0+bXV0ZXgsIGN0eCk7Cj4gKwkJaWYgKHJldCkK PiArCQkJZ290byBmYWlsOwo+ICsKPiArCQlpZiAocG9zc2libGVfY3J0Yy0+c3RhdGUtPmVuYWJs ZSkgewo+ICsJCQlkcm1fbW9kZXNldF91bmxvY2soJnBvc3NpYmxlX2NydGMtPm11dGV4KTsKPiAg CQkJY29udGludWU7Cj4gKwkJfQo+ICAKPiAgCQljcnRjID0gcG9zc2libGVfY3J0YzsKPiAgCQli cmVhazsKPiBAQCAtMTA0NTIsMjMgKzEwNDUzLDIyIEBAIHJldHJ5Ogo+ICAJCWdvdG8gZmFpbDsK PiAgCX0KPiAgCj4gLQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZjcnRjLT5tdXRleCwgY3R4KTsK PiAtCWlmIChyZXQpCj4gLQkJZ290byBmYWlsOwo+ICtmb3VuZDoKPiArCWludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGMpOwo+ICsKPiAgCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJmNydGMt PnByaW1hcnktPm11dGV4LCBjdHgpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGZhaWw7Cj4gIAo+ IC0JaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlvbGQtPmRwbXNfbW9kZSA9 IGNvbm5lY3Rvci0+ZHBtczsKPiAtCW9sZC0+bG9hZF9kZXRlY3RfdGVtcCA9IHRydWU7Cj4gLQlv bGQtPnJlbGVhc2VfZmIgPSBOVUxMOwo+IC0KPiAgCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9h bGxvYyhkZXYpOwo+IC0JaWYgKCFzdGF0ZSkKPiAtCQlyZXR1cm4gZmFsc2U7Cj4gKwlyZXN0b3Jl X3N0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhkZXYpOwo+ICsJaWYgKCFzdGF0ZSB8fCAh cmVzdG9yZV9zdGF0ZSkgewo+ICsJCXJldCA9IC1FTk9NRU07Cj4gKwkJZ290byBmYWlsOwo+ICsJ fQo+ICAKPiAgCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKPiArCXJlc3RvcmVfc3RhdGUtPmFj cXVpcmVfY3R4ID0gY3R4Owo+ICAKPiAgCWNvbm5lY3Rvcl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0 X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9yKTsKPiAgCWlmIChJU19FUlIoY29ubmVj dG9yX3N0YXRlKSkgewo+IEBAIC0xMDQ3Niw3ICsxMDQ3Niw5IEBAIHJldHJ5Ogo+ICAJCWdvdG8g ZmFpbDsKPiAgCX0KPiAgCj4gLQljb25uZWN0b3Jfc3RhdGUtPmNydGMgPSBjcnRjOwo+ICsJcmV0 ID0gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKGNvbm5lY3Rvcl9zdGF0ZSwgY3J0 Yyk7Cj4gKwlpZiAocmV0KQo+ICsJCWdvdG8gZmFpbDsKPiAgCj4gIAljcnRjX3N0YXRlID0gaW50 ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBpbnRlbF9jcnRjKTsKPiAgCWlmIChJU19F UlIoY3J0Y19zdGF0ZSkpIHsKPiBAQCAtMTA1MDAsNyArMTA1MDIsNiBAQCByZXRyeToKPiAgCWlm IChmYiA9PSBOVUxMKSB7Cj4gIAkJRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgdG1wIGZiIGZvciBs b2FkLWRldGVjdGlvblxuIik7Cj4gIAkJZmIgPSBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGVfZm9y X21vZGUoZGV2LCBtb2RlLCAyNCwgMzIpOwo+IC0JCW9sZC0+cmVsZWFzZV9mYiA9IGZiOwo+ICAJ fSBlbHNlCj4gIAkJRFJNX0RFQlVHX0tNUygicmV1c2luZyBmYmRldiBmb3IgbG9hZC1kZXRlY3Rp b24gZnJhbWVidWZmZXJcbiIpOwo+ICAJaWYgKElTX0VSUihmYikpIHsKPiBAQCAtMTA1MTIsMTUg KzEwNTEzLDI4IEBAIHJldHJ5Ogo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIGZhaWw7Cj4gIAo+IC0J ZHJtX21vZGVfY29weSgmY3J0Y19zdGF0ZS0+YmFzZS5tb2RlLCBtb2RlKTsKPiArCWRybV9mcmFt ZWJ1ZmZlcl91bnJlZmVyZW5jZShmYik7Cj4gKwo+ICsJcmV0ID0gZHJtX2F0b21pY19zZXRfbW9k ZV9mb3JfY3J0YygmY3J0Y19zdGF0ZS0+YmFzZSwgbW9kZSk7Cj4gKwlpZiAocmV0KQo+ICsJCWdv dG8gZmFpbDsKPiArCj4gKwlyZXQgPSBQVFJfRVJSX09SX1pFUk8oZHJtX2F0b21pY19nZXRfY29u bmVjdG9yX3N0YXRlKHJlc3RvcmVfc3RhdGUsIGNvbm5lY3RvcikpOwo+ICsJaWYgKCFyZXQpCj4g KwkJcmV0ID0gUFRSX0VSUl9PUl9aRVJPKGRybV9hdG9taWNfZ2V0X2NydGNfc3RhdGUocmVzdG9y ZV9zdGF0ZSwgY3J0YykpOwo+ICsJaWYgKCFyZXQpCj4gKwkJcmV0ID0gUFRSX0VSUl9PUl9aRVJP KGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHJlc3RvcmVfc3RhdGUsIGNydGMtPnByaW1hcnkp KTsKPiArCWlmIChyZXQpIHsKPiArCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gY3JlYXRlIGEg Y29weSBvZiBvbGQgc3RhdGUgdG8gcmVzdG9yZTogJWlcbiIsIHJldCk7Cj4gKwkJZ290byBmYWls Owo+ICsJfQo+ICAKPiAgCWlmIChkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSkpIHsKPiAgCQlEUk1f REVCVUdfS01TKCJmYWlsZWQgdG8gc2V0IG1vZGUgb24gbG9hZC1kZXRlY3QgcGlwZVxuIik7Cj4g LQkJaWYgKG9sZC0+cmVsZWFzZV9mYikKPiAtCQkJb2xkLT5yZWxlYXNlX2ZiLT5mdW5jcy0+ZGVz dHJveShvbGQtPnJlbGVhc2VfZmIpOwo+ICAJCWdvdG8gZmFpbDsKPiAgCX0KPiAtCWNydGMtPnBy aW1hcnktPmNydGMgPSBjcnRjOwo+ICsKPiArCW9sZC0+cmVzdG9yZV9zdGF0ZSA9IHJlc3RvcmVf c3RhdGU7Cj4gIAo+ICAJLyogbGV0IHRoZSBjb25uZWN0b3IgZ2V0IHRocm91Z2ggb25lIGZ1bGwg Y3ljbGUgYmVmb3JlIHRlc3RpbmcgKi8KPiAgCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGlu dGVsX2NydGMtPnBpcGUpOwo+IEBAIC0xMDUyOCw3ICsxMDU0Miw4IEBAIHJldHJ5Ogo+ICAKPiAg ZmFpbDoKPiAgCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7Cj4gLQlzdGF0ZSA9IE5VTEw7 Cj4gKwlkcm1fYXRvbWljX3N0YXRlX2ZyZWUocmVzdG9yZV9zdGF0ZSk7Cj4gKwlyZXN0b3JlX3N0 YXRlID0gc3RhdGUgPSBOVUxMOwo+ICAKPiAgCWlmIChyZXQgPT0gLUVERUFETEspIHsKPiAgCQlk cm1fbW9kZXNldF9iYWNrb2ZmKGN0eCk7Cj4gQEAgLTEwNTQyLDY1ICsxMDU1NywyNCBAQCB2b2lk IGludGVsX3JlbGVhc2VfbG9hZF9kZXRlY3RfcGlwZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICAJCQkJICAgIHN0cnVjdCBpbnRlbF9sb2FkX2RldGVjdF9waXBlICpvbGQsCj4g IAkJCQkgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCj4gIHsKPiAtCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKPiAgCXN0cnVjdCBpbnRlbF9l bmNvZGVyICppbnRlbF9lbmNvZGVyID0KPiAgCQlpbnRlbF9hdHRhY2hlZF9lbmNvZGVyKGNvbm5l Y3Rvcik7Cj4gIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+ YmFzZTsKPiAtCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGVuY29kZXItPmNydGM7Cj4gLQlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gLQlzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gLQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0 ZSAqY29ubmVjdG9yX3N0YXRlOwo+IC0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGU7Cj4gKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBvbGQtPnJlc3RvcmVfc3Rh dGU7Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCURSTV9ERUJVR19LTVMoIltDT05ORUNUT1I6JWQ6JXNd LCBbRU5DT0RFUjolZDolc11cbiIsCj4gIAkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25u ZWN0b3ItPm5hbWUsCj4gIAkJICAgICAgZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSk7 Cj4gIAo+IC0JaWYgKG9sZC0+bG9hZF9kZXRlY3RfdGVtcCkgewo+IC0JCXN0YXRlID0gZHJtX2F0 b21pY19zdGF0ZV9hbGxvYyhkZXYpOwo+IC0JCWlmICghc3RhdGUpCj4gLQkJCWdvdG8gZmFpbDsK PiAtCj4gLQkJc3RhdGUtPmFjcXVpcmVfY3R4ID0gY3R4Owo+IC0KPiAtCQljb25uZWN0b3Jfc3Rh dGUgPSBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Cj4g LQkJaWYgKElTX0VSUihjb25uZWN0b3Jfc3RhdGUpKQo+IC0JCQlnb3RvIGZhaWw7Cj4gLQo+IC0J CWNydGNfc3RhdGUgPSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGludGVsX2Ny dGMpOwo+IC0JCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCj4gLQkJCWdvdG8gZmFpbDsKPiAtCj4g LQkJY29ubmVjdG9yX3N0YXRlLT5jcnRjID0gTlVMTDsKPiAtCj4gLQkJY3J0Y19zdGF0ZS0+YmFz ZS5lbmFibGUgPSBjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSA9IGZhbHNlOwo+IC0KPiAtCQlyZXQg PSBpbnRlbF9tb2Rlc2V0X3NldHVwX3BsYW5lX3N0YXRlKHN0YXRlLCBjcnRjLCBOVUxMLCBOVUxM LAo+IC0JCQkJCQkgICAgICAwLCAwKTsKPiAtCQlpZiAocmV0KQo+IC0JCQlnb3RvIGZhaWw7Cj4g LQo+IC0JCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKPiAtCQlpZiAocmV0KQo+IC0J CQlnb3RvIGZhaWw7Cj4gLQo+IC0JCWlmIChvbGQtPnJlbGVhc2VfZmIpIHsKPiAtCQkJZHJtX2Zy YW1lYnVmZmVyX3VucmVnaXN0ZXJfcHJpdmF0ZShvbGQtPnJlbGVhc2VfZmIpOwo+IC0JCQlkcm1f ZnJhbWVidWZmZXJfdW5yZWZlcmVuY2Uob2xkLT5yZWxlYXNlX2ZiKTsKPiAtCQl9Cj4gLQo+ICsJ aWYgKCFzdGF0ZSkKPiAgCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0JLyogU3dpdGNoIGNydGMgYW5k IGVuY29kZXIgYmFjayBvZmYgaWYgbmVjZXNzYXJ5ICovCj4gLQlpZiAob2xkLT5kcG1zX21vZGUg IT0gRFJNX01PREVfRFBNU19PTikKPiAtCQljb25uZWN0b3ItPmZ1bmNzLT5kcG1zKGNvbm5lY3Rv ciwgb2xkLT5kcG1zX21vZGUpOwo+ICAKPiAtCXJldHVybjsKPiAtZmFpbDoKPiAtCURSTV9ERUJV R19LTVMoIkNvdWxkbid0IHJlbGVhc2UgbG9hZCBkZXRlY3QgcGlwZS5cbiIpOwo+IC0JZHJtX2F0 b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKPiArCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRl KTsKPiArCWlmIChyZXQpIHsKPiArCQlEUk1fREVCVUdfS01TKCJDb3VsZG4ndCByZWxlYXNlIGxv YWQgZGV0ZWN0IHBpcGU6ICVpXG4iLCByZXQpOwo+ICsJCWRybV9hdG9taWNfc3RhdGVfZnJlZShz dGF0ZSk7Cj4gKwl9Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgaTl4eF9wbGxfcmVmY2xrKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCA4Nzgx NzJhNDVmMzkuLjMzNWU2YjI0YjBiYyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4g QEAgLTkxMCw5ICs5MTAsNyBAQCBzdHJ1Y3QgaW50ZWxfdW5waW5fd29yayB7Cj4gIH07Cj4gIAo+ ICBzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3RfcGlwZSB7Cj4gLQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpyZWxlYXNlX2ZiOwo+IC0JYm9vbCBsb2FkX2RldGVjdF90ZW1wOwo+IC0JaW50IGRwbXNf bW9kZTsKPiArCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpyZXN0b3JlX3N0YXRlOwo+ICB9Owo+ ICAKPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqCj4gLS0gCj4gMi4xLjAK Ci0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=