From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jakub=20Bartmi=C5=84ski?= Subject: [PATCH v4 2/5] drm/i915/guc: Move the pin bias value from GuC to GGTT Date: Fri, 20 Jul 2018 15:33:52 +0200 Message-ID: <20180720133355.26180-2-jakub.bartminski@intel.com> References: <20180720133355.26180-1-jakub.bartminski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id CE3AF6EFCE for ; Fri, 20 Jul 2018 13:34:35 +0000 (UTC) In-Reply-To: <20180720133355.26180-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 YWQgb2YgZGlyZWN0bHkgZGVyZWZlcmVuY2luZyBpOTE1LT5nZ3R0LgoKRml4ZXM6IGY3ZGMwMTU3 ZTRiNSAoImRybS9pOTE1L3VjOiBGZXRjaCBHdUMvSHVDIGZpcm13YXJlcyBmcm9tIGd1Yy9odWMg c3BlY2lmaWMgaW5pdCIpClRlc3RjYXNlOiBpZ3QvZHJ2X3NlbGZ0ZXN0L21vY2tfY29udGV4dHMg I0d1QwpTaWduZWQtb2ZmLWJ5OiBKYWt1YiBCYXJ0bWnFhHNraSA8amFrdWIuYmFydG1pbnNraUBp bnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6 IE1pY2hhxYIgV2luaWFyc2tpIDxtaWNoYWwud2luaWFyc2tpQGludGVsLmNvbT4KQ2M6IE1pY2hh bCBXYWpkZWN6a28gPG1pY2hhbC53YWpkZWN6a29AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8IDIyICsrKysrKy0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgfCAxOCArKysrKysrKysrLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAgIHwgIDIgKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdm1hLmggICAgICAgICB8ICA1ICsrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5jICAgICAgICB8IDMzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oICAgICAgICB8IDExICsrKy0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaHVjLmMgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VjX2Z3LmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF93b3BjbS5oICAgICAgfCAxOCArKysrKysrKysrKysrKwogOSBmaWxlcyBjaGFu Z2VkLCA1NyBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggYjEwNzcwY2ZjY2QyLi5hZTI3Y2FhZDE3NjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTI2NSw3ICsyNjUsNyBA QCBzdGF0aWMgdTMyIGRlZmF1bHRfZGVzY190ZW1wbGF0ZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSwKIH0KIAogc3RhdGljIHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICoKLV9f Y3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorX19j cmVhdGVfaHdfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJICAgIHN0 cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdikKIHsKIAlzdHJ1Y3QgaTkxNV9n ZW1fY29udGV4dCAqY3R4OwpAQCAtMjc2LDE1ICsyNzYsMTUgQEAgX19jcmVhdGVfaHdfY29udGV4 dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKGN0eCA9PSBOVUxMKQog CQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKIAotCXJldCA9IGFzc2lnbl9od19pZChkZXZfcHJp diwgJmN0eC0+aHdfaWQpOworCXJldCA9IGFzc2lnbl9od19pZChpOTE1LCAmY3R4LT5od19pZCk7 CiAJaWYgKHJldCkgewogCQlrZnJlZShjdHgpOwogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCX0K IAogCWtyZWZfaW5pdCgmY3R4LT5yZWYpOwotCWxpc3RfYWRkX3RhaWwoJmN0eC0+bGluaywgJmRl dl9wcml2LT5jb250ZXh0cy5saXN0KTsKLQljdHgtPmk5MTUgPSBkZXZfcHJpdjsKKwlsaXN0X2Fk ZF90YWlsKCZjdHgtPmxpbmssICZpOTE1LT5jb250ZXh0cy5saXN0KTsKKwljdHgtPmk5MTUgPSBp OTE1OwogCWN0eC0+c2NoZWQucHJpb3JpdHkgPSBJOTE1X1BSSU9SSVRZX05PUk1BTDsKIAogCWZv ciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKGN0eC0+X19lbmdpbmUpOyBuKyspIHsKQEAgLTMyMiwy MiArMzIyLDE0IEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAogCS8qIE5COiBNYXJrIGFsbCBzbGljZXMgYXMgbmVlZGluZyBhIHJlbWFwIHNv IHRoYXQgd2hlbiB0aGUgY29udGV4dCBmaXJzdAogCSAqIGxvYWRzIGl0IHdpbGwgcmVzdG9yZSB3 aGF0ZXZlciByZW1hcCBzdGF0ZSBhbHJlYWR5IGV4aXN0cy4gSWYgdGhlcmUKIAkgKiBpcyBubyBy ZW1hcCBpbmZvLCBpdCB3aWxsIGJlIGEgTk9QLiAqLwotCWN0eC0+cmVtYXBfc2xpY2UgPSBBTExf TDNfU0xJQ0VTKGRldl9wcml2KTsKKwljdHgtPnJlbWFwX3NsaWNlID0gQUxMX0wzX1NMSUNFUyhp OTE1KTsKIAogCWk5MTVfZ2VtX2NvbnRleHRfc2V0X2Jhbm5hYmxlKGN0eCk7CiAJY3R4LT5yaW5n X3NpemUgPSA0ICogUEFHRV9TSVpFOwogCWN0eC0+ZGVzY190ZW1wbGF0ZSA9Ci0JCWRlZmF1bHRf ZGVzY190ZW1wbGF0ZShkZXZfcHJpdiwgZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0KTsKKwkJ ZGVmYXVsdF9kZXNjX3RlbXBsYXRlKGk5MTUsIGk5MTUtPm1tLmFsaWFzaW5nX3BwZ3R0KTsKIAot CS8qCi0JICogR3VDIHJlcXVpcmVzIHRoZSByaW5nIHRvIGJlIHBsYWNlZCBpbiBOb24tV09QQ00g bWVtb3J5LiBJZiBHdUMgaXMgbm90Ci0JICogcHJlc2VudCBvciBub3QgaW4gdXNlIHdlIHN0aWxs IG5lZWQgYSBzbWFsbCBiaWFzIGFzIHJpbmcgd3JhcGFyb3VuZAotCSAqIGF0IG9mZnNldCAwIHNv bWV0aW1lcyBoYW5ncy4gTm8gaWRlYSB3aHkuCi0JICovCi0JaWYgKFVTRVNfR1VDKGRldl9wcml2 KSkKLQkJY3R4LT5nZ3R0X29mZnNldF9iaWFzID0gZGV2X3ByaXYtPmd1Yy5nZ3R0X3Bpbl9iaWFz OwotCWVsc2UKLQkJY3R4LT5nZ3R0X29mZnNldF9iaWFzID0gSTkxNV9HVFRfUEFHRV9TSVpFOwor CWN0eC0+Z2d0dF9vZmZzZXRfYmlhcyA9IGk5MTUtPmdndHQucGluX2JpYXM7CiAKIAlyZXR1cm4g Y3R4OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4IGQwYWNlZjI5OWI5Yy4u MWY1ZDAzMzRmMGY1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpAQCAtMjkwMSw3 ICsyOTAxLDcgQEAgdm9pZCBpOTE1X2dlbV9maW5pX2FsaWFzaW5nX3BwZ3R0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogCWdndHQtPnZtLnZtYV9vcHMudW5iaW5kX3ZtYSA9IGdndHRf dW5iaW5kX3ZtYTsKIH0KIAotaW50IGk5MTVfZ2VtX2luaXRfZ2d0dChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCitpbnQgaTkxNV9nZW1faW5pdF9nZ3R0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQogewogCS8qIExldCBHRU0gTWFuYWdlIGFsbCBvZiB0aGUgYXBlcnR1 cmUuCiAJICoKQEAgLTI5MTIsMTIgKzI5MTIsMjAgQEAgaW50IGk5MTVfZ2VtX2luaXRfZ2d0dChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogYXBlcnR1cmUuICBPbmUgcGFn ZSBzaG91bGQgYmUgZW5vdWdoIHRvIGtlZXAgYW55IHByZWZldGNoaW5nIGluc2lkZQogCSAqIG9m IHRoZSBhcGVydHVyZS4KIAkgKi8KLQlzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0ID0gJmRldl9wcml2 LT5nZ3R0OworCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmaTkxNS0+Z2d0dDsKIAl1bnNpZ25l ZCBsb25nIGhvbGVfc3RhcnQsIGhvbGVfZW5kOwogCXN0cnVjdCBkcm1fbW1fbm9kZSAqZW50cnk7 CiAJaW50IHJldDsKIAotCXJldCA9IGludGVsX3ZndF9iYWxsb29uKGRldl9wcml2KTsKKwkvKgor CSAqIEd1QyByZXF1aXJlcyB0aGUgcmluZyB0byBiZSBwbGFjZWQgaW4gTm9uLVdPUENNIG1lbW9y eS4gSWYgR3VDIGlzIG5vdAorCSAqIHByZXNlbnQgb3Igbm90IGluIHVzZSB3ZSBzdGlsbCBuZWVk IGEgc21hbGwgYmlhcyBhcyByaW5nIHdyYXBhcm91bmQKKwkgKiBhdCBvZmZzZXQgMCBzb21ldGlt ZXMgaGFuZ3MuIE5vIGlkZWEgd2h5LgorCSAqLworCWdndHQtPnBpbl9iaWFzID0gbWF4X3QodTMy LCBJOTE1X0dUVF9QQUdFX1NJWkUsCisJCQkgICAgICAgaW50ZWxfd29wY21fZ3VjX3Bpbl9iaWFz KCZpOTE1LT53b3BjbSkpOworCisJcmV0ID0gaW50ZWxfdmd0X2JhbGxvb24oaTkxNSk7CiAJaWYg KHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMjk0MCw4ICsyOTQ4LDggQEAgaW50IGk5MTVfZ2Vt X2luaXRfZ2d0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJLyogQW5kIGZp bmFsbHkgY2xlYXIgdGhlIHJlc2VydmVkIGd1YXJkIHBhZ2UgKi8KIAlnZ3R0LT52bS5jbGVhcl9y YW5nZSgmZ2d0dC0+dm0sIGdndHQtPnZtLnRvdGFsIC0gUEFHRV9TSVpFLCBQQUdFX1NJWkUpOwog Ci0JaWYgKFVTRVNfUFBHVFQoZGV2X3ByaXYpICYmICFVU0VTX0ZVTExfUFBHVFQoZGV2X3ByaXYp KSB7Ci0JCXJldCA9IGk5MTVfZ2VtX2luaXRfYWxpYXNpbmdfcHBndHQoZGV2X3ByaXYpOworCWlm IChVU0VTX1BQR1RUKGk5MTUpICYmICFVU0VTX0ZVTExfUFBHVFQoaTkxNSkpIHsKKwkJcmV0ID0g aTkxNV9nZW1faW5pdF9hbGlhc2luZ19wcGd0dChpOTE1KTsKIAkJaWYgKHJldCkKIAkJCWdvdG8g ZXJyOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggMTRlNjI2NTEwMTBi Li43MWU4Y2YyNGM4MDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0zOTYs NiArMzk2LDggQEAgc3RydWN0IGk5MTVfZ2d0dCB7CiAKIAlpbnQgbXRycjsKIAorCXUzMiBwaW5f YmlhczsKKwogCXN0cnVjdCBkcm1fbW1fbm9kZSBlcnJvcl9jYXB0dXJlOwogfTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92bWEuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfdm1hLmgKaW5kZXggZjA2ZDY2Mzc3MTA3Li5hYmY2MTQ0ZTMyOTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdm1hLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92bWEuaApAQCAtMjA3LDYgKzIwNywxMSBAQCBzdGF0aWMgaW5saW5lIHUzMiBp OTE1X2dndHRfb2Zmc2V0KGNvbnN0IHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiBsb3dl cl8zMl9iaXRzKHZtYS0+bm9kZS5zdGFydCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdTMyIGk5MTVf Z2d0dF9waW5fYmlhcyhzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKK3sKKwlyZXR1cm4gaTkxNV92bV90 b19nZ3R0KHZtYS0+dm0pLT5waW5fYmlhczsKK30KKwogc3RhdGljIGlubGluZSBzdHJ1Y3QgaTkx NV92bWEgKmk5MTVfdm1hX2dldChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKIHsKIAlpOTE1X2dlbV9v YmplY3RfZ2V0KHZtYS0+b2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMKaW5kZXggMTc3NTM5 NTI5MzNlLi4zYTYwZGQ0ZmZkY2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5jCkBAIC0yNyw4 ICsyNyw2IEBACiAjaW5jbHVkZSAiaW50ZWxfZ3VjX3N1Ym1pc3Npb24uaCIKICNpbmNsdWRlICJp OTE1X2Rydi5oIgogCi1zdGF0aWMgdm9pZCBndWNfaW5pdF9nZ3R0X3Bpbl9iaWFzKHN0cnVjdCBp bnRlbF9ndWMgKmd1Yyk7Ci0KIHN0YXRpYyB2b2lkIGdlbjhfZ3VjX3JhaXNlX2lycShzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g Z3VjX3RvX2k5MTUoZ3VjKTsKQEAgLTE0Miw4ICsxNDAsNiBAQCBpbnQgaW50ZWxfZ3VjX2luaXRf bWlzYyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSBndWNfdG9faTkxNShndWMpOwogCWludCByZXQ7CiAKLQlndWNfaW5pdF9nZ3R0X3Bpbl9i aWFzKGd1Yyk7Ci0KIAlyZXQgPSBndWNfaW5pdF93cShndWMpOwogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CkBAIC02MDQsMjQgKzYwMCw2IEBAIGludCBpbnRlbF9ndWNfcmVzdW1lKHN0cnVjdCBp bnRlbF9ndWMgKmd1YykKICAqIHRvIERSQU0uIFRoZSB2YWx1ZSBvZiB0aGUgR3VDIGdndHRfcGlu X2JpYXMgaXMgdGhlIEd1QyBXT1BDTSBzaXplLgogICovCiAKLS8qKgotICogZ3VjX2luaXRfZ2d0 dF9waW5fYmlhcygpIC0gSW5pdGlhbGl6ZSB0aGUgR3VDIGdndHRfcGluX2JpYXMgdmFsdWUuCi0g KiBAZ3VjOiBpbnRlbF9ndWMgc3RydWN0dXJlLgotICoKLSAqIFRoaXMgZnVuY3Rpb24gd2lsbCBj YWxjdWxhdGUgYW5kIGluaXRpYWxpemUgdGhlIGdndHRfcGluX2JpYXMgdmFsdWUKLSAqIGJhc2Vk IG9uIHRoZSBHdUMgV09QQ00gc2l6ZS4KLSAqLwotc3RhdGljIHZvaWQgZ3VjX2luaXRfZ2d0dF9w aW5fYmlhcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSBndWNfdG9faTkxNShndWMpOwotCi0JR0VNX0JVR19PTighaTkxNS0+d29wY20u c2l6ZSk7Ci0JR0VNX0JVR19PTihyYW5nZV9vdmVyZmxvd3MoaTkxNS0+d29wY20uZ3VjLmJhc2Us IGk5MTUtPndvcGNtLmd1Yy5zaXplLAotCQkJCSAgIGk5MTUtPndvcGNtLnNpemUpKTsKLQotCWd1 Yy0+Z2d0dF9waW5fYmlhcyA9IGk5MTUtPndvcGNtLmd1Yy5zaXplOwotfQotCiAvKioKICAqIGlu dGVsX2d1Y19hbGxvY2F0ZV92bWEoKSAtIEFsbG9jYXRlIGEgR0dUVCBWTUEgZm9yIEd1QyB1c2Fn ZQogICogQGd1YzoJdGhlIGd1YwpAQCAtNjM3LDIxICs2MTUsMjIgQEAgc3RhdGljIHZvaWQgZ3Vj X2luaXRfZ2d0dF9waW5fYmlhcyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAgKi8KIHN0cnVjdCBp OTE1X3ZtYSAqaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHUz MiBzaXplKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19p OTE1KGd1Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBndWNfdG9faTkxNShn dWMpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1h ICp2bWE7CisJdTY0IGZsYWdzOwogCWludCByZXQ7CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3Rf Y3JlYXRlKGRldl9wcml2LCBzaXplKTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGk5 MTUsIHNpemUpOwogCWlmIChJU19FUlIob2JqKSkKIAkJcmV0dXJuIEVSUl9DQVNUKG9iaik7CiAK LQl2bWEgPSBpOTE1X3ZtYV9pbnN0YW5jZShvYmosICZkZXZfcHJpdi0+Z2d0dC52bSwgTlVMTCk7 CisJdm1hID0gaTkxNV92bWFfaW5zdGFuY2Uob2JqLCAmaTkxNS0+Z2d0dC52bSwgTlVMTCk7CiAJ aWYgKElTX0VSUih2bWEpKQogCQlnb3RvIGVycjsKIAotCXJldCA9IGk5MTVfdm1hX3Bpbih2bWEs IDAsIFBBR0VfU0laRSwKLQkJCSAgIFBJTl9HTE9CQUwgfCBQSU5fT0ZGU0VUX0JJQVMgfCBndWMt PmdndHRfcGluX2JpYXMpOworCWZsYWdzID0gUElOX0dMT0JBTCB8IFBJTl9PRkZTRVRfQklBUyB8 IGk5MTVfZ2d0dF9waW5fYmlhcyh2bWEpOworCXJldCA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIFBB R0VfU0laRSwgZmxhZ3MpOwogCWlmIChyZXQpIHsKIAkJdm1hID0gRVJSX1BUUihyZXQpOwogCQln b3RvIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggNDEyMTkyOGE0OTVlLi43NTFm MzFjM2M2YzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCkBAIC00OSw5ICs0OSw2IEBAIHN0 cnVjdCBpbnRlbF9ndWMgewogCXN0cnVjdCBpbnRlbF9ndWNfbG9nIGxvZzsKIAlzdHJ1Y3QgaW50 ZWxfZ3VjX2N0IGN0OwogCi0JLyogT2Zmc2V0IHdoZXJlIE5vbi1XT1BDTSBtZW1vcnkgc3RhcnRz LiAqLwotCXUzMiBnZ3R0X3Bpbl9iaWFzOwotCiAJLyogTG9nIHNuYXBzaG90IGlmIEd1QyBlcnJv cnMgZHVyaW5nIGxvYWQgKi8KIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbG9hZF9lcnJf bG9nOwogCkBAIC0xMzAsMTAgKzEyNywxMCBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfZ3Vj X3RvX2hvc3RfZXZlbnRfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAgKiBAdm1hOiBp OTE1IGdyYXBoaWNzIHZpcnR1YWwgbWVtb3J5IGFyZWEuCiAgKgogICogR3VDIGRvZXMgbm90IGFs bG93IGFueSBnZnggR0dUVCBhZGRyZXNzIHRoYXQgZmFsbHMgaW50byByYW5nZQotICogWzAsIEd1 QyBnZ3R0X3Bpbl9iaWFzKSwgd2hpY2ggaXMgcmVzZXJ2ZWQgZm9yIEJvb3QgUk9NLCBTUkFNIGFu ZCBXT1BDTS4KLSAqIEN1cnJlbnRseSwgaW4gb3JkZXIgdG8gZXhjbHVkZSBbMCwgR3VDIGdndHRf cGluX2JpYXMpIGFkZHJlc3Mgc3BhY2UgZnJvbQorICogWzAsIGdndHQucGluX2JpYXMpLCB3aGlj aCBpcyByZXNlcnZlZCBmb3IgQm9vdCBST00sIFNSQU0gYW5kIFdPUENNLgorICogQ3VycmVudGx5 LCBpbiBvcmRlciB0byBleGNsdWRlIFswLCBnZ3R0LnBpbl9iaWFzKSBhZGRyZXNzIHNwYWNlIGZy b20KICAqIEdHVFQsIGFsbCBnZnggb2JqZWN0cyB1c2VkIGJ5IEd1QyBhcmUgYWxsb2NhdGVkIHdp dGggaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYSgpCi0gKiBhbmQgcGlubmVkIHdpdGggUElOX09GRlNF VF9CSUFTIGFsb25nIHdpdGggdGhlIHZhbHVlIG9mIEd1QyBnZ3R0X3Bpbl9iaWFzLgorICogYW5k IHBpbm5lZCB3aXRoIFBJTl9PRkZTRVRfQklBUyBhbG9uZyB3aXRoIHRoZSB2YWx1ZSBvZiBnZ3R0 LnBpbl9iaWFzLgogICoKICAqIFJldHVybjogR0dUVCBvZmZzZXQgb2YgdGhlIEB2bWEuCiAgKi8K QEAgLTE0Miw3ICsxMzksNyBAQCBzdGF0aWMgaW5saW5lIHUzMiBpbnRlbF9ndWNfZ2d0dF9vZmZz ZXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLAogewogCXUzMiBvZmZzZXQgPSBpOTE1X2dndHRfb2Zm c2V0KHZtYSk7CiAKLQlHRU1fQlVHX09OKG9mZnNldCA8IGd1Yy0+Z2d0dF9waW5fYmlhcyk7CisJ R0VNX0JVR19PTihvZmZzZXQgPCBpOTE1X2dndHRfcGluX2JpYXModm1hKSk7CiAJR0VNX0JVR19P TihyYW5nZV9vdmVyZmxvd3NfdCh1NjQsIG9mZnNldCwgdm1hLT5zaXplLCBHVUNfR0dUVF9UT1Ap KTsKIAogCXJldHVybiBvZmZzZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9odWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2h1Yy5jCmluZGV4IGZmY2Fk NWZhZDZhNy4uMzdlZjU0MGRkMjgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9odWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9odWMuYwpAQCAtNjMs NyArNjMsNyBAQCBpbnQgaW50ZWxfaHVjX2F1dGgoc3RydWN0IGludGVsX2h1YyAqaHVjKQogCQly ZXR1cm4gLUVOT0VYRUM7CiAKIAl2bWEgPSBpOTE1X2dlbV9vYmplY3RfZ2d0dF9waW4oaHVjLT5m dy5vYmosIE5VTEwsIDAsIDAsCi0JCQkJICAgICAgIFBJTl9PRkZTRVRfQklBUyB8IGd1Yy0+Z2d0 dF9waW5fYmlhcyk7CisJCQkJICAgICAgIFBJTl9PRkZTRVRfQklBUyB8IGk5MTUtPmdndHQucGlu X2JpYXMpOwogCWlmIChJU19FUlIodm1hKSkgewogCQlyZXQgPSBQVFJfRVJSKHZtYSk7CiAJCURS TV9FUlJPUigiSHVDOiBGYWlsZWQgdG8gcGluIGh1YyBmdyBvYmplY3QgJWRcbiIsIHJldCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19mdy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdWNfZncuYwppbmRleCA2ZThlMGI1NDY3NDMuLmZkNDk2NDE2MDg3 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWNfZncuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Y19mdy5jCkBAIC0yMjIsNyArMjIyLDcgQEAgaW50 IGludGVsX3VjX2Z3X3VwbG9hZChzdHJ1Y3QgaW50ZWxfdWNfZncgKnVjX2Z3LAogCQlnb3RvIGZh aWw7CiAJfQogCi0JZ2d0dF9waW5fYmlhcyA9IHRvX2k5MTUodWNfZnctPm9iai0+YmFzZS5kZXYp LT5ndWMuZ2d0dF9waW5fYmlhczsKKwlnZ3R0X3Bpbl9iaWFzID0gdG9faTkxNSh1Y19mdy0+b2Jq LT5iYXNlLmRldiktPmdndHQucGluX2JpYXM7CiAJdm1hID0gaTkxNV9nZW1fb2JqZWN0X2dndHRf cGluKHVjX2Z3LT5vYmosIE5VTEwsIDAsIDAsCiAJCQkJICAgICAgIFBJTl9PRkZTRVRfQklBUyB8 IGdndHRfcGluX2JpYXMpOwogCWlmIChJU19FUlIodm1hKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfd29wY20uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3dvcGNtLmgKaW5kZXggNjI5ODkxMGEzODRjLi4yZGJiYjliOTcxYTQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcGNtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfd29wY20uaApAQCAtNyw2ICs3LDggQEAKICNpZm5kZWYgX0lOVEVMX1dPUENNX0hf CiAjZGVmaW5lIF9JTlRFTF9XT1BDTV9IXwogCisjaW5jbHVkZSAiaTkxNV9nZW0uaCIKKyNpbmNs dWRlICJpOTE1X3V0aWxzLmgiCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIAogLyoqCkBAIC0y NCw2ICsyNiwyMiBAQCBzdHJ1Y3QgaW50ZWxfd29wY20gewogCX0gZ3VjOwogfTsKIAorLyoqCisg KiBpbnRlbF93b3BjbV9ndWNfcGluX2JpYXMoKSAtIEdldCB0aGUgR3VDIHBpbiBiaWFzIHZhbHVl LgorICogQHdvcGNtOiBwb2ludGVyIHRvIGludGVsX3dvcGNtLgorICoKKyAqIFJldHVybnM6Cisg KiAwIGlmIEd1QyBpcyBub3QgcHJlc2VudCBvciBub3QgaW4gdXNlLgorICogT3RoZXJ3aXNlLCB0 aGUgR3VDIHBpbiBiaWFzIHZhbHVlIGJhc2VkIG9uIHRoZSBHdUMgV09QQ00gc2l6ZS4KKyAqLwor c3RhdGljIGlubGluZSB1MzIgaW50ZWxfd29wY21fZ3VjX3Bpbl9iaWFzKHN0cnVjdCBpbnRlbF93 b3BjbSAqd29wY20pCit7CisJR0VNX0JVR19PTighd29wY20tPnNpemUpOworCUdFTV9CVUdfT04o cmFuZ2Vfb3ZlcmZsb3dzKHdvcGNtLT5ndWMuYmFzZSwgd29wY20tPmd1Yy5zaXplLAorCQkJCSAg IHdvcGNtLT5zaXplKSk7CisJcmV0dXJuIHdvcGNtLT5ndWMuc2l6ZTsKK30KKwogdm9pZCBpbnRl bF93b3BjbV9pbml0X2Vhcmx5KHN0cnVjdCBpbnRlbF93b3BjbSAqd29wY20pOwogaW50IGludGVs X3dvcGNtX2luaXQoc3RydWN0IGludGVsX3dvcGNtICp3b3BjbSk7CiBpbnQgaW50ZWxfd29wY21f aW5pdF9odyhzdHJ1Y3QgaW50ZWxfd29wY20gKndvcGNtKTsKLS0gCjIuMTcuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==