From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/32] drm/i915: Store the reset counter when constructing a request Date: Fri, 11 Dec 2015 11:33:03 +0000 Message-ID: <1449833608-22125-8-git-send-email-chris@chris-wilson.co.uk> References: <1449833608-22125-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id 068C56EDC5 for ; Fri, 11 Dec 2015 03:34:04 -0800 (PST) In-Reply-To: <1449833608-22125-1-git-send-email-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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org QXMgdGhlIHJlcXVlc3QgaXMgb25seSB2YWxpZCBkdXJpbmcgdGhlIHNhbWUgZ2xvYmFsIHJlc2V0 IGVwb2NoLCB3ZSBjYW4KcmVjb3JkIHRoZSBjdXJyZW50IHJlc2V0X2NvdW50ZXIgd2hlbiBjb25z dHJ1Y3RpbmcgdGhlIHJlcXVlc3QgYW5kIHJldXNlCml0IHdoZW4gd2FpdGluZyB1cG9uIHRoYXQg cmVxdWVzdCBpbiBmdXR1cmUuIFRoaXMgcmVtb3ZlcyBhIHZlcnkgaGFpcnkKYXRvbWljIGNoZWNr IHNlcmlhbGlzZWQgYnkgdGhlIHN0cnVjdF9tdXRleCBhdCB0aGUgdGltZSBvZiB3YWl0aW5nIGFu ZAphbGxvd3MgdXMgdG8gdHJhbnNmZXIgdGhvc2Ugd2FpdHMgdG8gYSBjZW50cmFsIGRpc3BhdGNo ZXIgZm9yIGFsbAp3YWl0ZXJzIGFuZCBhbGwgcmVxdWVzdHMuCgpTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhbmllbCBWZXR0ZXIgPGRh bmllbC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICB8IDQwICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgIDcgKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYyAgICAgICAgfCAgNyAtLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyB8ICA2IC0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlv bnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDEwNDNk ZGQ2NzBhNS4uZjMwYzMwNWE2ODg5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIxNzgs NiArMjE3OCw3IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJLyoqIE9uIFdoaWNo IHJpbmcgdGhpcyByZXF1ZXN0IHdhcyBnZW5lcmF0ZWQgKi8KIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCXVuc2lnbmVkIHJl c2V0X2NvdW50ZXI7CiAKIAkgLyoqIEdFTSBzZXF1ZW5jZSBudW1iZXIgYXNzb2NpYXRlZCB3aXRo IHRoZSBwcmV2aW91cyByZXF1ZXN0LAogCSAgKiB3aGVuIHRoZSBIV1MgYnJlYWRjcnVtYiBpcyBl cXVhbCB0byB0aGlzIHRoZSBHUFUgaXMgcHJvY2Vzc2luZwpAQCAtMzA1OSw3ICszMDYwLDYgQEAg dm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEs CiAjZGVmaW5lIGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKSBcCiAJX19pOTE1X2FkZF9y ZXF1ZXN0KHJlcSwgTlVMTCwgZmFsc2UpCiBpbnQgX19pOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKLQkJCXVuc2lnbmVkIHJlc2V0X2NvdW50ZXIsCiAJ CQlib29sIGludGVycnVwdGlibGUsCiAJCQlzNjQgKnRpbWVvdXQsCiAJCQlzdHJ1Y3QgaW50ZWxf cnBzX2NsaWVudCAqcnBzKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDI3ZTYxN2I3NjQx OC4uYjE3Y2MwZTQyYTRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTEyMTQsNyArMTIx NCw2IEBAIHN0YXRpYyBpbnQgX19pOTE1X3NwaW5fcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwgaW50IHN0YXRlKQogLyoqCiAgKiBfX2k5MTVfd2FpdF9yZXF1ZXN0IC0g d2FpdCB1bnRpbCBleGVjdXRpb24gb2YgcmVxdWVzdCBoYXMgZmluaXNoZWQKICAqIEByZXE6IGR1 aCEKLSAqIEByZXNldF9jb3VudGVyOiByZXNldCBzZXF1ZW5jZSBhc3NvY2lhdGVkIHdpdGggdGhl IGdpdmVuIHJlcXVlc3QKICAqIEBpbnRlcnJ1cHRpYmxlOiBkbyBhbiBpbnRlcnJ1cHRpYmxlIHdh aXQgKG5vcm1hbGx5IHllcykKICAqIEB0aW1lb3V0OiBpbiAtIGhvdyBsb25nIHRvIHdhaXQgKE5V TEwgZm9yZXZlcik7IG91dCAtIGhvdyBtdWNoIHRpbWUgcmVtYWluaW5nCiAgKgpAQCAtMTIyOSw3 ICsxMjI4LDYgQEAgc3RhdGljIGludCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLCBpbnQgc3RhdGUpCiAgKiBlcnJubyB3aXRoIHJlbWFpbmluZyB0 aW1lIGZpbGxlZCBpbiB0aW1lb3V0IGFyZ3VtZW50LgogICovCiBpbnQgX19pOTE1X3dhaXRfcmVx dWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKLQkJCXVuc2lnbmVkIHJlc2V0 X2NvdW50ZXIsCiAJCQlib29sIGludGVycnVwdGlibGUsCiAJCQlzNjQgKnRpbWVvdXQsCiAJCQlz dHJ1Y3QgaW50ZWxfcnBzX2NsaWVudCAqcnBzKQpAQCAtMTI4OCw3ICsxMjg2LDcgQEAgaW50IF9f aTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAKIAkJ LyogV2UgbmVlZCB0byBjaGVjayB3aGV0aGVyIGFueSBncHUgcmVzZXQgaGFwcGVuZWQgaW4gYmV0 d2VlbgogCQkgKiB0aGUgY2FsbGVyIGdyYWJiaW5nIHRoZSBzZXFubyBhbmQgbm93IC4uLiAqLwot CQlpZiAocmVzZXRfY291bnRlciAhPSBpOTE1X3Jlc2V0X2NvdW50ZXIoJmRldl9wcml2LT5ncHVf ZXJyb3IpKSB7CisJCWlmIChyZXEtPnJlc2V0X2NvdW50ZXIgIT0gaTkxNV9yZXNldF9jb3VudGVy KCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkgewogCQkJLyogLi4uIGJ1dCB1cGdyYWRlIHRoZSAtRUFH QUlOIHRvIGFuIC1FSU8gaWYgdGhlIGdwdQogCQkJICogaXMgdHJ1ZWx5IGdvbmUuICovCiAJCQly ZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJvciwgaW50ZXJydXB0 aWJsZSk7CkBAIC0xNDYxLDEzICsxNDU5LDcgQEAgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAKIAlCVUdfT04oIW11dGV4X2lzX2xvY2tlZCgmZGV2 LT5zdHJ1Y3RfbXV0ZXgpKTsKIAotCXJldCA9IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJp di0+Z3B1X2Vycm9yLCBpbnRlcnJ1cHRpYmxlKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0Owot Ci0JcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdChyZXEsCi0JCQkJICBpOTE1X3Jlc2V0X2NvdW50 ZXIoJmRldl9wcml2LT5ncHVfZXJyb3IpLAotCQkJCSAgaW50ZXJydXB0aWJsZSwgTlVMTCwgTlVM TCk7CisJcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdChyZXEsIGludGVycnVwdGlibGUsIE5VTEws IE5VTEwpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTE1NDIsNyArMTUzNCw2IEBA IGk5MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmluZ19fbm9uYmxvY2tpbmcoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb2JqLT5iYXNl LmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdHNbSTkxNV9OVU1fUklO R1NdOwotCXVuc2lnbmVkIHJlc2V0X2NvdW50ZXI7CiAJaW50IHJldCwgaSwgbiA9IDA7CiAKIAlC VUdfT04oIW11dGV4X2lzX2xvY2tlZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKQEAgLTE1NTEsMTIg KzE1NDIsNiBAQCBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmdfX25vbmJsb2NraW5nKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJaWYgKCFvYmotPmFjdGl2ZSkKIAkJcmV0 dXJuIDA7CiAKLQlyZXQgPSBpOTE1X2dlbV9jaGVja193ZWRnZSgmZGV2X3ByaXYtPmdwdV9lcnJv ciwgdHJ1ZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCXJlc2V0X2NvdW50ZXIgPSBp OTE1X3Jlc2V0X2NvdW50ZXIoJmRldl9wcml2LT5ncHVfZXJyb3IpOwotCiAJaWYgKHJlYWRvbmx5 KSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCkBAIC0xNTc4LDkgKzE1 NjMsOSBAQCBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmdfX25vbmJsb2NraW5nKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0 cnVjdF9tdXRleCk7CisJcmV0ID0gMDsKIAlmb3IgKGkgPSAwOyByZXQgPT0gMCAmJiBpIDwgbjsg aSsrKQotCQlyZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KHJlcXVlc3RzW2ldLCByZXNldF9jb3Vu dGVyLCB0cnVlLAotCQkJCQkgIE5VTEwsIHJwcyk7CisJCXJldCA9IF9faTkxNV93YWl0X3JlcXVl c3QocmVxdWVzdHNbaV0sIHRydWUsIE5VTEwsIHJwcyk7CiAJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1 Y3RfbXV0ZXgpOwogCiAJZm9yIChpID0gMDsgaSA8IG47IGkrKykgewpAQCAtMjY4NCw2ICsyNjY5 LDcgQEAgaW50IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnJlcV9vdXQpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShyaW5nLT5kZXYpOwor CXVuc2lnbmVkIHJlc2V0X2NvdW50ZXIgPSBpOTE1X3Jlc2V0X2NvdW50ZXIoJmRldl9wcml2LT5n cHVfZXJyb3IpOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCWludCByZXQ7 CiAKQEAgLTI2OTIsNiArMjY3OCwxMSBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCiAJKnJlcV9vdXQgPSBOVUxMOwogCisJcmV0ID0g aTkxNV9nZW1fY2hlY2tfd2VkZ2UoJmRldl9wcml2LT5ncHVfZXJyb3IsCisJCQkJICAgZGV2X3By aXYtPm1tLmludGVycnVwdGlibGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAlyZXEg PSBrbWVtX2NhY2hlX3phbGxvYyhkZXZfcHJpdi0+cmVxdWVzdHMsIEdGUF9LRVJORUwpOwogCWlm IChyZXEgPT0gTlVMTCkKIAkJcmV0dXJuIC1FTk9NRU07CkBAIC0yNzAzLDYgKzI2OTQsNyBAQCBp bnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CWtyZWZfaW5pdCgmcmVxLT5yZWYpOwogCXJlcS0+aTkxNSA9IGRldl9wcml2OwogCXJlcS0+cmlu ZyA9IHJpbmc7CisJcmVxLT5yZXNldF9jb3VudGVyID0gcmVzZXRfY291bnRlcjsKIAlyZXEtPmN0 eCAgPSBjdHg7CiAJaTkxNV9nZW1fY29udGV4dF9yZWZlcmVuY2UocmVxLT5jdHgpOwogCkBAIC0z MDY3LDExICszMDU5LDkgQEAgcmV0aXJlOgogaW50CiBpOTE1X2dlbV93YWl0X2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwog CXN0cnVjdCBkcm1faTkxNV9nZW1fd2FpdCAqYXJncyA9IGRhdGE7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcVtJOTE1 X05VTV9SSU5HU107Ci0JdW5zaWduZWQgcmVzZXRfY291bnRlcjsKIAlpbnQgaSwgbiA9IDA7CiAJ aW50IHJldDsKIApAQCAtMzEwNSw3ICszMDk1LDYgQEAgaTkxNV9nZW1fd2FpdF9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJ fQogCiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7Ci0JcmVzZXRfY291 bnRlciA9IGk5MTVfcmVzZXRfY291bnRlcigmZGV2X3ByaXYtPmdwdV9lcnJvcik7CiAKIAlmb3Ig KGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgewogCQlpZiAob2JqLT5sYXN0X3JlYWRf cmVxW2ldID09IE5VTEwpCkBAIC0zMTE4LDcgKzMxMDcsNyBAQCBpOTE1X2dlbV93YWl0X2lvY3Rs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKIAogCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKIAkJaWYgKHJldCA9PSAwKQotCQkJcmV0 ID0gX19pOTE1X3dhaXRfcmVxdWVzdChyZXFbaV0sIHJlc2V0X2NvdW50ZXIsIHRydWUsCisJCQly ZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KHJlcVtpXSwgdHJ1ZSwKIAkJCQkJCSAgYXJncy0+dGlt ZW91dF9ucyA+IDAgPyAmYXJncy0+dGltZW91dF9ucyA6IE5VTEwsCiAJCQkJCQkgIHRvX3Jwc19j bGllbnQoZmlsZSkpOwogCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlX191bmxvY2tlZChy ZXFbaV0pOwpAQCAtMzE1MCw3ICszMTM5LDYgQEAgX19pOTE1X2dlbV9vYmplY3Rfc3luYyhzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWlmICghaTkxNV9zZW1hcGhvcmVfaXNfZW5h YmxlZChvYmotPmJhc2UuZGV2KSkgewogCQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CiAJCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QoZnJv bV9yZXEsCi0JCQkJCSAgaTkxNV9yZXNldF9jb3VudGVyKCZpOTE1LT5ncHVfZXJyb3IpLAogCQkJ CQkgIGk5MTUtPm1tLmludGVycnVwdGlibGUsCiAJCQkJCSAgTlVMTCwKIAkJCQkJICAmaTkxNS0+ cnBzLnNlbWFwaG9yZXMpOwpAQCAtNDA5OSw3ICs0MDg3LDYgQEAgaTkxNV9nZW1fcmluZ190aHJv dHRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJc3Ry dWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7 CiAJdW5zaWduZWQgbG9uZyByZWNlbnRfZW5vdWdoID0gamlmZmllcyAtIERSTV9JOTE1X1RIUk9U VExFX0pJRkZJRVM7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0LCAqdGFy Z2V0ID0gTlVMTDsKLQl1bnNpZ25lZCByZXNldF9jb3VudGVyOwogCWludCByZXQ7CiAKIAlyZXQg PSBpOTE1X2dlbV93YWl0X2Zvcl9lcnJvcigmZGV2X3ByaXYtPmdwdV9lcnJvcik7CkBAIC00MTI0 LDcgKzQxMTEsNiBAQCBpOTE1X2dlbV9yaW5nX3Rocm90dGxlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAogCQl0YXJnZXQgPSByZXF1ZXN0OwogCX0KLQly ZXNldF9jb3VudGVyID0gaTkxNV9yZXNldF9jb3VudGVyKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKTsK IAlpZiAodGFyZ2V0KQogCQlpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZSh0YXJnZXQpOwogCXNw aW5fdW5sb2NrKCZmaWxlX3ByaXYtPm1tLmxvY2spOwpAQCAtNDEzMiw3ICs0MTE4LDcgQEAgaTkx NV9nZW1fcmluZ190aHJvdHRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGUpCiAJaWYgKHRhcmdldCA9PSBOVUxMKQogCQlyZXR1cm4gMDsKIAotCXJldCA9IF9f aTkxNV93YWl0X3JlcXVlc3QodGFyZ2V0LCByZXNldF9jb3VudGVyLCB0cnVlLCBOVUxMLCBOVUxM KTsKKwlyZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KHRhcmdldCwgdHJ1ZSwgTlVMTCwgTlVMTCk7 CiAJaWYgKHJldCA9PSAwKQogCQlxdWV1ZV9kZWxheWVkX3dvcmsoZGV2X3ByaXYtPndxLCAmZGV2 X3ByaXYtPm1tLnJldGlyZV93b3JrLCAwKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCmluZGV4IDhiNjAyOGNkNjE5Zi4uZDU5YmVjYTkyOGI3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCkBAIC0xMTM5NCw3ICsxMTM5NCw2IEBAIHN0YXRpYyB2b2lkIGludGVs X21taW9fZmxpcF93b3JrX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCiAJaWYgKG1t aW9fZmxpcC0+cmVxKSB7CiAJCVdBUk5fT04oX19pOTE1X3dhaXRfcmVxdWVzdChtbWlvX2ZsaXAt PnJlcSwKLQkJCQkJICAgIG1taW9fZmxpcC0+Y3J0Yy0+cmVzZXRfY291bnRlciwKIAkJCQkJICAg IGZhbHNlLCBOVUxMLAogCQkJCQkgICAgJm1taW9fZmxpcC0+aTkxNS0+cnBzLm1taW9mbGlwcykp OwogCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlX191bmxvY2tlZChtbWlvX2ZsaXAtPnJl cSk7CkBAIC0xMzM5NSw5ICsxMzM5NCw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX3ByZXBh cmVfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlyZXQgPSBkcm1fYXRvbWljX2hl bHBlcl9wcmVwYXJlX3BsYW5lcyhkZXYsIHN0YXRlKTsKIAlpZiAoIXJldCAmJiAhYXN5bmMgJiYg IWk5MTVfcmVzZXRfaW5fcHJvZ3Jlc3Nfb3Jfd2VkZ2VkKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkg ewotCQl1MzIgcmVzZXRfY291bnRlcjsKLQotCQlyZXNldF9jb3VudGVyID0gaTkxNV9yZXNldF9j b3VudGVyKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKTsKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVj dF9tdXRleCk7CiAKIAkJZm9yX2VhY2hfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBsYW5lLCBwbGFu ZV9zdGF0ZSwgaSkgewpAQCAtMTM0MDgsOCArMTM0MDQsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0 b21pY19wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCWNvbnRpbnVl OwogCiAJCQlyZXQgPSBfX2k5MTVfd2FpdF9yZXF1ZXN0KGludGVsX3BsYW5lX3N0YXRlLT53YWl0 X3JlcSwKLQkJCQkJCSAgcmVzZXRfY291bnRlciwgdHJ1ZSwKLQkJCQkJCSAgTlVMTCwgTlVMTCk7 CisJCQkJCQkgIHRydWUsIE5VTEwsIE5VTEwpOwogCiAJCQkvKiBTd2FsbG93IC1FSU8gZXJyb3Jz IHRvIGFsbG93IHVwZGF0ZXMgZHVyaW5nIGh3IGxvY2t1cC4gKi8KIAkJCWlmIChyZXQgPT0gLUVJ TykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggODY0MDRiMDNkYzkxLi42OWIyOThlZWQ2 OWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC04MTksMTYgKzgxOSw5IEBAIHN0YXRp YyBpbnQgbG9naWNhbF9yaW5nX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsIGludCBieXRlcykKICAqLwogaW50IGludGVsX2xvZ2ljYWxfcmluZ19iZWdpbihzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgaW50IG51bV9kd29yZHMpCiB7Ci0Jc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2OwogCWludCByZXQ7CiAKIAlXQVJOX09OKHJlcSA9PSBO VUxMKTsKLQlkZXZfcHJpdiA9IHJlcS0+cmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQotCXJldCA9 IGk5MTVfZ2VtX2NoZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLAotCQkJCSAgIGRldl9w cml2LT5tbS5pbnRlcnJ1cHRpYmxlKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwogCiAJcmV0 ID0gbG9naWNhbF9yaW5nX3ByZXBhcmUocmVxLCBudW1fZHdvcmRzICogc2l6ZW9mKHVpbnQzMl90 KSk7CiAJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRl eCBkNzFmYTc3MDU1ZjkuLjk0MmY4NmIzMTZjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYwpAQCAtMjI3NCw3ICsyMjc0LDYgQEAgaW50IGludGVsX3JpbmdfaWRsZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJLyogTWFrZSBzdXJlIHdlIGRvIG5vdCB0 cmlnZ2VyIGFueSByZXRpcmVzICovCiAJcmV0dXJuIF9faTkxNV93YWl0X3JlcXVlc3QocmVxLAot CQkJCSAgIGk5MTVfcmVzZXRfY291bnRlcigmdG9faTkxNShyaW5nLT5kZXYpLT5ncHVfZXJyb3Ip LAogCQkJCSAgIHRvX2k5MTUocmluZy0+ZGV2KS0+bW0uaW50ZXJydXB0aWJsZSwKIAkJCQkgICBO VUxMLCBOVUxMKTsKIH0KQEAgLTI0MDUsMTEgKzI0MDQsNiBAQCBpbnQgaW50ZWxfcmluZ19iZWdp bihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAlyaW5nID0gcmVxLT5yaW5nOwog CWRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAotCXJldCA9IGk5MTVfZ2VtX2No ZWNrX3dlZGdlKCZkZXZfcHJpdi0+Z3B1X2Vycm9yLAotCQkJCSAgIGRldl9wcml2LT5tbS5pbnRl cnJ1cHRpYmxlKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCiAJcmV0ID0gX19pbnRlbF9y aW5nX3ByZXBhcmUocmluZywgbnVtX2R3b3JkcyAqIHNpemVvZih1aW50MzJfdCkpOwogCWlmIChy ZXQpCiAJCXJldHVybiByZXQ7Ci0tIAoyLjYuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK