From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 06/11] drm/i915/execlists: Unify CSB access pointers Date: Thu, 31 May 2018 19:51:59 +0100 Message-ID: <20180531185204.19520-7-chris@chris-wilson.co.uk> References: <20180531185204.19520-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 131D96E3B3 for ; Thu, 31 May 2018 18:53:59 +0000 (UTC) In-Reply-To: <20180531185204.19520-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 CldlIGNhbiByZWR1Y2UgdGhlIENTQiBhY2Nlc3MgaW5zaWRlIHRoZSBpcnEgaGFuZGxlciB0byBh IHNldCBvZgpyZWFkL3dyaXRlL2J1ZmZlciBwb2ludGVycyBhbmQgdHJlYXQgdGhlIHZhcmlvdXMg cGF0aHMgaWRlbnRpY2FsbHkgYW5kCm5vdCB3b3JyeSBhYm91dCBmb3JjZXdha2UuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgfCAgMTIgLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgfCAxMTYgKysrKysrKysrKy0tLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMjMgKysrLS0K IDMgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgODYgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCAxMzQ0OGVhNzZmNTcuLmJjMDE5 MzE5OWEwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2Nz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTI1LDcg KzI1LDYgQEAKICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+CiAKICNpbmNsdWRlICJpOTE1X2Ry di5oIgotI2luY2x1ZGUgImk5MTVfdmdwdS5oIgogI2luY2x1ZGUgImludGVsX3JpbmdidWZmZXIu aCIKICNpbmNsdWRlICJpbnRlbF9scmMuaCIKIApAQCAtNDU2LDIxICs0NTUsMTAgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZW5naW5lX2luaXRfYmF0Y2hfcG9vbChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiAJaTkxNV9nZW1fYmF0Y2hfcG9vbF9pbml0KCZlbmdpbmUtPmJhdGNoX3Bvb2ws IGVuZ2luZSk7CiB9CiAKLXN0YXRpYyBib29sIGNzYl9mb3JjZV9tbWlvKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KQotewotCS8qIE9sZGVyIEdWVCBlbXVsYXRpb24gZGVwZW5kcyB1cG9u IGludGVyY2VwdGluZyBDU0IgbW1pbyAqLwotCWlmIChpbnRlbF92Z3B1X2FjdGl2ZShpOTE1KSAm JiAhaW50ZWxfdmdwdV9oYXNfaHdzcF9lbXVsYXRpb24oaTkxNSkpCi0JCXJldHVybiB0cnVlOwot Ci0JcmV0dXJuIGZhbHNlOwotfQotCiBzdGF0aWMgdm9pZCBpbnRlbF9lbmdpbmVfaW5pdF9leGVj bGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGludGVsX2Vu Z2luZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlzdHM7CiAK LQlleGVjbGlzdHMtPmNzYl91c2VfbW1pbyA9IGNzYl9mb3JjZV9tbWlvKGVuZ2luZS0+aTkxNSk7 Ci0KIAlleGVjbGlzdHMtPnBvcnRfbWFzayA9IDE7CiAJQlVJTERfQlVHX09OX05PVF9QT1dFUl9P Rl8yKGV4ZWNsaXN0c19udW1fcG9ydHMoZXhlY2xpc3RzKSk7CiAJR0VNX0JVR19PTihleGVjbGlz dHNfbnVtX3BvcnRzKGV4ZWNsaXN0cykgPiBFWEVDTElTVF9NQVhfUE9SVFMpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYwppbmRleCBkZjJiNzAwNWRmNjUuLjdiMzZhYTk4NDMwNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmMKQEAgLTEzNyw2ICsxMzcsNyBAQAogI2luY2x1ZGUgPGRybS9pOTE1 X2RybS5oPgogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAjaW5jbHVkZSAiaTkxNV9nZW1fcmVuZGVy X3N0YXRlLmgiCisjaW5jbHVkZSAiaTkxNV92Z3B1LmgiCiAjaW5jbHVkZSAiaW50ZWxfbHJjX3Jl Zy5oIgogI2luY2x1ZGUgImludGVsX21vY3MuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5k cy5oIgpAQCAtOTUzLDQ0ICs5NTQsMjMgQEAgc3RhdGljIHZvaWQgcHJvY2Vzc19jc2Ioc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xp c3RzICogY29uc3QgZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwogCXN0cnVjdCBleGVj bGlzdF9wb3J0ICpwb3J0ID0gZXhlY2xpc3RzLT5wb3J0OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OwotCi0JLyogVGhlIEhXU1AgY29udGFpbnMgYSAoY2Fj aGVhYmxlKSBtaXJyb3Igb2YgdGhlIENTQiAqLwotCWNvbnN0IHUzMiAqYnVmID0KLQkJJmVuZ2lu ZS0+c3RhdHVzX3BhZ2UucGFnZV9hZGRyW0k5MTVfSFdTX0NTQl9CVUYwX0lOREVYXTsKLQl1bnNp Z25lZCBpbnQgaGVhZCwgdGFpbDsKLQlib29sIGZ3ID0gZmFsc2U7CisJY29uc3QgdTMyICogY29u c3QgYnVmID0gZXhlY2xpc3RzLT5jc2Jfc3RhdHVzOworCXU4IGhlYWQsIHRhaWw7CiAKIAkvKiBD bGVhciBiZWZvcmUgcmVhZGluZyB0byBjYXRjaCBuZXcgaW50ZXJydXB0cyAqLwogCWNsZWFyX2Jp dChFTkdJTkVfSVJRX0VYRUNMSVNULCAmZW5naW5lLT5pcnFfcG9zdGVkKTsKIAlzbXBfbWJfX2Fm dGVyX2F0b21pYygpOwogCi0JaWYgKHVubGlrZWx5KGV4ZWNsaXN0cy0+Y3NiX3VzZV9tbWlvKSkg ewotCQlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldChpOTE1LCBleGVjbGlzdHMtPmZ3X2RvbWFp bnMpOwotCQlmdyA9IHRydWU7Ci0KLQkJYnVmID0gKHUzMiAqIF9fZm9yY2UpCi0JCQkoaTkxNS0+ cmVncyArIGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKGVu Z2luZSwgMCkpKTsKKwkvKiBOb3RlIHRoYXQgY3NiX3dyaXRlLCBjc2Jfc3RhdHVzIG1heSBiZSBl aXRoZXIgaW4gSFdTUCBvciBtbWlvICovCisJaGVhZCA9IGV4ZWNsaXN0cy0+Y3NiX2hlYWQ7CisJ dGFpbCA9IFJFQURfT05DRSgqZXhlY2xpc3RzLT5jc2Jfd3JpdGUpOworCUdFTV9UUkFDRSgiJXMg Y3MtaXJxIGhlYWQ9JWQsIHRhaWw9JWRcbiIsIGVuZ2luZS0+bmFtZSwgaGVhZCwgdGFpbCk7CisJ aWYgKHVubGlrZWx5KGhlYWQgPT0gdGFpbCkpCisJCXJldHVybjsKIAotCQloZWFkID0gcmVhZGwo aTkxNS0+cmVncyArIGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRS KGVuZ2luZSkpKTsKLQkJdGFpbCA9IEdFTjhfQ1NCX1dSSVRFX1BUUihoZWFkKTsKLQkJaGVhZCA9 IEdFTjhfQ1NCX1JFQURfUFRSKGhlYWQpOwotCQlleGVjbGlzdHMtPmNzYl9oZWFkID0gaGVhZDsK LQl9IGVsc2UgewotCQljb25zdCBpbnQgd3JpdGVfaWR4ID0KLQkJCWludGVsX2h3c19jc2Jfd3Jp dGVfaW5kZXgoaTkxNSkgLQotCQkJSTkxNV9IV1NfQ1NCX0JVRjBfSU5ERVg7CisJcm1iKCk7IC8q IEhvcGVmdWxseSBwYWlyZWQgd2l0aCBhIHdtYigpIGluIEhXICovCiAKLQkJaGVhZCA9IGV4ZWNs aXN0cy0+Y3NiX2hlYWQ7Ci0JCXRhaWwgPSBSRUFEX09OQ0UoYnVmW3dyaXRlX2lkeF0pOwotCQly bWIoKTsgLyogSG9wZWZ1bGx5IHBhaXJlZCB3aXRoIGEgd21iKCkgaW4gSFcgKi8KLQl9Ci0JR0VN X1RSQUNFKCIlcyBjcy1pcnEgaGVhZD0lZCBbJWQlc10sIHRhaWw9JWQgWyVkJXNdXG4iLAotCQkg IGVuZ2luZS0+bmFtZSwKLQkJICBoZWFkLCBHRU44X0NTQl9SRUFEX1BUUihyZWFkbChpOTE1LT5y ZWdzICsgaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19DT05URVhUX1NUQVRVU19QVFIoZW5naW5l KSkpKSwgZncgPyAiIiA6ICI/IiwKLQkJICB0YWlsLCBHRU44X0NTQl9XUklURV9QVFIocmVhZGwo aTkxNS0+cmVncyArIGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfUFRS KGVuZ2luZSkpKSksIGZ3ID8gIiIgOiAiPyIpOwotCi0Jd2hpbGUgKGhlYWQgIT0gdGFpbCkgewor CWRvIHsKIAkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJCXVuc2lnbmVkIGludCBzdGF0dXM7 CiAJCXVuc2lnbmVkIGludCBjb3VudDsKQEAgLTEwMTYsMTIgKzk5NiwxMiBAQCBzdGF0aWMgdm9p ZCBwcm9jZXNzX2NzYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCSAqIHN0YXR1 cyBub3RpZmllci4KIAkJICovCiAKLQkJc3RhdHVzID0gUkVBRF9PTkNFKGJ1ZlsyICogaGVhZF0p OyAvKiBtYXliZSBtbWlvISAqLwogCQlHRU1fVFJBQ0UoIiVzIGNzYlslZF06IHN0YXR1cz0weCUw OHg6MHglMDh4LCBhY3RpdmU9MHgleFxuIiwKIAkJCSAgZW5naW5lLT5uYW1lLCBoZWFkLAotCQkJ ICBzdGF0dXMsIGJ1ZlsyKmhlYWQgKyAxXSwKKwkJCSAgYnVmWzIgKiBoZWFkICsgMF0sIGJ1Zlsy ICogaGVhZCArIDFdLAogCQkJICBleGVjbGlzdHMtPmFjdGl2ZSk7CiAKKwkJc3RhdHVzID0gYnVm WzIgKiBoZWFkXTsKIAkJaWYgKHN0YXR1cyAmIChHRU44X0NUWF9TVEFUVVNfSURMRV9BQ1RJVkUg fAogCQkJICAgICAgR0VOOF9DVFhfU1RBVFVTX1BSRUVNUFRFRCkpCiAJCQlleGVjbGlzdHNfc2V0 X2FjdGl2ZShleGVjbGlzdHMsCkBAIC0xMTAzLDE2ICsxMDgzLDExIEBAIHN0YXRpYyB2b2lkIHBy b2Nlc3NfY3NiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJfSBlbHNlIHsKIAkJ CXBvcnRfc2V0KHBvcnQsIHBvcnRfcGFjayhycSwgY291bnQpKTsKIAkJfQotCX0KLQotCWlmICho ZWFkICE9IGV4ZWNsaXN0cy0+Y3NiX2hlYWQpIHsKLQkJZXhlY2xpc3RzLT5jc2JfaGVhZCA9IGhl YWQ7Ci0JCXdyaXRlbChfTUFTS0VEX0ZJRUxEKEdFTjhfQ1NCX1JFQURfUFRSX01BU0ssIGhlYWQg PDwgOCksCi0JCSAgICAgICBpOTE1LT5yZWdzICsgaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19D T05URVhUX1NUQVRVU19QVFIoZW5naW5lKSkpOwotCX0KKwl9IHdoaWxlIChoZWFkICE9IHRhaWwp OwogCi0JaWYgKHVubGlrZWx5KGZ3KSkKLQkJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoaTkx NSwgZXhlY2xpc3RzLT5md19kb21haW5zKTsKKwl3cml0ZWwoX01BU0tFRF9GSUVMRChHRU44X0NT Ql9SRUFEX1BUUl9NQVNLLCBoZWFkIDw8IDgpLAorCSAgICAgICBleGVjbGlzdHMtPmNzYl9yZWFk KTsKKwlleGVjbGlzdHMtPmNzYl9oZWFkID0gaGVhZDsKIH0KIAogLyoKQEAgLTIzODYsMjggKzIz NjEsMTEgQEAgbG9naWNhbF9yaW5nX2RlZmF1bHRfaXJxcyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUpCiBzdGF0aWMgdm9pZAogbG9naWNhbF9yaW5nX3NldHVwKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBlbmdpbmUtPmk5MTU7Ci0JZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zOwotCiAJ aW50ZWxfZW5naW5lX3NldHVwX2NvbW1vbihlbmdpbmUpOwogCiAJLyogSW50ZW50aW9uYWxseSBs ZWZ0IGJsYW5rLiAqLwogCWVuZ2luZS0+YnVmZmVyID0gTlVMTDsKIAotCWZ3X2RvbWFpbnMgPSBp bnRlbF91bmNvcmVfZm9yY2V3YWtlX2Zvcl9yZWcoZGV2X3ByaXYsCi0JCQkJCQkgICAgUklOR19F TFNQKGVuZ2luZSksCi0JCQkJCQkgICAgRldfUkVHX1dSSVRFKTsKLQotCWZ3X2RvbWFpbnMgfD0g aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9mb3JfcmVnKGRldl9wcml2LAotCQkJCQkJICAgICBSSU5H X0NPTlRFWFRfU1RBVFVTX1BUUihlbmdpbmUpLAotCQkJCQkJICAgICBGV19SRUdfUkVBRCB8IEZX X1JFR19XUklURSk7Ci0KLQlmd19kb21haW5zIHw9IGludGVsX3VuY29yZV9mb3JjZXdha2VfZm9y X3JlZyhkZXZfcHJpdiwKLQkJCQkJCSAgICAgUklOR19DT05URVhUX1NUQVRVU19CVUZfQkFTRShl bmdpbmUpLAotCQkJCQkJICAgICBGV19SRUdfUkVBRCk7Ci0KLQllbmdpbmUtPmV4ZWNsaXN0cy5m d19kb21haW5zID0gZndfZG9tYWluczsKLQogCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5leGVjbGlz dHMudGFza2xldCwKIAkJICAgICBleGVjbGlzdHNfc3VibWlzc2lvbl90YXNrbGV0LCAodW5zaWdu ZWQgbG9uZyllbmdpbmUpOwogCkBAIC0yNDE1LDM0ICsyMzczLDU2IEBAIGxvZ2ljYWxfcmluZ19z ZXR1cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJbG9naWNhbF9yaW5nX2RlZmF1 bHRfaXJxcyhlbmdpbmUpOwogfQogCitzdGF0aWMgYm9vbCBjc2JfZm9yY2VfbW1pbyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwkvKiBPbGRlciBHVlQgZW11bGF0aW9uIGRlcGVu ZHMgdXBvbiBpbnRlcmNlcHRpbmcgQ1NCIG1taW8gKi8KKwlyZXR1cm4gaW50ZWxfdmdwdV9hY3Rp dmUoaTkxNSkgJiYgIWludGVsX3ZncHVfaGFzX2h3c3BfZW11bGF0aW9uKGk5MTUpOworfQorCiBz dGF0aWMgaW50IGxvZ2ljYWxfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsKKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUt PmV4ZWNsaXN0czsKIAlpbnQgcmV0OwogCiAJcmV0ID0gaW50ZWxfZW5naW5lX2luaXRfY29tbW9u KGVuZ2luZSk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJvcjsKIAotCWlmIChIQVNfTE9HSUNBTF9S SU5HX0VMU1EoZW5naW5lLT5pOTE1KSkgewotCQllbmdpbmUtPmV4ZWNsaXN0cy5zdWJtaXRfcmVn ID0gZW5naW5lLT5pOTE1LT5yZWdzICsKKwlpZiAoSEFTX0xPR0lDQUxfUklOR19FTFNRKGk5MTUp KSB7CisJCWV4ZWNsaXN0cy0+c3VibWl0X3JlZyA9IGk5MTUtPnJlZ3MgKwogCQkJaTkxNV9tbWlv X3JlZ19vZmZzZXQoUklOR19FWEVDTElTVF9TUV9DT05URU5UUyhlbmdpbmUpKTsKLQkJZW5naW5l LT5leGVjbGlzdHMuY3RybF9yZWcgPSBlbmdpbmUtPmk5MTUtPnJlZ3MgKworCQlleGVjbGlzdHMt PmN0cmxfcmVnID0gaTkxNS0+cmVncyArCiAJCQlpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0VY RUNMSVNUX0NPTlRST0woZW5naW5lKSk7CiAJfSBlbHNlIHsKLQkJZW5naW5lLT5leGVjbGlzdHMu c3VibWl0X3JlZyA9IGVuZ2luZS0+aTkxNS0+cmVncyArCisJCWV4ZWNsaXN0cy0+c3VibWl0X3Jl ZyA9IGk5MTUtPnJlZ3MgKwogCQkJaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19FTFNQKGVuZ2lu ZSkpOwogCX0KIAotCWVuZ2luZS0+ZXhlY2xpc3RzLnByZWVtcHRfY29tcGxldGVfc3RhdHVzID0g fjB1OwotCWlmIChlbmdpbmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCkgeworCWV4ZWNsaXN0cy0+ cHJlZW1wdF9jb21wbGV0ZV9zdGF0dXMgPSB+MHU7CisJaWYgKGk5MTUtPnByZWVtcHRfY29udGV4 dCkgewogCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPQotCQkJdG9faW50ZWxfY29udGV4dChl bmdpbmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCwgZW5naW5lKTsKKwkJCXRvX2ludGVsX2NvbnRl eHQoaTkxNS0+cHJlZW1wdF9jb250ZXh0LCBlbmdpbmUpOwogCi0JCWVuZ2luZS0+ZXhlY2xpc3Rz LnByZWVtcHRfY29tcGxldGVfc3RhdHVzID0KKwkJZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRl X3N0YXR1cyA9CiAJCQl1cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYyk7CiAJfQogCi0JZW5naW5l LT5leGVjbGlzdHMuY3NiX2hlYWQgPSBHRU44X0NTQl9FTlRSSUVTIC0gMTsKKwlleGVjbGlzdHMt PmNzYl9oZWFkID0gR0VOOF9DU0JfRU5UUklFUyAtIDE7CisJZXhlY2xpc3RzLT5jc2JfcmVhZCA9 CisJCWk5MTUtPnJlZ3MgKyBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX0NPTlRFWFRfU1RBVFVT X1BUUihlbmdpbmUpKTsKKwlpZiAoY3NiX2ZvcmNlX21taW8oaTkxNSkpIHsKKwkJZXhlY2xpc3Rz LT5jc2Jfc3RhdHVzID0gKHUzMiBfX2ZvcmNlICopCisJCQkoaTkxNS0+cmVncyArIGk5MTVfbW1p b19yZWdfb2Zmc2V0KFJJTkdfQ09OVEVYVF9TVEFUVVNfQlVGX0xPKGVuZ2luZSwgMCkpKTsKKwor CQlleGVjbGlzdHMtPmNzYl93cml0ZSA9ICh1MzIgX19mb3JjZSAqKWV4ZWNsaXN0cy0+Y3NiX3Jl YWQ7CisJfSBlbHNlIHsKKwkJZXhlY2xpc3RzLT5jc2Jfc3RhdHVzID0KKwkJCSZlbmdpbmUtPnN0 YXR1c19wYWdlLnBhZ2VfYWRkcltJOTE1X0hXU19DU0JfQlVGMF9JTkRFWF07CisKKwkJZXhlY2xp c3RzLT5jc2Jfd3JpdGUgPQorCQkJJmVuZ2luZS0+c3RhdHVzX3BhZ2UucGFnZV9hZGRyW2ludGVs X2h3c19jc2Jfd3JpdGVfaW5kZXgoaTkxNSldOworCX0KIAogCXJldHVybiAwOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggYWNlZjM4NWM0YzgwLi44ODQxODQ3 N2Y5YWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTI5OSwx OSArMjk5LDMwIEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzIHsKIAlzdHJ1Y3QgcmJf bm9kZSAqZmlyc3Q7CiAKIAkvKioKLQkgKiBAZndfZG9tYWluczogZm9yY2V3YWtlIGRvbWFpbnMg Zm9yIGlycSB0YXNrbGV0CisJICogQGNzYl9oZWFkOiBjb250ZXh0IHN0YXR1cyBidWZmZXIgaGVh ZAogCSAqLwotCXVuc2lnbmVkIGludCBmd19kb21haW5zOworCXVuc2lnbmVkIGludCBjc2JfaGVh ZDsKIAogCS8qKgotCSAqIEBjc2JfaGVhZDogY29udGV4dCBzdGF0dXMgYnVmZmVyIGhlYWQKKwkg KiBAY3NiX3JlYWQ6IGNvbnRyb2wgcmVnaXN0ZXIgZm9yIENvbnRleHQgU3dpdGNoIGJ1ZmZlcgor CSAqCisJICogTm90ZSB0aGlzIHJlZ2lzdGVyIGlzIGFsd2F5cyBpbiBtbWlvLgogCSAqLwotCXVu c2lnbmVkIGludCBjc2JfaGVhZDsKKwl1MzIgX19pb21lbSAqY3NiX3JlYWQ7CiAKIAkvKioKLQkg KiBAY3NiX3VzZV9tbWlvOiBhY2Nlc3MgY3NiIHRocm91Z2ggbW1pbywgaW5zdGVhZCBvZiBod3Nw CisJICogQGNzYl93cml0ZTogY29udHJvbCByZWdpc3RlciBmb3IgQ29udGV4dCBTd2l0Y2ggYnVm ZmVyCisJICoKKwkgKiBOb3RlIHRoaXMgcmVnaXN0ZXIgbWF5IGJlIGVpdGhlciBtbWlvIG9yIEhX U1Agc2hhZG93LgorCSAqLworCXUzMiAqY3NiX3dyaXRlOworCisJLyoqCisJICogQGNzYl9zdGF0 dXM6IHN0YXR1cyBhcnJheSBmb3IgQ29udGV4dCBTd2l0Y2ggYnVmZmVyCisJICoKKwkgKiBOb3Rl IHRoZXNlIHJlZ2lzdGVyIG1heSBiZSBlaXRoZXIgbW1pbyBvciBIV1NQIHNoYWRvdy4KIAkgKi8K LQlib29sIGNzYl91c2VfbW1pbzsKKwl1MzIgKmNzYl9zdGF0dXM7CiAKIAkvKioKIAkgKiBAcHJl ZW1wdF9jb21wbGV0ZV9zdGF0dXM6IGV4cGVjdGVkIENTQiB1cG9uIGNvbXBsZXRpbmcgcHJlZW1w dGlvbgotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK