From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jakub=20Bartmi=C5=84ski?= Subject: [PATCH v7 3/6] drm/i915/guc: Move the pin bias value from GuC to GGTT Date: Fri, 27 Jul 2018 14:08:53 +0200 Message-ID: <20180727120856.20485-3-jakub.bartminski@intel.com> References: <20180727120856.20485-1-jakub.bartminski@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 CA1526E993 for ; Fri, 27 Jul 2018 12:10:15 +0000 (UTC) In-Reply-To: <20180727120856.20485-1-jakub.bartminski@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 UmVtb3ZpbmcgdGhlIHBpbiBiaWFzIGZyb20gR3VDIGFsbG93cyB1cyB0byBub3QgY2hlY2sgZm9y IEd1QyBldmVyeSB0aW1lCndlIHBpbiBhIGNvbnRleHQsIHdoaWNoIGZpeGVzIHRoZSBhc3NlcnRp b24gZXJyb3Igb24gdW5yZXNvbHZlZCBHdUMKcGxhdGZvcm0gZGVmYXVsdCBpbiBtb2NrIGNvbnRl eHRzIHNlbGZ0ZXN0LgoKSXQgYWxzbyBzZWVtcyB0aGF0IHdlIHdlcmUgdXNpbmcgdW5pbml0aWFs aXplZCBXT1BDTSB2YXJpYWJsZXMgd2hlbgpzZXR0aW5nIHRoZSBHdUMgcGluIGJpYXMuIFRoZSBw aW4gYmlhcyBoYXMgdG8gYmUgc2V0IGFmdGVyIHRoZSBXT1BDTSwKYnV0IGJlZm9yZSB0aGUgY2Fs bCB0byBpOTE1X2dlbV9jb250ZXh0c19pbml0IHdoZXJlIHRoZSBmaXJzdCBjb250ZXh0cwphcmUg cGlubmVkLgoKdjI6ClRoaXMgYWxzbyBtYWtlcyBpdCBzbyB0aGF0IHRoZXJlJ3Mgbm8gbmVlZCB0 byBzZXQgR3VDIHZhcmlhYmxlcyBmcm9tCndpdGhpbiB0aGUgV09QQ00gaW5pdCBmdW5jdGlvbiBv ciB0byBtb3ZlIHRoZSBXT1BDTSBpbml0LCB3aGlsZSBrZWVwaW5nCnRoZSBjb3JyZWN0IGluaXRp YWxpemF0aW9uIG9yZGVyLiBBbHNvIGZvciBtb2NrIHRlc3RzIHRoZSBwaW4gYmlhcyBpcwpsZWZ0 IGF0IDAgYW5kIHdlIG1ha2Ugc3VyZSB0aGF0IHRoZSBwaW4gYmlhcyB3aXRoIEd1QyB3aWxsIG5v dCBiZQpzbWFsbGVyIHRoYW4gd2l0aG91dCBHdUMuCgp2MzoKQXZvaWQgdW51c2VkIGk5MTUgaW4g aW50ZWxfZ3VjX2dndHRfb2Zmc2V0IGlmIGRlYnVnIGlzIGRpc2FibGVkLgoKdjQ6ClNxdWFzaCB3 aXRoIFdPUENNIGluaXQgcmVvcmRlcmluZy4KTW92ZWQgdGhlIGk5MTVfZ2d0dF9waW5fYmlhcyBo ZWxwZXIgdG8gdGhpcyBwYXRjaCwgYW5kIG1hZGUgc29tZQpmdW5jdGlvbnMgdXNlIGl0IGluc3Rl YWQgb2YgZGlyZWN0bHkgZGVyZWZlcmVuY2luZyBpOTE1LT5nZ3R0LgoKdjU6ClNpbmNlIHdlIG5v dyBkb24ndCB1c2Ugd29wY20uZ3VjLmJhc2UgZm9yIHRoZSBwaW4gYmlhcyB0aGVyZSdzIG5vIG5l ZWQgdG8KdmFsaWRhdGUgaXQuIEl0IGFsc28gaGFzIGFscmVhZHkgYmVlbiB2ZXJpZmllZCBpbiBX T1BDTSBpbml0LgoKdjY6Ck1vdmVkIGFuZCByZW5hbWVkIHRoZSBmdW5jdGlvbiB3aGljaCBub3cg cmV0dXJucyB0aGUgd29wY20uZ3VjLnNpemUgdG8KaW50ZWxfZ3VjLmM6aW50ZWxfZ3VjX3dvcGNt X3JlZ2lvbl9zaXplIHRvIGF2b2lkIGFueSBwb3NzaWJsZSBjb25mdXNpb24Kd2l0aCB0aGUgcGlu X2JpYXMgaW4gZ2d0dCwgd2hpY2ggc2hvdWxkIGJlIHVzZWQgZm9yIHBpbm5pbmcuCkRlbGV0ZWQg dGhlIG5vdyB1bm5lY2Vzc2FyaWx5IGludHJvZHVjZWQgaW5jbHVkZXMgZnJvbSBwcmV2aW91cyB2 ZXJzaW9ucy4KRHJvcHBlZCBuYW1pbmcgY2hhbmdlcyBmcm9tIGRldl9wcml2IHRvIGk5MTUgZm9y IGJldHRlciBwYXRjaCByZWFkYWJpbGl0eS4KCnY3OgpNb3ZlZCB0aGUgc2FtZSBmdW5jdGlvbiBh Z2FpbiB0byBpbnRlbF93b3BjbS5jIGFuZCByZW5hbWVkIGl0IHRvCmludGVsX3dvcGNtX3Jlc2Vy dmVkX2d0dF9zaXplIHRvIGJldHRlciByZXByZXNlbnQgaXRzIHVzZSBmcm9tIHRoZQpnZW1faW5p dF9nZ3R0IHBlcnNwZWN0aXZlLgpDaGFuZ2VkIHNvbWUgY29tbWVudHMgdG8gbWFrZSBtb3JlIHNl bnNlIGluIHRoZSBjb250ZXh0IHRoZXkncmUgaW4uCgpGaXhlczogZjdkYzAxNTdlNGI1ICgiZHJt L2k5MTUvdWM6IEZldGNoIEd1Qy9IdUMgZmlybXdhcmVzIGZyb20gZ3VjL2h1YyBzcGVjaWZpYyBp bml0IikKVGVzdGNhc2U6IGlndC9kcnZfc2VsZnRlc3QvbW9ja19jb250ZXh0cyAjR3VDClNpZ25l ZC1vZmYtYnk6IEpha3ViIEJhcnRtacWEc2tpIDxqYWt1Yi5iYXJ0bWluc2tpQGludGVsLmNvbT4K Q2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogTWljaGHFgiBX aW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgpDYzogTWljaGFsIFdhamRlY3pr byA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jIHwgMTAgKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMgICAgIHwgIDkgKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaCAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEu aCAgICAgICAgIHwgIDUgKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jICAg ICAgICB8IDI1ICsrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2d1Yy5oICAgICAgICB8IDExICsrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9odWMuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dWNfZncuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcGNtLmgg ICAgICB8IDE3ICsrKysrKysrKysrKysrKysrCiA5IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlv bnMoKyksIDQwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYwppbmRleCBiMTA3NzBjZmNjZDIuLjMyZjk2YjhjZDljNCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzI5LDE1ICszMjksNyBAQCBfX2NyZWF0ZV9od19j b250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAljdHgtPmRlc2NfdGVt cGxhdGUgPQogCQlkZWZhdWx0X2Rlc2NfdGVtcGxhdGUoZGV2X3ByaXYsIGRldl9wcml2LT5tbS5h bGlhc2luZ19wcGd0dCk7CiAKLQkvKgotCSAqIEd1QyByZXF1aXJlcyB0aGUgcmluZyB0byBiZSBw bGFjZWQgaW4gTm9uLVdPUENNIG1lbW9yeS4gSWYgR3VDIGlzIG5vdAotCSAqIHByZXNlbnQgb3Ig bm90IGluIHVzZSB3ZSBzdGlsbCBuZWVkIGEgc21hbGwgYmlhcyBhcyByaW5nIHdyYXBhcm91bmQK LQkgKiBhdCBvZmZzZXQgMCBzb21ldGltZXMgaGFuZ3MuIE5vIGlkZWEgd2h5LgotCSAqLwotCWlm IChVU0VTX0dVQyhkZXZfcHJpdikpCi0JCWN0eC0+Z2d0dF9vZmZzZXRfYmlhcyA9IGRldl9wcml2 LT5ndWMuZ2d0dF9waW5fYmlhczsKLQllbHNlCi0JCWN0eC0+Z2d0dF9vZmZzZXRfYmlhcyA9IEk5 MTVfR1RUX1BBR0VfU0laRTsKKwljdHgtPmdndHRfb2Zmc2V0X2JpYXMgPSBkZXZfcHJpdi0+Z2d0 dC5waW5fYmlhczsKIAogCXJldHVybiBjdHg7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMKaW5kZXggZDBhY2VmMjk5YjljLi4wMWFkMWVhNDM2ZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCkBAIC0yOTE3LDYgKzI5MTcsMTUgQEAgaW50IGk5MTVfZ2VtX2luaXRfZ2d0 dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGRybV9tbV9ub2Rl ICplbnRyeTsKIAlpbnQgcmV0OwogCisJLyoKKwkgKiBHdUMgcmVxdWlyZXMgYWxsIHJlc291cmNl cyB0aGF0IHdlJ3JlIHNoYXJpbmcgd2l0aCBpdCB0byBiZSBwbGFjZWQgaW4KKwkgKiBub24tV09Q Q00gbWVtb3J5LiBJZiBHdUMgaXMgbm90IHByZXNlbnQgb3Igbm90IGluIHVzZSB3ZSBzdGlsbCBu ZWVkIGEKKwkgKiBzbWFsbCBiaWFzIGFzIHJpbmcgd3JhcGFyb3VuZCBhdCBvZmZzZXQgMCBzb21l dGltZXMgaGFuZ3MuIE5vIGlkZWEKKwkgKiB3aHkuCisJICovCisJZ2d0dC0+cGluX2JpYXMgPSBt YXhfdCh1MzIsIEk5MTVfR1RUX1BBR0VfU0laRSwKKwkJCSAgICAgICBpbnRlbF93b3BjbV9yZXNl cnZlZF9ndHRfc2l6ZSgmZGV2X3ByaXYtPndvcGNtKSk7CisKIAlyZXQgPSBpbnRlbF92Z3RfYmFs bG9vbihkZXZfcHJpdik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmgKaW5kZXggMTRlNjI2NTEwMTBiLi43MWU4Y2YyNGM4MDAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0zOTYsNiArMzk2LDggQEAgc3RydWN0IGk5MTVf Z2d0dCB7CiAKIAlpbnQgbXRycjsKIAorCXUzMiBwaW5fYmlhczsKKwogCXN0cnVjdCBkcm1fbW1f bm9kZSBlcnJvcl9jYXB0dXJlOwogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV92bWEuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmgKaW5kZXggZjA2 ZDY2Mzc3MTA3Li5hYmY2MTQ0ZTMyOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdm1hLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaApAQCAtMjA3 LDYgKzIwNywxMSBAQCBzdGF0aWMgaW5saW5lIHUzMiBpOTE1X2dndHRfb2Zmc2V0KGNvbnN0IHN0 cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiBsb3dlcl8zMl9iaXRzKHZtYS0+bm9kZS5zdGFy dCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdTMyIGk5MTVfZ2d0dF9waW5fYmlhcyhzdHJ1Y3QgaTkx NV92bWEgKnZtYSkKK3sKKwlyZXR1cm4gaTkxNV92bV90b19nZ3R0KHZtYS0+dm0pLT5waW5fYmlh czsKK30KKwogc3RhdGljIGlubGluZSBzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfdm1hX2dldChzdHJ1 Y3QgaTkxNV92bWEgKnZtYSkKIHsKIAlpOTE1X2dlbV9vYmplY3RfZ2V0KHZtYS0+b2JqKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZ3VjLmMKaW5kZXggYWEyODM2OGY4YmE3Li41ZTRhMDVkYmUwOWIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiaW50 ZWxfZ3VjX3N1Ym1pc3Npb24uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCi1zdGF0aWMgdm9p ZCBndWNfaW5pdF9nZ3R0X3Bpbl9iaWFzKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Ci0KIHN0YXRp YyB2b2lkIGdlbjhfZ3VjX3JhaXNlX2lycShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiB7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKQEAgLTE0 Miw4ICsxNDAsNiBAQCBpbnQgaW50ZWxfZ3VjX2luaXRfbWlzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpn dWMpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwog CWludCByZXQ7CiAKLQlndWNfaW5pdF9nZ3R0X3Bpbl9iaWFzKGd1Yyk7Ci0KIAlyZXQgPSBndWNf aW5pdF93cShndWMpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC02MDMsMjIgKzU5OSw2 IEBAIGludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKICAqIHRvIERS QU0uIFRoZSB2YWx1ZSBvZiB0aGUgR3VDIGdndHRfcGluX2JpYXMgaXMgdGhlIEd1QyBXT1BDTSBz aXplLgogICovCiAKLS8qKgotICogZ3VjX2luaXRfZ2d0dF9waW5fYmlhcygpIC0gSW5pdGlhbGl6 ZSB0aGUgR3VDIGdndHRfcGluX2JpYXMgdmFsdWUuCi0gKiBAZ3VjOiBpbnRlbF9ndWMgc3RydWN0 dXJlLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBjYWxjdWxhdGUgYW5kIGluaXRpYWxpemUg dGhlIGdndHRfcGluX2JpYXMgdmFsdWUKLSAqIGJhc2VkIG9uIHRoZSBHdUMgV09QQ00gc2l6ZS4K LSAqLwotc3RhdGljIHZvaWQgZ3VjX2luaXRfZ2d0dF9waW5fYmlhcyhzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShn dWMpOwotCi0JR0VNX0JVR19PTighaTkxNS0+d29wY20uc2l6ZSk7Ci0KLQlndWMtPmdndHRfcGlu X2JpYXMgPSBpOTE1LT53b3BjbS5ndWMuc2l6ZTsKLX0KLQogLyoqCiAgKiBpbnRlbF9ndWNfYWxs b2NhdGVfdm1hKCkgLSBBbGxvY2F0ZSBhIEdHVFQgVk1BIGZvciBHdUMgdXNhZ2UKICAqIEBndWM6 CXRoZSBndWMKQEAgLTYzNyw2ICs2MTcsNyBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19h bGxvY2F0ZV92bWEoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJdTY0IGZsYWdz OwogCWludCByZXQ7CiAKIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCBz aXplKTsKQEAgLTY0Nyw4ICs2MjgsOCBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19hbGxv Y2F0ZV92bWEoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAlpZiAoSVNfRVJSKHZt YSkpCiAJCWdvdG8gZXJyOwogCi0JcmV0ID0gaTkxNV92bWFfcGluKHZtYSwgMCwgUEFHRV9TSVpF LAotCQkJICAgUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfQklBUyB8IGd1Yy0+Z2d0dF9waW5fYmlh cyk7CisJZmxhZ3MgPSBQSU5fR0xPQkFMIHwgUElOX09GRlNFVF9CSUFTIHwgaTkxNV9nZ3R0X3Bp bl9iaWFzKHZtYSk7CisJcmV0ID0gaTkxNV92bWFfcGluKHZtYSwgMCwgUEFHRV9TSVpFLCBmbGFn cyk7CiAJaWYgKHJldCkgewogCQl2bWEgPSBFUlJfUFRSKHJldCk7CiAJCWdvdG8gZXJyOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCA0MTIxOTI4YTQ5NWUuLjc1MWYzMWMzYzZjNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTQ5LDkgKzQ5LDYgQEAgc3RydWN0IGludGVsX2d1 YyB7CiAJc3RydWN0IGludGVsX2d1Y19sb2cgbG9nOwogCXN0cnVjdCBpbnRlbF9ndWNfY3QgY3Q7 CiAKLQkvKiBPZmZzZXQgd2hlcmUgTm9uLVdPUENNIG1lbW9yeSBzdGFydHMuICovCi0JdTMyIGdn dHRfcGluX2JpYXM7Ci0KIAkvKiBMb2cgc25hcHNob3QgaWYgR3VDIGVycm9ycyBkdXJpbmcgbG9h ZCAqLwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpsb2FkX2Vycl9sb2c7CiAKQEAgLTEz MCwxMCArMTI3LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9ndWNfdG9faG9zdF9ldmVu dF9oYW5kbGVyKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKICAqIEB2bWE6IGk5MTUgZ3JhcGhpY3Mg dmlydHVhbCBtZW1vcnkgYXJlYS4KICAqCiAgKiBHdUMgZG9lcyBub3QgYWxsb3cgYW55IGdmeCBH R1RUIGFkZHJlc3MgdGhhdCBmYWxscyBpbnRvIHJhbmdlCi0gKiBbMCwgR3VDIGdndHRfcGluX2Jp YXMpLCB3aGljaCBpcyByZXNlcnZlZCBmb3IgQm9vdCBST00sIFNSQU0gYW5kIFdPUENNLgotICog Q3VycmVudGx5LCBpbiBvcmRlciB0byBleGNsdWRlIFswLCBHdUMgZ2d0dF9waW5fYmlhcykgYWRk cmVzcyBzcGFjZSBmcm9tCisgKiBbMCwgZ2d0dC5waW5fYmlhcyksIHdoaWNoIGlzIHJlc2VydmVk IGZvciBCb290IFJPTSwgU1JBTSBhbmQgV09QQ00uCisgKiBDdXJyZW50bHksIGluIG9yZGVyIHRv IGV4Y2x1ZGUgWzAsIGdndHQucGluX2JpYXMpIGFkZHJlc3Mgc3BhY2UgZnJvbQogICogR0dUVCwg YWxsIGdmeCBvYmplY3RzIHVzZWQgYnkgR3VDIGFyZSBhbGxvY2F0ZWQgd2l0aCBpbnRlbF9ndWNf YWxsb2NhdGVfdm1hKCkKLSAqIGFuZCBwaW5uZWQgd2l0aCBQSU5fT0ZGU0VUX0JJQVMgYWxvbmcg d2l0aCB0aGUgdmFsdWUgb2YgR3VDIGdndHRfcGluX2JpYXMuCisgKiBhbmQgcGlubmVkIHdpdGgg UElOX09GRlNFVF9CSUFTIGFsb25nIHdpdGggdGhlIHZhbHVlIG9mIGdndHQucGluX2JpYXMuCiAg KgogICogUmV0dXJuOiBHR1RUIG9mZnNldCBvZiB0aGUgQHZtYS4KICAqLwpAQCAtMTQyLDcgKzEz OSw3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX2d1Y19nZ3R0X29mZnNldChzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMsCiB7CiAJdTMyIG9mZnNldCA9IGk5MTVfZ2d0dF9vZmZzZXQodm1hKTsKIAot CUdFTV9CVUdfT04ob2Zmc2V0IDwgZ3VjLT5nZ3R0X3Bpbl9iaWFzKTsKKwlHRU1fQlVHX09OKG9m ZnNldCA8IGk5MTVfZ2d0dF9waW5fYmlhcyh2bWEpKTsKIAlHRU1fQlVHX09OKHJhbmdlX292ZXJm bG93c190KHU2NCwgb2Zmc2V0LCB2bWEtPnNpemUsIEdVQ19HR1RUX1RPUCkpOwogCiAJcmV0dXJu IG9mZnNldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKaW5kZXggZmZjYWQ1ZmFkNmE3Li4zN2Vm NTQwZGQyODAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5jCkBAIC02Myw3ICs2Myw3IEBAIGlu dCBpbnRlbF9odWNfYXV0aChzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCiAJCXJldHVybiAtRU5PRVhF QzsKIAogCXZtYSA9IGk5MTVfZ2VtX29iamVjdF9nZ3R0X3BpbihodWMtPmZ3Lm9iaiwgTlVMTCwg MCwgMCwKLQkJCQkgICAgICAgUElOX09GRlNFVF9CSUFTIHwgZ3VjLT5nZ3R0X3Bpbl9iaWFzKTsK KwkJCQkgICAgICAgUElOX09GRlNFVF9CSUFTIHwgaTkxNS0+Z2d0dC5waW5fYmlhcyk7CiAJaWYg KElTX0VSUih2bWEpKSB7CiAJCXJldCA9IFBUUl9FUlIodm1hKTsKIAkJRFJNX0VSUk9SKCJIdUM6 IEZhaWxlZCB0byBwaW4gaHVjIGZ3IG9iamVjdCAlZFxuIiwgcmV0KTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjX2Z3LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91Y19mdy5jCmluZGV4IDZlOGUwYjU0Njc0My4uZmQ0OTY0MTYwODdjIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19mdy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3VjX2Z3LmMKQEAgLTIyMiw3ICsyMjIsNyBAQCBpbnQgaW50ZWxfdWNfZndf dXBsb2FkKHN0cnVjdCBpbnRlbF91Y19mdyAqdWNfZncsCiAJCWdvdG8gZmFpbDsKIAl9CiAKLQln Z3R0X3Bpbl9iaWFzID0gdG9faTkxNSh1Y19mdy0+b2JqLT5iYXNlLmRldiktPmd1Yy5nZ3R0X3Bp bl9iaWFzOworCWdndHRfcGluX2JpYXMgPSB0b19pOTE1KHVjX2Z3LT5vYmotPmJhc2UuZGV2KS0+ Z2d0dC5waW5fYmlhczsKIAl2bWEgPSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4odWNfZnctPm9i aiwgTlVMTCwgMCwgMCwKIAkJCQkgICAgICAgUElOX09GRlNFVF9CSUFTIHwgZ2d0dF9waW5fYmlh cyk7CiAJaWYgKElTX0VSUih2bWEpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF93b3BjbS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29wY20uaAppbmRl eCA2Mjk4OTEwYTM4NGMuLmRjNjQwYzE2MGJhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfd29wY20uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3Bj bS5oCkBAIC0yOCw0ICsyOCwyMSBAQCB2b2lkIGludGVsX3dvcGNtX2luaXRfZWFybHkoc3RydWN0 IGludGVsX3dvcGNtICp3b3BjbSk7CiBpbnQgaW50ZWxfd29wY21faW5pdChzdHJ1Y3QgaW50ZWxf d29wY20gKndvcGNtKTsKIGludCBpbnRlbF93b3BjbV9pbml0X2h3KHN0cnVjdCBpbnRlbF93b3Bj bSAqd29wY20pOwogCisvKioKKyAqIGludGVsX3dvcGNtX3Jlc2VydmVkX2d0dF9zaXplKCkKKyAq IEB3b3BjbTogcG9pbnRlciB0byBpbnRlbF93b3BjbS4KKyAqCisgKiBUaGUgR3VDIFdPUENNIG1h cHBpbmcgc2hhZG93cyB0aGUgbG93ZXIgcGFydCBvZiB0aGUgR0dUVCwgc28gaWYgd2UgYXJlIHVz aW5nCisgKiBHdUMgd2UgY2FuJ3QgaGF2ZSBhbnkgb2JqZWN0cyBwaW5uZWQgaW4gdGhhdCByZWdp b24uIFRoaXMgZnVuY3Rpb24gcmV0dXJucworICogdGhlIHNpemUgb2YgdGhlIHNoYWRvd2VkIHJl Z2lvbi4KKyAqCisgKiBSZXR1cm5zOgorICogMCBpZiBHdUMgaXMgbm90IHByZXNlbnQgb3Igbm90 IGluIHVzZS4KKyAqIE90aGVyd2lzZSwgdGhlIEd1QyBXT1BDTSBzaXplLgorICovCitzdGF0aWMg aW5saW5lIHUzMiBpbnRlbF93b3BjbV9yZXNlcnZlZF9ndHRfc2l6ZShzdHJ1Y3QgaW50ZWxfd29w Y20gKndvcGNtKQoreworCXJldHVybiB3b3BjbS0+Z3VjLnNpemU7Cit9CisKICNlbmRpZgotLSAK Mi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK