From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jakub=20Bartmi=C5=84ski?= Subject: [PATCH v6 3/6] drm/i915/guc: Move the pin bias value from GuC to GGTT Date: Fri, 27 Jul 2018 10:53:47 +0200 Message-ID: <20180727085350.321-3-jakub.bartminski@intel.com> References: <20180727085350.321-1-jakub.bartminski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B18B6E93F for ; Fri, 27 Jul 2018 08:54:10 +0000 (UTC) In-Reply-To: <20180727085350.321-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 IGJldHRlciBwYXRjaCByZWFkYWJpbGl0eS4KCkZpeGVzOiBmN2RjMDE1N2U0YjUgKCJkcm0vaTkx NS91YzogRmV0Y2ggR3VDL0h1QyBmaXJtd2FyZXMgZnJvbSBndWMvaHVjIHNwZWNpZmljIGluaXQi KQpUZXN0Y2FzZTogaWd0L2Rydl9zZWxmdGVzdC9tb2NrX2NvbnRleHRzICNHdUMKU2lnbmVkLW9m Zi1ieTogSmFrdWIgQmFydG1pxYRza2kgPGpha3ViLmJhcnRtaW5za2lAaW50ZWwuY29tPgpDYzog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNaWNoYcWCIFdpbmlh cnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+CkNjOiBNaWNoYWwgV2FqZGVjemtvIDxt aWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMgfCAxMCArLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jICAgICB8ICA4ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aCAgICAgfCAgMiArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaCAgICAgICAgIHwg IDUgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYyAgICAgICAgfCA0MyArKysr KysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaCAg ICAgICAgfCAxMiArKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYyAgICAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfZncuYyAgICAgIHwgIDIg Ky0KIDggZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGIxMDc3MGNmY2NkMi4u MzJmOTZiOGNkOWM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBA IC0zMjksMTUgKzMyOSw3IEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCWN0eC0+ZGVzY190ZW1wbGF0ZSA9CiAJCWRlZmF1bHRfZGVzY190 ZW1wbGF0ZShkZXZfcHJpdiwgZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0KTsKIAotCS8qCi0J ICogR3VDIHJlcXVpcmVzIHRoZSByaW5nIHRvIGJlIHBsYWNlZCBpbiBOb24tV09QQ00gbWVtb3J5 LiBJZiBHdUMgaXMgbm90Ci0JICogcHJlc2VudCBvciBub3QgaW4gdXNlIHdlIHN0aWxsIG5lZWQg YSBzbWFsbCBiaWFzIGFzIHJpbmcgd3JhcGFyb3VuZAotCSAqIGF0IG9mZnNldCAwIHNvbWV0aW1l cyBoYW5ncy4gTm8gaWRlYSB3aHkuCi0JICovCi0JaWYgKFVTRVNfR1VDKGRldl9wcml2KSkKLQkJ Y3R4LT5nZ3R0X29mZnNldF9iaWFzID0gZGV2X3ByaXYtPmd1Yy5nZ3R0X3Bpbl9iaWFzOwotCWVs c2UKLQkJY3R4LT5nZ3R0X29mZnNldF9iaWFzID0gSTkxNV9HVFRfUEFHRV9TSVpFOworCWN0eC0+ Z2d0dF9vZmZzZXRfYmlhcyA9IGRldl9wcml2LT5nZ3R0LnBpbl9iaWFzOwogCiAJcmV0dXJuIGN0 eDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRleCBkMGFjZWYyOTliOWMuLjhh YzUyMTRiMzY0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTI5MTcsNiAr MjkxNywxNCBAQCBpbnQgaTkxNV9nZW1faW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAlzdHJ1Y3QgZHJtX21tX25vZGUgKmVudHJ5OwogCWludCByZXQ7CiAKKwkv KgorCSAqIEd1QyByZXF1aXJlcyB0aGUgcmluZyB0byBiZSBwbGFjZWQgaW4gTm9uLVdPUENNIG1l bW9yeS4gSWYgR3VDIGlzIG5vdAorCSAqIHByZXNlbnQgb3Igbm90IGluIHVzZSB3ZSBzdGlsbCBu ZWVkIGEgc21hbGwgYmlhcyBhcyByaW5nIHdyYXBhcm91bmQKKwkgKiBhdCBvZmZzZXQgMCBzb21l dGltZXMgaGFuZ3MuIE5vIGlkZWEgd2h5LgorCSAqLworCWdndHQtPnBpbl9iaWFzID0gbWF4X3Qo dTMyLCBJOTE1X0dUVF9QQUdFX1NJWkUsCisJCQkgICAgICAgaW50ZWxfZ3VjX3dvcGNtX3JlZ2lv bl9zaXplKCZkZXZfcHJpdi0+Z3VjKSk7CisKIAlyZXQgPSBpbnRlbF92Z3RfYmFsbG9vbihkZXZf cHJpdik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmgKaW5kZXggMTRlNjI2NTEwMTBiLi43MWU4Y2YyNGM4MDAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5oCkBAIC0zOTYsNiArMzk2LDggQEAgc3RydWN0IGk5MTVfZ2d0dCB7CiAK IAlpbnQgbXRycjsKIAorCXUzMiBwaW5fYmlhczsKKwogCXN0cnVjdCBkcm1fbW1fbm9kZSBlcnJv cl9jYXB0dXJlOwogfTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 bWEuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmgKaW5kZXggZjA2ZDY2Mzc3MTA3 Li5hYmY2MTQ0ZTMyOTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1h LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaApAQCAtMjA3LDYgKzIwNywx MSBAQCBzdGF0aWMgaW5saW5lIHUzMiBpOTE1X2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpOTE1 X3ZtYSAqdm1hKQogCXJldHVybiBsb3dlcl8zMl9iaXRzKHZtYS0+bm9kZS5zdGFydCk7CiB9CiAK K3N0YXRpYyBpbmxpbmUgdTMyIGk5MTVfZ2d0dF9waW5fYmlhcyhzdHJ1Y3QgaTkxNV92bWEgKnZt YSkKK3sKKwlyZXR1cm4gaTkxNV92bV90b19nZ3R0KHZtYS0+dm0pLT5waW5fYmlhczsKK30KKwog c3RhdGljIGlubGluZSBzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfdm1hX2dldChzdHJ1Y3QgaTkxNV92 bWEgKnZtYSkKIHsKIAlpOTE1X2dlbV9vYmplY3RfZ2V0KHZtYS0+b2JqKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZ3VjLmMKaW5kZXggYWEyODM2OGY4YmE3Li44YWI0NjUzZTg5YWYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5jCkBAIC0yNyw4ICsyNyw2IEBACiAjaW5jbHVkZSAiaW50ZWxfZ3VjX3N1 Ym1pc3Npb24uaCIKICNpbmNsdWRlICJpOTE1X2Rydi5oIgogCi1zdGF0aWMgdm9pZCBndWNfaW5p dF9nZ3R0X3Bpbl9iaWFzKHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Ci0KIHN0YXRpYyB2b2lkIGdl bjhfZ3VjX3JhaXNlX2lycShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKQEAgLTE0Miw4ICsxNDAs NiBAQCBpbnQgaW50ZWxfZ3VjX2luaXRfbWlzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwogCWludCByZXQ7 CiAKLQlndWNfaW5pdF9nZ3R0X3Bpbl9iaWFzKGd1Yyk7Ci0KIAlyZXQgPSBndWNfaW5pdF93cShn dWMpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CkBAIC02MDMsMjIgKzU5OSw2IEBAIGludCBp bnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKICAqIHRvIERSQU0uIFRoZSB2 YWx1ZSBvZiB0aGUgR3VDIGdndHRfcGluX2JpYXMgaXMgdGhlIEd1QyBXT1BDTSBzaXplLgogICov CiAKLS8qKgotICogZ3VjX2luaXRfZ2d0dF9waW5fYmlhcygpIC0gSW5pdGlhbGl6ZSB0aGUgR3VD IGdndHRfcGluX2JpYXMgdmFsdWUuCi0gKiBAZ3VjOiBpbnRlbF9ndWMgc3RydWN0dXJlLgotICoK LSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBjYWxjdWxhdGUgYW5kIGluaXRpYWxpemUgdGhlIGdndHRf cGluX2JpYXMgdmFsdWUKLSAqIGJhc2VkIG9uIHRoZSBHdUMgV09QQ00gc2l6ZS4KLSAqLwotc3Rh dGljIHZvaWQgZ3VjX2luaXRfZ2d0dF9waW5fYmlhcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCi17 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwotCi0J R0VNX0JVR19PTighaTkxNS0+d29wY20uc2l6ZSk7Ci0KLQlndWMtPmdndHRfcGluX2JpYXMgPSBp OTE1LT53b3BjbS5ndWMuc2l6ZTsKLX0KLQogLyoqCiAgKiBpbnRlbF9ndWNfYWxsb2NhdGVfdm1h KCkgLSBBbGxvY2F0ZSBhIEdHVFQgVk1BIGZvciBHdUMgdXNhZ2UKICAqIEBndWM6CXRoZSBndWMK QEAgLTYzNyw2ICs2MTcsNyBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19hbGxvY2F0ZV92 bWEoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJdTY0IGZsYWdzOwogCWludCBy ZXQ7CiAKIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCBzaXplKTsKQEAg LTY0Nyw4ICs2MjgsOCBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19hbGxvY2F0ZV92bWEo c3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAlpZiAoSVNfRVJSKHZtYSkpCiAJCWdv dG8gZXJyOwogCi0JcmV0ID0gaTkxNV92bWFfcGluKHZtYSwgMCwgUEFHRV9TSVpFLAotCQkJICAg UElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfQklBUyB8IGd1Yy0+Z2d0dF9waW5fYmlhcyk7CisJZmxh Z3MgPSBQSU5fR0xPQkFMIHwgUElOX09GRlNFVF9CSUFTIHwgaTkxNV9nZ3R0X3Bpbl9iaWFzKHZt YSk7CisJcmV0ID0gaTkxNV92bWFfcGluKHZtYSwgMCwgUEFHRV9TSVpFLCBmbGFncyk7CiAJaWYg KHJldCkgewogCQl2bWEgPSBFUlJfUFRSKHJldCk7CiAJCWdvdG8gZXJyOwpAQCAtNjYwLDMgKzY0 MSwyMSBAQCBzdHJ1Y3QgaTkxNV92bWEgKmludGVsX2d1Y19hbGxvY2F0ZV92bWEoc3RydWN0IGlu dGVsX2d1YyAqZ3VjLCB1MzIgc2l6ZSkKIAlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJcmV0 dXJuIHZtYTsKIH0KKworLyoqCisgKiBpbnRlbF9ndWNfd29wY21fcmVnaW9uX3NpemUoKSAtIEdl dCB0aGUgc2l6ZSBvZiB0aGUgR3VDIHJlZ2lvbiBvZiBXT1BDTS4KKyAqIEBndWM6IGludGVsX2d1 YyBzdHJ1Y3R1cmUuCisgKgorICogUmV0dXJuczoKKyAqIDAgaWYgR3VDIGlzIG5vdCBwcmVzZW50 IG9yIG5vdCBpbiB1c2UuCisgKiBPdGhlcndpc2UsIHRoZSBHdUMgV09QQ00gc2l6ZS4KKyAqLwor dTMyIGludGVsX2d1Y193b3BjbV9yZWdpb25fc2l6ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7 CisJc3RydWN0IGludGVsX3dvcGNtICp3b3BjbSA9ICZndWNfdG9faTkxNShndWMpLT53b3BjbTsK KworCS8qIFdPUENNIG11c3QgaGF2ZSBhbHJlYWR5IGJlZW4gcGFydGl0aW9uZWQgKi8KKwlHRU1f QlVHX09OKCF3b3BjbS0+c2l6ZSk7CisKKwlyZXR1cm4gd29wY20tPmd1Yy5zaXplOworfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCA0MTIxOTI4YTQ5NWUuLjYxZmUzMDM0Y2JlMiAxMDA2 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 IG9mZnNldDsKQEAgLTE2OCw2ICsxNjUsNyBAQCBpbnQgaW50ZWxfZ3VjX2F1dGhfaHVjKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywgdTMyIHJzYV9vZmZzZXQpOwogaW50IGludGVsX2d1Y19zdXNwZW5k KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7CiBpbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpOwogc3RydWN0IGk5MTVfdm1hICppbnRlbF9ndWNfYWxsb2NhdGVfdm1hKHN0 cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyIHNpemUpOwordTMyIGludGVsX2d1Y193b3BjbV9yZWdp b25fc2l6ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwogCiBzdGF0aWMgaW5saW5lIGludCBpbnRl bF9ndWNfc2FuaXRpemUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQogewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9odWMuYwppbmRleCBmZmNhZDVmYWQ2YTcuLjM3ZWY1NDBkZDI4MCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaHVjLmMKQEAgLTYzLDcgKzYzLDcgQEAgaW50IGludGVsX2h1Y19hdXRoKHN0cnVjdCBp bnRlbF9odWMgKmh1YykKIAkJcmV0dXJuIC1FTk9FWEVDOwogCiAJdm1hID0gaTkxNV9nZW1fb2Jq ZWN0X2dndHRfcGluKGh1Yy0+Zncub2JqLCBOVUxMLCAwLCAwLAotCQkJCSAgICAgICBQSU5fT0ZG U0VUX0JJQVMgfCBndWMtPmdndHRfcGluX2JpYXMpOworCQkJCSAgICAgICBQSU5fT0ZGU0VUX0JJ QVMgfCBpOTE1LT5nZ3R0LnBpbl9iaWFzKTsKIAlpZiAoSVNfRVJSKHZtYSkpIHsKIAkJcmV0ID0g UFRSX0VSUih2bWEpOwogCQlEUk1fRVJST1IoIkh1QzogRmFpbGVkIHRvIHBpbiBodWMgZncgb2Jq ZWN0ICVkXG4iLCByZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf dWNfZncuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjX2Z3LmMKaW5kZXggNmU4ZTBi NTQ2NzQzLi5mZDQ5NjQxNjA4N2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VjX2Z3LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfZncuYwpAQCAt MjIyLDcgKzIyMiw3IEBAIGludCBpbnRlbF91Y19md191cGxvYWQoc3RydWN0IGludGVsX3VjX2Z3 ICp1Y19mdywKIAkJZ290byBmYWlsOwogCX0KIAotCWdndHRfcGluX2JpYXMgPSB0b19pOTE1KHVj X2Z3LT5vYmotPmJhc2UuZGV2KS0+Z3VjLmdndHRfcGluX2JpYXM7CisJZ2d0dF9waW5fYmlhcyA9 IHRvX2k5MTUodWNfZnctPm9iai0+YmFzZS5kZXYpLT5nZ3R0LnBpbl9iaWFzOwogCXZtYSA9IGk5 MTVfZ2VtX29iamVjdF9nZ3R0X3Bpbih1Y19mdy0+b2JqLCBOVUxMLCAwLCAwLAogCQkJCSAgICAg ICBQSU5fT0ZGU0VUX0JJQVMgfCBnZ3R0X3Bpbl9iaWFzKTsKIAlpZiAoSVNfRVJSKHZtYSkpIHsK LS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==