From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 24/33] drm/i915: Move i915_gem_chipset_flush to intel_gt Date: Wed, 19 Jun 2019 14:24:50 +0100 Message-ID: <20190619132459.25351-25-tvrtko.ursulin@linux.intel.com> References: <20190619132459.25351-1-tvrtko.ursulin@linux.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 ESMTPS id 257DC6E3EF for ; Wed, 19 Jun 2019 13:25:46 +0000 (UTC) In-Reply-To: <20190619132459.25351-1-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgYWxp Z25zIGJldHRlciB3aXRoIHRoZSByZXN0IG9mIHJlc3RydWN0dXJpbmcuCgp2MjoKICogTW92ZSBj YWxsIG91dCBvZiBsaW5lLiAoQ2hyaXMpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8 dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyAgfCAgNSArKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX3BoeXMuYyAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxm dGVzdHMvaHVnZV9wYWdlcy5jIHwgIDQgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZ3QuYyAgICAgICAgICAgICAgfCAgOSArKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX2d0LmggICAgICAgICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMgICAgfCAxNCArKysrKysrKysrLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYyAgfCAgNSArKystLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAgfCAgOCAtLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgICAgfCAgMyArKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3JlcXVlc3QuYyAgIHwgMTAgKysr KysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9zcGlubmVyLmMgICAg fCAgNyArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X3NwaW5uZXIu aCAgICB8ICAzICsrKwogMTIgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjYgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMKaW5kZXggNWZhZTBlNTBhYWQwLi5jZjhlZGI2ODIyZWUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTYsNiArMTYsNyBAQAog CiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX2lvY3Rscy5oIgogI2luY2x1ZGUgImd0L2ludGVsX2Nv bnRleHQuaCIKKyNpbmNsdWRlICJndC9pbnRlbF9ndC5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0 X3BtLmgiCiAKICNpbmNsdWRlICJpOTE1X2dlbV9pb2N0bHMuaCIKQEAgLTk5NCw3ICs5OTUsNyBA QCBzdGF0aWMgdm9pZCByZWxvY19ncHVfZmx1c2goc3RydWN0IHJlbG9jX2NhY2hlICpjYWNoZSkK IAlfX2k5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAoY2FjaGUtPnJxLT5iYXRjaC0+b2JqLCAwLCBj YWNoZS0+cnFfc2l6ZSk7CiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChjYWNoZS0+cnEtPmJh dGNoLT5vYmopOwogCi0JaTkxNV9nZW1fY2hpcHNldF9mbHVzaChjYWNoZS0+cnEtPmk5MTUpOwor CWludGVsX2d0X2NoaXBzZXRfZmx1c2goY2FjaGUtPnJxLT5lbmdpbmUtPmd0KTsKIAogCWk5MTVf cmVxdWVzdF9hZGQoY2FjaGUtPnJxKTsKIAljYWNoZS0+cnEgPSBOVUxMOwpAQCAtMTk1NCw3ICsx OTU1LDcgQEAgc3RhdGljIGludCBlYl9tb3ZlX3RvX2dwdShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy ICplYikKIAllYi0+ZXhlYyA9IE5VTEw7CiAKIAkvKiBVbmNvbmRpdGlvbmFsbHkgZmx1c2ggYW55 IGNoaXBzZXQgY2FjaGVzIChmb3Igc3RyZWFtaW5nIHdyaXRlcykuICovCi0JaTkxNV9nZW1fY2hp cHNldF9mbHVzaChlYi0+aTkxNSk7CisJaW50ZWxfZ3RfY2hpcHNldF9mbHVzaChlYi0+ZW5naW5l LT5ndCk7CiAJcmV0dXJuIDA7CiAKIGVycl9za2lwOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9waHlzLmMKaW5kZXggMmRlYWM5MzNjZjU5Li43YjkwMGVlNGVkOGQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9waHlzLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BoeXMuYwpAQCAtMTMsNiArMTMsNyBAQAogI2lu Y2x1ZGUgPGRybS9kcm1fbGVnYWN5Lmg+IC8qIGZvciBkcm1fcGNpLmghICovCiAjaW5jbHVkZSA8 ZHJtL2RybV9wY2kuaD4KIAorI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAiaTkx NV9kcnYuaCIKICNpbmNsdWRlICJpOTE1X2dlbV9vYmplY3QuaCIKICNpbmNsdWRlICJpOTE1X3Nj YXR0ZXJsaXN0LmgiCkBAIC02MCw3ICs2MSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlc19waHlzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXZhZGRy ICs9IFBBR0VfU0laRTsKIAl9CiAKLQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKHRvX2k5MTUob2Jq LT5iYXNlLmRldikpOworCWludGVsX2d0X2NoaXBzZXRfZmx1c2goJnRvX2k5MTUob2JqLT5iYXNl LmRldiktPmd0KTsKIAogCXN0ID0ga21hbGxvYyhzaXplb2YoKnN0KSwgR0ZQX0tFUk5FTCk7CiAJ aWYgKCFzdCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0 cy9odWdlX3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2Vf cGFnZXMuYwppbmRleCBiNzQ3MjliNmYzNTMuLmRjZjYwYThjMjI5ZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKQEAgLTEwLDYgKzEwLDgg QEAKIAogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9wbS5oIgogCisjaW5jbHVkZSAiZ3QvaW50ZWxf Z3QuaCIKKwogI2luY2x1ZGUgImlndF9nZW1fdXRpbHMuaCIKICNpbmNsdWRlICJtb2NrX2NvbnRl eHQuaCIKIApAQCAtOTI2LDcgKzkyOCw3IEBAIGdwdV93cml0ZV9kdyhzdHJ1Y3QgaTkxNV92bWEg KnZtYSwgdTY0IG9mZnNldCwgdTMyIHZhbCkKIAl9CiAKIAkqY21kID0gTUlfQkFUQ0hfQlVGRkVS X0VORDsKLQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKGk5MTUpOworCWludGVsX2d0X2NoaXBzZXRf Zmx1c2godm1hLT52bS0+Z3QpOwogCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChvYmopOwog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwppbmRleCAyNTAwYmVmMDZhZjQuLmQyNWJjYzRh ZTJjOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jCkBAIC0xODAsNyArMTgwLDcgQEAg dm9pZCBpbnRlbF9ndF9mbHVzaF9nZ3R0X3dyaXRlcyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogCWlm IChJTlRFTF9JTkZPKGk5MTUpLT5oYXNfY29oZXJlbnRfZ2d0dCkKIAkJcmV0dXJuOwogCi0JaTkx NV9nZW1fY2hpcHNldF9mbHVzaChpOTE1KTsKKwlpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKGd0KTsK IAogCXdpdGhfaW50ZWxfcnVudGltZV9wbSgmaTkxNS0+cnVudGltZV9wbSwgd2FrZXJlZikgewog CQlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSBndC0+dW5jb3JlOwpAQCAtMTkxLDMgKzE5 MSwxMCBAQCB2b2lkIGludGVsX2d0X2ZsdXNoX2dndHRfd3JpdGVzKHN0cnVjdCBpbnRlbF9ndCAq Z3QpCiAJCXNwaW5fdW5sb2NrX2lycSgmdW5jb3JlLT5sb2NrKTsKIAl9CiB9CisKK3ZvaWQgaW50 ZWxfZ3RfY2hpcHNldF9mbHVzaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQoreworCXdtYigpOworCWlm IChJTlRFTF9HRU4oZ3QtPmk5MTUpIDwgNikKKwkJaW50ZWxfZ3R0X2NoaXBzZXRfZmx1c2goKTsK K30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCmluZGV4IGQ4OTRjMTE3ODExNi4uZmZkYzMw MTQ0ODZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmgKQEAgLTE5LDUgKzE5LDYgQEAg dm9pZCBpbnRlbF9ndF9jbGVhcl9lcnJvcl9yZWdpc3RlcnMoc3RydWN0IGludGVsX2d0ICpndCwK IAkJCQkgICAgaW50ZWxfZW5naW5lX21hc2tfdCBlbmdpbmVfbWFzayk7CiAKIHZvaWQgaW50ZWxf Z3RfZmx1c2hfZ2d0dF93cml0ZXMoc3RydWN0IGludGVsX2d0ICpndCk7Cit2b2lkIGludGVsX2d0 X2NoaXBzZXRfZmx1c2goc3RydWN0IGludGVsX2d0ICpndCk7CiAKICNlbmRpZiAvKiBfX0lOVEVM X0dUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rf aGFuZ2NoZWNrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF9oYW5nY2hlY2su YwppbmRleCAxZWU0YzkyMzA0NGYuLjJkNzczZjExZTIwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Qvc2VsZnRlc3RfaGFuZ2NoZWNrLmMKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRl IDxsaW51eC9rdGhyZWFkLmg+CiAKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fY29udGV4dC5oIgor I2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3BtLmgiCiAK ICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCkBAIC00Myw2ICs0NCw3IEBACiAKIHN0cnVjdCBo YW5nIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNTsKKwlzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpod3M7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4OwpAQCAtMTM1 LDYgKzEzNyw4IEBAIGhhbmdfY3JlYXRlX3JlcXVlc3Qoc3RydWN0IGhhbmcgKmgsIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl1MzIgKmJhdGNoOwogCWludCBlcnI7CiAKKwloLT5n dCA9IGVuZ2luZS0+Z3Q7CisKIAlpZiAoaTkxNV9nZW1fb2JqZWN0X2lzX2FjdGl2ZShoLT5vYmop KSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJCXZvaWQgKnZhZGRyOwpA QCAtMjQyLDcgKzI0Niw3IEBAIGhhbmdfY3JlYXRlX3JlcXVlc3Qoc3RydWN0IGhhbmcgKmgsIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJKmJhdGNoKysgPSBsb3dlcl8zMl9iaXRz KHZtYS0+bm9kZS5zdGFydCk7CiAJfQogCSpiYXRjaCsrID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsg Lyogbm90IHJlYWNoZWQgKi8KLQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKGgtPmk5MTUpOworCWlu dGVsX2d0X2NoaXBzZXRfZmx1c2goZW5naW5lLT5ndCk7CiAKIAlpZiAocnEtPmVuZ2luZS0+ZW1p dF9pbml0X2JyZWFkY3J1bWIpIHsKIAkJZXJyID0gcnEtPmVuZ2luZS0+ZW1pdF9pbml0X2JyZWFk Y3J1bWIocnEpOwpAQCAtMjc2LDcgKzI4MCw5IEBAIHN0YXRpYyB1MzIgaHdzX3NlcW5vKGNvbnN0 IHN0cnVjdCBoYW5nICpoLCBjb25zdCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHN0YXRpYyB2 b2lkIGhhbmdfZmluaShzdHJ1Y3QgaGFuZyAqaCkKIHsKIAkqaC0+YmF0Y2ggPSBNSV9CQVRDSF9C VUZGRVJfRU5EOwotCWk5MTVfZ2VtX2NoaXBzZXRfZmx1c2goaC0+aTkxNSk7CisKKwlpZiAoaC0+ Z3QpCisJCWludGVsX2d0X2NoaXBzZXRfZmx1c2goaC0+Z3QpOwogCiAJaTkxNV9nZW1fb2JqZWN0 X3VucGluX21hcChoLT5vYmopOwogCWk5MTVfZ2VtX29iamVjdF9wdXQoaC0+b2JqKTsKQEAgLTMz Myw3ICszMzksNyBAQCBzdGF0aWMgaW50IGlndF9oYW5nX3Nhbml0eWNoZWNrKHZvaWQgKmFyZykK IAkJaTkxNV9yZXF1ZXN0X2dldChycSk7CiAKIAkJKmguYmF0Y2ggPSBNSV9CQVRDSF9CVUZGRVJf RU5EOwotCQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKGk5MTUpOworCQlpbnRlbF9ndF9jaGlwc2V0 X2ZsdXNoKGVuZ2luZS0+Z3QpOwogCiAJCWk5MTVfcmVxdWVzdF9hZGQocnEpOwogCkBAIC0xNTA5 LDcgKzE1MTUsNyBAQCBzdGF0aWMgaW50IGlndF9yZXNldF9xdWV1ZSh2b2lkICphcmcpCiAJCXBy X2luZm8oIiVzOiBDb21wbGV0ZWQgJWQgcmVzZXRzXG4iLCBlbmdpbmUtPm5hbWUsIGNvdW50KTsK IAogCQkqaC5iYXRjaCA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7Ci0JCWk5MTVfZ2VtX2NoaXBzZXRf Zmx1c2goaTkxNSk7CisJCWludGVsX2d0X2NoaXBzZXRfZmx1c2goZW5naW5lLT5ndCk7CiAKIAkJ aTkxNV9yZXF1ZXN0X3B1dChwcmV2KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0X3dvcmthcm91bmRzLmMKaW5kZXggOWVhZjAzMGFmZmQwLi45MzFiYzMzZmM0NmQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3dvcmthcm91bmRzLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rfd29ya2Fyb3VuZHMuYwpAQCAt NSw2ICs1LDcgQEAKICAqLwogCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX3BtLmgiCisjaW5jbHVk ZSAiZ3QvaW50ZWxfZ3QuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCiAjaW5jbHVkZSAi aW50ZWxfcmVzZXQuaCIKIApAQCAtNTQyLDcgKzU0Myw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfZGly dHlfd2hpdGVsaXN0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAKIAkJaTkxNV9nZW1f b2JqZWN0X2ZsdXNoX21hcChiYXRjaC0+b2JqKTsKIAkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21h cChiYXRjaC0+b2JqKTsKLQkJaTkxNV9nZW1fY2hpcHNldF9mbHVzaChjdHgtPmk5MTUpOworCQlp bnRlbF9ndF9jaGlwc2V0X2ZsdXNoKGVuZ2luZS0+Z3QpOwogCiAJCXJxID0gaWd0X3JlcXVlc3Rf YWxsb2MoY3R4LCBlbmdpbmUpOwogCQlpZiAoSVNfRVJSKHJxKSkgewpAQCAtODA2LDcgKzgwNyw3 IEBAIHN0YXRpYyBpbnQgc2NydWJfd2hpdGVsaXN0ZWRfcmVnaXN0ZXJzKHN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHgsCiAJKmNzKysgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCiAJaTkxNV9n ZW1fb2JqZWN0X2ZsdXNoX21hcChiYXRjaC0+b2JqKTsKLQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNo KGN0eC0+aTkxNSk7CisJaW50ZWxfZ3RfY2hpcHNldF9mbHVzaChlbmdpbmUtPmd0KTsKIAogCXJx ID0gaWd0X3JlcXVlc3RfYWxsb2MoY3R4LCBlbmdpbmUpOwogCWlmIChJU19FUlIocnEpKSB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA5NzkzYThlNzkwOGIuLjRkZWRmMzM0MzZiYyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNjA0LDE0ICsyNjA0LDYgQEAgaW50IF9fbXVzdF9j aGVjayBpOTE1X2dlbV9ldmljdF9mb3Jfbm9kZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKIAkJCQkJIHVuc2lnbmVkIGludCBmbGFncyk7CiBpbnQgaTkxNV9nZW1fZXZpY3Rfdm0oc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pOwogCi0vKiBiZWxvbmdzIGluIGk5MTVfZ2VtX2d0 dC5oICovCi1zdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fY2hpcHNldF9mbHVzaChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCi17Ci0Jd21iKCk7Ci0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPCA2KQotCQlpbnRlbF9ndHRfY2hpcHNldF9mbHVzaCgpOwotfQotCiAvKiBpOTE1 X2dlbV9zdG9sZW4uYyAqLwogaW50IGk5MTVfZ2VtX3N0b2xlbl9pbnNlcnRfbm9kZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJc3RydWN0IGRybV9tbV9ub2RlICpub2Rl LCB1NjQgc2l6ZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGE5MTg5ODA3Y2Q3MS4uYWUz Njk1NWQ4MTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTQ3LDYgKzQ3LDcgQEAKICNp bmNsdWRlICJnZW0vaTkxNV9nZW1fcG0uaCIKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1mcy5oIgog I2luY2x1ZGUgImd0L2ludGVsX2VuZ2luZV9wbS5oIgorI2luY2x1ZGUgImd0L2ludGVsX2d0Lmgi CiAjaW5jbHVkZSAiZ3QvaW50ZWxfZ3RfcG0uaCIKICNpbmNsdWRlICJndC9pbnRlbF9tb2NzLmgi CiAjaW5jbHVkZSAiZ3QvaW50ZWxfcmVzZXQuaCIKQEAgLTE0Miw3ICsxNDMsNyBAQCBpOTE1X2dl bV9waHlzX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlyZXR1cm4g LUVGQVVMVDsKIAogCWRybV9jbGZsdXNoX3ZpcnRfcmFuZ2UodmFkZHIsIGFyZ3MtPnNpemUpOwot CWk5MTVfZ2VtX2NoaXBzZXRfZmx1c2godG9faTkxNShvYmotPmJhc2UuZGV2KSk7CisJaW50ZWxf Z3RfY2hpcHNldF9mbHVzaCgmdG9faTkxNShvYmotPmJhc2UuZGV2KS0+Z3QpOwogCiAJaW50ZWxf ZmJfb2JqX2ZsdXNoKG9iaiwgT1JJR0lOX0NQVSk7CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKaW5kZXggMjk4YmI3MTE2YzUxLi5h MDNiY2FiMWVjY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X3JlcXVlc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9y ZXF1ZXN0LmMKQEAgLTI3LDYgKzI3LDggQEAKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fcG0uaCIK ICNpbmNsdWRlICJnZW0vc2VsZnRlc3RzL21vY2tfY29udGV4dC5oIgogCisjaW5jbHVkZSAiZ3Qv aW50ZWxfZ3QuaCIKKwogI2luY2x1ZGUgImk5MTVfcmFuZG9tLmgiCiAjaW5jbHVkZSAiaTkxNV9z ZWxmdGVzdC5oIgogI2luY2x1ZGUgImlndF9saXZlX3Rlc3QuaCIKQEAgLTYyMiw3ICs2MjQsNyBA QCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICplbXB0eV9iYXRjaChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAlfX2k5MTVfZ2VtX29iamVjdF9mbHVzaF9tYXAob2JqLCAwLCA2NCk7CiAJ aTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChvYmopOwogCi0JaTkxNV9nZW1fY2hpcHNldF9mbHVz aChpOTE1KTsKKwlpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKCZpOTE1LT5ndCk7CiAKIAl2bWEgPSBp OTE1X3ZtYV9pbnN0YW5jZShvYmosICZpOTE1LT5nZ3R0LnZtLCBOVUxMKTsKIAlpZiAoSVNfRVJS KHZtYSkpIHsKQEAgLTc5MSw3ICs3OTMsNyBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpyZWN1 cnNpdmVfYmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJX19pOTE1X2dlbV9v YmplY3RfZmx1c2hfbWFwKG9iaiwgMCwgNjQpOwogCWk5MTVfZ2VtX29iamVjdF91bnBpbl9tYXAo b2JqKTsKIAotCWk5MTVfZ2VtX2NoaXBzZXRfZmx1c2goaTkxNSk7CisJaW50ZWxfZ3RfY2hpcHNl dF9mbHVzaCgmaTkxNS0+Z3QpOwogCiAJcmV0dXJuIHZtYTsKIApAQCAtODA5LDcgKzgxMSw3IEBA IHN0YXRpYyBpbnQgcmVjdXJzaXZlX2JhdGNoX3Jlc29sdmUoc3RydWN0IGk5MTVfdm1hICpiYXRj aCkKIAkJcmV0dXJuIFBUUl9FUlIoY21kKTsKIAogCSpjbWQgPSBNSV9CQVRDSF9CVUZGRVJfRU5E OwotCWk5MTVfZ2VtX2NoaXBzZXRfZmx1c2goYmF0Y2gtPnZtLT5pOTE1KTsKKwlpbnRlbF9ndF9j aGlwc2V0X2ZsdXNoKGJhdGNoLT52bS0+Z3QpOwogCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX21h cChiYXRjaC0+b2JqKTsKIApAQCAtMTAzMSw3ICsxMDMzLDcgQEAgc3RhdGljIGludCBsaXZlX3Nl cXVlbnRpYWxfZW5naW5lcyh2b2lkICphcmcpCiAJCQkJCSAgICAgIEk5MTVfTUFQX1dDKTsKIAkJ aWYgKCFJU19FUlIoY21kKSkgewogCQkJKmNtZCA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7Ci0JCQlp OTE1X2dlbV9jaGlwc2V0X2ZsdXNoKGk5MTUpOworCQkJaW50ZWxfZ3RfY2hpcHNldF9mbHVzaChl bmdpbmUtPmd0KTsKIAogCQkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcChyZXF1ZXN0W2lkXS0+ YmF0Y2gtPm9iaik7CiAJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pZ3Rfc3Bpbm5lci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9z cGlubmVyLmMKaW5kZXggMWU1OWI1NDNjZjI3Li4wYzFmNjUyNjJhNjMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pZ3Rfc3Bpbm5lci5jCkBAIC0zLDYgKzMsNyBAQAogICoK ICAqIENvcHlyaWdodCDCqSAyMDE4IEludGVsIENvcnBvcmF0aW9uCiAgKi8KKyNpbmNsdWRlICJn dC9pbnRlbF9ndC5oIgogCiAjaW5jbHVkZSAiZ2VtL3NlbGZ0ZXN0cy9pZ3RfZ2VtX3V0aWxzLmgi CiAKQEAgLTk0LDYgKzk1LDggQEAgaWd0X3NwaW5uZXJfY3JlYXRlX3JlcXVlc3Qoc3RydWN0IGln dF9zcGlubmVyICpzcGluLAogCXUzMiAqYmF0Y2g7CiAJaW50IGVycjsKIAorCXNwaW4tPmd0ID0g ZW5naW5lLT5ndDsKKwogCXZtYSA9IGk5MTVfdm1hX2luc3RhbmNlKHNwaW4tPm9iaiwgY3R4LT52 bSwgTlVMTCk7CiAJaWYgKElTX0VSUih2bWEpKQogCQlyZXR1cm4gRVJSX0NBU1Qodm1hKTsKQEAg LTEzOCw3ICsxNDEsNyBAQCBpZ3Rfc3Bpbm5lcl9jcmVhdGVfcmVxdWVzdChzdHJ1Y3QgaWd0X3Nw aW5uZXIgKnNwaW4sCiAJKmJhdGNoKysgPSB1cHBlcl8zMl9iaXRzKHZtYS0+bm9kZS5zdGFydCk7 CiAJKmJhdGNoKysgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOyAvKiBub3QgcmVhY2hlZCAqLwogCi0J aTkxNV9nZW1fY2hpcHNldF9mbHVzaChzcGluLT5pOTE1KTsKKwlpbnRlbF9ndF9jaGlwc2V0X2Zs dXNoKGVuZ2luZS0+Z3QpOwogCiAJaWYgKGVuZ2luZS0+ZW1pdF9pbml0X2JyZWFkY3J1bWIgJiYK IAkgICAgcnEtPnRpbWVsaW5lLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iKSB7CkBAIC0xNzIsNyAr MTc1LDcgQEAgaHdzX3NlcW5vKGNvbnN0IHN0cnVjdCBpZ3Rfc3Bpbm5lciAqc3BpbiwgY29uc3Qg c3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiB2b2lkIGlndF9zcGlubmVyX2VuZChzdHJ1Y3QgaWd0 X3NwaW5uZXIgKnNwaW4pCiB7CiAJKnNwaW4tPmJhdGNoID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsK LQlpOTE1X2dlbV9jaGlwc2V0X2ZsdXNoKHNwaW4tPmk5MTUpOworCWludGVsX2d0X2NoaXBzZXRf Zmx1c2goc3Bpbi0+Z3QpOwogfQogCiB2b2lkIGlndF9zcGlubmVyX2Zpbmkoc3RydWN0IGlndF9z cGlubmVyICpzcGluKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2lndF9zcGlubmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaWd0X3NwaW5u ZXIuaAppbmRleCAzNGE4OGFjOWI0N2EuLjFiZmMzOWVmYTc3MyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9zcGlubmVyLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2lndF9zcGlubmVyLmgKQEAgLTE0LDggKzE0LDExIEBACiAjaW5j bHVkZSAiaTkxNV9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9zZWxmdGVzdC5oIgogCitzdHJ1 Y3QgaW50ZWxfZ3Q7CisKIHN0cnVjdCBpZ3Rfc3Bpbm5lciB7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTU7CisJc3RydWN0IGludGVsX2d0ICpndDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqaHdzOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJdTMyICpi YXRjaDsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4