From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v6 3/8] drm/i915: Kill off intel_crtc->atomic.wait_vblank, v6. Date: Wed, 24 Feb 2016 11:24:26 +0100 Message-ID: <56CD84DA.5030507@linux.intel.com> References: <1455108583-29227-1-git-send-email-maarten.lankhorst@linux.intel.com> <1455108583-29227-4-git-send-email-maarten.lankhorst@linux.intel.com> <1455744008.2576.41.camel@intel.com> <56C5C5AC.8080906@linux.intel.com> <1455804871.2576.51.camel@intel.com> <56C5D92A.6060403@linux.intel.com> <1455814972.2576.57.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id C45DC890F5 for ; Wed, 24 Feb 2016 13:46:12 +0000 (UTC) In-Reply-To: <1455814972.2576.57.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Zanoni, Paulo R" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHdlIHBlcmZvcm0gb3VyIG93biB3YWl0IGluIHBvc3RfcGxhbmVfdXBkYXRlLApi dXQgdGhlIGF0b21pYyBjb3JlIHBlcmZvcm1zIGFub3RoZXIgb25lIGluIHdhaXRfZm9yX3ZibGFu a3MuClRoaXMgbWVhbnMgdGhhdCAyIHZibGFua3MgYXJlIGRvbmUgd2hlbiBhIGZiIGlzIGNoYW5n ZWQsCndoaWNoIGlzIGEgYml0IG92ZXJraWxsLgoKTWVyZ2UgdGhlbSBieSBjcmVhdGluZyBhIGhl bHBlciBmdW5jdGlvbiB0aGF0IHRha2VzIGEgY3J0YyBtYXNrCmZvciB0aGUgcGxhbmVzIHRvIHdh aXQgb24uCgpUaGUgYnJvYWR3ZWxsIHZibGFuayB3b3JrYXJvdW5kIG1heSBsb29rIGdvbmUgZW50 aXJlbHkgYnV0IHRoaXMgaXMKbm90IHRoZSBjYXNlLiBwaXBlX2NvbmZpZy0+d21fY2hhbmdlZCBp cyBzZXQgdG8gdHJ1ZQp3aGVuIGFueSBwbGFuZSBpcyB0dXJuZWQgb24sIHdoaWNoIGZvcmNlcyBh IHZibGFuayB3YWl0LgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBSZW1vdmluZyB0aGUgZG91YmxlIHZi bGFuayB3YWl0IG9uIGJyb2Fkd2VsbCBtb3ZlZCB0byBpdHMgb3duIGNvbW1pdC4KQ2hhbmdlcyBz aW5jZSB2MjoKLSBNb3ZlIG91dCBQT1dFUl9ET01BSU5fTU9ERVNFVCBoYW5kbGluZyB0byBpdHMg b3duIGNvbW1pdC4KQ2hhbmdlcyBzaW5jZSB2MzoKLSBEbyBub3Qgd2FpdCBmb3IgdmJsYW5rIG9u IGxlZ2FjeSBjdXJzb3IgdXBkYXRlcy4gKFZpbGxlKQotIE1vdmUgYnJvYWR3ZWxsIHZibGFuayB3 b3JrYXJvdW5kIGNvbW1lbnQgdG8gcGFnZV9mbGlwX2ZpbmlzaGVkLiAoVmlsbGUpCkNoYW5nZXMg c2luY2UgdjQ6Ci0gQ29tcGlsZSBmaXgsIGxlZ2FjeV9jdXJzb3JfZmxpcCAtPiAqX3VwZGF0ZS4K Q2hhbmdlcyBzaW5jZSB2NToKLSBLaWxsIGJyYWNrZXRzLgotIEFkZCBXQVJOX09OIHdoZW4gd2Fp dF9mb3JfdmJsYW5rcyBmYWlscy4KLSBSZW1vdmUgZXh0cmEgbmV3bGluZXMuCi0gU3BsaXQgdGhl IGNoZWNrcyB3aGV0aGVyIHZibGFuayBpcyBuZWVkZWQgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiwK ICB3aXRoIGNvbW1lbnRzIHdoeSBhIHZibGFuayBpcyBuZWVkZWQuClNpZ25lZC1vZmYtYnk6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQp2 NSB3YXMgc2tpcHBlZCwgcHJldmlvdXMgdmVyc2lvbiB3YXMgdjUgYmVjYXVzZSBpdCBoYWQgdGhl IGNvbXBpbGUgZml4LgoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0 b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljLmMKaW5kZXggNDYyNWY4 YTliYTEyLi44ZTU3OWE4NTA1YWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCkBA IC05Nyw2ICs5Nyw3IEBAIGludGVsX2NydGNfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKIAljcnRjX3N0YXRlLT5kaXNhYmxlX2xwX3dtID0gZmFsc2U7CiAJY3J0Y19zdGF0 ZS0+ZGlzYWJsZV9jeHNyID0gZmFsc2U7CiAJY3J0Y19zdGF0ZS0+d21fY2hhbmdlZCA9IGZhbHNl OworCWNydGNfc3RhdGUtPmZiX2NoYW5nZWQgPSBmYWxzZTsKIAogCXJldHVybiAmY3J0Y19zdGF0 ZS0+YmFzZTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAyMTA3ZTMy NGNkOWUuLjlmMzJjYjBiZjk3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtNDc5Miw5ICs0NzkyLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUo c3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFz ZS5zdGF0ZSk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2OwogCi0J aWYgKGF0b21pYy0+d2FpdF92YmxhbmspCi0JCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGNy dGMtPnBpcGUpOwotCiAJaW50ZWxfZnJvbnRidWZmZXJfZmxpcChkZXYsIGF0b21pYy0+ZmJfYml0 cyk7CiAKIAljcnRjLT53bS5jeHNyX2FsbG93ZWQgPSB0cnVlOwpAQCAtMTA5NTcsNiArMTA5NTQs MTIgQEAgc3RhdGljIGJvb2wgcGFnZV9mbGlwX2ZpbmlzaGVkKHN0cnVjdCBpbnRlbF9jcnRjICpj cnRjKQogCQlyZXR1cm4gdHJ1ZTsKIAogCS8qCisJICogQkRXIHNpZ25hbHMgZmxpcCBkb25lIGlt bWVkaWF0ZWx5IGlmIHRoZSBwbGFuZQorCSAqIGlzIGRpc2FibGVkLCBldmVuIGlmIHRoZSBwbGFu ZSBlbmFibGUgaXMgYWxyZWFkeQorCSAqIGFybWVkIHRvIG9jY3VyIGF0IHRoZSBuZXh0IHZibGFu ayA6KAorCSAqLworCisJLyoKIAkgKiBBIERTUFNVUkZMSVZFIGNoZWNrIGlzbid0IGVub3VnaCBp biBjYXNlIHRoZSBtbWlvIGFuZCBDUyBmbGlwcwogCSAqIHVzZWQgdGhlIHNhbWUgYmFzZSBhZGRy ZXNzLiBJbiB0aGF0IGNhc2UgdGhlIG1taW8gZmxpcCBtaWdodAogCSAqIGhhdmUgY29tcGxldGVk LCBidXQgdGhlIENTIGhhc24ndCBldmVuIGV4ZWN1dGVkIHRoZSBmbGlwIHlldC4KQEAgLTExODMz LDYgKzExODM2LDkgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0 IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCWlmICghd2FzX3Zpc2libGUgJiYgIXZpc2li bGUpCiAJCXJldHVybiAwOwogCisJaWYgKGZiICE9IG9sZF9wbGFuZV9zdGF0ZS0+YmFzZS5mYikK KwkJcGlwZV9jb25maWctPmZiX2NoYW5nZWQgPSB0cnVlOworCiAJdHVybl9vZmYgPSB3YXNfdmlz aWJsZSAmJiAoIXZpc2libGUgfHwgbW9kZV9jaGFuZ2VkKTsKIAl0dXJuX29uID0gdmlzaWJsZSAm JiAoIXdhc192aXNpYmxlIHx8IG1vZGVfY2hhbmdlZCk7CiAKQEAgLTExODQ3LDExICsxMTg1Myw4 IEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcGlwZV9jb25maWctPndtX2NoYW5nZWQgPSB0cnVlOwogCiAJ CS8qIG11c3QgZGlzYWJsZSBjeHNyIGFyb3VuZCBwbGFuZSBlbmFibGUvZGlzYWJsZSAqLwotCQlp ZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7Ci0JCQlpZiAoaXNfY3J0 Y19lbmFibGVkKQotCQkJCWludGVsX2NydGMtPmF0b21pYy53YWl0X3ZibGFuayA9IHRydWU7CisJ CWlmIChwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpCiAJCQlwaXBlX2NvbmZp Zy0+ZGlzYWJsZV9jeHNyID0gdHJ1ZTsKLQkJfQogCX0gZWxzZSBpZiAoaW50ZWxfd21fbmVlZF91 cGRhdGUocGxhbmUsIHBsYW5lX3N0YXRlKSkgewogCQlwaXBlX2NvbmZpZy0+d21fY2hhbmdlZCA9 IHRydWU7CiAJfQpAQCAtMTE4NjUsMTQgKzExODY4LDYgQEAgaW50IGludGVsX3BsYW5lX2F0b21p Y19jYWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQlpbnRl bF9jcnRjLT5hdG9taWMucG9zdF9lbmFibGVfcHJpbWFyeSA9IHR1cm5fb247CiAJCWludGVsX2Ny dGMtPmF0b21pYy51cGRhdGVfZmJjID0gdHJ1ZTsKIAotCQkvKgotCQkgKiBCRFcgc2lnbmFscyBm bGlwIGRvbmUgaW1tZWRpYXRlbHkgaWYgdGhlIHBsYW5lCi0JCSAqIGlzIGRpc2FibGVkLCBldmVu IGlmIHRoZSBwbGFuZSBlbmFibGUgaXMgYWxyZWFkeQotCQkgKiBhcm1lZCB0byBvY2N1ciBhdCB0 aGUgbmV4dCB2YmxhbmsgOigKLQkJICovCi0JCWlmICh0dXJuX29uICYmIElTX0JST0FEV0VMTChk ZXYpKQotCQkJaW50ZWxfY3J0Yy0+YXRvbWljLndhaXRfdmJsYW5rID0gdHJ1ZTsKLQogCQlicmVh azsKIAljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoKIAkJYnJlYWs7CkBAIC0xMTg4NSwxMyAr MTE4ODAsMTEgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoc3RydWN0IGRy bV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkgKi8KIAkJaWYgKElTX0lWWUJSSURHRShkZXYp ICYmCiAJCSAgICBuZWVkc19zY2FsaW5nKHRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lX3N0YXRl KSkgJiYKLQkJICAgICFuZWVkc19zY2FsaW5nKG9sZF9wbGFuZV9zdGF0ZSkpIHsKLQkJCXRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmRpc2FibGVfbHBfd20gPSB0cnVlOwotCQl9IGVs c2UgaWYgKHR1cm5fb2ZmICYmICFtb2RlX2NoYW5nZWQpIHsKLQkJCWludGVsX2NydGMtPmF0b21p Yy53YWl0X3ZibGFuayA9IHRydWU7CisJCSAgICAhbmVlZHNfc2NhbGluZyhvbGRfcGxhbmVfc3Rh dGUpKQorCQkJcGlwZV9jb25maWctPmRpc2FibGVfbHBfd20gPSB0cnVlOworCQllbHNlIGlmICh0 dXJuX29mZiAmJiAhbW9kZV9jaGFuZ2VkKQogCQkJaW50ZWxfY3J0Yy0+YXRvbWljLnVwZGF0ZV9z cHJpdGVfd2F0ZXJtYXJrcyB8PQogCQkJCTEgPDwgaTsKLQkJfQogCiAJCWJyZWFrOwogCX0KQEAg LTEzNDI1LDYgKzEzNDE4LDcxIEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX3ByZXBhcmVfY29t bWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZv aWQgaW50ZWxfYXRvbWljX3dhaXRfZm9yX3ZibGFua3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwK KwkJCQkJICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgdW5zaWdu ZWQgY3J0Y19tYXNrKQoreworCXVuc2lnbmVkIGxhc3RfdmJsYW5rX2NvdW50W0k5MTVfTUFYX1BJ UEVTXTsKKwllbnVtIHBpcGUgcGlwZTsKKwlpbnQgcmV0OworCisJaWYgKCFjcnRjX21hc2spCisJ CXJldHVybjsKKworCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIHBpcGUpIHsKKwkJc3RydWN0IGRy bV9jcnRjICpjcnRjID0gZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW3BpcGVdOworCisJ CWlmICghKCgxIDw8IHBpcGUpICYgY3J0Y19tYXNrKSkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9 IGRybV9jcnRjX3ZibGFua19nZXQoY3J0Yyk7CisJCWlmIChXQVJOX09OKHJldCAhPSAwKSkgewor CQkJY3J0Y19tYXNrICY9IH4oMSA8PCBwaXBlKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJbGFz dF92YmxhbmtfY291bnRbcGlwZV0gPSBkcm1fY3J0Y192YmxhbmtfY291bnQoY3J0Yyk7CisJfQor CisJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkgeworCQlzdHJ1Y3QgZHJtX2NydGMgKmNy dGMgPSBkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBpbmdbcGlwZV07CisJCWxvbmcgbHJldDsK KworCQlpZiAoISgoMSA8PCBwaXBlKSAmIGNydGNfbWFzaykpCisJCQljb250aW51ZTsKKworCQls cmV0ID0gd2FpdF9ldmVudF90aW1lb3V0KGRldi0+dmJsYW5rW3BpcGVdLnF1ZXVlLAorCQkJCWxh c3RfdmJsYW5rX2NvdW50W3BpcGVdICE9CisJCQkJCWRybV9jcnRjX3ZibGFua19jb3VudChjcnRj KSwKKwkJCQltc2Vjc190b19qaWZmaWVzKDUwKSk7CisKKwkJV0FSTl9PTighbHJldCk7CisKKwkJ ZHJtX2NydGNfdmJsYW5rX3B1dChjcnRjKTsKKwl9Cit9CisKK3N0YXRpYyBib29sIG5lZWRzX3Zi bGFua193YWl0KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQoreworCS8qIGZi IHVwZGF0ZWQsIG5lZWQgdG8gdW5waW4gb2xkIGZiICovCisJaWYgKGNydGNfc3RhdGUtPmZiX2No YW5nZWQpCisJCXJldHVybiB0cnVlOworCisJLyogd20gY2hhbmdlcywgbmVlZCB2YmxhbmsgYmVm b3JlIGZpbmFsIHdtJ3MgKi8KKwlpZiAoY3J0Y19zdGF0ZS0+d21fY2hhbmdlZCkKKwkJcmV0dXJu IHRydWU7CisKKwkvKgorCSAqIGN4c3IgaXMgcmUtZW5hYmxlZCBhZnRlciB2YmxhbmsuCisJICog VGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgYnkgY3J0Y19zdGF0ZS0+d21fY2hhbmdlZCwKKwkgKiBi dXQgYWRkZWQgZm9yIGNsYXJpdHkuCisJICovCisJaWYgKGNydGNfc3RhdGUtPmRpc2FibGVfY3hz cikKKwkJcmV0dXJuIHRydWU7CisKKwlyZXR1cm4gZmFsc2U7Cit9CisKIC8qKgogICogaW50ZWxf YXRvbWljX2NvbW1pdCAtIGNvbW1pdCB2YWxpZGF0ZWQgc3RhdGUgb2JqZWN0CiAgKiBAZGV2OiBE Uk0gZGV2aWNlCkBAIC0xMzQ1Miw2ICsxMzUxMCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWlj X2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludCByZXQgPSAwLCBpOwogCWJvb2wg aHdfY2hlY2sgPSBpbnRlbF9zdGF0ZS0+bW9kZXNldDsKIAl1bnNpZ25lZCBsb25nIHB1dF9kb21h aW5zW0k5MTVfTUFYX1BJUEVTXSA9IHt9OworCXVuc2lnbmVkIGNydGNfdmJsYW5rX21hc2sgPSAw OwogCiAJcmV0ID0gaW50ZWxfYXRvbWljX3ByZXBhcmVfY29tbWl0KGRldiwgc3RhdGUsIGFzeW5j KTsKIAlpZiAocmV0KSB7CkBAIC0xMzUyNSw4ICsxMzU4NCw5IEBAIHN0YXRpYyBpbnQgaW50ZWxf YXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWZvcl9lYWNoX2NydGNfaW5f c3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKIAkJc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCQlib29sIG1vZGVzZXQgPSBuZWVk c19tb2Rlc2V0KGNydGMtPnN0YXRlKTsKLQkJYm9vbCB1cGRhdGVfcGlwZSA9ICFtb2Rlc2V0ICYm Ci0JCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKS0+dXBkYXRlX3BpcGU7CisJCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9CisJCQl0b19pbnRlbF9jcnRjX3N0 YXRlKGNydGMtPnN0YXRlKTsKKwkJYm9vbCB1cGRhdGVfcGlwZSA9ICFtb2Rlc2V0ICYmIHBpcGVf Y29uZmlnLT51cGRhdGVfcGlwZTsKIAogCQlpZiAobW9kZXNldCAmJiBjcnRjLT5zdGF0ZS0+YWN0 aXZlKSB7CiAJCQl1cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KHRvX2ludGVsX2NydGMoY3J0YykpOwpA QCAtMTM1NDMsMTQgKzEzNjAzLDE4IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkgICAgKGNydGMtPnN0YXRlLT5wbGFuZXNfY2hhbmdl ZCB8fCB1cGRhdGVfcGlwZSkpCiAJCQlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzX29u X2NydGMoY3J0Y19zdGF0ZSk7CiAKLQkJaW50ZWxfcG9zdF9wbGFuZV91cGRhdGUoaW50ZWxfY3J0 Yyk7CisJCWlmIChwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUgJiYgbmVlZHNfdmJsYW5rX3dhaXQo cGlwZV9jb25maWcpKQorCQkJY3J0Y192YmxhbmtfbWFzayB8PSAxIDw8IGk7CiAJfQogCiAJLyog RklYTUU6IGFkZCBzdWJwaXhlbCBvcmRlciAqLwogCi0JZHJtX2F0b21pY19oZWxwZXJfd2FpdF9m b3JfdmJsYW5rcyhkZXYsIHN0YXRlKTsKKwlpZiAoIXN0YXRlLT5sZWdhY3lfY3Vyc29yX3VwZGF0 ZSkKKwkJaW50ZWxfYXRvbWljX3dhaXRfZm9yX3ZibGFua3MoZGV2LCBkZXZfcHJpdiwgY3J0Y192 YmxhbmtfbWFzayk7CiAKIAlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBjcnRj X3N0YXRlLCBpKSB7CisJCWludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHRvX2ludGVsX2NydGMoY3J0 YykpOworCiAJCWlmIChwdXRfZG9tYWluc1tpXSkKIAkJCW1vZGVzZXRfcHV0X3Bvd2VyX2RvbWFp bnMoZGV2X3ByaXYsIHB1dF9kb21haW5zW2ldKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o CmluZGV4IDI4NWIwNTcwYmU5Yy4uNzRkZjRmODE4ZTAzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaApAQCAtMzc5LDYgKzM3OSw3IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAlib29s IHVwZGF0ZV9waXBlOyAvKiBjYW4gYSBmYXN0IG1vZGVzZXQgYmUgcGVyZm9ybWVkPyAqLwogCWJv b2wgZGlzYWJsZV9jeHNyOwogCWJvb2wgd21fY2hhbmdlZDsgLyogd2F0ZXJtYXJrcyBhcmUgdXBk YXRlZCAqLworCWJvb2wgZmJfY2hhbmdlZDsgLyogZmIgb24gYW55IG9mIHRoZSBwbGFuZXMgaXMg Y2hhbmdlZCAqLwogCiAJLyogUGlwZSBzb3VyY2Ugc2l6ZSAoaWUuIHBhbmVsIGZpdHRlciBpbnB1 dCBzaXplKQogCSAqIEFsbCBwbGFuZXMgd2lsbCBiZSBwb3NpdGlvbmVkIGluc2lkZSB0aGlzIHNw YWNlLApAQCAtNTQ3LDcgKzU0OCw2IEBAIHN0cnVjdCBpbnRlbF9jcnRjX2F0b21pY19jb21taXQg ewogCiAJLyogU2xlZXBhYmxlIG9wZXJhdGlvbnMgdG8gcGVyZm9ybSBhZnRlciBjb21taXQgKi8K IAl1bnNpZ25lZCBmYl9iaXRzOwotCWJvb2wgd2FpdF92Ymxhbms7CiAJYm9vbCBwb3N0X2VuYWJs ZV9wcmltYXJ5OwogCXVuc2lnbmVkIHVwZGF0ZV9zcHJpdGVfd2F0ZXJtYXJrczsKIAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==