From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomasz Lis Subject: [PATCH v6] drm/i915/icl: Preempt-to-idle support in execlists. Date: Fri, 9 Nov 2018 18:18:53 +0100 Message-ID: <1541783933-9045-1-git-send-email-tomasz.lis@intel.com> References: <1522163879-10837-1-git-send-email-tomasz.lis@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 861DC6E7FD for ; Fri, 9 Nov 2018 17:18:56 +0000 (UTC) In-Reply-To: <1522163879-10837-1-git-send-email-tomasz.lis@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 Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org VGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBvZiBwcmVlbXB0LXRvLWlkbGUgcmVxdWVzdGluZyBieSBz ZXR0aW5nIGEgcHJvcGVyCmJpdCB3aXRoaW4gRXhlY2xpc3QgQ29udHJvbCBSZWdpc3RlciwgYW5k IHJlY2VpdmluZyBwcmVlbXB0aW9uIHJlc3VsdCBmcm9tCkNvbnRleHQgU3RhdHVzIEJ1ZmZlci4K ClByZWVtcHRpb24gaW4gcHJldmlvdXMgZ2VucyByZXF1aXJlZCBhIHNwZWNpYWwgYmF0Y2ggYnVm ZmVyIHRvIGJlIGV4ZWN1dGVkLApzbyB0aGUgQ29tbWFuZCBTdHJlYW1lciBuZXZlciBwcmVlbXB0 ZWQgdG8gaWRsZSBkaXJlY3RseS4gSW4gSWNlbGFrZSBpdCBpcwpwb3NzaWJsZSwgYXMgdGhlcmUg aXMgYSBoYXJkd2FyZSBtZWNoYW5pc20gdG8gaW5mb3JtIHRoZSBrZXJuZWwgYWJvdXQKc3RhdHVz IG9mIHRoZSBwcmVlbXB0aW9uIHJlcXVlc3QuCgpUaGlzIHBhdGNoIGRvZXMgbm90IGNvdmVyIHVz aW5nIHRoZSBuZXcgcHJlZW1wdGlvbiBtZWNoYW5pc20gd2hlbiBHdUMgaXMKYWN0aXZlLgoKVGhl IGFkdmFudGFnZSBvZiB0aGlzIG5ldyBwcmVlbXB0aW9uIHBhdGggaXMgdGhhdCBvbmUgbGVzcyBj b250ZXh0IHN3aXRjaCBpcwpuZWVkZWQsIGFuZCByZXR1cm5pbmcgaW5mb3JtYXRpb24gYWJvdXQg cHJlZW1waW9uIGJlaW5nIGNvbXBsZXRlIGlzIHJlY2VpdmVkCmVhcmxpZXIuIFRoaXMgbGVhZHMg dG8gc2lnbmlmaWNhbnQgaW1wcm92ZW1lbnQgaW4gb3VyIElHVCBsYXRlbmN5IHRlc3QuCgpUZXN0 IHBlcmZvcm1lZDogYGdlbV9leGVjX2xhdGVuY3kgLS1ydW4tc3VidGVzdCByZW5kZXItcHJlZW1w dGlvbmAsIGV4ZWN1dGVkCjEwMCB0aW1lcywgb24gdGhlIHNhbWUgcGxhdGZvcm0sIHNhbWUga2Vy bmVsLCB3aXRob3V0IGFuZCB3aXRoIHRoaXMgcGF0Y2guClRoZW4gdGFrZW4gYXZlcmFnZSBvZiB0 aGUgZXhlY3V0aW9uIGxhdGVuY3kgdGltZXM6CgpzdWJjYXNlCQlvbGQgcHJlZW1wdC4JaWNsIHBy ZWVtcHQuCnJlbmRlci1yZW5kZXIJODUzLjIwMzYJODQwLjExNzYKcmVuZGVyLWJzZAkyMzI4Ljg3 MDgJMjA4My4yNTc2CnJlbmRlci1ibHQJMjA4MC4xNTAxCTE4NTIuMDc5MgpyZW5kZXItdmVib3gJ MTU1My41MTM0CTE0MjguNzYyCgpJbXByb3ZlbWVudCBvYnNlcnZlZDoKCnN1YmNhc2UJCWltcHJv dmVtZW50CnJlbmRlci1yZW5kZXIJIDEuNTMlCnJlbmRlci1ic2QJMTAuNTUlCnJlbmRlci1ibHQJ MTAuOTYlCnJlbmRlci12ZWJveAkgOC4wMyUKCnYyOiBBZGRlZCBuZWVkc19wcmVlbXB0X2NvbnRl eHQoKSBjaGFuZ2Ugc28gdGhhdCBpdCBpcyBub3QgY3JlYXRlZCB3aGVuCiAgICBwcmVlbXB0LXRv LWlkbGUgaXMgc3VwcG9ydGVkLiAoQ2hyaXMpCiAgICBVcGRhdGVkIHNldHRpbmcgSFdBQ0sgZmxh ZyBzbyB0aGF0IGl0IGlzIGNsZWFyZWQgYWZ0ZXIKICAgIHByZWVtcHQtdG8tZGxlLiAoQ2hyaXMs IERhbmllbGUpCiAgICBVcGRhdGVkIHRvIHVzZSBJOTE1X0VOR0lORV9IQVNfUFJFRU1QVElPTiBm bGFnLiAoQ2hyaXMpCgp2MzogRml4ZWQgbmVlZHNfcHJlZW1wdF9jb250ZXh0KCkgY2hhbmdlLiAo Q2hyaXMpCiAgICBNZXJnZWQgcHJlZW1wdGlvbiB0cmlnZ2VyIGZ1bmN0aW9ucyB0byBvbmUuIChD aHJpcykKICAgIEZpeGVkIGNvbnlleHQgc3RhdGUgdG9ub3QgYXNzdW1lIENPTVBMRVRFRF9NQVNL IGFmdGVyIHByZWVtcHRpb24sCiAgICBzaW5jZSBpZGxlLXRvLWlkbGUgY2FzZSB3aWxsIG5vdCBo YXZlIGl0IHNldC4KCnY0OiBTaW1wbGlmaWVkIG5lZWRzX3ByZWVtcHRfY29udGV4dCgpIGNoYW5n ZS4gKERhbmllbGUpCiAgICBSZW1vdmVkIGNsZWFyaW5nIEhXQUNLIGZsYWcgaW4gaWRsZS10by1p ZGxlIHByZWVtcHQuIChEYW5pZWxlKQoKdjU6IFJlbmFtZWQgaW5qZWN0X3ByZWVtcHRfY29udGV4 dCgpLiAoRGFuaWVsZSkKICAgIFJlbW92ZWQgZHVwbGljYXRlZCBHRU1fQlVHX09OKCkgb24gSFdB Q0sgKERhbmllbGUpCgp2NjogQWRkZWQgcGVyZm9ybWFuY2UgdGVzdCByZXN1bHRzLgoKQnNwZWM6 IDE4OTIyCkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5j b20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmll bGUgQ2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBN aWNoYWwgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KQ2M6IE1pa2EgS3Vv cHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsZSBDZXJh b2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KU2lnbmVkLW9mZi1i eTogVG9tYXN6IExpcyA8dG9tYXN6Lmxpc0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMgIHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bj aS5jICAgICAgICAgIHwgICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5oIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAg fCAxMDkgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmggICAgICAgICB8ICAgMSArCiA2IGZpbGVzIGNoYW5nZWQsIDg0IGluc2Vy dGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDA4 ZDI1YWEuLmQyY2M5ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjU3OSw2ICsyNTc5 LDggQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiAJCSgoZGV2X3ByaXYpLT5pbmZvLmhhc19sb2dpY2FsX3JpbmdfZWxzcSkKICNkZWZpbmUgSEFT X0xPR0lDQUxfUklOR19QUkVFTVBUSU9OKGRldl9wcml2KSBcCiAJCSgoZGV2X3ByaXYpLT5pbmZv Lmhhc19sb2dpY2FsX3JpbmdfcHJlZW1wdGlvbikKKyNkZWZpbmUgSEFTX0hXX1BSRUVNUFRfVE9f SURMRShkZXZfcHJpdikgXAorCQkoKGRldl9wcml2KS0+aW5mby5oYXNfaHdfcHJlZW1wdF90b19p ZGxlKQogCiAjZGVmaW5lIEhBU19FWEVDTElTVFMoZGV2X3ByaXYpIEhBU19MT0dJQ0FMX1JJTkdf Q09OVEVYVFMoZGV2X3ByaXYpCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YwppbmRleCBiOTc5NjNkLi4xMGIxZDYxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jCkBAIC01MjksNyArNTI5LDggQEAgc3RhdGljIHZvaWQgaW5pdF9jb250ZXh0cyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogc3RhdGljIGJvb2wgbmVlZHNfcHJlZW1w dF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXJldHVybiBIQVNf TE9HSUNBTF9SSU5HX1BSRUVNUFRJT04oaTkxNSk7CisJcmV0dXJuIEhBU19MT0dJQ0FMX1JJTkdf UFJFRU1QVElPTihpOTE1KSAmJgorCSAgICAgICAhSEFTX0hXX1BSRUVNUFRfVE9fSURMRShpOTE1 KTsKIH0KIAogaW50IGk5MTVfZ2VtX2NvbnRleHRzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2ku YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggNGNjYWI4My4uODIxMjVj ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC02MDAsNyArNjAwLDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9jYW5ub25sYWtlX2luZm8gPSB7CiAJ CQkgICBUUkFOU0NPREVSX0RTSTBfT0ZGU0VULCBUUkFOU0NPREVSX0RTSTFfT0ZGU0VUfSwgXAog CUdFTigxMSksIFwKIAkuZGRiX3NpemUgPSAyMDQ4LCBcCi0JLmhhc19sb2dpY2FsX3JpbmdfZWxz cSA9IDEKKwkuaGFzX2xvZ2ljYWxfcmluZ19lbHNxID0gMSwgXAorCS5oYXNfaHdfcHJlZW1wdF90 b19pZGxlID0gMQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVs X2ljZWxha2VfMTFfaW5mbyA9IHsKIAlHRU4xMV9GRUFUVVJFUywKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXZpY2VfaW5mby5oCmluZGV4IDg2Y2UxZGIuLmEyZWUyNzggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaApAQCAtMTA0LDYgKzEwNCw3IEBAIGVudW0g aW50ZWxfcHBndHQgewogCWZ1bmMoaGFzX2xvZ2ljYWxfcmluZ19jb250ZXh0cyk7IFwKIAlmdW5j KGhhc19sb2dpY2FsX3JpbmdfZWxzcSk7IFwKIAlmdW5jKGhhc19sb2dpY2FsX3JpbmdfcHJlZW1w dGlvbik7IFwKKwlmdW5jKGhhc19od19wcmVlbXB0X3RvX2lkbGUpOyBcCiAJZnVuYyhoYXNfb3Zl cmxheSk7IFwKIAlmdW5jKGhhc19wb29sZWRfZXUpOyBcCiAJZnVuYyhoYXNfcHNyKTsgXApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCAwOGZkOWIxLi4yNmI3MDYyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwpAQCAtMTU1LDYgKzE1NSw3IEBACiAjZGVmaW5lIEdFTjhfQ1RYX1NUQVRV U19BQ1RJVkVfSURMRQkoMSA8PCAzKQogI2RlZmluZSBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUJ KDEgPDwgNCkKICNkZWZpbmUgR0VOOF9DVFhfU1RBVFVTX0xJVEVfUkVTVE9SRQkoMSA8PCAxNSkK KyNkZWZpbmUgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUJKDEgPDwgMjkpCiAKICNkZWZp bmUgR0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFRF9NQVNLIFwKIAkgKEdFTjhfQ1RYX1NUQVRVU19D T01QTEVURSB8IEdFTjhfQ1RYX1NUQVRVU19QUkVFTVBURUQpCkBAIC01MDAsMjkgKzUwMSw0OSBA QCBzdGF0aWMgdm9pZCBwb3J0X2Fzc2lnbihzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCwgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJcG9ydF9zZXQocG9ydCwgcG9ydF9wYWNrKGk5MTVfcmVx dWVzdF9nZXQocnEpLCBwb3J0X2NvdW50KHBvcnQpKSk7CiB9CiAKLXN0YXRpYyB2b2lkIGluamVj dF9wcmVlbXB0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorc3RhdGlj IHZvaWQgZXhlY2xpc3Rfc2VuZF9wcmVlbXB0X3RvX2lkbGUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMg PSAmZW5naW5lLT5leGVjbGlzdHM7Ci0Jc3RydWN0IGludGVsX2NvbnRleHQgKmNlID0KLQkJdG9f aW50ZWxfY29udGV4dChlbmdpbmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCwgZW5naW5lKTsKLQl1 bnNpZ25lZCBpbnQgbjsKKwlHRU1fVFJBQ0UoIiVzXG4iLCBlbmdpbmUtPm5hbWUpOwogCi0JR0VN X0JVR19PTihleGVjbGlzdHMtPnByZWVtcHRfY29tcGxldGVfc3RhdHVzICE9Ci0JCSAgIHVwcGVy XzMyX2JpdHMoY2UtPmxyY19kZXNjKSk7CisJaWYgKEhBU19IV19QUkVFTVBUX1RPX0lETEUoZW5n aW5lLT5pOTE1KSkgeworCQkvKgorCQkgKiBoYXJkd2FyZSB3aGljaCBIQVNfSFdfUFJFRU1QVF9U T19JRExFKCksIGFsd2F5cyBhbHNvCisJCSAqIEhBU19MT0dJQ0FMX1JJTkdfRUxTUSgpLCBzbyB3 ZSBjYW4gYXNzdW1lIGN0cmxfcmVnIGlzIHNldAorCQkgKi8KKwkJR0VNX0JVR19PTihleGVjbGlz dHMtPmN0cmxfcmVnID09IE5VTEwpOwogCi0JLyoKLQkgKiBTd2l0Y2ggdG8gb3VyIGVtcHR5IHBy ZWVtcHQgY29udGV4dCBzbwotCSAqIHRoZSBzdGF0ZSBvZiB0aGUgR1BVIGlzIGtub3duIChpZGxl KS4KLQkgKi8KLQlHRU1fVFJBQ0UoIiVzXG4iLCBlbmdpbmUtPm5hbWUpOwotCWZvciAobiA9IGV4 ZWNsaXN0c19udW1fcG9ydHMoZXhlY2xpc3RzKTsgLS1uOyApCi0JCXdyaXRlX2Rlc2MoZXhlY2xp c3RzLCAwLCBuKTsKKwkJLyoKKwkJICogSWYgd2UgaGF2ZSBoYXJkd2FyZSBwcmVlbXB0LXRvLWlk bGUsIHdlIGRvIG5vdCBuZWVkIHRvCisJCSAqIGluamVjdCBhbnkgam9iIHRvIHRoZSBoYXJkd2Fy ZS4gV2Ugb25seSBzZXQgYSBmbGFnLgorCQkgKi8KKwkJd3JpdGVsKEVMX0NUUkxfUFJFRU1QVF9U T19JRExFLCBleGVjbGlzdHMtPmN0cmxfcmVnKTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY2UgPQorCQkJdG9faW50ZWxfY29udGV4dChlbmdpbmUtPmk5MTUtPnByZWVtcHRf Y29udGV4dCwgZW5naW5lKTsKKwkJdW5zaWduZWQgaW50IG47CiAKLQl3cml0ZV9kZXNjKGV4ZWNs aXN0cywgY2UtPmxyY19kZXNjLCBuKTsKKwkJR0VNX0JVR19PTihleGVjbGlzdHMtPnByZWVtcHRf Y29tcGxldGVfc3RhdHVzICE9CisJCQkgICB1cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYykpOwor CQlHRU1fQlVHX09OKChjZS0+bHJjX3JlZ19zdGF0ZVtDVFhfQ09OVEVYVF9DT05UUk9MICsgMV0g JgorCQkJX01BU0tFRF9CSVRfRU5BQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJ QklUIHwKKwkJCQkJICAgQ1RYX0NUUkxfRU5HSU5FX0NUWF9TQVZFX0lOSElCSVQpKSAhPQorCQkJ X01BU0tFRF9CSVRfRU5BQkxFKENUWF9DVFJMX0VOR0lORV9DVFhfUkVTVE9SRV9JTkhJQklUIHwK KwkJCQkJICAgQ1RYX0NUUkxfRU5HSU5FX0NUWF9TQVZFX0lOSElCSVQpKTsKIAotCS8qIHdlIG5l ZWQgdG8gbWFudWFsbHkgbG9hZCB0aGUgc3VibWl0IHF1ZXVlICovCi0JaWYgKGV4ZWNsaXN0cy0+ Y3RybF9yZWcpCi0JCXdyaXRlbChFTF9DVFJMX0xPQUQsIGV4ZWNsaXN0cy0+Y3RybF9yZWcpOwor CQkvKgorCQkgKiBTd2l0Y2ggdG8gb3VyIGVtcHR5IHByZWVtcHQgY29udGV4dCBzbworCQkgKiB0 aGUgc3RhdGUgb2YgdGhlIEdQVSBpcyBrbm93biAoaWRsZSkuCisJCSAqLworCQlmb3IgKG4gPSBl eGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0cyk7IC0tbjsgKQorCQkJd3JpdGVfZGVzYyhleGVj bGlzdHMsIDAsIG4pOworCisJCXdyaXRlX2Rlc2MoZXhlY2xpc3RzLCBjZS0+bHJjX2Rlc2MsIG4p OworCisJCS8qIHdlIG5lZWQgdG8gbWFudWFsbHkgbG9hZCB0aGUgc3VibWl0IHF1ZXVlICovCisJ CWlmIChleGVjbGlzdHMtPmN0cmxfcmVnKQorCQkJd3JpdGVsKEVMX0NUUkxfTE9BRCwgZXhlY2xp c3RzLT5jdHJsX3JlZyk7CisJfQogCiAJZXhlY2xpc3RzX2NsZWFyX2FjdGl2ZShleGVjbGlzdHMs IEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spOwogCWV4ZWNsaXN0c19zZXRfYWN0aXZlKGV4ZWNsaXN0 cywgRVhFQ0xJU1RTX0FDVElWRV9QUkVFTVBUKTsKQEAgLTU5NSw3ICs2MTYsNyBAQCBzdGF0aWMg dm9pZCBleGVjbGlzdHNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJ CQlyZXR1cm47CiAKIAkJaWYgKG5lZWRfcHJlZW1wdChlbmdpbmUsIGxhc3QsIGV4ZWNsaXN0cy0+ cXVldWVfcHJpb3JpdHkpKSB7Ci0JCQlpbmplY3RfcHJlZW1wdF9jb250ZXh0KGVuZ2luZSk7CisJ CQlleGVjbGlzdF9zZW5kX3ByZWVtcHRfdG9faWRsZShlbmdpbmUpOwogCQkJcmV0dXJuOwogCQl9 CiAKQEAgLTkyMiwyMiArOTQzLDQzIEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NfY3NiKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJCSAgZXhlY2xpc3RzLT5hY3RpdmUpOwogCiAJCXN0 YXR1cyA9IGJ1ZlsyICogaGVhZF07Ci0JCWlmIChzdGF0dXMgJiAoR0VOOF9DVFhfU1RBVFVTX0lE TEVfQUNUSVZFIHwKLQkJCSAgICAgIEdFTjhfQ1RYX1NUQVRVU19QUkVFTVBURUQpKQotCQkJZXhl Y2xpc3RzX3NldF9hY3RpdmUoZXhlY2xpc3RzLAotCQkJCQkgICAgIEVYRUNMSVNUU19BQ1RJVkVf SFdBQ0spOwotCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFKQotCQkJ ZXhlY2xpc3RzX2NsZWFyX2FjdGl2ZShleGVjbGlzdHMsCi0JCQkJCSAgICAgICBFWEVDTElTVFNf QUNUSVZFX0hXQUNLKTsKLQotCQlpZiAoIShzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExF VEVEX01BU0spKQotCQkJY29udGludWU7CisJCS8qCisJCSAqIENoZWNrIGlmIHByZWVtcHRlZCBm cm9tIGlkbGUgdG8gaWRsZSBkaXJlY3RseS4KKwkJICogVGhlIFNUQVRVU19JRExFX0FDVElWRSBm bGFnIGlzIHVzZWQgdG8gbWFyaworCQkgKiBzdWNoIHRyYW5zaXRpb24uCisJCSAqLworCQlpZiAo KHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSkgJiYKKwkJICAgICAoc3RhdHVz ICYgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUpKSB7CiAKLQkJLyogV2Ugc2hvdWxkIG5l dmVyIGdldCBhIENPTVBMRVRFRCB8IElETEVfQUNUSVZFISAqLwotCQlHRU1fQlVHX09OKHN0YXR1 cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSk7CisJCQkvKgorCQkJICogV2UgY291bGQg bm90IGhhdmUgQ09NUExFVEVEIGFueXRoaW5nCisJCQkgKiBpZiB3ZSB3ZXJlIGlkbGUgYmVmb3Jl IHByZWVtcHRpb24uCisJCQkgKi8KKwkJCUdFTV9CVUdfT04oc3RhdHVzICYgR0VOOF9DVFhfU1RB VFVTX0NPTVBMRVRFRF9NQVNLKTsKKwkJfSBlbHNlIHsKKwkJCWlmIChzdGF0dXMgJiAoR0VOOF9D VFhfU1RBVFVTX0lETEVfQUNUSVZFIHwKKwkJCQkgICAgICBHRU44X0NUWF9TVEFUVVNfUFJFRU1Q VEVEKSkKKwkJCQlleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVjbGlzdHMsCisJCQkJCQkgICAgIEVY RUNMSVNUU19BQ1RJVkVfSFdBQ0spOworCisJCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVT X0FDVElWRV9JRExFKQorCQkJCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUoZXhlY2xpc3RzLAorCQkJ CQkJICAgICAgIEVYRUNMSVNUU19BQ1RJVkVfSFdBQ0spOworCisJCQlpZiAoIShzdGF0dXMgJiBH RU44X0NUWF9TVEFUVVNfQ09NUExFVEVEX01BU0spKQorCQkJCWNvbnRpbnVlOwogCi0JCWlmIChz dGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgJiYKLQkJICAgIGJ1ZlsyKmhlYWQgKyAx XSA9PSBleGVjbGlzdHMtPnByZWVtcHRfY29tcGxldGVfc3RhdHVzKSB7CisJCQkvKiBXZSBzaG91 bGQgbmV2ZXIgZ2V0IGEgQ09NUExFVEVEIHwgSURMRV9BQ1RJVkUhICovCisJCQlHRU1fQlVHX09O KHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19JRExFX0FDVElWRSk7CisJCX0KKworCQkvKgorCQkg KiBDaGVjayBpZiBwcmVlbXB0ZWQgdG8gcmVhbCBpZGxlLCBlaXRoZXIgZGlyZWN0bHkgb3IKKwkJ ICogdGhlIHByZWVtcHRpdmUgY29udGV4dCBhbHJlYWR5IGZpbmlzaGVkIGV4ZWN1dGluZworCQkg Ki8KKwkJaWYgKChzdGF0dXMgJiBHRU4xMV9DVFhfU1RBVFVTX1BSRUVNUFRfSURMRSkgfHwKKwkJ ICAgIChzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgJiYKKwkJICAgIGJ1ZlsyKmhl YWQgKyAxXSA9PSBleGVjbGlzdHMtPnByZWVtcHRfY29tcGxldGVfc3RhdHVzKSkgewogCQkJR0VN X1RSQUNFKCIlcyBwcmVlbXB0LWlkbGVcbiIsIGVuZ2luZS0+bmFtZSk7CiAJCQljb21wbGV0ZV9w cmVlbXB0X2NvbnRleHQoZXhlY2xpc3RzKTsKIAkJCWNvbnRpbnVlOwpAQCAtMjE1MCw3ICsyMTky LDggQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfc2V0X2RlZmF1bHRfc3VibWlzc2lvbihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJZW5naW5lLT51bnBhcmsgPSBOVUxMOwogCiAJZW5n aW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9TVVBQT1JUU19TVEFUUzsKLQlpZiAoZW5naW5lLT5p OTE1LT5wcmVlbXB0X2NvbnRleHQpCisJaWYgKGVuZ2luZS0+aTkxNS0+cHJlZW1wdF9jb250ZXh0 IHx8CisJICAgIEhBU19IV19QUkVFTVBUX1RPX0lETEUoZW5naW5lLT5pOTE1KSkKIAkJZW5naW5l LT5mbGFncyB8PSBJOTE1X0VOR0lORV9IQVNfUFJFRU1QVElPTjsKIAogCWVuZ2luZS0+aTkxNS0+ Y2Fwcy5zY2hlZHVsZXIgPQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAppbmRleCBmNWE1NTAyLi44 NzE5MDFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaApAQCAtNDMsNiArNDMsNyBAQAogI2Rl ZmluZSBSSU5HX0VYRUNMSVNUX1NRX0NPTlRFTlRTKGVuZ2luZSkJX01NSU8oKGVuZ2luZSktPm1t aW9fYmFzZSArIDB4NTEwKQogI2RlZmluZSBSSU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5lKQkJ X01NSU8oKGVuZ2luZSktPm1taW9fYmFzZSArIDB4NTUwKQogI2RlZmluZQkgIEVMX0NUUkxfTE9B RAkJCQkoMSA8PCAwKQorI2RlZmluZQkgIEVMX0NUUkxfUFJFRU1QVF9UT19JRExFCQkoMSA8PCAx KQogCiAvKiBUaGUgZG9jcyBzcGVjaWZ5IHRoYXQgdGhlIHdyaXRlIHBvaW50ZXIgd3JhcHMgYXJv dW5kIGFmdGVyIDVoLCAiQWZ0ZXIgc3RhdHVzCiAgKiBpcyB3cml0dGVuIG91dCB0byB0aGUgbGFz dCBhdmFpbGFibGUgc3RhdHVzIFFXIGF0IG9mZnNldCA1aCwgdGhpcyBwb2ludGVyCi0tIAoyLjcu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==