From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH] drm/i915: introduce & use i915_gem_object_{set, clear, is}_dirty() Date: Fri, 9 Sep 2016 20:48:53 +0100 Message-ID: <1473450533-20869-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 32A446E24C for ; Fri, 9 Sep 2016 19:49:00 +0000 (UTC) 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 VGhpcyBqdXN0IGhpZGVzIHRoZSBleGlzdGluZyBvYmotPmRpcnR5IGZsYWcgaW5zaWRlIGEgdHJp dmlhbCBpbmxpbmUKc2V0dGVyLCB0byBkaXNjb3VyYWdlIG5vbi1HRU0gY29kZSBmcm9tIGxvb2tp bmcgdG9vIGNsb3NlbHkuIFRoZQpmbGFnIGlzIHJlbmFtZWQgdG8gZW1waGFzaXNlIHRoYXQgaXQg aXMgcHJpdmF0ZSB0byB0aGUgR0VNIG1lbW9yeS0KbWFuYWdlbWVudCBjb2RlIGFuZCBlbnN1cmUg dGhhdCBubyBsZWdhY3kgY29kZSBjb250aW51ZXMgdG8gdXNlIGl0CmRpcmVjdGx5LgoKdjI6CiAg VXNlIENocmlzIFdpbHNvbidzIHByZWZlcnJlZCBuYW1lcyBmb3IgZmxhZy1yZWxhdGVkIGZ1bmN0 aW9ucwoKSW5zcGlyZWQtYnk6IGh0dHA6Ly93d3cuc3Bpbmljcy5uZXQvbGlzdHMvaW50ZWwtZ2Z4 L21zZzkyMzkwLmh0bWwKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAyMiArKysrKysrKysr KysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAg fCAyNSArKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMgICAgfCAgNyArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dXNlcnB0ci5jICAgIHwgMTIgKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dwdV9lcnJvci5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDggZmlsZXMg Y2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwppbmRleCAwMmI2MjdlLi5iNzdmYzI3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwpAQCAtMTYwLDcgKzE2MCw3IEBAIHN0YXRpYyB1NjQgaTkxNV9nZW1f b2JqX3RvdGFsX2dndHRfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkg ICBpOTE1X2dlbV9hY3RpdmVfZ2V0X3NlcW5vKCZvYmotPmxhc3Rfd3JpdGUsCiAJCQkJCSAgICAg Jm9iai0+YmFzZS5kZXYtPnN0cnVjdF9tdXRleCksCiAJCSAgIGk5MTVfY2FjaGVfbGV2ZWxfc3Ry KGRldl9wcml2LCBvYmotPmNhY2hlX2xldmVsKSwKLQkJICAgb2JqLT5kaXJ0eSA/ICIgZGlydHki IDogIiIsCisJCSAgIGk5MTVfZ2VtX29iamVjdF9pc19kaXJ0eShvYmopID8gIiBkaXJ0eSIgOiAi IiwKIAkJICAgb2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCA/ICIgcHVyZ2VhYmxlIiA6 ICIiKTsKIAlpZiAob2JqLT5iYXNlLm5hbWUpCiAJCXNlcV9wcmludGYobSwgIiAobmFtZTogJWQp Iiwgb2JqLT5iYXNlLm5hbWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZjM5YmVkZS4u MzMzZTIxYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMjA5LDcgKzIyMDksNyBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJICogVGhpcyBpcyBzZXQgaWYgdGhlIG9iamVj dCBoYXMgYmVlbiB3cml0dGVuIHRvIHNpbmNlIGxhc3QgYm91bmQKIAkgKiB0byB0aGUgR1RUCiAJ ICovCi0JdW5zaWduZWQgaW50IGRpcnR5OjE7CisJdW5zaWduZWQgaW50IF9fZGlydHk6MTsKIAog CS8qKgogCSAqIEFkdmljZTogYXJlIHRoZSBiYWNraW5nIHBhZ2VzIHB1cmdlYWJsZT8KQEAgLTMx NTYsNiArMzE1NiwyNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3Bpbl9w YWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCW9iai0+cGFnZXNfcGluX2Nv dW50Kys7CiB9CiAKKy8qCisgKiBGbGFnIHRoZSBvYmplY3QgY29udGVudCBhcyBoYXZpbmcgY2hh bmdlZCBzaW5jZSB0aGUgbGFzdCBjYWxsIHRvCisgKiBpOTE1X2dlbV9vYmplY3RfcGluX3BhZ2Vz KCkgYWJvdmUsIHNvIHRoYXQgdGhlIG5ldyBjb250ZW50IGlzIG5vdAorICogbG9zdCBhZnRlciB0 aGUgbmV4dCBjYWxsIHRvIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcygpIGJlbG93CisgKi8K K3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9vYmplY3Rfc2V0X2RpcnR5KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJb2JqLT5fX2RpcnR5ID0gdHJ1ZTsKK30KKworc3Rh dGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX29iamVjdF9jbGVhcl9kaXJ0eShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKQoreworCW9iai0+X19kaXJ0eSA9IGZhbHNlOworfQorCitzdGF0 aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fb2JqZWN0X2lzX2RpcnR5KHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCit7CisJcmV0dXJuIG9iai0+X19kaXJ0eTsKK30KKwogc3RhdGljIGlu bGluZSB2b2lkIGk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKQogewogCUJVR19PTihvYmotPnBhZ2VzX3Bpbl9jb3VudCA9PSAwKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDI0MDE4MTguLmY1NzFhMDIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwpAQCAtMjM0LDkgKzIzNCw4IEBAIGludCBpOTE1X211dGV4X2xvY2tfaW50ZXJy dXB0aWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIAogCWlmIChvYmotPm1hZHYgPT0g STkxNV9NQURWX0RPTlRORUVEKQotCQlvYmotPmRpcnR5ID0gMDsKLQotCWlmIChvYmotPmRpcnR5 KSB7CisJCWk5MTVfZ2VtX29iamVjdF9jbGVhcl9kaXJ0eShvYmopOworCWVsc2UgaWYgKGk5MTVf Z2VtX29iamVjdF9pc19kaXJ0eShvYmopKSB7CiAJCXN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBw aW5nID0gb2JqLT5iYXNlLmZpbHAtPmZfbWFwcGluZzsKIAkJY2hhciAqdmFkZHIgPSBvYmotPnBo eXNfaGFuZGxlLT52YWRkcjsKIAkJaW50IGk7CkBAIC0yNjAsNyArMjU5LDcgQEAgaW50IGk5MTVf bXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCQlwdXRf cGFnZShwYWdlKTsKIAkJCXZhZGRyICs9IFBBR0VfU0laRTsKIAkJfQotCQlvYmotPmRpcnR5ID0g MDsKKwkJaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2RpcnR5KG9iaik7CiAJfQogCiAJc2dfZnJlZV90 YWJsZShvYmotPnBhZ2VzKTsKQEAgLTcwMyw3ICs3MDIsNyBAQCBpbnQgaTkxNV9nZW1fb2JqX3By ZXBhcmVfc2htZW1fd3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJb2Jq LT5jYWNoZV9kaXJ0eSA9IHRydWU7CiAKIAlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE9S SUdJTl9DUFUpOwotCW9iai0+ZGlydHkgPSAxOworCWk5MTVfZ2VtX29iamVjdF9zZXRfZGlydHko b2JqKTsKIAkvKiByZXR1cm4gd2l0aCB0aGUgcGFnZXMgcGlubmVkICovCiAJcmV0dXJuIDA7CiAK QEAgLTExNTYsNyArMTE1NSw3IEBAIGludCBpOTE1X2dlbV9vYmpfcHJlcGFyZV9zaG1lbV93cml0 ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlnb3RvIG91dF91bnBpbjsKIAog CWludGVsX2ZiX29ial9pbnZhbGlkYXRlKG9iaiwgT1JJR0lOX0NQVSk7Ci0Jb2JqLT5kaXJ0eSA9 IHRydWU7CisJaTkxNV9nZW1fb2JqZWN0X3NldF9kaXJ0eShvYmopOwogCiAJdXNlcl9kYXRhID0g dTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKIAlvZmZzZXQgPSBhcmdzLT5vZmZzZXQ7 CkBAIC0xMzI3LDYgKzEzMjYsOCBAQCBpbnQgaTkxNV9nZW1fb2JqX3ByZXBhcmVfc2htZW1fd3Jp dGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlvZmZzZXQgPSBhcmdzLT5vZmZz ZXQ7CiAJcmVtYWluID0gYXJncy0+c2l6ZTsKIAorCWk5MTVfZ2VtX29iamVjdF9zZXRfZGlydHko b2JqKTsKKwogCWZvcl9lYWNoX3NnX3BhZ2Uob2JqLT5wYWdlcy0+c2dsLCAmc2dfaXRlciwgb2Jq LT5wYWdlcy0+bmVudHMsCiAJCQkgb2Zmc2V0ID4+IFBBR0VfU0hJRlQpIHsKIAkJc3RydWN0IHBh Z2UgKnBhZ2UgPSBzZ19wYWdlX2l0ZXJfcGFnZSgmc2dfaXRlcik7CkBAIC0yMTMzLDYgKzIxMzQs NyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9vYmplY3RfZnJlZV9tbWFwX29mZnNldChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBzZ3RfaXRlciBzZ3RfaXRlcjsK IAlzdHJ1Y3QgcGFnZSAqcGFnZTsKKwlib29sIGRpcnR5OwogCWludCByZXQ7CiAKIAlCVUdfT04o b2JqLT5tYWR2ID09IF9fSTkxNV9NQURWX1BVUkdFRCk7CkBAIC0yMTUyLDEwICsyMTU0LDExIEBA IHN0YXRpYyB2b2lkIGk5MTVfZ2VtX29iamVjdF9mcmVlX21tYXBfb2Zmc2V0KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCWk5MTVfZ2VtX29iamVjdF9zYXZlX2JpdF8xN19zd2l6 emxlKG9iaik7CiAKIAlpZiAob2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCkKLQkJb2Jq LT5kaXJ0eSA9IDA7CisJCWk5MTVfZ2VtX29iamVjdF9jbGVhcl9kaXJ0eShvYmopOwogCisJZGly dHkgPSBpOTE1X2dlbV9vYmplY3RfaXNfZGlydHkob2JqKTsKIAlmb3JfZWFjaF9zZ3RfcGFnZShw YWdlLCBzZ3RfaXRlciwgb2JqLT5wYWdlcykgewotCQlpZiAob2JqLT5kaXJ0eSkKKwkJaWYgKGRp cnR5KQogCQkJc2V0X3BhZ2VfZGlydHkocGFnZSk7CiAKIAkJaWYgKG9iai0+bWFkdiA9PSBJOTE1 X01BRFZfV0lMTE5FRUQpCkBAIC0yMTYzLDcgKzIxNjYsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dl bV9vYmplY3RfZnJlZV9tbWFwX29mZnNldChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQogCiAJCXB1dF9wYWdlKHBhZ2UpOwogCX0KLQlvYmotPmRpcnR5ID0gMDsKKwlpOTE1X2dlbV9v YmplY3RfY2xlYXJfZGlydHkob2JqKTsKIAogCXNnX2ZyZWVfdGFibGUob2JqLT5wYWdlcyk7CiAJ a2ZyZWUob2JqLT5wYWdlcyk7CkBAIC0zMzIxLDcgKzMzMjQsNyBAQCBzdGF0aWMgdm9pZCBpOTE1 X2dlbV9vYmplY3RfYnVtcF9pbmFjdGl2ZV9nZ3R0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopCiAJaWYgKHdyaXRlKSB7CiAJCW9iai0+YmFzZS5yZWFkX2RvbWFpbnMgPSBJOTE1X0dF TV9ET01BSU5fR1RUOwogCQlvYmotPmJhc2Uud3JpdGVfZG9tYWluID0gSTkxNV9HRU1fRE9NQUlO X0dUVDsKLQkJb2JqLT5kaXJ0eSA9IDE7CisJCWk5MTVfZ2VtX29iamVjdF9zZXRfZGlydHkob2Jq KTsKIAl9CiAKIAl0cmFjZV9pOTE1X2dlbV9vYmplY3RfY2hhbmdlX2RvbWFpbihvYmosCkBAIC00 Nzg5LDcgKzQ3OTIsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiAJaTkxNV9nZW1f b2JqZWN0X3Bpbl9wYWdlcyhvYmopOwogCXNnID0gb2JqLT5wYWdlczsKIAlieXRlcyA9IHNnX2Nv cHlfZnJvbV9idWZmZXIoc2ctPnNnbCwgc2ctPm5lbnRzLCAodm9pZCAqKWRhdGEsIHNpemUpOwot CW9iai0+ZGlydHkgPSAxOwkJLyogQmFja2luZyBzdG9yZSBpcyBub3cgb3V0IG9mIGRhdGUgKi8K KwlpOTE1X2dlbV9vYmplY3Rfc2V0X2RpcnR5KG9iaik7IC8qIEJhY2tpbmcgc3RvcmUgaXMgbm93 IG91dCBvZiBkYXRlICovCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CiAKIAlp ZiAoV0FSTl9PTihieXRlcyAhPSBzaXplKSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jCmluZGV4IDM1OTUwZWUuLmFhOTliYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMKQEAgLTgzNCw2ICs4MzQsOCBAQCBzdGF0aWMgaW50IGRvX3Jjc19z d2l0Y2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJICogTUlfU0VUX0NPTlRF WFQgaW5zdGVhZCBvZiB3aGVuIHRoZSBuZXh0IHNlcW5vIGhhcyBjb21wbGV0ZWQuCiAJICovCiAJ aWYgKGZyb20gIT0gTlVMTCkgeworCQlzdHJ1Y3QgaTkxNV92bWEgKmZyb21fdm1hID0gZnJvbS0+ ZW5naW5lW1JDU10uc3RhdGU7CisKIAkJLyogQXMgbG9uZyBhcyBNSV9TRVRfQ09OVEVYVCBpcyBz ZXJpYWxpemluZywgaWUuIGl0IGZsdXNoZXMgdGhlCiAJCSAqIHdob2xlIGRhbW4gcGlwZWxpbmUs IHdlIGRvbid0IG5lZWQgdG8gZXhwbGljaXRseSBtYXJrIHRoZQogCQkgKiBvYmplY3QgZGlydHku IFRoZSBvbmx5IGV4Y2VwdGlvbiBpcyB0aGF0IHRoZSBjb250ZXh0IG11c3QgYmUKQEAgLTg0MSw5 ICs4NDMsMTAgQEAgc3RhdGljIGludCBkb19yY3Nfc3dpdGNoKHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxKQogCQkgKiBhYmxlIHRvIGRlZmVyIGRvaW5nIHRoaXMgdW50aWwgd2Uga25v dyB0aGUgb2JqZWN0IHdvdWxkIGJlCiAJCSAqIHN3YXBwZWQsIGJ1dCB0aGVyZSBpcyBubyB3YXkg dG8gZG8gdGhhdCB5ZXQuCiAJCSAqLwotCQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShmcm9tLT5l bmdpbmVbUkNTXS5zdGF0ZSwgcmVxLCAwKTsKKwkJaTkxNV92bWFfbW92ZV90b19hY3RpdmUoZnJv bV92bWEsIHJlcSwgMCk7CisJCWk5MTVfZ2VtX29iamVjdF9zZXRfZGlydHkoZnJvbV92bWEtPm9i aik7CiAJCS8qIHN0YXRlIGlzIGtlcHQgYWxpdmUgdW50aWwgdGhlIG5leHQgcmVxdWVzdCAqLwot CQlpOTE1X3ZtYV91bnBpbihmcm9tLT5lbmdpbmVbUkNTXS5zdGF0ZSk7CisJCWk5MTVfdm1hX3Vu cGluKGZyb21fdm1hKTsKIAkJaTkxNV9nZW1fY29udGV4dF9wdXQoZnJvbSk7CiAJfQogCWVuZ2lu ZS0+bGFzdF9jb250ZXh0ID0gaTkxNV9nZW1fY29udGV4dF9nZXQodG8pOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDk0MzJkNGMuLjVjYTdiYTMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTEyNzgsNyAr MTI3OCw3IEBAIHZvaWQgaTkxNV92bWFfbW92ZV90b19hY3RpdmUoc3RydWN0IGk5MTVfdm1hICp2 bWEsCiAKIAlHRU1fQlVHX09OKCFkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpOwog Ci0Jb2JqLT5kaXJ0eSA9IDE7IC8qIGJlIHBhcmFub2lkICAqLworCWk5MTVfZ2VtX29iamVjdF9z ZXRfZGlydHkob2JqKTsgLyogYmUgcGFyYW5vaWQgICovCiAKIAkvKiBBZGQgYSByZWZlcmVuY2Ug aWYgd2UncmUgbmV3bHkgZW50ZXJpbmcgdGhlIGFjdGl2ZSBsaXN0LgogCSAqIFRoZSBvcmRlciBp biB3aGljaCB3ZSBhZGQgb3BlcmF0aW9ucyB0byB0aGUgcmV0aXJlbWVudCBxdWV1ZSBpcwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4IGJlNTQ4MjUuLmE3OGFiZTIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3VzZXJwdHIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKQEAgLTY3NCwyMyArNjc0 LDI1IEBAIHN0cnVjdCBnZXRfcGFnZXNfd29yayB7CiB7CiAJc3RydWN0IHNndF9pdGVyIHNndF9p dGVyOwogCXN0cnVjdCBwYWdlICpwYWdlOworCWJvb2wgZGlydHk7CiAKIAlCVUdfT04ob2JqLT51 c2VycHRyLndvcmsgIT0gTlVMTCk7CiAJX19pOTE1X2dlbV91c2VycHRyX3NldF9hY3RpdmUob2Jq LCBmYWxzZSk7CiAKLQlpZiAob2JqLT5tYWR2ICE9IEk5MTVfTUFEVl9XSUxMTkVFRCkKLQkJb2Jq LT5kaXJ0eSA9IDA7Ci0KIAlpOTE1X2dlbV9ndHRfZmluaXNoX29iamVjdChvYmopOwogCisJaWYg KG9iai0+bWFkdiAhPSBJOTE1X01BRFZfV0lMTE5FRUQpCisJCWk5MTVfZ2VtX29iamVjdF9jbGVh cl9kaXJ0eShvYmopOworCisJZGlydHkgPSBpOTE1X2dlbV9vYmplY3RfaXNfZGlydHkob2JqKTsK IAlmb3JfZWFjaF9zZ3RfcGFnZShwYWdlLCBzZ3RfaXRlciwgb2JqLT5wYWdlcykgewotCQlpZiAo b2JqLT5kaXJ0eSkKKwkJaWYgKGRpcnR5KQogCQkJc2V0X3BhZ2VfZGlydHkocGFnZSk7CiAKIAkJ bWFya19wYWdlX2FjY2Vzc2VkKHBhZ2UpOwogCQlwdXRfcGFnZShwYWdlKTsKIAl9Ci0Jb2JqLT5k aXJ0eSA9IDA7CisJaTkxNV9nZW1fb2JqZWN0X2NsZWFyX2RpcnR5KG9iaik7CiAKIAlzZ19mcmVl X3RhYmxlKG9iai0+cGFnZXMpOwogCWtmcmVlKG9iai0+cGFnZXMpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggMzM0ZjE1ZC4uMjU3ZGRlMSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC04MDQsNyArODA0LDcgQEAgc3RhdGljIHZvaWQgY2Fw dHVyZV9ibyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3JfYnVmZmVyICplcnIsCiAJZXJyLT53cml0ZV9k b21haW4gPSBvYmotPmJhc2Uud3JpdGVfZG9tYWluOwogCWVyci0+ZmVuY2VfcmVnID0gdm1hLT5m ZW5jZSA/IHZtYS0+ZmVuY2UtPmlkIDogLTE7CiAJZXJyLT50aWxpbmcgPSBpOTE1X2dlbV9vYmpl Y3RfZ2V0X3RpbGluZyhvYmopOwotCWVyci0+ZGlydHkgPSBvYmotPmRpcnR5OworCWVyci0+ZGly dHkgPSBpOTE1X2dlbV9vYmplY3RfaXNfZGlydHkob2JqKTsKIAllcnItPnB1cmdlYWJsZSA9IG9i ai0+bWFkdiAhPSBJOTE1X01BRFZfV0lMTE5FRUQ7CiAJZXJyLT51c2VycHRyID0gb2JqLT51c2Vy cHRyLm1tICE9IE5VTEw7CiAJZXJyLT5jYWNoZV9sZXZlbCA9IG9iai0+Y2FjaGVfbGV2ZWw7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDkyYmZlNDcuLjFmNDgyOTEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCkBAIC03NjQsNiArNzY0LDggQEAgc3RhdGljIGludCBpbnRlbF9scl9j b250ZXh0X3BpbihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCQkJCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPSAmY3R4 LT5lbmdpbmVbZW5naW5lLT5pZF07CisJc3RydWN0IGludGVsX3JpbmcgKnJpbmcgPSBjZS0+cmlu ZzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iajsKIAl2b2lkICp2YWRkcjsK IAl1MzIgKmxyY19yZWdfc3RhdGU7CiAJaW50IHJldDsKQEAgLTc3OCwyNCArNzgwLDI0IEBAIHN0 YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0 eCwKIAlpZiAocmV0KQogCQlnb3RvIGVycjsKIAotCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bp bl9tYXAoY2UtPnN0YXRlLT5vYmosIEk5MTVfTUFQX1dCKTsKKwljdHhfb2JqID0gY2UtPnN0YXRl LT5vYmo7CisJdmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjdHhfb2JqLCBJOTE1X01B UF9XQik7CiAJaWYgKElTX0VSUih2YWRkcikpIHsKIAkJcmV0ID0gUFRSX0VSUih2YWRkcik7CiAJ CWdvdG8gdW5waW5fdm1hOwogCX0KIAotCWxyY19yZWdfc3RhdGUgPSB2YWRkciArIExSQ19TVEFU RV9QTiAqIFBBR0VfU0laRTsKLQotCXJldCA9IGludGVsX3JpbmdfcGluKGNlLT5yaW5nKTsKKwly ZXQgPSBpbnRlbF9yaW5nX3BpbihyaW5nKTsKIAlpZiAocmV0KQogCQlnb3RvIHVucGluX21hcDsK IAotCWludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcl91cGRhdGUoY3R4LCBlbmdpbmUpOworCWk5 MTVfZ2VtX29iamVjdF9zZXRfZGlydHkoY3R4X29iaik7CiAKLQlscmNfcmVnX3N0YXRlW0NUWF9S SU5HX0JVRkZFUl9TVEFSVCsxXSA9Ci0JCWk5MTVfZ2d0dF9vZmZzZXQoY2UtPnJpbmctPnZtYSk7 CisJbHJjX3JlZ19zdGF0ZSA9IHZhZGRyICsgTFJDX1NUQVRFX1BOICogUEFHRV9TSVpFOworCWxy Y19yZWdfc3RhdGVbQ1RYX1JJTkdfQlVGRkVSX1NUQVJUKzFdID0gaTkxNV9nZ3R0X29mZnNldChy aW5nLT52bWEpOwogCWNlLT5scmNfcmVnX3N0YXRlID0gbHJjX3JlZ19zdGF0ZTsKLQljZS0+c3Rh dGUtPm9iai0+ZGlydHkgPSB0cnVlOworCisJaW50ZWxfbHJfY29udGV4dF9kZXNjcmlwdG9yX3Vw ZGF0ZShjdHgsIGVuZ2luZSk7CiAKIAkvKiBJbnZhbGlkYXRlIEd1QyBUTEIuICovCiAJaWYgKGk5 MTUuZW5hYmxlX2d1Y19zdWJtaXNzaW9uKSB7CkBAIC0xOTY5LDcgKzE5NzEsNyBAQCBzdGF0aWMg dTMyIGludGVsX2xyX2luZGlyZWN0X2N0eF9vZmZzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQogCQlEUk1fREVCVUdfRFJJVkVSKCJDb3VsZCBub3QgbWFwIG9iamVjdCBwYWdlcyEg KCVkKVxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9Ci0JY3R4X29iai0+ZGlydHkgPSB0cnVl OworCWk5MTVfZ2VtX29iamVjdF9zZXRfZGlydHkoY3R4X29iaik7CiAKIAkvKiBUaGUgc2Vjb25k IHBhZ2Ugb2YgdGhlIGNvbnRleHQgb2JqZWN0IGNvbnRhaW5zIHNvbWUgZmllbGRzIHdoaWNoIG11 c3QKIAkgKiBiZSBzZXQgdXAgcHJpb3IgdG8gdGhlIGZpcnN0IGV4ZWN1dGlvbi4gKi8KQEAgLTIx ODIsMjMgKzIxODQsMjQgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9w cml2KSB7CiAJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSA9ICZjdHgtPmVuZ2luZVtlbmdpbmUt PmlkXTsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmo7CiAJCXZvaWQgKnZh ZGRyOwogCQl1aW50MzJfdCAqcmVnX3N0YXRlOwogCiAJCWlmICghY2UtPnN0YXRlKQogCQkJY29u dGludWU7CiAKLQkJdmFkZHIgPSBpOTE1X2dlbV9vYmplY3RfcGluX21hcChjZS0+c3RhdGUtPm9i aiwgSTkxNV9NQVBfV0IpOworCQljdHhfb2JqID0gY2UtPnN0YXRlLT5vYmo7CisJCXZhZGRyID0g aTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoY3R4X29iaiwgSTkxNV9NQVBfV0IpOwogCQlpZiAoV0FS Tl9PTihJU19FUlIodmFkZHIpKSkKIAkJCWNvbnRpbnVlOwogCiAJCXJlZ19zdGF0ZSA9IHZhZGRy ICsgTFJDX1NUQVRFX1BOICogUEFHRV9TSVpFOwotCiAJCXJlZ19zdGF0ZVtDVFhfUklOR19IRUFE KzFdID0gMDsKIAkJcmVnX3N0YXRlW0NUWF9SSU5HX1RBSUwrMV0gPSAwOwogCi0JCWNlLT5zdGF0 ZS0+b2JqLT5kaXJ0eSA9IHRydWU7Ci0JCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAoY2UtPnN0 YXRlLT5vYmopOworCQlpOTE1X2dlbV9vYmplY3Rfc2V0X2RpcnR5KGN0eF9vYmopOworCQlpOTE1 X2dlbV9vYmplY3RfdW5waW5fbWFwKGN0eF9vYmopOwogCiAJCWNlLT5yaW5nLT5oZWFkID0gMDsK IAkJY2UtPnJpbmctPnRhaWwgPSAwOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=