From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v3 04/28] drm/i915: Replace last_[rwf]_seqno with last_[rwf]_req Date: Mon, 24 Nov 2014 18:49:26 +0000 Message-ID: <1416854990-1920-5-git-send-email-John.C.Harrison@Intel.com> References: <1416854990-1920-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id C2A5B6EE20 for ; Mon, 24 Nov 2014 10:50:15 -0800 (PST) In-Reply-To: <1416854990-1920-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBvYmpl Y3Qgc3RydWN0dXJlIGNvbnRhaW5zIHRoZSBsYXN0IHJlYWQsIHdyaXRlIGFuZCBmZW5jZWQgc2Vx bm8gdmFsdWVzIGZvcgp1c2UgaW4gc3luY3Job25pc2F0aW9uIG9wZXJhdGlvbnMuIFRoZXNlIGhh dmUgbm93IGJlZW4gcmVwbGFjZWQgd2l0aCB0aGVpcgpyZXF1ZXN0IHN0cnVjdHVyZSBjb3VudGVy cGFydHMuCgpOb3RlIHRoYXQgdG8gZW5zdXJlIHRoYXQgb2JqZWN0cyBkbyBub3QgZW5kIHVwIHdp dGggZGFuZ2xpbmcgcG9pbnRlcnMsIHRoZQphc3NpZ25tZW50cyBvZiBsYXN0XypfcmVxIGluY2x1 ZGUgcmVmZXJlbmNlIGNvdW50IHVwZGF0ZXMuIFRodXMgYSByZXF1ZXN0IGNhbm5vdApiZSBmcmVl ZCBpZiBhbiBvYmplY3QgaXMgc3RpbGwgaGFuZ2luZyBvbiB0byBpdCBmb3IgYW55IHJlYXNvbi4K CnYyOiBDb3JyZWN0ZWQgJ2xhc3RfcmVuZGVyaW5nXycgdG8gJ2xhc3RfcmVhZF8nIGluIGEgbnVt YmVyIG9mIGNvbW1lbnRzIHRoYXQgZGlkCm5vdCBnZXQgdXBkYXRlZCB3aGVuICdsYXN0X3JlbmRl cmluZ19zZXFubycgYmVjYW1lICdsYXN0X3JlYWR8d3JpdGVfc2Vxbm8nCnNldmVyYWwgbWlsbGVu aWEgYWdvLgoKRm9yOiBWSVotNDM3NwpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2hu LkMuSGFycmlzb25ASW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVGhvbWFzIERhbmllbCA8VGhvbWFz LkRhbmllbEBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMgICAgICAgIHwgICAgNiArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAg ICAgICAgICB8ICAgMTMgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAg ICAgICAgICB8ICAgNzEgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgICAgNiArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICAgICB8ICAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3RpbGluZy5jICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmMgICAgICB8ICAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyAgICAgICB8ICAgIDYgKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggICAgfCAgICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlv bnMoKyksIDUwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5k ZXggYjRmMjNhOC4uMjcyMGViNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAg LTEzMyw5ICsxMzMsOSBAQCBkZXNjcmliZV9vYmooc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkgICBvYmotPmJhc2Uuc2l6ZSAvIDEwMjQsCiAJ CSAgIG9iai0+YmFzZS5yZWFkX2RvbWFpbnMsCiAJCSAgIG9iai0+YmFzZS53cml0ZV9kb21haW4s Ci0JCSAgIG9iai0+bGFzdF9yZWFkX3NlcW5vLAotCQkgICBvYmotPmxhc3Rfd3JpdGVfc2Vxbm8s Ci0JCSAgIG9iai0+bGFzdF9mZW5jZWRfc2Vxbm8sCisJCSAgIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0 X3NlcW5vKG9iai0+bGFzdF9yZWFkX3JlcSksCisJCSAgIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Nl cW5vKG9iai0+bGFzdF93cml0ZV9yZXEpLAorCQkgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFu byhvYmotPmxhc3RfZmVuY2VkX3JlcSksCiAJCSAgIGk5MTVfY2FjaGVfbGV2ZWxfc3RyKHRvX2k5 MTUob2JqLT5iYXNlLmRldiksIG9iai0+Y2FjaGVfbGV2ZWwpLAogCQkgICBvYmotPmRpcnR5ID8g IiBkaXJ0eSIgOiAiIiwKIAkJICAgb2JqLT5tYWR2ID09IEk5MTVfTUFEVl9ET05UTkVFRCA/ICIg cHVyZ2VhYmxlIiA6ICIiKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGJjZTAzNDYuLjVj MDBjZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTk0NCwxMCArMTk0NCwxMCBAQCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZzsKIAogCS8qKiBCcmVhZGNydW1iIG9mIGxhc3QgcmVuZGVyaW5nIHRvIHRoZSBidWZmZXIuICov Ci0JdWludDMyX3QgbGFzdF9yZWFkX3NlcW5vOwotCXVpbnQzMl90IGxhc3Rfd3JpdGVfc2Vxbm87 CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpsYXN0X3JlYWRfcmVxOworCXN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqbGFzdF93cml0ZV9yZXE7CiAJLyoqIEJyZWFkY3J1bWIgb2Yg bGFzdCBmZW5jZWQgR1BVIGFjY2VzcyB0byB0aGUgYnVmZmVyLiAqLwotCXVpbnQzMl90IGxhc3Rf ZmVuY2VkX3NlcW5vOworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqbGFzdF9mZW5jZWRf cmVxOwogCiAJLyoqIEN1cnJlbnQgdGlsaW5nIHN0cmlkZSBmb3IgdGhlIG9iamVjdCwgaWYgaXQn cyB0aWxlZC4gKi8KIAl1aW50MzJfdCBzdHJpZGU7CkBAIC0xOTkwLDkgKzE5OTAsMTAgQEAgdm9p ZCBpOTE1X2dlbV90cmFja19mYihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkLAogICog VGhlIHJlcXVlc3QgcXVldWUgYWxsb3dzIHVzIHRvIG5vdGUgc2VxdWVuY2UgbnVtYmVycyB0aGF0 IGhhdmUgYmVlbiBlbWl0dGVkCiAgKiBhbmQgbWF5IGJlIGFzc29jaWF0ZWQgd2l0aCBhY3RpdmUg YnVmZmVycyB0byBiZSByZXRpcmVkLgogICoKLSAqIEJ5IGtlZXBpbmcgdGhpcyBsaXN0LCB3ZSBj YW4gYXZvaWQgaGF2aW5nIHRvIGRvIHF1ZXN0aW9uYWJsZQotICogc2VxdWVuY2UtbnVtYmVyIGNv bXBhcmlzb25zIG9uIGJ1ZmZlciBsYXN0X3JlbmRlcmluZ19zZXFub3MsIGFuZCBhc3NvY2lhdGUK LSAqIGFuIGVtaXNzaW9uIHRpbWUgd2l0aCBzZXFub3MgZm9yIHRyYWNraW5nIGhvdyBmYXIgYWhl YWQgb2YgdGhlIEdQVSB3ZSBhcmUuCisgKiBCeSBrZWVwaW5nIHRoaXMgbGlzdCwgd2UgY2FuIGF2 b2lkIGhhdmluZyB0byBkbyBxdWVzdGlvbmFibGUgc2VxdWVuY2UKKyAqIG51bWJlciBjb21wYXJp c29ucyBvbiBidWZmZXIgbGFzdF9yZWFkfHdyaXRlX3NlcW5vLiBJdCBhbHNvIGFsbG93cyBhbgor ICogZW1pc3Npb24gdGltZSB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlcXVlc3QgZm9yIHRy YWNraW5nIGhvdyBmYXIgYWhlYWQKKyAqIG9mIHRoZSBHUFUgdGhlIHN1Ym1pc3Npb24gaXMuCiAg Ki8KIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJc3RydWN0IGtyZWYgcmVmOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNTY5YzJkYS4uZWJhMTEyZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCkBAIC0xMzQ2LDExICsxMzQ2LDExIEBAIGk5MTVfZ2VtX29iamVjdF93YWl0X3Jl bmRlcmluZ19fdGFpbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCS8qIE1hbnVh bGx5IG1hbmFnZSB0aGUgd3JpdGUgZmx1c2ggYXMgd2UgbWF5IGhhdmUgbm90IHlldAogCSAqIHJl dGlyZWQgdGhlIGJ1ZmZlci4KIAkgKgotCSAqIE5vdGUgdGhhdCB0aGUgbGFzdF93cml0ZV9zZXFu byBpcyBhbHdheXMgdGhlIGVhcmxpZXIgb2YKLQkgKiB0aGUgdHdvIChyZWFkL3dyaXRlKSBzZXFu bywgc28gaWYgd2UgaGF2ZWQgc3VjY2Vzc2Z1bGx5IHdhaXRlZCwKKwkgKiBOb3RlIHRoYXQgdGhl IGxhc3Rfd3JpdGVfcmVxIGlzIGFsd2F5cyB0aGUgZWFybGllciBvZgorCSAqIHRoZSB0d28gKHJl YWQvd3JpdGUpIHJlcXVlc3RzLCBzbyBpZiB3ZSBoYXZlZCBzdWNjZXNzZnVsbHkgd2FpdGVkLAog CSAqIHdlIGtub3cgd2UgaGF2ZSBwYXNzZWQgdGhlIGxhc3Qgd3JpdGUuCiAJICovCi0Jb2JqLT5s YXN0X3dyaXRlX3NlcW5vID0gMDsKKwlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmb2JqLT5sYXN0 X3dyaXRlX3JlcSwgTlVMTCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEzNjMsMTQgKzEzNjMsMTgg QEAgc3RhdGljIF9fbXVzdF9jaGVjayBpbnQKIGk5MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmlu ZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJICAgICAgIGJvb2wgcmVhZG9u bHkpCiB7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyA9IG9iai0+cmluZzsKIAl1MzIgc2Vxbm87CiAJaW50IHJldDsKIAot CXNlcW5vID0gcmVhZG9ubHkgPyBvYmotPmxhc3Rfd3JpdGVfc2Vxbm8gOiBvYmotPmxhc3RfcmVh ZF9zZXFubzsKLQlpZiAoc2Vxbm8gPT0gMCkKKwlyZXEgPSByZWFkb25seSA/IG9iai0+bGFzdF93 cml0ZV9yZXEgOiBvYmotPmxhc3RfcmVhZF9yZXE7CisJaWYgKCFyZXEpCiAJCXJldHVybiAwOwog CisJc2Vxbm8gPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhyZXEpOworCVdBUk5fT04oc2Vx bm8gPT0gMCk7CisKIAlyZXQgPSBpOTE1X3dhaXRfc2Vxbm8ocmluZywgc2Vxbm8pOwogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7CkBAIC0xMzg2LDYgKzEzOTAsNyBAQCBpOTE1X2dlbV9vYmplY3Rf d2FpdF9yZW5kZXJpbmdfX25vbmJsb2NraW5nKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQkJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYsCiAJ CQkJCSAgICBib29sIHJlYWRvbmx5KQogeworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBvYmotPmJhc2UuZGV2OwogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZyA9IG9iai0+cmluZzsKQEAgLTEzOTYsMTAgKzE0MDEsMTMgQEAg aTkxNV9nZW1fb2JqZWN0X3dhaXRfcmVuZGVyaW5nX19ub25ibG9ja2luZyhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLAogCUJVR19PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXYtPnN0cnVj dF9tdXRleCkpOwogCUJVR19PTighZGV2X3ByaXYtPm1tLmludGVycnVwdGlibGUpOwogCi0Jc2Vx bm8gPSByZWFkb25seSA/IG9iai0+bGFzdF93cml0ZV9zZXFubyA6IG9iai0+bGFzdF9yZWFkX3Nl cW5vOwotCWlmIChzZXFubyA9PSAwKQorCXJlcSA9IHJlYWRvbmx5ID8gb2JqLT5sYXN0X3dyaXRl X3JlcSA6IG9iai0+bGFzdF9yZWFkX3JlcTsKKwlpZiAoIXJlcSkKIAkJcmV0dXJuIDA7CiAKKwlz ZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKHJlcSk7CisJV0FSTl9PTihzZXFubyA9 PSAwKTsKKwogCXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9y LCB0cnVlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwpAQCAtMjI1NywxMiArMjI2NSwxMiBA QCBzdGF0aWMgdm9pZAogaTkxNV9nZW1fb2JqZWN0X21vdmVfdG9fYWN0aXZlKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgICAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIHsKLQl1MzIgc2Vxbm8gPSBpbnRlbF9yaW5nX2dldF9zZXFubyhyaW5nKTsKKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSA9IGludGVsX3JpbmdfZ2V0X3JlcXVlc3Qocmlu Zyk7CiAKIAlCVUdfT04ocmluZyA9PSBOVUxMKTsKLQlpZiAob2JqLT5yaW5nICE9IHJpbmcgJiYg b2JqLT5sYXN0X3dyaXRlX3NlcW5vKSB7Ci0JCS8qIEtlZXAgdGhlIHNlcW5vIHJlbGF0aXZlIHRv IHRoZSBjdXJyZW50IHJpbmcgKi8KLQkJb2JqLT5sYXN0X3dyaXRlX3NlcW5vID0gc2Vxbm87CisJ aWYgKG9iai0+cmluZyAhPSByaW5nICYmIG9iai0+bGFzdF93cml0ZV9yZXEpIHsKKwkJLyogS2Vl cCB0aGUgcmVxdWVzdCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCByaW5nICovCisJCWk5MTVfZ2Vt X3JlcXVlc3RfYXNzaWduKCZvYmotPmxhc3Rfd3JpdGVfcmVxLCByZXEpOwogCX0KIAlvYmotPnJp bmcgPSByaW5nOwogCkBAIC0yMjc0LDcgKzIyODIsNyBAQCBpOTE1X2dlbV9vYmplY3RfbW92ZV90 b19hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAogCWxpc3RfbW92ZV90 YWlsKCZvYmotPnJpbmdfbGlzdCwgJnJpbmctPmFjdGl2ZV9saXN0KTsKIAotCW9iai0+bGFzdF9y ZWFkX3NlcW5vID0gc2Vxbm87CisJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm9iai0+bGFzdF9y ZWFkX3JlcSwgcmVxKTsKIH0KIAogdm9pZCBpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzdHJ1Y3Qg aTkxNV92bWEgKnZtYSwKQEAgLTIzMDUsMTEgKzIzMTMsMTEgQEAgaTkxNV9nZW1fb2JqZWN0X21v dmVfdG9faW5hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlsaXN0X2Rl bF9pbml0KCZvYmotPnJpbmdfbGlzdCk7CiAJb2JqLT5yaW5nID0gTlVMTDsKIAotCW9iai0+bGFz dF9yZWFkX3NlcW5vID0gMDsKLQlvYmotPmxhc3Rfd3JpdGVfc2Vxbm8gPSAwOworCWk5MTVfZ2Vt X3JlcXVlc3RfYXNzaWduKCZvYmotPmxhc3RfcmVhZF9yZXEsIE5VTEwpOworCWk5MTVfZ2VtX3Jl cXVlc3RfYXNzaWduKCZvYmotPmxhc3Rfd3JpdGVfcmVxLCBOVUxMKTsKIAlvYmotPmJhc2Uud3Jp dGVfZG9tYWluID0gMDsKIAotCW9iai0+bGFzdF9mZW5jZWRfc2Vxbm8gPSAwOworCWk5MTVfZ2Vt X3JlcXVlc3RfYXNzaWduKCZvYmotPmxhc3RfZmVuY2VkX3JlcSwgTlVMTCk7CiAKIAlvYmotPmFj dGl2ZSA9IDA7CiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7CkBAIC0y MzI2LDcgKzIzMzQsNyBAQCBpOTE1X2dlbV9vYmplY3RfcmV0aXJlKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJCXJldHVybjsKIAogCWlmIChpOTE1X3NlcW5vX3Bhc3NlZChyaW5n LT5nZXRfc2Vxbm8ocmluZywgdHJ1ZSksCi0JCQkgICAgICBvYmotPmxhc3RfcmVhZF9zZXFubykp CisJCQkgICAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhvYmotPmxhc3RfcmVhZF9yZXEp KSkKIAkJaTkxNV9nZW1fb2JqZWN0X21vdmVfdG9faW5hY3RpdmUob2JqKTsKIH0KIApAQCAtMjc1 Myw3ICsyNzYxLDggQEAgaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzX3Jpbmcoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZykKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCwK IAkJCQkgICAgICByaW5nX2xpc3QpOwogCi0JCWlmICghaTkxNV9zZXFub19wYXNzZWQoc2Vxbm8s IG9iai0+bGFzdF9yZWFkX3NlcW5vKSkKKwkJaWYgKCFpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywK KwkJCSAgICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8ob2JqLT5sYXN0X3JlYWRfcmVxKSkp CiAJCQlicmVhazsKIAogCQlpOTE1X2dlbV9vYmplY3RfbW92ZV90b19pbmFjdGl2ZShvYmopOwpA QCAtMjg3Miw3ICsyODgxLDggQEAgaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2FjdGl2ZShzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCWludCByZXQ7CiAKIAlpZiAob2JqLT5hY3RpdmUp IHsKLQkJcmV0ID0gaTkxNV9nZW1fY2hlY2tfb2xyKG9iai0+cmluZywgb2JqLT5sYXN0X3JlYWRf c2Vxbm8pOworCQlyZXQgPSBpOTE1X2dlbV9jaGVja19vbHIob2JqLT5yaW5nLAorCQkJICAgICBp OTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhvYmotPmxhc3RfcmVhZF9yZXEpKTsKIAkJaWYgKHJl dCkKIAkJCXJldHVybiByZXQ7CiAKQEAgLTI5MzMsMTMgKzI5NDMsMTIgQEAgaTkxNV9nZW1fd2Fp dF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGUpCiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKLQlpZiAob2JqLT5hY3RpdmUpIHsK LQkJc2Vxbm8gPSBvYmotPmxhc3RfcmVhZF9zZXFubzsKLQkJcmluZyA9IG9iai0+cmluZzsKLQl9 CisJaWYgKCFvYmotPmFjdGl2ZSB8fCAhb2JqLT5sYXN0X3JlYWRfcmVxKQorCQlnb3RvIG91dDsK IAotCWlmIChzZXFubyA9PSAwKQotCQkgZ290byBvdXQ7CisJc2Vxbm8gPSBpOTE1X2dlbV9yZXF1 ZXN0X2dldF9zZXFubyhvYmotPmxhc3RfcmVhZF9yZXEpOworCVdBUk5fT04oc2Vxbm8gPT0gMCk7 CisJcmluZyA9IG9iai0+cmluZzsKIAogCS8qIERvIHRoaXMgYWZ0ZXIgT0xSIGNoZWNrIHRvIG1h a2Ugc3VyZSB3ZSBtYWtlIGZvcndhcmQgcHJvZ3Jlc3MgcG9sbGluZwogCSAqIG9uIHRoaXMgSU9D VEwgd2l0aCBhIHRpbWVvdXQgPD0wIChsaWtlIGJ1c3kgaW9jdGwpCkBAIC0yOTkwLDcgKzI5OTks NyBAQCBpOTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogCiAJaWR4ID0gaW50ZWxfcmluZ19zeW5jX2luZGV4KGZyb20sIHRvKTsKIAotCXNlcW5vID0g b2JqLT5sYXN0X3JlYWRfc2Vxbm87CisJc2Vxbm8gPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFu byhvYmotPmxhc3RfcmVhZF9yZXEpOwogCS8qIE9wdGltaXphdGlvbjogQXZvaWQgc2VtYXBob3Jl IHN5bmMgd2hlbiB3ZSBhcmUgc3VyZSB3ZSBhbHJlYWR5CiAJICogd2FpdGVkIGZvciBhbiBvYmpl Y3Qgd2l0aCBoaWdoZXIgc2Vxbm8gKi8KIAlpZiAoc2Vxbm8gPD0gZnJvbS0+c2VtYXBob3JlLnN5 bmNfc2Vxbm9baWR4XSkKQEAgLTMwMDMsMTEgKzMwMTIsMTIgQEAgaTkxNV9nZW1fb2JqZWN0X3N5 bmMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAl0cmFjZV9pOTE1X2dlbV9yaW5n X3N5bmNfdG8oZnJvbSwgdG8sIHNlcW5vKTsKIAlyZXQgPSB0by0+c2VtYXBob3JlLnN5bmNfdG8o dG8sIGZyb20sIHNlcW5vKTsKIAlpZiAoIXJldCkKLQkJLyogV2UgdXNlIGxhc3RfcmVhZF9zZXFu byBiZWNhdXNlIHN5bmNfdG8oKQorCQkvKiBXZSB1c2UgbGFzdF9yZWFkX3JlcSBiZWNhdXNlIHN5 bmNfdG8oKQogCQkgKiBtaWdodCBoYXZlIGp1c3QgY2F1c2VkIHNlcW5vIHdyYXAgdW5kZXIKIAkJ ICogdGhlIHJhZGFyLgogCQkgKi8KLQkJZnJvbS0+c2VtYXBob3JlLnN5bmNfc2Vxbm9baWR4XSA9 IG9iai0+bGFzdF9yZWFkX3NlcW5vOworCQlmcm9tLT5zZW1hcGhvcmUuc3luY19zZXFub1tpZHhd ID0KKwkJCQlpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhvYmotPmxhc3RfcmVhZF9yZXEpOwog CiAJcmV0dXJuIHJldDsKIH0KQEAgLTMzMjEsMTIgKzMzMzEsMTMgQEAgc3RhdGljIHZvaWQgaTkx NV9nZW1fb2JqZWN0X3VwZGF0ZV9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq LAogc3RhdGljIGludAogaTkxNV9nZW1fb2JqZWN0X3dhaXRfZmVuY2Uoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIHsKLQlpZiAob2JqLT5sYXN0X2ZlbmNlZF9zZXFubykgewotCQlp bnQgcmV0ID0gaTkxNV93YWl0X3NlcW5vKG9iai0+cmluZywgb2JqLT5sYXN0X2ZlbmNlZF9zZXFu byk7CisJaWYgKG9iai0+bGFzdF9mZW5jZWRfcmVxKSB7CisJCWludCByZXQgPSBpOTE1X3dhaXRf c2Vxbm8ob2JqLT5yaW5nLAorCQkJICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8ob2JqLT5s YXN0X2ZlbmNlZF9yZXEpKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJb2JqLT5s YXN0X2ZlbmNlZF9zZXFubyA9IDA7CisJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvYmotPmxh c3RfZmVuY2VkX3JlcSwgTlVMTCk7CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggZjA2MDI3Yi4uNGQ5YmFlZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtOTQ2LDcgKzk0Niw3 IEBAIHZvaWQKIGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19hY3RpdmUoc3RydWN0IGxpc3Rf aGVhZCAqdm1hcywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogewotCXUz MiBzZXFubyA9IGludGVsX3JpbmdfZ2V0X3NlcW5vKHJpbmcpOworCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxID0gaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5nKTsKIAlzdHJ1Y3Qg aTkxNV92bWEgKnZtYTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCB2bWFzLCBleGVjX2xp c3QpIHsKQEAgLTk2Myw3ICs5NjMsNyBAQCBpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0 aXZlKHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCiAJCWk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKHZt YSwgcmluZyk7CiAJCWlmIChvYmotPmJhc2Uud3JpdGVfZG9tYWluKSB7CiAJCQlvYmotPmRpcnR5 ID0gMTsKLQkJCW9iai0+bGFzdF93cml0ZV9zZXFubyA9IHNlcW5vOworCQkJaTkxNV9nZW1fcmVx dWVzdF9hc3NpZ24oJm9iai0+bGFzdF93cml0ZV9yZXEsIHJlcSk7CiAKIAkJCWludGVsX2ZiX29i al9pbnZhbGlkYXRlKG9iaiwgcmluZyk7CiAKQEAgLTk3MSw3ICs5NzEsNyBAQCBpOTE1X2dlbV9l eGVjYnVmZmVyX21vdmVfdG9fYWN0aXZlKHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCiAJCQlvYmot PmJhc2Uud3JpdGVfZG9tYWluICY9IH5JOTE1X0dFTV9HUFVfRE9NQUlOUzsKIAkJfQogCQlpZiAo ZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfTkVFRFNfRkVOQ0UpIHsKLQkJCW9iai0+bGFzdF9m ZW5jZWRfc2Vxbm8gPSBzZXFubzsKKwkJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZvYmotPmxh c3RfZmVuY2VkX3JlcSwgcmVxKTsKIAkJCWlmIChlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNU X0hBU19GRU5DRSkgewogCQkJCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUocmluZy0+ZGV2KTsKIAkJCQlsaXN0X21vdmVfdGFpbCgmZGV2X3ByaXYtPmZlbmNlX3Jl Z3Nbb2JqLT5mZW5jZV9yZWddLmxydV9saXN0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aAppbmRleCBiZWFmNGJjLi5mNTI0MDE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aApAQCAtMTgyLDcgKzE4Miw3IEBAIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgewogCSAqIExp c3Qgb2Ygb2JqZWN0cyBjdXJyZW50bHkgaW52b2x2ZWQgaW4gcmVuZGVyaW5nLgogCSAqCiAJICog SW5jbHVkZXMgYnVmZmVycyBoYXZpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZWlyIEdQVSBjYWNoZXMK LQkgKiBmbHVzaGVkLCBub3QgbmVjZXNzYXJpbHkgcHJpbWl0aXZlcy4gIGxhc3RfcmVuZGVyaW5n X3NlcW5vCisJICogZmx1c2hlZCwgbm90IG5lY2Vzc2FyaWx5IHByaW1pdGl2ZXMuIGxhc3RfcmVh ZF9yZXEKIAkgKiByZXByZXNlbnRzIHdoZW4gdGhlIHJlbmRlcmluZyBpbnZvbHZlZCB3aWxsIGJl IGNvbXBsZXRlZC4KIAkgKgogCSAqIEEgcmVmZXJlbmNlIGlzIGhlbGQgb24gdGhlIGJ1ZmZlciB3 aGlsZSBvbiB0aGlzIGxpc3QuCkBAIC0xOTMsNyArMTkzLDcgQEAgc3RydWN0IGk5MTVfYWRkcmVz c19zcGFjZSB7CiAJICogTFJVIGxpc3Qgb2Ygb2JqZWN0cyB3aGljaCBhcmUgbm90IGluIHRoZSBy aW5nYnVmZmVyIGFuZAogCSAqIGFyZSByZWFkeSB0byB1bmJpbmQsIGJ1dCBhcmUgc3RpbGwgaW4g dGhlIEdUVC4KIAkgKgotCSAqIGxhc3RfcmVuZGVyaW5nX3NlcW5vIGlzIDAgd2hpbGUgYW4gb2Jq ZWN0IGlzIGluIHRoaXMgbGlzdC4KKwkgKiBsYXN0X3JlYWRfcmVxIGlzIE5VTEwgd2hpbGUgYW4g b2JqZWN0IGlzIGluIHRoaXMgbGlzdC4KIAkgKgogCSAqIEEgcmVmZXJlbmNlIGlzIG5vdCBoZWxk IG9uIHRoZSBidWZmZXIgd2hpbGUgb24gdGhpcyBsaXN0LAogCSAqIGFzIG1lcmVseSBiZWluZyBH VFQtYm91bmQgc2hvdWxkbid0IHByZXZlbnQgaXRzIGJlaW5nCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3RpbGluZy5jCmluZGV4IDQ3MjdhNGUuLjdhMjRiZDEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbGluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3RpbGluZy5jCkBAIC0zOTksNyArMzk5LDcgQEAgaTkxNV9nZW1fc2V0X3Rp bGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJfQogCiAJCQlvYmot PmZlbmNlX2RpcnR5ID0KLQkJCQlvYmotPmxhc3RfZmVuY2VkX3NlcW5vIHx8CisJCQkJb2JqLT5s YXN0X2ZlbmNlZF9yZXEgfHwKIAkJCQlvYmotPmZlbmNlX3JlZyAhPSBJOTE1X0ZFTkNFX1JFR19O T05FOwogCiAJCQlvYmotPnRpbGluZ19tb2RlID0gYXJncy0+dGlsaW5nX21vZGU7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwppbmRleCBjZGFlZTZjLi45OThiZDhhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKQEAgLTY3MCw4ICs2NzAsOCBAQCBzdGF0aWMg dm9pZCBjYXB0dXJlX2JvKHN0cnVjdCBkcm1faTkxNV9lcnJvcl9idWZmZXIgKmVyciwKIAogCWVy ci0+c2l6ZSA9IG9iai0+YmFzZS5zaXplOwogCWVyci0+bmFtZSA9IG9iai0+YmFzZS5uYW1lOwot CWVyci0+cnNlcW5vID0gb2JqLT5sYXN0X3JlYWRfc2Vxbm87Ci0JZXJyLT53c2Vxbm8gPSBvYmot Pmxhc3Rfd3JpdGVfc2Vxbm87CisJZXJyLT5yc2Vxbm8gPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9z ZXFubyhvYmotPmxhc3RfcmVhZF9yZXEpOworCWVyci0+d3NlcW5vID0gaTkxNV9nZW1fcmVxdWVz dF9nZXRfc2Vxbm8ob2JqLT5sYXN0X3dyaXRlX3JlcSk7CiAJZXJyLT5ndHRfb2Zmc2V0ID0gdm1h LT5ub2RlLnN0YXJ0OwogCWVyci0+cmVhZF9kb21haW5zID0gb2JqLT5iYXNlLnJlYWRfZG9tYWlu czsKIAllcnItPndyaXRlX2RvbWFpbiA9IG9iai0+YmFzZS53cml0ZV9kb21haW47CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMzMwN2U5Yy4uZmFmN2UwMyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtOTU3Myw3ICs5NTczLDggQEAgc3RhdGljIGlu dCBpbnRlbF9xdWV1ZV9tbWlvX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHsKIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAKLQlpbnRl bF9jcnRjLT5tbWlvX2ZsaXAuc2Vxbm8gPSBvYmotPmxhc3Rfd3JpdGVfc2Vxbm87CisJaW50ZWxf Y3J0Yy0+bW1pb19mbGlwLnNlcW5vID0KKwkJCSAgICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vx bm8ob2JqLT5sYXN0X3dyaXRlX3JlcSk7CiAJaW50ZWxfY3J0Yy0+bW1pb19mbGlwLnJpbmcgPSBv YmotPnJpbmc7CiAKIAlzY2hlZHVsZV93b3JrKCZpbnRlbF9jcnRjLT5tbWlvX2ZsaXAud29yayk7 CkBAIC05ODM2LDcgKzk4MzcsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaWYgKHJldCkKIAkJCWdvdG8gY2xlYW51cF91bnBpbjsK IAotCQl3b3JrLT5mbGlwX3F1ZXVlZF9zZXFubyA9IG9iai0+bGFzdF93cml0ZV9zZXFubzsKKwkJ d29yay0+ZmxpcF9xdWV1ZWRfc2Vxbm8gPQorCQkJICAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9z ZXFubyhvYmotPmxhc3Rfd3JpdGVfcmVxKTsKIAkJd29yay0+ZmxpcF9xdWV1ZWRfcmluZyA9IG9i ai0+cmluZzsKIAl9IGVsc2UgewogCQlyZXQgPSBkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlw KGRldiwgY3J0YywgZmIsIG9iaiwgcmluZywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuaAppbmRleCAyMDYzNmUwLi5kYmFjMTMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oCkBAIC0yNTEsNyArMjUxLDcgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVf Y3MgewogCSAqIHJpbmdidWZmZXIuCiAJICoKIAkgKiBJbmNsdWRlcyBidWZmZXJzIGhhdmluZyB0 aGUgY29udGVudHMgb2YgdGhlaXIgR1BVIGNhY2hlcwotCSAqIGZsdXNoZWQsIG5vdCBuZWNlc3Nh cmlseSBwcmltaXRpdmVzLiAgbGFzdF9yZW5kZXJpbmdfc2Vxbm8KKwkgKiBmbHVzaGVkLCBub3Qg bmVjZXNzYXJpbHkgcHJpbWl0aXZlcy4gIGxhc3RfcmVhZF9yZXEKIAkgKiByZXByZXNlbnRzIHdo ZW4gdGhlIHJlbmRlcmluZyBpbnZvbHZlZCB3aWxsIGJlIGNvbXBsZXRlZC4KIAkgKgogCSAqIEEg cmVmZXJlbmNlIGlzIGhlbGQgb24gdGhlIGJ1ZmZlciB3aGlsZSBvbiB0aGlzIGxpc3QuCi0tIAox LjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=