From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 27/36] drm/i915: Split control of rps and rc6 Date: Wed, 14 Mar 2018 09:37:39 +0000 Message-ID: <20180314093748.8541-27-chris@chris-wilson.co.uk> References: <20180314093748.8541-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3F2B36E6A8 for ; Wed, 14 Mar 2018 09:39:04 +0000 (UTC) In-Reply-To: <20180314093748.8541-1-chris@chris-wilson.co.uk> 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 Cc: praveen.paneri@intel.com List-Id: intel-gfx@lists.freedesktop.org QWxsb3cgb3Vyc2VsdmVzIHRvIGluZGl2aWR1YWxseSB0b2dnbGUgcnBzIG9yIHJjNi4gVGhpcyB3 aWxsIGJlIHVzZWQKbGF0ZXIgd2hlbiB3ZSB3YW50IHRvIGVuYWJsZSBycHMvcmM2IGF0IGRpZmZl cmVudCBwaGFzZXMgZHVyaW5nIHRoZQpkZXZpY2UgYnJpbmcgdXAuCgpXaGlsc3QgaGVyZSwgY29u dmVydCB0aGUgaW50ZWxfJHZlcmJfZ3RfcG93ZXJzYXZlIG92ZXIgdG8KaW50ZWxfZ3RfcG1fJHZl cmIgc2NoZW1lLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgIHwgIDYg Ky0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgNSAtLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICB8IDIzICsrKysrLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHwgIDUgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dF9wbS5jICAgfCA3NSArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d0X3BtLmggICB8IDE0ICsrKystLS0KIDcgZmlsZXMgY2hh bmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgNzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKaW5kZXggZjQ3ZDE3MDZhYzAyLi5kYjg4YjhjM2M0YWUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYwpAQCAtMTA2Myw3ICsxMDYzLDcgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9pbml0 X21taW8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogICovCiBzdGF0aWMgdm9p ZCBpOTE1X2RyaXZlcl9jbGVhbnVwX21taW8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewotCWludGVsX3Nhbml0aXplX2d0X3Bvd2Vyc2F2ZShkZXZfcHJpdik7CisJaW50ZWxf Z3RfcG1fc2FuaXRpemUoZGV2X3ByaXYpOwogCWludGVsX3VuY29yZV9maW5pKGRldl9wcml2KTsK IAlpOTE1X21taW9fY2xlYW51cChkZXZfcHJpdik7CiAJcGNpX2Rldl9wdXQoZGV2X3ByaXYtPmJy aWRnZV9kZXYpOwpAQCAtMTE3MCw3ICsxMTcwLDcgQEAgc3RhdGljIGludCBpOTE1X2RyaXZlcl9p bml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnRlbF91bmNvcmVf c2FuaXRpemUoZGV2X3ByaXYpOwogCiAJLyogQklPUyBvZnRlbiBsZWF2ZXMgUkM2IGVuYWJsZWQs IGJ1dCBkaXNhYmxlIGl0IGZvciBodyBpbml0ICovCi0JaW50ZWxfc2FuaXRpemVfZ3RfcG93ZXJz YXZlKGRldl9wcml2KTsKKwlpbnRlbF9ndF9wbV9zYW5pdGl6ZShkZXZfcHJpdik7CiAKIAlpbnRl bF9vcHJlZ2lvbl9zZXR1cChkZXZfcHJpdik7CiAKQEAgLTE3MTQsNyArMTcxNCw3IEBAIHN0YXRp YyBpbnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaW50IHJldDsK IAogCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7Ci0JaW50ZWxfc2FuaXRp emVfZ3RfcG93ZXJzYXZlKGRldl9wcml2KTsKKwlpbnRlbF9ndF9wbV9zYW5pdGl6ZShkZXZfcHJp dik7CiAKIAlyZXQgPSBpOTE1X2dndHRfZW5hYmxlX2h3KGRldl9wcml2KTsKIAlpZiAocmV0KQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODI1YTZmZDg0MjNiLi4wYWNhYmZkMWUzZTcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNzg4LDE0ICs3ODgsOSBAQCBzdHJ1Y3QgaW50ZWxf cmM2IHsKIAl1NjQgY3VyX3Jlc2lkZW5jeVs0XTsKIH07CiAKLXN0cnVjdCBpbnRlbF9sbGNfcHN0 YXRlIHsKLQlib29sIGVuYWJsZWQ7Ci19OwotCiBzdHJ1Y3QgaW50ZWxfZ2VuNl9wb3dlcl9tZ210 IHsKIAlzdHJ1Y3QgaW50ZWxfcnBzIHJwczsKIAlzdHJ1Y3QgaW50ZWxfcmM2IHJjNjsKLQlzdHJ1 Y3QgaW50ZWxfbGxjX3BzdGF0ZSBsbGNfcHN0YXRlOwogCiAJdTMyIGltcjsKIAl1MzIgaWVyOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggODExMmNiZDZlMGFmLi5iOWM3YjIxZTVjYzggMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzE2Niw4ICszMTY2LDkgQEAgdm9pZCBpOTE1X2dl bV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaTkxNV9nZW1fcmVz dG9yZV9mZW5jZXMoZGV2X3ByaXYpOwogCiAJaWYgKGRldl9wcml2LT5ndC5hd2FrZSkgewotCQlp bnRlbF9zYW5pdGl6ZV9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOwotCQlpbnRlbF9lbmFibGVfZ3Rf cG93ZXJzYXZlKGRldl9wcml2KTsKKwkJaW50ZWxfZ3RfcG1fc2FuaXRpemUoZGV2X3ByaXYpOwor CQlpbnRlbF9ndF9wbV9lbmFibGVfcnBzKGRldl9wcml2KTsKKwkJaW50ZWxfZ3RfcG1fZW5hYmxl X3JjNihkZXZfcHJpdik7CiAJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDYpCiAJCQlnZW42 X3Jwc19idXN5KGRldl9wcml2KTsKIAl9CkBAIC01MzE1LDEwICs1MzE2LDEyIEBAIGludCBpOTE1 X2dlbV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJZ290byBlcnJf dW5sb2NrOwogCX0KIAorCWludGVsX2d0X3BtX2luaXQoZGV2X3ByaXYpOworCiAJcmV0ID0gaTkx NV9nZW1fY29udGV4dHNfaW5pdChkZXZfcHJpdik7CiAJaWYgKHJldCkgewogCQlHRU1fQlVHX09O KHJldCA9PSAtRUlPKTsKLQkJZ290byBlcnJfZ2d0dDsKKwkJZ290byBlcnJfcG07CiAJfQogCiAJ cmV0ID0gaW50ZWxfZW5naW5lc19pbml0KGRldl9wcml2KTsKQEAgLTUzMjcsMTEgKzUzMzAsOSBA QCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ CWdvdG8gZXJyX2NvbnRleHQ7CiAJfQogCi0JaW50ZWxfaW5pdF9ndF9wb3dlcnNhdmUoZGV2X3By aXYpOwotCiAJcmV0ID0gaW50ZWxfdWNfaW5pdChkZXZfcHJpdik7CiAJaWYgKHJldCkKLQkJZ290 byBlcnJfcG07CisJCWdvdG8gZXJyX2VuZ2luZXM7CiAKIAlyZXQgPSBpOTE1X2dlbV9pbml0X2h3 KGRldl9wcml2KTsKIAlpZiAocmV0KQpAQCAtNTM3OSwxNSArNTM4MCwxNSBAQCBpbnQgaTkxNV9n ZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaW50ZWxfdWNfZmlu aV9odyhkZXZfcHJpdik7CiBlcnJfdWNfaW5pdDoKIAlpbnRlbF91Y19maW5pKGRldl9wcml2KTsK LWVycl9wbToKLQlpZiAocmV0ICE9IC1FSU8pIHsKLQkJaW50ZWxfY2xlYW51cF9ndF9wb3dlcnNh dmUoZGV2X3ByaXYpOworZXJyX2VuZ2luZXM6CisJaWYgKHJldCAhPSAtRUlPKQogCQlpOTE1X2dl bV9jbGVhbnVwX2VuZ2luZXMoZGV2X3ByaXYpOwotCX0KIGVycl9jb250ZXh0OgogCWlmIChyZXQg IT0gLUVJTykKIAkJaTkxNV9nZW1fY29udGV4dHNfZmluaShkZXZfcHJpdik7Ci1lcnJfZ2d0dDoK K2Vycl9wbToKKwlpZiAocmV0ICE9IC1FSU8pCisJCWludGVsX2d0X3BtX2ZpbmkoZGV2X3ByaXYp OwogZXJyX3VubG9jazoKIAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgRk9S Q0VXQUtFX0FMTCk7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCmluZGV4IDM2MDVkNWYxYTIyNi4uNjI0Yzdj ZDIwN2QyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwpAQCAtMjc0LDcgKzI3NCw5 IEBAIHN0YXRpYyB2b2lkIG1hcmtfYnVzeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IAlpZiAodW5saWtlbHkoKytpOTE1LT5ndC5lcG9jaCA9PSAwKSkgLyoga2VlcCAwIGFzIGludmFs aWQgKi8KIAkJaTkxNS0+Z3QuZXBvY2ggPSAxOwogCi0JaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2 ZShpOTE1KTsKKwlpbnRlbF9ndF9wbV9lbmFibGVfcnBzKGk5MTUpOworCWludGVsX2d0X3BtX2Vu YWJsZV9yYzYoaTkxNSk7CisKIAlpOTE1X3VwZGF0ZV9nZnhfdmFsKGk5MTUpOwogCWlmIChJTlRF TF9HRU4oaTkxNSkgPj0gNikKIAkJZ2VuNl9ycHNfYnVzeShpOTE1KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwppbmRleCBiYTlhYTgzODUyMDQuLjg5MmMyNzRlYjQ3YiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTU0MjYsNyArMTU0MjYsOCBAQCB2b2lk IGludGVsX21vZGVzZXRfY2xlYW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWZsdXNoX3dv cmsoJmRldl9wcml2LT5hdG9taWNfaGVscGVyLmZyZWVfd29yayk7CiAJV0FSTl9PTighbGxpc3Rf ZW1wdHkoJmRldl9wcml2LT5hdG9taWNfaGVscGVyLmZyZWVfbGlzdCkpOwogCi0JaW50ZWxfZGlz YWJsZV9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOworCWludGVsX2d0X3BtX2Rpc2FibGVfcnBzKGRl dl9wcml2KTsKKwlpbnRlbF9ndF9wbV9kaXNhYmxlX3JjNihkZXZfcHJpdik7CiAKIAkvKgogCSAq IEludGVycnVwdHMgYW5kIHBvbGxpbmcgYXMgdGhlIGZpcnN0IHRoaW5nIHRvIGF2b2lkIGNyZWF0 aW5nIGhhdm9jLgpAQCAtMTU0NTUsNyArMTU0NTYsNyBAQCB2b2lkIGludGVsX21vZGVzZXRfY2xl YW51cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJaW50ZWxfY2xlYW51cF9vdmVybGF5KGRl dl9wcml2KTsKIAotCWludGVsX2NsZWFudXBfZ3RfcG93ZXJzYXZlKGRldl9wcml2KTsKKwlpbnRl bF9ndF9wbV9maW5pKGRldl9wcml2KTsKIAogCWludGVsX3RlYXJkb3duX2dtYnVzKGRldl9wcml2 KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3RfcG0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d0X3BtLmMKaW5kZXggZmViM2JmMDYwZjc4Li5jNWQw MzgyYzkzNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d0X3BtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3RfcG0uYwpAQCAtMjM4MywxMSArMjM4 MywxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9pbml0X2Vtb24oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCWRldl9wcml2LT5pcHMuY29yciA9IChsY2Z1c2UgJiBMQ0ZVU0VfSElW X01BU0spOwogfQogCi12b2lkIGludGVsX3Nhbml0aXplX2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit2b2lkIGludGVsX2d0X3BtX3Nhbml0aXplKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlkZXZfcHJpdi0+Z3RfcG0ucnBzLmVu YWJsZWQgPSB0cnVlOyAvKiBmb3JjZSBSUFMgZGlzYWJsaW5nICovCisJaW50ZWxfZ3RfcG1fZGlz YWJsZV9ycHMoZGV2X3ByaXYpOworCiAJZGV2X3ByaXYtPmd0X3BtLnJjNi5lbmFibGVkID0gdHJ1 ZTsgLyogZm9yY2UgUkM2IGRpc2FibGluZyAqLwotCWludGVsX2Rpc2FibGVfZ3RfcG93ZXJzYXZl KGRldl9wcml2KTsKKwlpbnRlbF9ndF9wbV9kaXNhYmxlX3JjNihkZXZfcHJpdik7CiAKIAlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA8IDExKQogCQlnZW42X3Jlc2V0X3Jwc19pbnRlcnJ1cHRzKGRl dl9wcml2KTsKQEAgLTIzOTUsNyArMjM5Nyw3IEBAIHZvaWQgaW50ZWxfc2FuaXRpemVfZ3RfcG93 ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJV0FSTl9PTl9PTkNF KDEpOwogfQogCi12b2lkIGludGVsX2luaXRfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKK3ZvaWQgaW50ZWxfZ3RfcG1faW5pdChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IGludGVsX3JwcyAqcnBzID0gJmRldl9wcml2 LT5ndF9wbS5ycHM7CiAKQEAgLTI0NzUsMjIgKzI0NzcsMTMgQEAgdm9pZCBpbnRlbF9pbml0X2d0 X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJLyogRmluYWxs eSBhbGxvdyB1cyB0byBib29zdCB0byBtYXggYnkgZGVmYXVsdCAqLwogCXJwcy0+Ym9vc3RfZnJl cSA9IHJwcy0+bWF4X2ZyZXE7CiAKLQltdXRleF91bmxvY2soJnJwcy0+bG9jayk7Ci19Ci0KLXN0 YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9lbmFibGVfbGxjX3BzdGF0ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKLXsKLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5ndF9wbS5ycHMu bG9jayk7Ci0KLQlpZiAoaTkxNS0+Z3RfcG0ubGxjX3BzdGF0ZS5lbmFibGVkKQotCQlyZXR1cm47 Ci0KLQlnZW42X3VwZGF0ZV9yaW5nX2ZyZXEoaTkxNSk7CisJaWYgKEhBU19MTEMoZGV2X3ByaXYp KQorCQlnZW42X3VwZGF0ZV9yaW5nX2ZyZXEoZGV2X3ByaXYpOwogCi0JaTkxNS0+Z3RfcG0ubGxj X3BzdGF0ZS5lbmFibGVkID0gdHJ1ZTsKKwltdXRleF91bmxvY2soJnJwcy0+bG9jayk7CiB9CiAK LXN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQorc3RhdGljIHZvaWQgX19lbmFibGVfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIHsKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+Z3RfcG0ucnBz LmxvY2spOwogCkBAIC0yNTExLDcgKzI1MDQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVf cmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+Z3RfcG0u cmM2LmVuYWJsZWQgPSB0cnVlOwogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfcnBzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyB2b2lkIF9fZW5hYmxlX3Jw cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IGludGVsX3Jw cyAqcnBzID0gJmRldl9wcml2LT5ndF9wbS5ycHM7CiAKQEAgLTI1NDYsMzcgKzI1MzksMjcgQEAg c3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3JwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJcnBzLT5lbmFibGVkID0gdHJ1ZTsKIH0KIAotdm9pZCBpbnRlbF9lbmFibGVfZ3Rf cG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3ZvaWQgaW50ZWxf Z3RfcG1fZW5hYmxlX3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0J LyogUG93ZXJzYXZpbmcgaXMgY29udHJvbGxlZCBieSB0aGUgaG9zdCB3aGVuIGluc2lkZSBhIFZN ICovCi0JaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldl9wcml2KSkKKwlpZiAoIUhBU19SQzYoZGV2 X3ByaXYpKQogCQlyZXR1cm47CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+Z3RfcG0ucnBzLmxv Y2spOwotCi0JaWYgKEhBU19SQzYoZGV2X3ByaXYpKQotCQlpbnRlbF9lbmFibGVfcmM2KGRldl9w cml2KTsKLQlpZiAoSEFTX1JQUyhkZXZfcHJpdikpCi0JCWludGVsX2VuYWJsZV9ycHMoZGV2X3By aXYpOwotCWlmIChIQVNfTExDKGRldl9wcml2KSkKLQkJaW50ZWxfZW5hYmxlX2xsY19wc3RhdGUo ZGV2X3ByaXYpOwotCisJX19lbmFibGVfcmM2KGRldl9wcml2KTsKIAltdXRleF91bmxvY2soJmRl dl9wcml2LT5ndF9wbS5ycHMubG9jayk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9k aXNhYmxlX2xsY19wc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit2b2lkIGlu dGVsX2d0X3BtX2VuYWJsZV9ycHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog ewotCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmk5MTUtPmd0X3BtLnJwcy5sb2NrKTsKLQotCWlmICgh aTkxNS0+Z3RfcG0ubGxjX3BzdGF0ZS5lbmFibGVkKQorCWlmICghSEFTX1JQUyhkZXZfcHJpdikp CiAJCXJldHVybjsKIAotCS8qIEN1cnJlbnRseSB0aGVyZSBpcyBubyBIVyBjb25maWd1cmF0aW9u IHRvIGJlIGRvbmUgdG8gZGlzYWJsZS4gKi8KLQotCWk5MTUtPmd0X3BtLmxsY19wc3RhdGUuZW5h YmxlZCA9IGZhbHNlOworCW11dGV4X2xvY2soJmRldl9wcml2LT5ndF9wbS5ycHMubG9jayk7CisJ X19lbmFibGVfcnBzKGRldl9wcml2KTsKKwltdXRleF91bmxvY2soJmRldl9wcml2LT5ndF9wbS5y cHMubG9jayk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfcmM2KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3N0YXRpYyB2b2lkIF9fZGlzYWJsZV9yYzYoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRl dl9wcml2LT5ndF9wbS5ycHMubG9jayk7CiAKQEAgLTI1OTUsNyArMjU3OCwxNCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kaXNhYmxlX3JjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJZGV2X3ByaXYtPmd0X3BtLnJjNi5lbmFibGVkID0gZmFsc2U7CiB9CiAKLXN0YXRpYyB2b2lk IGludGVsX2Rpc2FibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3Zv aWQgaW50ZWxfZ3RfcG1fZGlzYWJsZV9yYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQoreworCW11dGV4X2xvY2soJmRldl9wcml2LT5ndF9wbS5ycHMubG9jayk7CisJX19kaXNh YmxlX3JjNihkZXZfcHJpdik7CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+Z3RfcG0ucnBzLmxv Y2spOworfQorCitzdGF0aWMgdm9pZCBfX2Rpc2FibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIHsKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+Z3RfcG0u cnBzLmxvY2spOwogCkBAIC0yNjE2LDE5ICsyNjA2LDE0IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rp c2FibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlkZXZfcHJpdi0+ Z3RfcG0ucnBzLmVuYWJsZWQgPSBmYWxzZTsKIH0KIAotdm9pZCBpbnRlbF9kaXNhYmxlX2d0X3Bv d2Vyc2F2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit2b2lkIGludGVsX2d0 X3BtX2Rpc2FibGVfcnBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlt dXRleF9sb2NrKCZkZXZfcHJpdi0+Z3RfcG0ucnBzLmxvY2spOwotCi0JaW50ZWxfZGlzYWJsZV9y YzYoZGV2X3ByaXYpOwotCWludGVsX2Rpc2FibGVfcnBzKGRldl9wcml2KTsKLQlpZiAoSEFTX0xM QyhkZXZfcHJpdikpCi0JCWludGVsX2Rpc2FibGVfbGxjX3BzdGF0ZShkZXZfcHJpdik7Ci0KKwlf X2Rpc2FibGVfcnBzKGRldl9wcml2KTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5ndF9wbS5y cHMubG9jayk7CiB9CiAKLXZvaWQgaW50ZWxfY2xlYW51cF9ndF9wb3dlcnNhdmUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQordm9pZCBpbnRlbF9ndF9wbV9maW5pKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJp dikpCiAJCXZhbGxleXZpZXdfY2xlYW51cF9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3RfcG0uaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d0X3BtLmgKaW5kZXggNzIyMzI1YmJiNmNjLi41OTc1YzYzZjQ2YmYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d0X3BtLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3RfcG0uaApAQCAtMzEsMTIgKzMxLDE2IEBAIHN0cnVjdCBp bnRlbF9ycHNfY2xpZW50Owogdm9pZCBpbnRlbF9ncHVfaXBzX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfZ3B1X2lwc190ZWFyZG93bih2b2lkKTsK IAotdm9pZCBpbnRlbF9zYW5pdGl6ZV9ndF9wb3dlcnNhdmUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfZ3RfcG1fc2FuaXRpemUoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKIAotdm9pZCBpbnRlbF9pbml0X2d0X3Bvd2Vyc2F2ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwotdm9pZCBpbnRlbF9lbmFibGVfZ3RfcG93 ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci12b2lkIGludGVsX2Rp c2FibGVfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci12 b2lkIGludGVsX2NsZWFudXBfZ3RfcG93ZXJzYXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cit2b2lkIGludGVsX2d0X3BtX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfZ3RfcG1fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOworCit2b2lkIGludGVsX2d0X3BtX2VuYWJsZV9ycHMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgaW50ZWxfZ3RfcG1fZGlzYWJsZV9ycHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKKwordm9pZCBpbnRlbF9ndF9wbV9lbmFi bGVfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2b2lkIGludGVsX2d0 X3BtX2Rpc2FibGVfcmM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAKIHZv aWQgaW50ZWxfZ3RfcG1faXJxX2hhbmRsZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1MzIgcG1faWlyKTsKIAotLSAKMi4xNi4yCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK