From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 4/6] drm/i915/execlists: Unify CSB access pointers Date: Wed, 27 Jun 2018 12:38:41 +0100 Message-ID: <20180627113843.7257-4-chris@chris-wilson.co.uk> References: <20180627113843.7257-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 5CF686E8C0 for ; Wed, 27 Jun 2018 11:38:58 +0000 (UTC) In-Reply-To: <20180627113843.7257-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 List-Id: intel-gfx@lists.freedesktop.org Rm9sbG93aW5nIHRoZSByZW1vdmFsIG9mIHRoZSBsYXN0IHdvcmthcm91bmRzLCB0aGUgb25seSBD U0IgbW1pbyBhY2Nlc3MKaXMgZm9yIHRoZSBvbGQgdkdQVSBpbnRlcmZhY2UuIFRoZSBtbWlvIHJl Z2lzdGVycyBwcmVzZW50ZWQgYnkgdkdQVSBkbwpub3QgcmVxdWlyZSBmb3JjZXdha2UgYW5kIGNh biBiZSB0cmVhdGVkIGFzIG9yZGluYXJ5IHZvbGF0aWxlIG1lbW9yeSwKaS5lLiB0aGV5IGJlaGF2 ZSBqdXN0IGxpa2UgdGhlIEhXU1AgYWNjZXNzIGp1c3QgYXQgYSBkaWZmZXJlbnQgbG9jYXRpb24u CldlIGNhbiByZWR1Y2UgdGhlIENTQiBhY2Nlc3MgdG8gYSBzZXQgb2YgcmVhZC93cml0ZS9idWZm ZXIgcG9pbnRlcnMgYW5kCnRyZWF0IHRoZSB2YXJpb3VzIHBhdGhzIGlkZW50aWNhbGx5IGFuZCBu b3Qgd29ycnkgYWJvdXQgZm9yY2V3YWtlLgooRm9yY2V3YWtlIGlzIG5pZ2h0bWFyZSBmb3Igd29y c3RjYXNlIGxhdGVuY3ksIGFuZCB3ZSB3YW50IHRvIHByb2Nlc3MKdGhpcyBhbGwgd2l0aCBpcnFz b2ZmIC0tIG5vIGxhdGVuY3kgYWxsb3dlZCEpCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYyAgfCAgMTIgLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyAgICAgICAgfCAxMTYgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMjMgKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNjUg aW5zZXJ0aW9ucygrKSwgODYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYwppbmRleCBkMzI2NGJkNmU5ZGMuLjcyMDljMjI3OThlNiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTI1LDcgKzI1LDYgQEAKICNpbmNsdWRlIDxk cm0vZHJtX3ByaW50Lmg+CiAKICNpbmNsdWRlICJpOTE1X2Rydi5oIgotI2luY2x1ZGUgImk5MTVf dmdwdS5oIgogI2luY2x1ZGUgImludGVsX3JpbmdidWZmZXIuaCIKICNpbmNsdWRlICJpbnRlbF9s cmMuaCIKIApAQCAtNDU2LDIxICs0NTUsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5naW5lX2lu aXRfYmF0Y2hfcG9vbChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJaTkxNV9nZW1f YmF0Y2hfcG9vbF9pbml0KCZlbmdpbmUtPmJhdGNoX3Bvb2wsIGVuZ2luZSk7CiB9CiAKLXN0YXRp YyBib29sIGNzYl9mb3JjZV9tbWlvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQotewot CS8qIE9sZGVyIEdWVCBlbXVsYXRpb24gZGVwZW5kcyB1cG9uIGludGVyY2VwdGluZyBDU0IgbW1p byAqLwotCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShpOTE1KSAmJiAhaW50ZWxfdmdwdV9oYXNfaHdz cF9lbXVsYXRpb24oaTkxNSkpCi0JCXJldHVybiB0cnVlOwotCi0JcmV0dXJuIGZhbHNlOwotfQot CiBzdGF0aWMgdm9pZCBpbnRlbF9lbmdpbmVfaW5pdF9leGVjbGlzdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKiBjb25z dCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlzdHM7CiAKLQlleGVjbGlzdHMtPmNzYl91c2Vf bW1pbyA9IGNzYl9mb3JjZV9tbWlvKGVuZ2luZS0+aTkxNSk7Ci0KIAlleGVjbGlzdHMtPnBvcnRf bWFzayA9IDE7CiAJQlVJTERfQlVHX09OX05PVF9QT1dFUl9PRl8yKGV4ZWNsaXN0c19udW1fcG9y dHMoZXhlY2xpc3RzKSk7CiAJR0VNX0JVR19PTihleGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0 cykgPiBFWEVDTElTVF9NQVhfUE9SVFMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA5 MTY1NmViMmYyZGIuLjM2OGE4Yzc0ZDExZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAg LTEzNyw2ICsxMzcsNyBAQAogI2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgogI2luY2x1ZGUgImk5 MTVfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmgiCisjaW5jbHVkZSAi aTkxNV92Z3B1LmgiCiAjaW5jbHVkZSAiaW50ZWxfbHJjX3JlZy5oIgogI2luY2x1ZGUgImludGVs X21vY3MuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5kcy5oIgpAQCAtOTUzLDQ0ICs5NTQs MjMgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19jc2Ioc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICogY29uc3QgZXhlY2xpc3Rz ID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwogCXN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0ID0gZXhl Y2xpc3RzLT5wb3J0OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5p OTE1OwotCi0JLyogVGhlIEhXU1AgY29udGFpbnMgYSAoY2FjaGVhYmxlKSBtaXJyb3Igb2YgdGhl IENTQiAqLwotCWNvbnN0IHUzMiAqYnVmID0KLQkJJmVuZ2luZS0+c3RhdHVzX3BhZ2UucGFnZV9h ZGRyW0k5MTVfSFdTX0NTQl9CVUYwX0lOREVYXTsKLQl1bnNpZ25lZCBpbnQgaGVhZCwgdGFpbDsK LQlib29sIGZ3ID0gZmFsc2U7CisJY29uc3QgdTMyICogY29uc3QgYnVmID0gZXhlY2xpc3RzLT5j c2Jfc3RhdHVzOworCXU4IGhlYWQsIHRhaWw7CiAKIAkvKiBDbGVhciBiZWZvcmUgcmVhZGluZyB0 byBjYXRjaCBuZXcgaW50ZXJydXB0cyAqLwogCWNsZWFyX2JpdChFTkdJTkVfSVJRX0VYRUNMSVNU LCAmZW5naW5lLT5pcnFfcG9zdGVkKTsKIAlzbXBfbWJfX2FmdGVyX2F0b21pYygpOwogCi0JaWYg KHVubGlrZWx5KGV4ZWNsaXN0cy0+Y3NiX3VzZV9tbWlvKSkgewotCQlpbnRlbF91bmNvcmVfZm9y Y2V3YWtlX2dldChpOTE1LCBleGVjbGlzdHMtPmZ3X2RvbWFpbnMpOwotCQlmdyA9IHRydWU7Ci0K LQkJYnVmID0gKHUzMiAqIF9fZm9yY2UpCi0JCQkoaTkxNS0+cmVncyArIGk5MTVfbW1pb19yZWdf b2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKGVuZ2luZSwgMCkpKTsKKwkvKiBOb3Rl IHRoYXQgY3NiX3dyaXRlLCBjc2Jfc3RhdHVzIG1heSBiZSBlaXRoZXIgaW4gSFdTUCBvciBtbWlv ICovCisJaGVhZCA9IGV4ZWNsaXN0cy0+Y3NiX2hlYWQ7CisJdGFpbCA9IFJFQURfT05DRSgqZXhl Y2xpc3RzLT5jc2Jfd3JpdGUpOworCUdFTV9UUkFDRSgiJXMgY3MtaXJxIGhlYWQ9JWQsIHRhaWw9 JWRcbiIsIGVuZ2luZS0+bmFtZSwgaGVhZCwgdGFpbCk7CisJaWYgKHVubGlrZWx5KGhlYWQgPT0g dGFpbCkpCisJCXJldHVybjsKIAotCQloZWFkID0gcmVhZGwoaTkxNS0+cmVncyArIGk5MTVfbW1p b19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRSKGVuZ2luZSkpKTsKLQkJdGFpbCA9 IEdFTjhfQ1NCX1dSSVRFX1BUUihoZWFkKTsKLQkJaGVhZCA9IEdFTjhfQ1NCX1JFQURfUFRSKGhl YWQpOwotCQlleGVjbGlzdHMtPmNzYl9oZWFkID0gaGVhZDsKLQl9IGVsc2UgewotCQljb25zdCBp bnQgd3JpdGVfaWR4ID0KLQkJCWludGVsX2h3c19jc2Jfd3JpdGVfaW5kZXgoaTkxNSkgLQotCQkJ STkxNV9IV1NfQ1NCX0JVRjBfSU5ERVg7CisJcm1iKCk7IC8qIEhvcGVmdWxseSBwYWlyZWQgd2l0 aCBhIHdtYigpIGluIEhXICovCiAKLQkJaGVhZCA9IGV4ZWNsaXN0cy0+Y3NiX2hlYWQ7Ci0JCXRh aWwgPSBSRUFEX09OQ0UoYnVmW3dyaXRlX2lkeF0pOwotCQlybWIoKTsgLyogSG9wZWZ1bGx5IHBh aXJlZCB3aXRoIGEgd21iKCkgaW4gSFcgKi8KLQl9Ci0JR0VNX1RSQUNFKCIlcyBjcy1pcnEgaGVh ZD0lZCBbJWQlc10sIHRhaWw9JWQgWyVkJXNdXG4iLAotCQkgIGVuZ2luZS0+bmFtZSwKLQkJICBo ZWFkLCBHRU44X0NTQl9SRUFEX1BUUihyZWFkbChpOTE1LT5yZWdzICsgaTkxNV9tbWlvX3JlZ19v ZmZzZXQoUklOR19DT05URVhUX1NUQVRVU19QVFIoZW5naW5lKSkpKSwgZncgPyAiIiA6ICI/IiwK LQkJICB0YWlsLCBHRU44X0NTQl9XUklURV9QVFIocmVhZGwoaTkxNS0+cmVncyArIGk5MTVfbW1p b19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRSKGVuZ2luZSkpKSksIGZ3ID8gIiIg OiAiPyIpOwotCi0Jd2hpbGUgKGhlYWQgIT0gdGFpbCkgeworCWRvIHsKIAkJc3RydWN0IGk5MTVf cmVxdWVzdCAqcnE7CiAJCXVuc2lnbmVkIGludCBzdGF0dXM7CiAJCXVuc2lnbmVkIGludCBjb3Vu dDsKQEAgLTEwMTYsMTIgKzk5NiwxMiBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX2NzYihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCSAqIHN0YXR1cyBub3RpZmllci4KIAkJICovCiAK LQkJc3RhdHVzID0gUkVBRF9PTkNFKGJ1ZlsyICogaGVhZF0pOyAvKiBtYXliZSBtbWlvISAqLwog CQlHRU1fVFJBQ0UoIiVzIGNzYlslZF06IHN0YXR1cz0weCUwOHg6MHglMDh4LCBhY3RpdmU9MHgl eFxuIiwKIAkJCSAgZW5naW5lLT5uYW1lLCBoZWFkLAotCQkJICBzdGF0dXMsIGJ1ZlsyKmhlYWQg KyAxXSwKKwkJCSAgYnVmWzIgKiBoZWFkICsgMF0sIGJ1ZlsyICogaGVhZCArIDFdLAogCQkJICBl eGVjbGlzdHMtPmFjdGl2ZSk7CiAKKwkJc3RhdHVzID0gYnVmWzIgKiBoZWFkXTsKIAkJaWYgKHN0 YXR1cyAmIChHRU44X0NUWF9TVEFUVVNfSURMRV9BQ1RJVkUgfAogCQkJICAgICAgR0VOOF9DVFhf U1RBVFVTX1BSRUVNUFRFRCkpCiAJCQlleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVjbGlzdHMsCkBA IC0xMTAzLDE2ICsxMDgzLDExIEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NfY3NiKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJfSBlbHNlIHsKIAkJCXBvcnRfc2V0KHBvcnQsIHBvcnRf cGFjayhycSwgY291bnQpKTsKIAkJfQotCX0KKwl9IHdoaWxlIChoZWFkICE9IHRhaWwpOwogCi0J aWYgKGhlYWQgIT0gZXhlY2xpc3RzLT5jc2JfaGVhZCkgewotCQlleGVjbGlzdHMtPmNzYl9oZWFk ID0gaGVhZDsKLQkJd3JpdGVsKF9NQVNLRURfRklFTEQoR0VOOF9DU0JfUkVBRF9QVFJfTUFTSywg aGVhZCA8PCA4KSwKLQkJICAgICAgIGk5MTUtPnJlZ3MgKyBpOTE1X21taW9fcmVnX29mZnNldChS SU5HX0NPTlRFWFRfU1RBVFVTX1BUUihlbmdpbmUpKSk7Ci0JfQotCi0JaWYgKHVubGlrZWx5KGZ3 KSkKLQkJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoaTkxNSwgZXhlY2xpc3RzLT5md19kb21h aW5zKTsKKwl3cml0ZWwoX01BU0tFRF9GSUVMRChHRU44X0NTQl9SRUFEX1BUUl9NQVNLLCBoZWFk IDw8IDgpLAorCSAgICAgICBleGVjbGlzdHMtPmNzYl9yZWFkKTsKKwlleGVjbGlzdHMtPmNzYl9o ZWFkID0gaGVhZDsKIH0KIAogLyoKQEAgLTI0MzAsMjggKzI0MDUsMTEgQEAgbG9naWNhbF9yaW5n X2RlZmF1bHRfaXJxcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiBzdGF0aWMgdm9p ZAogbG9naWNhbF9yaW5nX3NldHVwKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsK LQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7Ci0JZW51 bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zOwotCiAJaW50ZWxfZW5naW5lX3NldHVwX2Nv bW1vbihlbmdpbmUpOwogCiAJLyogSW50ZW50aW9uYWxseSBsZWZ0IGJsYW5rLiAqLwogCWVuZ2lu ZS0+YnVmZmVyID0gTlVMTDsKIAotCWZ3X2RvbWFpbnMgPSBpbnRlbF91bmNvcmVfZm9yY2V3YWtl X2Zvcl9yZWcoZGV2X3ByaXYsCi0JCQkJCQkgICAgUklOR19FTFNQKGVuZ2luZSksCi0JCQkJCQkg ICAgRldfUkVHX1dSSVRFKTsKLQotCWZ3X2RvbWFpbnMgfD0gaW50ZWxfdW5jb3JlX2ZvcmNld2Fr ZV9mb3JfcmVnKGRldl9wcml2LAotCQkJCQkJICAgICBSSU5HX0NPTlRFWFRfU1RBVFVTX1BUUihl bmdpbmUpLAotCQkJCQkJICAgICBGV19SRUdfUkVBRCB8IEZXX1JFR19XUklURSk7Ci0KLQlmd19k b21haW5zIHw9IGludGVsX3VuY29yZV9mb3JjZXdha2VfZm9yX3JlZyhkZXZfcHJpdiwKLQkJCQkJ CSAgICAgUklOR19DT05URVhUX1NUQVRVU19CVUZfQkFTRShlbmdpbmUpLAotCQkJCQkJICAgICBG V19SRUdfUkVBRCk7Ci0KLQllbmdpbmUtPmV4ZWNsaXN0cy5md19kb21haW5zID0gZndfZG9tYWlu czsKLQogCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCwKIAkJICAgICBl eGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0LCAodW5zaWduZWQgbG9uZyllbmdpbmUpOwogCkBA IC0yNDU5LDM0ICsyNDE3LDU2IEBAIGxvZ2ljYWxfcmluZ19zZXR1cChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiAJbG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhlbmdpbmUpOwogfQog CitzdGF0aWMgYm9vbCBjc2JfZm9yY2VfbW1pbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKK3sKKwkvKiBPbGRlciBHVlQgZW11bGF0aW9uIGRlcGVuZHMgdXBvbiBpbnRlcmNlcHRpbmcg Q1NCIG1taW8gKi8KKwlyZXR1cm4gaW50ZWxfdmdwdV9hY3RpdmUoaTkxNSkgJiYgIWludGVsX3Zn cHVfaGFzX2h3c3BfZW11bGF0aW9uKGk5MTUpOworfQorCiBzdGF0aWMgaW50IGxvZ2ljYWxfcmlu Z19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4 ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsKIAlpbnQgcmV0 OwogCiAJcmV0ID0gaW50ZWxfZW5naW5lX2luaXRfY29tbW9uKGVuZ2luZSk7CiAJaWYgKHJldCkK IAkJZ290byBlcnJvcjsKIAotCWlmIChIQVNfTE9HSUNBTF9SSU5HX0VMU1EoZW5naW5lLT5pOTE1 KSkgewotCQllbmdpbmUtPmV4ZWNsaXN0cy5zdWJtaXRfcmVnID0gZW5naW5lLT5pOTE1LT5yZWdz ICsKKwlpZiAoSEFTX0xPR0lDQUxfUklOR19FTFNRKGk5MTUpKSB7CisJCWV4ZWNsaXN0cy0+c3Vi bWl0X3JlZyA9IGk5MTUtPnJlZ3MgKwogCQkJaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19FWEVD TElTVF9TUV9DT05URU5UUyhlbmdpbmUpKTsKLQkJZW5naW5lLT5leGVjbGlzdHMuY3RybF9yZWcg PSBlbmdpbmUtPmk5MTUtPnJlZ3MgKworCQlleGVjbGlzdHMtPmN0cmxfcmVnID0gaTkxNS0+cmVn cyArCiAJCQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VYRUNMSVNUX0NPTlRST0woZW5naW5l KSk7CiAJfSBlbHNlIHsKLQkJZW5naW5lLT5leGVjbGlzdHMuc3VibWl0X3JlZyA9IGVuZ2luZS0+ aTkxNS0+cmVncyArCisJCWV4ZWNsaXN0cy0+c3VibWl0X3JlZyA9IGk5MTUtPnJlZ3MgKwogCQkJ aTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19FTFNQKGVuZ2luZSkpOwogCX0KIAotCWVuZ2luZS0+ ZXhlY2xpc3RzLnByZWVtcHRfY29tcGxldGVfc3RhdHVzID0gfjB1OwotCWlmIChlbmdpbmUtPmk5 MTUtPnByZWVtcHRfY29udGV4dCkgeworCWV4ZWNsaXN0cy0+cHJlZW1wdF9jb21wbGV0ZV9zdGF0 dXMgPSB+MHU7CisJaWYgKGk5MTUtPnByZWVtcHRfY29udGV4dCkgewogCQlzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY2UgPQotCQkJdG9faW50ZWxfY29udGV4dChlbmdpbmUtPmk5MTUtPnByZWVtcHRf Y29udGV4dCwgZW5naW5lKTsKKwkJCXRvX2ludGVsX2NvbnRleHQoaTkxNS0+cHJlZW1wdF9jb250 ZXh0LCBlbmdpbmUpOwogCi0JCWVuZ2luZS0+ZXhlY2xpc3RzLnByZWVtcHRfY29tcGxldGVfc3Rh dHVzID0KKwkJZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyA9CiAJCQl1cHBlcl8z Ml9iaXRzKGNlLT5scmNfZGVzYyk7CiAJfQogCi0JZW5naW5lLT5leGVjbGlzdHMuY3NiX2hlYWQg PSBHRU44X0NTQl9FTlRSSUVTIC0gMTsKKwlleGVjbGlzdHMtPmNzYl9oZWFkID0gR0VOOF9DU0Jf RU5UUklFUyAtIDE7CisJZXhlY2xpc3RzLT5jc2JfcmVhZCA9CisJCWk5MTUtPnJlZ3MgKyBpOTE1 X21taW9fcmVnX29mZnNldChSSU5HX0NPTlRFWFRfU1RBVFVTX1BUUihlbmdpbmUpKTsKKwlpZiAo Y3NiX2ZvcmNlX21taW8oaTkxNSkpIHsKKwkJZXhlY2xpc3RzLT5jc2Jfc3RhdHVzID0gKHUzMiBf X2ZvcmNlICopCisJCQkoaTkxNS0+cmVncyArIGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09O VEVYVF9TVEFUVVNfQlVGX0xPKGVuZ2luZSwgMCkpKTsKKworCQlleGVjbGlzdHMtPmNzYl93cml0 ZSA9ICh1MzIgX19mb3JjZSAqKWV4ZWNsaXN0cy0+Y3NiX3JlYWQ7CisJfSBlbHNlIHsKKwkJZXhl Y2xpc3RzLT5jc2Jfc3RhdHVzID0KKwkJCSZlbmdpbmUtPnN0YXR1c19wYWdlLnBhZ2VfYWRkcltJ OTE1X0hXU19DU0JfQlVGMF9JTkRFWF07CisKKwkJZXhlY2xpc3RzLT5jc2Jfd3JpdGUgPQorCQkJ JmVuZ2luZS0+c3RhdHVzX3BhZ2UucGFnZV9hZGRyW2ludGVsX2h3c19jc2Jfd3JpdGVfaW5kZXgo aTkxNSldOworCX0KIAogCXJldHVybiAwOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmgKaW5kZXggYTBiYzdhODIyMmI0Li41YjkyYzVmMDNlMWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTMwMCwxOSArMzAwLDMwIEBAIHN0cnVjdCBp bnRlbF9lbmdpbmVfZXhlY2xpc3RzIHsKIAlzdHJ1Y3QgcmJfbm9kZSAqZmlyc3Q7CiAKIAkvKioK LQkgKiBAZndfZG9tYWluczogZm9yY2V3YWtlIGRvbWFpbnMgZm9yIGlycSB0YXNrbGV0CisJICog QGNzYl9oZWFkOiBjb250ZXh0IHN0YXR1cyBidWZmZXIgaGVhZAogCSAqLwotCXVuc2lnbmVkIGlu dCBmd19kb21haW5zOworCXVuc2lnbmVkIGludCBjc2JfaGVhZDsKIAogCS8qKgotCSAqIEBjc2Jf aGVhZDogY29udGV4dCBzdGF0dXMgYnVmZmVyIGhlYWQKKwkgKiBAY3NiX3JlYWQ6IGNvbnRyb2wg cmVnaXN0ZXIgZm9yIENvbnRleHQgU3dpdGNoIGJ1ZmZlcgorCSAqCisJICogTm90ZSB0aGlzIHJl Z2lzdGVyIGlzIGFsd2F5cyBpbiBtbWlvLgogCSAqLwotCXVuc2lnbmVkIGludCBjc2JfaGVhZDsK Kwl1MzIgX19pb21lbSAqY3NiX3JlYWQ7CiAKIAkvKioKLQkgKiBAY3NiX3VzZV9tbWlvOiBhY2Nl c3MgY3NiIHRocm91Z2ggbW1pbywgaW5zdGVhZCBvZiBod3NwCisJICogQGNzYl93cml0ZTogY29u dHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBTd2l0Y2ggYnVmZmVyCisJICoKKwkgKiBOb3RlIHRo aXMgcmVnaXN0ZXIgbWF5IGJlIGVpdGhlciBtbWlvIG9yIEhXU1Agc2hhZG93LgorCSAqLworCXUz MiAqY3NiX3dyaXRlOworCisJLyoqCisJICogQGNzYl9zdGF0dXM6IHN0YXR1cyBhcnJheSBmb3Ig Q29udGV4dCBTd2l0Y2ggYnVmZmVyCisJICoKKwkgKiBOb3RlIHRoZXNlIHJlZ2lzdGVyIG1heSBi ZSBlaXRoZXIgbW1pbyBvciBIV1NQIHNoYWRvdy4KIAkgKi8KLQlib29sIGNzYl91c2VfbW1pbzsK Kwl1MzIgKmNzYl9zdGF0dXM7CiAKIAkvKioKIAkgKiBAcHJlZW1wdF9jb21wbGV0ZV9zdGF0dXM6 IGV4cGVjdGVkIENTQiB1cG9uIGNvbXBsZXRpbmcgcHJlZW1wdGlvbgotLSAKMi4xOC4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK