From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 06/43] drm/i915: Reduce presumption of request ordering for barriers Date: Wed, 6 Mar 2019 14:24:40 +0000 Message-ID: <20190306142517.22558-7-chris@chris-wilson.co.uk> References: <20190306142517.22558-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0ABDB6E101 for ; Wed, 6 Mar 2019 14:27:21 +0000 (UTC) In-Reply-To: <20190306142517.22558-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 Cc: matthew.auld@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHdlIGFzc3VtZSB0aGF0IHdlIGtub3cgdGhlIG9yZGVyIGluIHdoaWNoIHJlcXVl c3RzIHJ1biBhbmQgc28KY2FuIGRldGVybWluZSBpZiB3ZSBuZWVkIHRvIHJlaXNzdWUgYSBzd2l0 Y2gtdG8ta2VybmVsLWNvbnRleHQgcHJpb3IgdG8KaWRsaW5nLiBUaGF0IGFzc3VtcHRpb24gZG9l cyBub3QgaG9sZCBmb3IgdGhlIGZ1dHVyZSwgc28gaW5zdGVhZCBvZgp0cmFja2luZyB3aGljaCBi YXJyaWVycyBoYXZlIGJlZW4gdXNlZCwgc2ltcGx5IGRldGVybWluZSBpZiB3ZSBoYXZlIGV2ZXIK c3dpdGNoZWQgYXdheSBmcm9tIHRoZSBrZXJuZWwgY29udGV4dCBieSB1c2luZyB0aGUgZW5naW5l IGFuZCBiZWZvcmUKaWRsaW5nIGVuc3VyZSB0aGF0IGFsbCBlbmdpbmVzIHRoYXQgaGF2ZSBiZWVu IHVzZWQgc2luY2UgdGhlIGxhc3QgaWRsZQphcmUgc3luY2hyb25vdXNseSBzd2l0Y2hlZCBiYWNr IHRvIHRoZSBrZXJuZWwgY29udGV4dCBmb3Igc2FmZXR5IChhbmQKZWxzZSBvZiBzaHJpbmtpbmcg bWVtb3J5IHdoaWxlIGlkbGUpLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAg ICAgICAgICAgIHwgMTMgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jICAgICAgIHwgNjYgKy0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5oICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V2aWN0LmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlcXVlc3QuYyAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyAgICAgICAgfCAgNSArKwogLi4uL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9nZW1fY29udGV4dC5jIHwgIDMgKy0KIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9m bHVzaF90ZXN0LmMgICB8ICAyICstCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dl bV9kZXZpY2UuYyAgfCAgNCArKwogMTAgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwg NzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZGUxNDJhMjY4Mzcx Li41OWQwNDFlYjcyZDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTk5NCw2ICsxOTk0 LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCiAJCXN0cnVjdCBsaXN0X2hlYWQgYWN0 aXZlX3JpbmdzOwogCQlzdHJ1Y3QgbGlzdF9oZWFkIGNsb3NlZF92bWE7CisJCXVuc2lnbmVkIGxv bmcgYWN0aXZlX2VuZ2luZXM7CiAJCXUzMiBhY3RpdmVfcmVxdWVzdHM7CiAKIAkJLyoqCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYwppbmRleCBkNDgwMGU3ZDZmMmMuLmVkNzY5NWZkNDQ0YSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0yODQ1LDkgKzI4NDUsMTAgQEAgc3RhdGljIHZvaWQgYXNz ZXJ0X2tlcm5lbF9jb250ZXh0X2lzX2N1cnJlbnQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUpCiAJfQogfQogCi1zdGF0aWMgYm9vbCBzd2l0Y2hfdG9fa2VybmVsX2NvbnRleHRfc3luYyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3N0YXRpYyBib29sIHN3aXRjaF90b19rZXJu ZWxfY29udGV4dF9zeW5jKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJCQkgIHVu c2lnbmVkIGxvbmcgbWFzaykKIHsKLQlpZiAoaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250 ZXh0KGk5MTUpKQorCWlmIChpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQoaTkxNSwg bWFzaykpCiAJCXJldHVybiBmYWxzZTsKIAogCWlmIChpOTE1X2dlbV93YWl0X2Zvcl9pZGxlKGk5 MTUsCkBAIC0yODYyLDcgKzI4NjMsOCBAQCBzdGF0aWMgYm9vbCBzd2l0Y2hfdG9fa2VybmVsX2Nv bnRleHRfc3luYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogc3RhdGljIGJvb2wg bG9hZF9wb3dlcl9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCWlm ICghc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0X3N5bmMoaTkxNSkpCisJLyogRm9yY2UgbG9hZGlu ZyB0aGUga2VybmVsIGNvbnRleHQgb24gYWxsIGVuZ2luZXMgKi8KKwlpZiAoIXN3aXRjaF90b19r ZXJuZWxfY29udGV4dF9zeW5jKGk5MTUsIC0xKSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJLyoKQEAg LTI5MTAsNyArMjkxMiw4IEBAIGk5MTVfZ2VtX2lkbGVfd29ya19oYW5kbGVyKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKIAlpZiAoIWd0LT5hY3RpdmVfcmVxdWVzdHMgJiYgIXdvcmtfcGVuZGlu ZygmZ3QtPmlkbGVfd29yay53b3JrKSkgewogCQkrK2d0LT5hY3RpdmVfcmVxdWVzdHM7IC8qIGRv bid0IHJlcXVldWUgaWRsZSAqLwogCi0JCWlmICghc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0X3N5 bmMoaTkxNSkpIHsKKwkJaWYgKCFzd2l0Y2hfdG9fa2VybmVsX2NvbnRleHRfc3luYyhpOTE1LAor CQkJCQkJICAgaTkxNS0+Z3QuYWN0aXZlX2VuZ2luZXMpKSB7CiAJCQlkZXZfZXJyKGk5MTUtPmRy bS5kZXYsCiAJCQkJIkZhaWxlZCB0byBpZGxlIGVuZ2luZXMsIGRlY2xhcmluZyB3ZWRnZWQhXG4i KTsKIAkJCUdFTV9UUkFDRV9EVU1QKCk7CkBAIC00MzY5LDcgKzQzNzIsNyBAQCB2b2lkIGk5MTVf Z2VtX3N1c3BlbmQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJICogc3RhdGUuIEZv cnR1bmF0ZWx5LCB0aGUga2VybmVsX2NvbnRleHQgaXMgZGlzcG9zYWJsZSBhbmQgd2UgZG8KIAkg KiBub3QgcmVseSBvbiBpdHMgc3RhdGUuCiAJICovCi0JaWYgKCFzd2l0Y2hfdG9fa2VybmVsX2Nv bnRleHRfc3luYyhpOTE1KSkgeworCWlmICghc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0X3N5bmMo aTkxNSwgaTkxNS0+Z3QuYWN0aXZlX2VuZ2luZXMpKSB7CiAJCS8qIEZvcmNpYmx5IGNhbmNlbCBv dXRzdGFuZGluZyB3b3JrIGFuZCBsZWF2ZSB0aGUgZ3B1IHF1aWV0LiAqLwogCQlpOTE1X2dlbV9z ZXRfd2VkZ2VkKGk5MTUpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YwppbmRleCA5YTNlYjRmNjZkODUuLjQ4NjIwM2U5ZDIwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtNzA0LDYzICs3MDQsMTAgQEAgbGFzdF9yZXF1ZXN0X29u X2VuZ2luZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsCiAJcmV0dXJuIE5VTEw7CiB9 CiAKLXN0YXRpYyBib29sIGVuZ2luZV9oYXNfa2VybmVsX2NvbnRleHRfYmFycmllcihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSBlbmdpbmUtPmk5MTU7Ci0JY29uc3Qgc3RydWN0IGludGVsX2NvbnRleHQgKiBjb25zdCBj ZSA9Ci0JCXRvX2ludGVsX2NvbnRleHQoaTkxNS0+a2VybmVsX2NvbnRleHQsIGVuZ2luZSk7Ci0J c3RydWN0IGk5MTVfdGltZWxpbmUgKmJhcnJpZXIgPSBjZS0+cmluZy0+dGltZWxpbmU7Ci0Jc3Ry dWN0IGludGVsX3JpbmcgKnJpbmc7Ci0JYm9vbCBhbnlfYWN0aXZlID0gZmFsc2U7Ci0KLQlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKLQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHJpbmcsICZpOTE1LT5ndC5hY3RpdmVfcmluZ3MsIGFjdGl2ZV9saW5rKSB7Ci0JCXN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwotCi0JCXJxID0gbGFzdF9yZXF1ZXN0X29uX2VuZ2luZShy aW5nLT50aW1lbGluZSwgZW5naW5lKTsKLQkJaWYgKCFycSkKLQkJCWNvbnRpbnVlOwotCi0JCWFu eV9hY3RpdmUgPSB0cnVlOwotCi0JCWlmIChycS0+aHdfY29udGV4dCA9PSBjZSkKLQkJCWNvbnRp bnVlOwotCi0JCS8qCi0JCSAqIFdhcyB0aGlzIHJlcXVlc3Qgc3VibWl0dGVkIGFmdGVyIHRoZSBw cmV2aW91cwotCQkgKiBzd2l0Y2gtdG8ta2VybmVsLWNvbnRleHQ/Ci0JCSAqLwotCQlpZiAoIWk5 MTVfdGltZWxpbmVfc3luY19pc19sYXRlcihiYXJyaWVyLCAmcnEtPmZlbmNlKSkgewotCQkJR0VN X1RSQUNFKCIlcyBuZWVkcyBiYXJyaWVyIGZvciAlbGx4OiVsbGRcbiIsCi0JCQkJICByaW5nLT50 aW1lbGluZS0+bmFtZSwKLQkJCQkgIHJxLT5mZW5jZS5jb250ZXh0LAotCQkJCSAgcnEtPmZlbmNl LnNlcW5vKTsKLQkJCXJldHVybiBmYWxzZTsKLQkJfQotCi0JCUdFTV9UUkFDRSgiJXMgaGFzIGJh cnJpZXIgYWZ0ZXIgJWxseDolbGxkXG4iLAotCQkJICByaW5nLT50aW1lbGluZS0+bmFtZSwKLQkJ CSAgcnEtPmZlbmNlLmNvbnRleHQsCi0JCQkgIHJxLT5mZW5jZS5zZXFubyk7Ci0JfQotCi0JLyoK LQkgKiBJZiBhbnkgb3RoZXIgdGltZWxpbmUgd2FzIHN0aWxsIGFjdGl2ZSBhbmQgYmVoaW5kIHRo ZSBsYXN0IGJhcnJpZXIsCi0JICogdGhlbiBvdXIgbGFzdCBzd2l0Y2gtdG8ta2VybmVsLWNvbnRl eHQgbXVzdCBzdGlsbCBiZSBxdWV1ZWQgYW5kCi0JICogd2lsbCBydW4gbGFzdCAobGVhdmluZyB0 aGUgZW5naW5lIGluIHRoZSBrZXJuZWwgY29udGV4dCB3aGVuIGl0Ci0JICogZXZlbnR1YWxseSBp ZGxlcykuCi0JICovCi0JaWYgKGFueV9hY3RpdmUpCi0JCXJldHVybiB0cnVlOwotCi0JLyogVGhl IGVuZ2luZSBpcyBpZGxlOyBjaGVjayB0aGF0IGl0IGlzIGlkbGluZyBpbiB0aGUga2VybmVsIGNv bnRleHQuICovCi0JcmV0dXJuIGVuZ2luZS0+bGFzdF9yZXRpcmVkX2NvbnRleHQgPT0gY2U7Ci19 Ci0KLWludCBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCitpbnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbWFz aykKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Ci0JZW51bSBpbnRlbF9lbmdp bmVfaWQgaWQ7CiAKIAlHRU1fVFJBQ0UoImF3YWtlPz0lc1xuIiwgeWVzbm8oaTkxNS0+Z3QuYXdh a2UpKTsKIApAQCAtNzcxLDE3ICs3MTgsMTEgQEAgaW50IGk5MTVfZ2VtX3N3aXRjaF90b19rZXJu ZWxfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlpZiAoaTkxNV90ZXJt aW5hbGx5X3dlZGdlZChpOTE1KSkKIAkJcmV0dXJuIDA7CiAKLQlpOTE1X3JldGlyZV9yZXF1ZXN0 cyhpOTE1KTsKLQotCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7CisJZm9yX2Vh Y2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGk5MTUsIG1hc2ssIG1hc2spIHsKIAkJc3RydWN0IGlu dGVsX3JpbmcgKnJpbmc7CiAJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCiAJCUdFTV9CVUdf T04oIXRvX2ludGVsX2NvbnRleHQoaTkxNS0+a2VybmVsX2NvbnRleHQsIGVuZ2luZSkpOwotCQlp ZiAoZW5naW5lX2hhc19rZXJuZWxfY29udGV4dF9iYXJyaWVyKGVuZ2luZSkpCi0JCQljb250aW51 ZTsKLQotCQlHRU1fVFJBQ0UoImVtaXQgYmFycmllciBvbiAlc1xuIiwgZW5naW5lLT5uYW1lKTsK IAogCQlycSA9IGk5MTVfcmVxdWVzdF9hbGxvYyhlbmdpbmUsIGk5MTUtPmtlcm5lbF9jb250ZXh0 KTsKIAkJaWYgKElTX0VSUihycSkpCkBAIC04MDUsNyArNzQ2LDYgQEAgaW50IGk5MTVfZ2VtX3N3 aXRjaF90b19rZXJuZWxfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJ CWk5MTVfc3dfZmVuY2VfYXdhaXRfc3dfZmVuY2VfZ2ZwKCZycS0+c3VibWl0LAogCQkJCQkJCSAm cHJldi0+c3VibWl0LAogCQkJCQkJCSBJOTE1X0ZFTkNFX0dGUCk7Ci0JCQlpOTE1X3RpbWVsaW5l X3N5bmNfc2V0KHJxLT50aW1lbGluZSwgJnByZXYtPmZlbmNlKTsKIAkJfQogCiAJCWk5MTVfcmVx dWVzdF9hZGQocnEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCmluZGV4 IDJmOWVmMzMzYWNhYS4uZTExODhkNzdhMjNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5oCkBAIC0zNzIsNyArMzcyLDggQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfb3Bl bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIHZvaWQgaTkxNV9nZW1fY29udGV4dF9j bG9zZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwogCiBpbnQgaTkxNV9zd2l0Y2hfY29udGV4dChz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSk7Ci1pbnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9j b250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CitpbnQgaTkxNV9nZW1f c3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAor CQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZW5naW5lX21hc2spOwogCiB2b2lkIGk5MTVfZ2VtX2Nv bnRleHRfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqY3R4X3JlZik7CiBzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXZpY3QuYwppbmRleCA2OGQ3NGM1MGFj MzkuLjdkOGU5MGRmY2E4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXZpY3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ldmljdC5jCkBA IC02Miw3ICs2Miw3IEBAIHN0YXRpYyBpbnQgZ2d0dF9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAkgKiB0aGUgaG9wZXMgdGhhdCB3ZSBjYW4gdGhlbiByZW1vdmUgY29udGV4 dHMgYW5kIHRoZSBsaWtlIG9ubHkKIAkgKiBib3VuZCBieSB0aGVpciBhY3RpdmUgcmVmZXJlbmNl LgogCSAqLwotCWVyciA9IGk5MTVfZ2VtX3N3aXRjaF90b19rZXJuZWxfY29udGV4dChpOTE1KTsK KwllcnIgPSBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQoaTkxNSwgaTkxNS0+Z3Qu YWN0aXZlX2VuZ2luZXMpOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXF1ZXN0LmMKaW5kZXggZjhhNjM0OTUxMTRjLi45NTMzYTg1Y2IwYjMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCkBAIC0xMDY4LDYgKzEwNjgsNyBAQCB2b2lkIGk5 MTVfcmVxdWVzdF9hZGQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKIAkJR0VNX1RSQUNF KCJtYXJraW5nICVzIGFzIGFjdGl2ZVxuIiwgcmluZy0+dGltZWxpbmUtPm5hbWUpOwogCQlsaXN0 X2FkZCgmcmluZy0+YWN0aXZlX2xpbmssICZyZXF1ZXN0LT5pOTE1LT5ndC5hY3RpdmVfcmluZ3Mp OwogCX0KKwlyZXF1ZXN0LT5pOTE1LT5ndC5hY3RpdmVfZW5naW5lcyB8PSByZXF1ZXN0LT5lbmdp bmUtPm1hc2s7CiAJcmVxdWVzdC0+ZW1pdHRlZF9qaWZmaWVzID0gamlmZmllczsKIAogCS8qCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDU1NWE0NTkwZmEyMy4uMTgx NzRmODA4ZmQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVf Y3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMTEw Niw2ICsxMTA2LDkgQEAgYm9vbCBpbnRlbF9lbmdpbmVfaGFzX2tlcm5lbF9jb250ZXh0KGNvbnN0 IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JmVuZ2luZS0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKKwlpZiAoIWVuZ2luZS0+Y29udGV4 dF9zaXplKQorCQlyZXR1cm4gdHJ1ZTsKKwogCS8qCiAJICogQ2hlY2sgdGhlIGxhc3QgY29udGV4 dCBzZWVuIGJ5IHRoZSBlbmdpbmUuIElmIGFjdGl2ZSwgaXQgd2lsbCBiZQogCSAqIHRoZSBsYXN0 IHJlcXVlc3QgdGhhdCByZW1haW5zIGluIHRoZSB0aW1lbGluZS4gV2hlbiBpZGxlLCBpdCBpcwpA QCAtMTIwNSw2ICsxMjA4LDggQEAgdm9pZCBpbnRlbF9lbmdpbmVzX3Bhcmsoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAJCWk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaSgmZW5naW5lLT5i YXRjaF9wb29sKTsKIAkJZW5naW5lLT5leGVjbGlzdHMubm9fcHJpb2xpc3QgPSBmYWxzZTsKIAl9 CisKKwlpOTE1LT5ndC5hY3RpdmVfZW5naW5lcyA9IDA7CiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggY2IzZDc3 Yzk1ZGRmLi4wMGFjMzQwMDc1ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMTUxNCw3ICsxNTE0LDggQEAgc3RhdGljIGlu dCBfX2lndF9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCiAJCQl9CiAJCX0KIAotCQllcnIgPSBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2Nv bnRleHQoaTkxNSk7CisJCWVyciA9IGk5MTVfZ2VtX3N3aXRjaF90b19rZXJuZWxfY29udGV4dChp OTE1LAorCQkJCQkJCWk5MTUtPmd0LmFjdGl2ZV9lbmdpbmVzKTsKIAkJaWYgKGVycikKIAkJCXJl dHVybiBlcnI7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p Z3RfZmx1c2hfdGVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9mbHVz aF90ZXN0LmMKaW5kZXggZTBkMzEyMmZkMzVhLi45NGFlZTQwNzFhNjYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfZmx1c2hfdGVzdC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3RfZmx1c2hfdGVzdC5jCkBAIC0xNCw3ICsxNCw3 IEBAIGludCBpZ3RfZmx1c2hfdGVzdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdW5z aWduZWQgaW50IGZsYWdzKQogCWNvbmRfcmVzY2hlZCgpOwogCiAJaWYgKGZsYWdzICYgSTkxNV9X QUlUX0xPQ0tFRCAmJgotCSAgICBpOTE1X2dlbV9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQoaTkx NSkpIHsKKwkgICAgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KGk5MTUsIGk5MTUt Pmd0LmFjdGl2ZV9lbmdpbmVzKSkgewogCQlwcl9lcnIoIkZhaWxlZCB0byBzd2l0Y2ggYmFjayB0 byBrZXJuZWwgY29udGV4dDsgZGVjbGFyaW5nIHdlZGdlZFxuIik7CiAJCWk5MTVfZ2VtX3NldF93 ZWRnZWQoaTkxNSk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21v Y2tfZ2VtX2RldmljZS5jCmluZGV4IGIyYzc4MDhlMDU5NS4uNTRjZmI2MTFjMGFhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCkBAIC0x MDksNiArMTA5LDEwIEBAIHN0YXRpYyB2b2lkIG1vY2tfcmV0aXJlX3dvcmtfaGFuZGxlcihzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAKIHN0YXRpYyB2b2lkIG1vY2tfaWRsZV93b3JrX2hhbmRs ZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0KKwkJY29udGFpbmVyX29mKHdvcmssIHR5cGVvZigqaTkxNSksIGd0LmlkbGVfd29y ay53b3JrKTsKKworCWk5MTUtPmd0LmFjdGl2ZV9lbmdpbmVzID0gMDsKIH0KIAogc3RhdGljIGlu dCBwbV9kb21haW5fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKLS0gCjIuMjAuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4