From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 06/17] drm/i915: Move obj->dirty:1 to obj->flags Date: Mon, 22 Aug 2016 09:03:39 +0100 Message-ID: <20160822080350.4964-7-chris@chris-wilson.co.uk> References: <20160822080350.4964-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 mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id D574F6E2D6 for ; Mon, 22 Aug 2016 08:04:08 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id q128so12232767wma.1 for ; Mon, 22 Aug 2016 01:04:08 -0700 (PDT) In-Reply-To: <20160822080350.4964-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 List-Id: intel-gfx@lists.freedesktop.org VGhlIG9iai0+ZGlydHkgYml0IGlzIGEgY29tcGFuaW9uIHRvIHRoZSBvYmotPmFjdGl2ZSBiaXRz IHRoYXQgd2VyZQptb3ZlZCB0byB0aGUgb2JqLT5mbGFncyBiaXRtYXNrLiBTaW5jZSB3ZSBhbHNv IHVwZGF0ZSB0aGlzIGJpdCBpbnNpZGUKdGhlIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKCkgaG90 cGF0aCwgd2UgY2FuIGFpZGUgZ2NjIGJ5IGFsc28gbW92aW5nCnRoZSBvYmotPmRpcnR5IGJpdCB0 byBvYmotPmZsYWdzIGJpdG1hc2suCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAg ICAgICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAzICstLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDYgKysrLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDQw IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKaW5kZXggNzVhZDdiOWMyNDNjLi4wODYwNTNmYTI4MjAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCkBAIC0xNTYsNyArMTU2LDcgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBz ZXFfZmlsZSAqbSwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJICAgaTkxNV9n ZW1fYWN0aXZlX2dldF9zZXFubygmb2JqLT5sYXN0X3dyaXRlLAogCQkJCQkgICAgICZvYmotPmJh c2UuZGV2LT5zdHJ1Y3RfbXV0ZXgpLAogCQkgICBpOTE1X2NhY2hlX2xldmVsX3N0cih0b19pOTE1 KG9iai0+YmFzZS5kZXYpLCBvYmotPmNhY2hlX2xldmVsKSwKLQkJICAgb2JqLT5kaXJ0eSA/ICIg ZGlydHkiIDogIiIsCisJCSAgIGk5MTVfZ2VtX29iamVjdF9pc19kaXJ0eShvYmopID8gIiBkaXJ0 eSIgOiAiIiwKIAkJICAgb2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCA/ICIgcHVyZ2Vh YmxlIiA6ICIiKTsKIAlpZiAob2JqLT5iYXNlLm5hbWUpCiAJCXNlcV9wcmludGYobSwgIiAobmFt ZTogJWQpIiwgb2JqLT5iYXNlLm5hbWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMzBh ZTE0ODcwYzQ3Li41NjEzZjI4ODZhZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjE4 NSw3ICsyMTg1LDggQEAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgewogCSAqIFRoaXMgaXMg c2V0IGlmIHRoZSBvYmplY3QgaGFzIGJlZW4gd3JpdHRlbiB0byBzaW5jZSBsYXN0IGJvdW5kCiAJ ICogdG8gdGhlIEdUVAogCSAqLwotCXVuc2lnbmVkIGludCBkaXJ0eToxOworI2RlZmluZSBJOTE1 X0JPX0RJUlRZX1NISUZUIChJOTE1X0JPX0FDVElWRV9SRUZfU0hJRlQgKyAxKQorI2RlZmluZSBJ OTE1X0JPX0RJUlRZX0JJVCBCSVQoSTkxNV9CT19ESVJUWV9TSElGVCkKIAogCS8qKgogCSAqIEFk dmljZTogYXJlIHRoZSBiYWNraW5nIHBhZ2VzIHB1cmdlYWJsZT8KQEAgLTIzNzEsNiArMjM3Miwy NSBAQCBpOTE1X2dlbV9vYmplY3RfY2xlYXJfYWN0aXZlX3JlZmVyZW5jZShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKQogCiB2b2lkIF9faTkxNV9nZW1fb2JqZWN0X3JlbGVhc2VfdW5s ZXNzX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIAorc3RhdGljIGlu bGluZSBib29sCitpOTE1X2dlbV9vYmplY3RfaXNfZGlydHkoY29uc3Qgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKK3sKKwlyZXR1cm4gb2JqLT5mbGFncyAmIEk5MTVfQk9fRElSVFlf QklUOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK2k5MTVfZ2VtX29iamVjdF9zZXRfZGlydHko c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKK3sKKwlHRU1fQlVHX09OKG9iai0+cGFn ZXNfcGluX2NvdW50ID09IDApOworCW9iai0+ZmxhZ3MgfD0gSTkxNV9CT19ESVJUWV9CSVQ7Cit9 CisKK3N0YXRpYyBpbmxpbmUgdm9pZAoraTkxNV9nZW1fb2JqZWN0X2NsZWFyX2RpcnR5KHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJb2JqLT5mbGFncyAmPSB+STkxNV9CT19E SVJUWV9CSVQ7Cit9CisKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50CiBpOTE1X2dlbV9vYmpl Y3RfZ2V0X3RpbGluZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKaW5kZXggZTYwMWI3NGMxOWY5Li43YjhhYmRhNTQxZTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwpAQCAtMjM0LDkgKzIzNCw5IEBAIGk5MTVfZ2VtX29iamVjdF9wdXRf cGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCX0KIAogCWlmIChv YmotPm1hZHYgPT0gSTkxNV9NQURWX0RPTlRORUVEKQotCQlvYmotPmRpcnR5ID0gMDsKKwkJaTkx NV9nZW1fb2JqZWN0X2NsZWFyX2RpcnR5KG9iaik7CiAKLQlpZiAob2JqLT5kaXJ0eSkgeworCWlm IChpOTE1X2dlbV9vYmplY3RfaXNfZGlydHkob2JqKSkgewogCQlzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqbWFwcGluZyA9IG9iai0+YmFzZS5maWxwLT5mX21hcHBpbmc7CiAJCWNoYXIgKnZhZGRyID0g b2JqLT5waHlzX2hhbmRsZS0+dmFkZHI7CiAJCWludCBpOwpAQCAtMjYwLDcgKzI2MCw3IEBAIGk5 MTVfZ2VtX29iamVjdF9wdXRfcGFnZXNfcGh5cyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqKQogCQkJcHV0X3BhZ2UocGFnZSk7CiAJCQl2YWRkciArPSBQQUdFX1NJWkU7CiAJCX0KLQkJ b2JqLT5kaXJ0eSA9IDA7CisJCWk5MTVfZ2VtX29iamVjdF9jbGVhcl9kaXJ0eShvYmopOwogCX0K IAogCXNnX2ZyZWVfdGFibGUob2JqLT5wYWdlcyk7CkBAIC03MDMsNyArNzAzLDcgQEAgaW50IGk5 MTVfZ2VtX29ial9wcmVwYXJlX3NobWVtX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCiAJCW9iai0+Y2FjaGVfZGlydHkgPSB0cnVlOwogCiAJaW50ZWxfZmJfb2JqX2ludmFs aWRhdGUob2JqLCBPUklHSU5fQ1BVKTsKLQlvYmotPmRpcnR5ID0gMTsKKwlpOTE1X2dlbV9vYmpl Y3Rfc2V0X2RpcnR5KG9iaik7CiAJLyogcmV0dXJuIHdpdGggdGhlIHBhZ2VzIHBpbm5lZCAqLwog CXJldHVybiAwOwogCkBAIC0xMTU2LDcgKzExNTYsNyBAQCBpOTE1X2dlbV9ndHRfcHdyaXRlX2Zh c3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCWdvdG8gb3V0X3VucGluOwogCiAJ aW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCBPUklHSU5fQ1BVKTsKLQlvYmotPmRpcnR5ID0g dHJ1ZTsKKwlpOTE1X2dlbV9vYmplY3Rfc2V0X2RpcnR5KG9iaik7CiAKIAl1c2VyX2RhdGEgPSB1 NjRfdG9fdXNlcl9wdHIoYXJncy0+ZGF0YV9wdHIpOwogCW9mZnNldCA9IGFyZ3MtPm9mZnNldDsK QEAgLTIwOTksMTAgKzIwOTksMTAgQEAgaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlc19ndHQoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJaTkxNV9nZW1fb2JqZWN0X3NhdmVfYml0 XzE3X3N3aXp6bGUob2JqKTsKIAogCWlmIChvYmotPm1hZHYgPT0gSTkxNV9NQURWX0RPTlRORUVE KQotCQlvYmotPmRpcnR5ID0gMDsKKwkJaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2RpcnR5KG9iaik7 CiAKIAlmb3JfZWFjaF9zZ3RfcGFnZShwYWdlLCBzZ3RfaXRlciwgb2JqLT5wYWdlcykgewotCQlp ZiAob2JqLT5kaXJ0eSkKKwkJaWYgKGk5MTVfZ2VtX29iamVjdF9pc19kaXJ0eShvYmopKQogCQkJ c2V0X3BhZ2VfZGlydHkocGFnZSk7CiAKIAkJaWYgKG9iai0+bWFkdiA9PSBJOTE1X01BRFZfV0lM TE5FRUQpCkBAIC0yMTEwLDcgKzIxMTAsNyBAQCBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX2d0 dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCiAJCXB1dF9wYWdlKHBhZ2UpOwog CX0KLQlvYmotPmRpcnR5ID0gMDsKKwlpOTE1X2dlbV9vYmplY3RfY2xlYXJfZGlydHkob2JqKTsK IAogCXNnX2ZyZWVfdGFibGUob2JqLT5wYWdlcyk7CiAJa2ZyZWUob2JqLT5wYWdlcyk7CkBAIC0z MjcyLDcgKzMyNzIsNyBAQCBpOTE1X2dlbV9vYmplY3Rfc2V0X3RvX2d0dF9kb21haW4oc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgYm9vbCB3cml0ZSkKIAlpZiAod3JpdGUpIHsKIAkJ b2JqLT5iYXNlLnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9HVFQ7CiAJCW9iai0+YmFz ZS53cml0ZV9kb21haW4gPSBJOTE1X0dFTV9ET01BSU5fR1RUOwotCQlvYmotPmRpcnR5ID0gMTsK KwkJaTkxNV9nZW1fb2JqZWN0X3NldF9kaXJ0eShvYmopOwogCX0KIAogCXRyYWNlX2k5MTVfZ2Vt X29iamVjdF9jaGFuZ2VfZG9tYWluKG9iaiwKQEAgLTQ3NTEsNyArNDc1MSw3IEBAIGk5MTVfZ2Vt X29iamVjdF9jcmVhdGVfZnJvbV9kYXRhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaTkxNV9n ZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOwogCXNnID0gb2JqLT5wYWdlczsKIAlieXRlcyA9IHNn X2NvcHlfZnJvbV9idWZmZXIoc2ctPnNnbCwgc2ctPm5lbnRzLCAodm9pZCAqKWRhdGEsIHNpemUp OwotCW9iai0+ZGlydHkgPSAxOwkJLyogQmFja2luZyBzdG9yZSBpcyBub3cgb3V0IG9mIGRhdGUg Ki8KKwlpOTE1X2dlbV9vYmplY3Rfc2V0X2RpcnR5KG9iaik7IC8qIEJhY2tpbmcgc3RvcmUgaXMg bm93IG91dCBvZiBkYXRlICovCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CiAK IAlpZiAoV0FSTl9PTihieXRlcyAhPSBzaXplKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDNhNWY0Mzk2MGNiNi4uMTI1ZmIzOGVmZjQwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMjc1LDE0ICsx Mjc1LDEzIEBAIHZvaWQgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2 bWEsCiAKIAlHRU1fQlVHX09OKCFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpOwog Ci0Jb2JqLT5kaXJ0eSA9IDE7IC8qIGJlIHBhcmFub2lkICAqLwotCiAJLyogVGhlIG9yZGVyIGlu IHdoaWNoIHdlIGFkZCBvcGVyYXRpb25zIHRvIHRoZSByZXRpcmVtZW50IHF1ZXVlIGlzCiAJICog dml0YWwgaGVyZTogbWFya19hY3RpdmUgYWRkcyB0byB0aGUgc3RhcnQgb2YgdGhlIGNhbGxiYWNr IGxpc3QsCiAJICogc3VjaCB0aGF0IHN1YnNlcXVlbnQgY2FsbGJhY2tzIGFyZSBjYWxsZWQgZmly c3QuIFRoZXJlZm9yZSB3ZQogCSAqIGFkZCB0aGUgYWN0aXZlIHJlZmVyZW5jZSBmaXJzdCBhbmQg cXVldWUgZm9yIGl0IHRvIGJlIGRyb3BwZWQKIAkgKiAqbGFzdCouCiAJICovCisJaTkxNV9nZW1f b2JqZWN0X3NldF9kaXJ0eShvYmopOyAvKiBiZSBwYXJhbm9pZCAqLwogCWk5MTVfZ2VtX29iamVj dF9zZXRfYWN0aXZlKG9iaiwgaWR4KTsKIAlpOTE1X2dlbV9hY3RpdmVfc2V0KCZvYmotPmxhc3Rf cmVhZFtpZHhdLCByZXEpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV91c2VycHRyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMK aW5kZXggYmU1NDgyNWVmM2U4Li41ODFkZjIzMTZjYTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV91c2VycHRyLmMKQEAgLTY3OSwxOCArNjc5LDE4IEBAIGk5MTVfZ2VtX3VzZXJwdHJf cHV0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJX19pOTE1X2dlbV91 c2VycHRyX3NldF9hY3RpdmUob2JqLCBmYWxzZSk7CiAKIAlpZiAob2JqLT5tYWR2ICE9IEk5MTVf TUFEVl9XSUxMTkVFRCkKLQkJb2JqLT5kaXJ0eSA9IDA7CisJCWk5MTVfZ2VtX29iamVjdF9jbGVh cl9kaXJ0eShvYmopOwogCiAJaTkxNV9nZW1fZ3R0X2ZpbmlzaF9vYmplY3Qob2JqKTsKIAogCWZv cl9lYWNoX3NndF9wYWdlKHBhZ2UsIHNndF9pdGVyLCBvYmotPnBhZ2VzKSB7Ci0JCWlmIChvYmot PmRpcnR5KQorCQlpZiAoaTkxNV9nZW1fb2JqZWN0X2lzX2RpcnR5KG9iaikpCiAJCQlzZXRfcGFn ZV9kaXJ0eShwYWdlKTsKIAogCQltYXJrX3BhZ2VfYWNjZXNzZWQocGFnZSk7CiAJCXB1dF9wYWdl KHBhZ2UpOwogCX0KLQlvYmotPmRpcnR5ID0gMDsKKwlpOTE1X2dlbV9vYmplY3RfY2xlYXJfZGly dHkob2JqKTsKIAogCXNnX2ZyZWVfdGFibGUob2JqLT5wYWdlcyk7CiAJa2ZyZWUob2JqLT5wYWdl cyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCBkYmYxZGNiZDQ2OTIu Ljc1MTM2YWU5OGQ5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVf ZXJyb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC04 NDMsNyArODQzLDcgQEAgc3RhdGljIHZvaWQgY2FwdHVyZV9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJy b3JfYnVmZmVyICplcnIsCiAJZXJyLT53cml0ZV9kb21haW4gPSBvYmotPmJhc2Uud3JpdGVfZG9t YWluOwogCWVyci0+ZmVuY2VfcmVnID0gdm1hLT5mZW5jZSA/IHZtYS0+ZmVuY2UtPmlkIDogLTE7 CiAJZXJyLT50aWxpbmcgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3RpbGluZyhvYmopOwotCWVyci0+ ZGlydHkgPSBvYmotPmRpcnR5OworCWVyci0+ZGlydHkgPSBpOTE1X2dlbV9vYmplY3RfaXNfZGly dHkob2JqKTsKIAllcnItPnB1cmdlYWJsZSA9IG9iai0+bWFkdiAhPSBJOTE1X01BRFZfV0lMTE5F RUQ7CiAJZXJyLT51c2VycHRyID0gb2JqLT51c2VycHRyLm1tICE9IE5VTEw7CiAJZXJyLT5jYWNo ZV9sZXZlbCA9IG9iai0+Y2FjaGVfbGV2ZWw7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4 IDZiNDlkZjQzMTZmNC4uZTNhZDA1ZGEyZjc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpA QCAtNzk1LDcgKzc5NSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0 IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAlscmNfcmVnX3N0YXRlW0NUWF9SSU5HX0JVRkZFUl9T VEFSVCsxXSA9CiAJCWk5MTVfZ2d0dF9vZmZzZXQoY2UtPnJpbmctPnZtYSk7CiAJY2UtPmxyY19y ZWdfc3RhdGUgPSBscmNfcmVnX3N0YXRlOwotCWNlLT5zdGF0ZS0+b2JqLT5kaXJ0eSA9IHRydWU7 CisJaTkxNV9nZW1fb2JqZWN0X3NldF9kaXJ0eShjZS0+c3RhdGUtPm9iaik7CiAKIAkvKiBJbnZh bGlkYXRlIEd1QyBUTEIuICovCiAJaWYgKGk5MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7CkBA IC0xOTY5LDcgKzE5NjksNyBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpjdHgsCiAJCURSTV9ERUJVR19EUklWRVIoIkNvdWxkIG5vdCBtYXAgb2JqZWN0IHBh Z2VzISAoJWQpXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KLQljdHhfb2JqLT5kaXJ0eSA9 IHRydWU7CisJaTkxNV9nZW1fb2JqZWN0X3NldF9kaXJ0eShjdHhfb2JqKTsKIAogCS8qIFRoZSBz ZWNvbmQgcGFnZSBvZiB0aGUgY29udGV4dCBvYmplY3QgY29udGFpbnMgc29tZSBmaWVsZHMgd2hp Y2ggbXVzdAogCSAqIGJlIHNldCB1cCBwcmlvciB0byB0aGUgZmlyc3QgZXhlY3V0aW9uLiAqLwpA QCAtMjE5Nyw3ICsyMTk3LDcgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcmVnX3N0YXRlW0NUWF9SSU5HX0hFQUQrMV0g PSAwOwogCQlyZWdfc3RhdGVbQ1RYX1JJTkdfVEFJTCsxXSA9IDA7CiAKLQkJY2UtPnN0YXRlLT5v YmotPmRpcnR5ID0gdHJ1ZTsKKwkJaTkxNV9nZW1fb2JqZWN0X3NldF9kaXJ0eShjZS0+c3RhdGUt Pm9iaik7CiAJCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoY2UtPnN0YXRlLT5vYmopOwogCiAJ CWNlLT5yaW5nLT5oZWFkID0gMDsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK