From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 1/6] drm/i915: Use atomic state to obtain load detection crtc. Date: Mon, 1 Feb 2016 14:43:57 +0100 Message-ID: <1454334242-23354-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1454334242-23354-1-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 mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2C7D56E404 for ; Mon, 1 Feb 2016 05:44:07 -0800 (PST) In-Reply-To: <1454334242-23354-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW5zdGVhZCBvZiByZXN0b3JpbmcgZHBtcyBhbmQgYSBmbGFnIGZvciB3aGV0aGVyIGEgdGVtcCBm YiBpcyBhbGxvY2F0ZWQgZHVwbGljYXRlCnRoZSBvbGQgcGxhbmVfc3RhdGUgYW5kIGNydGNfc3Rh dGUsIGFuZCByZXN0b3JlIHRoZSBtZW1iZXJzIHdlIHBvdGVudGlhbGx5IHRvdWNoZWQuCgpTaWdu ZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDEyOCAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggICAgIHwgICA0ICstCiAyIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMo KyksIDU2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCA0ZDhjOWY3ODU3ZGIuLjA3MDJjZThlYzM2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwpAQCAtMTAzNjEsNiArMTAzNjEsNyBAQCBtb2RlX2ZpdHNfaW5fZmJkZXYoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAlpZiAob2JqLT5iYXNlLnNpemUgPCBtb2RlLT52ZGlzcGxheSAq IGZiLT5waXRjaGVzWzBdKQogCQlyZXR1cm4gTlVMTDsKIAorCWRybV9mcmFtZWJ1ZmZlcl9yZWZl cmVuY2UoZmIpOwogCXJldHVybiBmYjsKICNlbHNlCiAJcmV0dXJuIE5VTEw7CkBAIC0xMDQyNiw2 ICsxMDQyNyw5IEBAIGJvb2wgaW50ZWxfZ2V0X2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICAgICAgZW5jb2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+ bmFtZSk7CiAKIHJldHJ5OgorCW9sZC0+b2xkX3BpcGVfY29uZmlnID0gTlVMTDsKKwlvbGQtPm9s ZF9wbGFuZV9zdGF0ZSA9IE5VTEw7CisKIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZjb25maWct PmNvbm5lY3Rpb25fbXV0ZXgsIGN0eCk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwpAQCAtMTA0 NDEsMjQgKzEwNDQ1LDE1IEBAIHJldHJ5OgogCSAqLwogCiAJLyogU2VlIGlmIHdlIGFscmVhZHkg aGF2ZSBhIENSVEMgZm9yIHRoaXMgY29ubmVjdG9yICovCi0JaWYgKGVuY29kZXItPmNydGMpIHsK LQkJY3J0YyA9IGVuY29kZXItPmNydGM7CisJaWYgKGNvbm5lY3Rvci0+c3RhdGUtPmNydGMpIHsK KwkJY3J0YyA9IGNvbm5lY3Rvci0+c3RhdGUtPmNydGM7CiAKIAkJcmV0ID0gZHJtX21vZGVzZXRf bG9jaygmY3J0Yy0+bXV0ZXgsIGN0eCk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGZhaWw7Ci0JCXJl dCA9IGRybV9tb2Rlc2V0X2xvY2soJmNydGMtPnByaW1hcnktPm11dGV4LCBjdHgpOwotCQlpZiAo cmV0KQotCQkJZ290byBmYWlsOwotCi0JCW9sZC0+ZHBtc19tb2RlID0gY29ubmVjdG9yLT5kcG1z OwotCQlvbGQtPmxvYWRfZGV0ZWN0X3RlbXAgPSBmYWxzZTsKIAogCQkvKiBNYWtlIHN1cmUgdGhl IGNydGMgYW5kIGNvbm5lY3RvciBhcmUgcnVubmluZyAqLwotCQlpZiAoY29ubmVjdG9yLT5kcG1z ICE9IERSTV9NT0RFX0RQTVNfT04pCi0JCQljb25uZWN0b3ItPmZ1bmNzLT5kcG1zKGNvbm5lY3Rv ciwgRFJNX01PREVfRFBNU19PTik7Ci0KLQkJcmV0dXJuIHRydWU7CisJCWdvdG8gZm91bmQ7CiAJ fQogCiAJLyogRmluZCBhbiB1bnVzZWQgb25lIChpZiBwb3NzaWJsZSkgKi8KQEAgLTEwNDY2LDgg KzEwNDYxLDE1IEBAIHJldHJ5OgogCQlpKys7CiAJCWlmICghKGVuY29kZXItPnBvc3NpYmxlX2Ny dGNzICYgKDEgPDwgaSkpKQogCQkJY29udGludWU7Ci0JCWlmIChwb3NzaWJsZV9jcnRjLT5zdGF0 ZS0+ZW5hYmxlKQorCisJCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJnBvc3NpYmxlX2NydGMtPm11 dGV4LCBjdHgpOworCQlpZiAocmV0KQorCQkJZ290byBmYWlsOworCisJCWlmIChwb3NzaWJsZV9j cnRjLT5zdGF0ZS0+ZW5hYmxlKSB7CisJCQlkcm1fbW9kZXNldF91bmxvY2soJnBvc3NpYmxlX2Ny dGMtPm11dGV4KTsKIAkJCWNvbnRpbnVlOworCQl9CiAKIAkJY3J0YyA9IHBvc3NpYmxlX2NydGM7 CiAJCWJyZWFrOwpAQCAtMTA0ODEsMTcgKzEwNDgzLDE5IEBAIHJldHJ5OgogCQlnb3RvIGZhaWw7 CiAJfQogCi0JcmV0ID0gZHJtX21vZGVzZXRfbG9jaygmY3J0Yy0+bXV0ZXgsIGN0eCk7Ci0JaWYg KHJldCkKLQkJZ290byBmYWlsOworZm91bmQ6CisJaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Yyk7CisKIAlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZjcnRjLT5wcmltYXJ5LT5tdXRleCwg Y3R4KTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAKLQlpbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKLQlvbGQtPmRwbXNfbW9kZSA9IGNvbm5lY3Rvci0+ZHBtczsKLQlvbGQtPmxv YWRfZGV0ZWN0X3RlbXAgPSB0cnVlOwotCW9sZC0+cmVsZWFzZV9mYiA9IE5VTEw7CisJb2xkLT5v bGRfcGlwZV9jb25maWcgPSBpbnRlbF9jcnRjX2R1cGxpY2F0ZV9zdGF0ZShjcnRjKTsKKwlvbGQt Pm9sZF9wbGFuZV9zdGF0ZSA9IGludGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZShjcnRjLT5wcmlt YXJ5KTsKKwlpZiAoIW9sZC0+b2xkX3BpcGVfY29uZmlnIHx8ICFvbGQtPm9sZF9wbGFuZV9zdGF0 ZSkgeworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIGZhaWw7CisJfQogCiAJc3RhdGUgPSBkcm1f YXRvbWljX3N0YXRlX2FsbG9jKGRldik7CiAJaWYgKCFzdGF0ZSkKQEAgLTEwNTA1LDcgKzEwNTA5 LDkgQEAgcmV0cnk6CiAJCWdvdG8gZmFpbDsKIAl9CiAKLQljb25uZWN0b3Jfc3RhdGUtPmNydGMg PSBjcnRjOworCXJldCA9IGRybV9hdG9taWNfc2V0X2NydGNfZm9yX2Nvbm5lY3Rvcihjb25uZWN0 b3Jfc3RhdGUsIGNydGMpOworCWlmIChyZXQpCisJCWdvdG8gZmFpbDsKIAogCWNydGNfc3RhdGUg PSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGludGVsX2NydGMpOwogCWlmIChJ U19FUlIoY3J0Y19zdGF0ZSkpIHsKQEAgLTEwNTI5LDcgKzEwNTM1LDYgQEAgcmV0cnk6CiAJaWYg KGZiID09IE5VTEwpIHsKIAkJRFJNX0RFQlVHX0tNUygiY3JlYXRpbmcgdG1wIGZiIGZvciBsb2Fk LWRldGVjdGlvblxuIik7CiAJCWZiID0gaW50ZWxfZnJhbWVidWZmZXJfY3JlYXRlX2Zvcl9tb2Rl KGRldiwgbW9kZSwgMjQsIDMyKTsKLQkJb2xkLT5yZWxlYXNlX2ZiID0gZmI7CiAJfSBlbHNlCiAJ CURSTV9ERUJVR19LTVMoInJldXNpbmcgZmJkZXYgZm9yIGxvYWQtZGV0ZWN0aW9uIGZyYW1lYnVm ZmVyXG4iKTsKIAlpZiAoSVNfRVJSKGZiKSkgewpAQCAtMTA1NDEsMTUgKzEwNTQ2LDE2IEBAIHJl dHJ5OgogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIAotCWRybV9tb2RlX2NvcHkoJmNydGNfc3Rh dGUtPmJhc2UubW9kZSwgbW9kZSk7CisJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKGZiKTsK KworCXJldCA9IGRybV9hdG9taWNfc2V0X21vZGVfZm9yX2NydGMoJmNydGNfc3RhdGUtPmJhc2Us IG1vZGUpOworCWlmIChyZXQpCisJCWdvdG8gZmFpbDsKIAogCWlmIChkcm1fYXRvbWljX2NvbW1p dChzdGF0ZSkpIHsKIAkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHRvIHNldCBtb2RlIG9uIGxvYWQt ZGV0ZWN0IHBpcGVcbiIpOwotCQlpZiAob2xkLT5yZWxlYXNlX2ZiKQotCQkJb2xkLT5yZWxlYXNl X2ZiLT5mdW5jcy0+ZGVzdHJveShvbGQtPnJlbGVhc2VfZmIpOwogCQlnb3RvIGZhaWw7CiAJfQot CWNydGMtPnByaW1hcnktPmNydGMgPSBjcnRjOwogCiAJLyogbGV0IHRoZSBjb25uZWN0b3IgZ2V0 IHRocm91Z2ggb25lIGZ1bGwgY3ljbGUgYmVmb3JlIHRlc3RpbmcgKi8KIAlpbnRlbF93YWl0X2Zv cl92YmxhbmsoZGV2LCBpbnRlbF9jcnRjLT5waXBlKTsKQEAgLTEwNTU5LDYgKzEwNTY1LDEyIEBA IGZhaWw6CiAJZHJtX2F0b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKIAlzdGF0ZSA9IE5VTEw7CiAK KwlpZiAob2xkLT5vbGRfcGlwZV9jb25maWcpCisJCWludGVsX2NydGNfZGVzdHJveV9zdGF0ZShj cnRjLCBvbGQtPm9sZF9waXBlX2NvbmZpZyk7CisKKwlpZiAob2xkLT5vbGRfcGxhbmVfc3RhdGUp CisJCWludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+cHJpbWFyeSwgb2xkLT5vbGRfcGxh bmVfc3RhdGUpOworCiAJaWYgKHJldCA9PSAtRURFQURMSykgewogCQlkcm1fbW9kZXNldF9iYWNr b2ZmKGN0eCk7CiAJCWdvdG8gcmV0cnk7CkBAIC0xMDU3NSw2MSArMTA1ODcsNjkgQEAgdm9pZCBp bnRlbF9yZWxlYXNlX2xvYWRfZGV0ZWN0X3BpcGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9CiAJCWludGVsX2F0 dGFjaGVkX2VuY29kZXIoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIg PSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBlbmNvZGVy LT5jcnRjOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNvbm5lY3Rvci0+c3RhdGUtPmNydGM7 CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwog CXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9z dGF0ZSAqY29ubmVjdG9yX3N0YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwogCWludCByZXQ7CiAK IAlEUk1fREVCVUdfS01TKCJbQ09OTkVDVE9SOiVkOiVzXSwgW0VOQ09ERVI6JWQ6JXNdXG4iLAog CQkgICAgICBjb25uZWN0b3ItPmJhc2UuaWQsIGNvbm5lY3Rvci0+bmFtZSwKIAkJICAgICAgZW5j b2Rlci0+YmFzZS5pZCwgZW5jb2Rlci0+bmFtZSk7CiAKLQlpZiAob2xkLT5sb2FkX2RldGVjdF90 ZW1wKSB7Ci0JCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhkZXYpOwotCQlpZiAoIXN0 YXRlKQotCQkJZ290byBmYWlsOworCWlmICghb2xkLT5vbGRfcGlwZV9jb25maWcpCisJCXJldHVy bjsKIAotCQlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjdHg7CisJc3RhdGUgPSBkcm1fYXRvbWljX3N0 YXRlX2FsbG9jKGRldik7CisJaWYgKCFzdGF0ZSkKKwkJZ290byBmYWlsOwogCi0JCWNvbm5lY3Rv cl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubmVjdG9y KTsKLQkJaWYgKElTX0VSUihjb25uZWN0b3Jfc3RhdGUpKQotCQkJZ290byBmYWlsOworCXN0YXRl LT5hY3F1aXJlX2N0eCA9IGN0eDsKIAotCQljcnRjX3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9j cnRjX3N0YXRlKHN0YXRlLCBpbnRlbF9jcnRjKTsKLQkJaWYgKElTX0VSUihjcnRjX3N0YXRlKSkK LQkJCWdvdG8gZmFpbDsKKwljb25uZWN0b3Jfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9jb25uZWN0 b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7CisJaWYgKElTX0VSUihjb25uZWN0b3Jfc3RhdGUp KQorCQlnb3RvIGZhaWw7CiAKLQkJY29ubmVjdG9yX3N0YXRlLT5jcnRjID0gTlVMTDsKKwljcnRj X3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBpbnRlbF9jcnRjKTsK KwlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKQorCQlnb3RvIGZhaWw7CiAKLQkJY3J0Y19zdGF0ZS0+ YmFzZS5lbmFibGUgPSBjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSA9IGZhbHNlOworCXBsYW5lX3N0 YXRlID0gZHJtX2F0b21pY19nZXRfcGxhbmVfc3RhdGUoc3RhdGUsIGNydGMtPnByaW1hcnkpOwor CWlmIChJU19FUlIocGxhbmVfc3RhdGUpKQorCQlnb3RvIGZhaWw7CiAKLQkJcmV0ID0gaW50ZWxf bW9kZXNldF9zZXR1cF9wbGFuZV9zdGF0ZShzdGF0ZSwgY3J0YywgTlVMTCwgTlVMTCwKLQkJCQkJ CSAgICAgIDAsIDApOworCWlmICghb2xkLT5vbGRfcGlwZV9jb25maWctPmVuYWJsZSkgeworCQly ZXQgPSBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubmVjdG9yX3N0YXRlLCBO VUxMKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKKwl9CiAKLQkJcmV0ID0gZHJtX2F0b21p Y19jb21taXQoc3RhdGUpOwotCQlpZiAocmV0KQotCQkJZ290byBmYWlsOworCWNydGNfc3RhdGUt PmJhc2UuZW5hYmxlID0gb2xkLT5vbGRfcGlwZV9jb25maWctPmVuYWJsZTsKKwljcnRjX3N0YXRl LT5iYXNlLmFjdGl2ZSA9IG9sZC0+b2xkX3BpcGVfY29uZmlnLT5hY3RpdmU7CiAKLQkJaWYgKG9s ZC0+cmVsZWFzZV9mYikgewotCQkJZHJtX2ZyYW1lYnVmZmVyX3VucmVnaXN0ZXJfcHJpdmF0ZShv bGQtPnJlbGVhc2VfZmIpOwotCQkJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlKG9sZC0+cmVs ZWFzZV9mYik7Ci0JCX0KKwlkcm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUocGxhbmVfc3RhdGUs IG9sZC0+b2xkX3BsYW5lX3N0YXRlLT5mYik7CisJcmV0ID0gZHJtX2F0b21pY19zZXRfY3J0Y19m b3JfcGxhbmUocGxhbmVfc3RhdGUsIG9sZC0+b2xkX3BsYW5lX3N0YXRlLT5jcnRjKTsKKwlpZiAo cmV0KQorCQlnb3RvIGZhaWw7CiAKLQkJcmV0dXJuOwotCX0KKwlvbGQtPm9sZF9wbGFuZV9zdGF0 ZS0+c3RhdGUgPSBwbGFuZV9zdGF0ZS0+c3RhdGU7CisJKnBsYW5lX3N0YXRlID0gKm9sZC0+b2xk X3BsYW5lX3N0YXRlOwogCi0JLyogU3dpdGNoIGNydGMgYW5kIGVuY29kZXIgYmFjayBvZmYgaWYg bmVjZXNzYXJ5ICovCi0JaWYgKG9sZC0+ZHBtc19tb2RlICE9IERSTV9NT0RFX0RQTVNfT04pCi0J CWNvbm5lY3Rvci0+ZnVuY3MtPmRwbXMoY29ubmVjdG9yLCBvbGQtPmRwbXNfbW9kZSk7CisJcmV0 ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworCWlmIChyZXQpCisJCWdvdG8gZmFpbDsKIAor CWludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoY3J0Yy0+cHJpbWFyeSwgb2xkLT5vbGRfcGxhbmVf c3RhdGUpOworCWludGVsX2NydGNfZGVzdHJveV9zdGF0ZShjcnRjLCBvbGQtPm9sZF9waXBlX2Nv bmZpZyk7CiAJcmV0dXJuOworCiBmYWlsOgogCURSTV9ERUJVR19LTVMoIkNvdWxkbid0IHJlbGVh c2UgbG9hZCBkZXRlY3QgcGlwZS5cbiIpOwogCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7 CisJaW50ZWxfcGxhbmVfZGVzdHJveV9zdGF0ZShjcnRjLT5wcmltYXJ5LCBvbGQtPm9sZF9wbGFu ZV9zdGF0ZSk7CisJaW50ZWxfY3J0Y19kZXN0cm95X3N0YXRlKGNydGMsIG9sZC0+b2xkX3BpcGVf Y29uZmlnKTsKIH0KIAogc3RhdGljIGludCBpOXh4X3BsbF9yZWZjbGsoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggOTNiYTE0YTNiYjc2Li5lZWRh N2QwMmE0ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC05MTMsOCArOTEzLDggQEAg c3RydWN0IGludGVsX3VucGluX3dvcmsgewogCiBzdHJ1Y3QgaW50ZWxfbG9hZF9kZXRlY3RfcGlw ZSB7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqcmVsZWFzZV9mYjsKLQlib29sIGxvYWRfZGV0 ZWN0X3RlbXA7Ci0JaW50IGRwbXNfbW9kZTsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9w aXBlX2NvbmZpZzsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7CiB9 OwogCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF9lbmNvZGVyICoKLS0gCjIuMS4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=