From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH v3 2/4] drm/vc4: Report underrun errors Date: Tue, 8 Jan 2019 15:50:54 +0100 Message-ID: <20190108145056.2276-3-paul.kocialkowski@bootlin.com> References: <20190108145056.2276-1-paul.kocialkowski@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 0063F6EB1C for ; Tue, 8 Jan 2019 14:51:16 +0000 (UTC) In-Reply-To: <20190108145056.2276-1-paul.kocialkowski@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Maxime Ripard , Thomas Petazzoni , Eben Upton , David Airlie , Boris Brezillon List-Id: dri-devel@lists.freedesktop.org RnJvbTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxsb25AYm9vdGxpbi5jb20+CgpUaGUg RFJNIGZyYW1ld29yayBwcm92aWRlcyBhIGdlbmVyaWMgd2F5IHRvIHJlcG9ydCB1bmRlcnJ1biBl cnJvcnMuCkxldCdzIGltcGxlbWVudCB0aGUgbmVjZXNzYXJ5IGhvb2tzIHRvIHN1cHBvcnQgaXQg aW4gdGhlIFZDNCBkcml2ZXIuCgpTaWduZWQtb2ZmLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJvcmlz LmJyZXppbGxvbkBib290bGluLmNvbT4KLS0tCkNoYW5nZXMgaW4gdjM6Ci0gR2VuZXJpYyB1bmRl cnJ1biByZXBvcnQgZnVuY3Rpb24gaGFzIGJlZW4gZHJvcHBlZCwgYWRqdXN0IHRoZQogIGNvZGUg YWNjb3JkaW5nbHkKCkNoYW5nZXMgaW4gdjI6Ci0gTmV3IHBhdGNoCi0tLQogZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfZGVidWdmcy5jIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2 LmggICAgIHwgMTAgKysrKwogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaHZzLmMgICAgIHwgODcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRf a21zLmMgICAgIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaCAgICB8IDQ2 ICsrKystLS0tLS0tLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDM1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RlYnVn ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RlYnVnZnMuYwppbmRleCA3YTAwMDNkZTcx YWIuLjY0MDIxYmNiYTA0MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZGVi dWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2RlYnVnZnMuYwpAQCAtMjMsNiAr MjMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pbmZvX2xpc3QgdmM0X2RlYnVnZnNfbGlz dFtdID0gewogCXsidmVjX3JlZ3MiLCB2YzRfdmVjX2RlYnVnZnNfcmVncywgMH0sCiAJeyJ0eHBf cmVncyIsIHZjNF90eHBfZGVidWdmc19yZWdzLCAwfSwKIAl7Imh2c19yZWdzIiwgdmM0X2h2c19k ZWJ1Z2ZzX3JlZ3MsIDB9LAorCXsiaHZzX3VuZGVycnVuIiwgIHZjNF9odnNfZGVidWdmc191bmRl cnJ1biwgMH0sCiAJeyJjcnRjMF9yZWdzIiwgdmM0X2NydGNfZGVidWdmc19yZWdzLCAwLCAodm9p ZCAqKSh1aW50cHRyX3QpMH0sCiAJeyJjcnRjMV9yZWdzIiwgdmM0X2NydGNfZGVidWdmc19yZWdz LCAwLCAodm9pZCAqKSh1aW50cHRyX3QpMX0sCiAJeyJjcnRjMl9yZWdzIiwgdmM0X2NydGNfZGVi dWdmc19yZWdzLCAwLCAodm9pZCAqKSh1aW50cHRyX3QpMn0sCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oCmlu ZGV4IDk1NWYxNTdmNWFkMC4uNjE5ZmI4YmVjNDI4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaApAQCAt MTg0LDYgKzE4NCwxMyBAQCBzdHJ1Y3QgdmM0X2RldiB7CiAJLyogQml0bWFzayBvZiB0aGUgY3Vy cmVudCBiaW5fYWxsb2MgdXNlZCBmb3Igb3ZlcmZsb3cgbWVtb3J5LiAqLwogCXVpbnQzMl90IGJp bl9hbGxvY19vdmVyZmxvdzsKIAorCS8qIEluY3JlbWVudGVkIHdoZW4gYW4gdW5kZXJydW4gZXJy b3IgaGFwcGVuZWQgYWZ0ZXIgYW4gYXRvbWljIGNvbW1pdC4KKwkgKiBUaGlzIGlzIHBhcnRpY3Vs YXJseSB1c2VmdWwgdG8gZGV0ZWN0IHdoZW4gYSBzcGVjaWZpYyBtb2Rlc2V0IGlzIHRvbworCSAq IGRlbWFuZGluZyBpbiB0ZXJtIG9mIG1lbW9yeSBvciBIVlMgYmFuZHdpZHRoIHdoaWNoIGlzIGhh cmQgdG8gZ3Vlc3MKKwkgKiBhdCBhdG9taWMgY2hlY2sgdGltZS4KKwkgKi8KKwlhdG9taWNfdCB1 bmRlcnJ1bjsKKwogCXN0cnVjdCB3b3JrX3N0cnVjdCBvdmVyZmxvd19tZW1fd29yazsKIAogCWlu dCBwb3dlcl9yZWZjb3VudDsKQEAgLTc3Myw2ICs3ODAsOSBAQCBleHRlcm4gc3RydWN0IHBsYXRm b3JtX2RyaXZlciB2YzRfaHZzX2RyaXZlcjsKIHZvaWQgdmM0X2h2c19kdW1wX3N0YXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpOwogaW50IHZjNF9odnNfZGVidWdmc19yZWdzKHN0cnVjdCBzZXFf ZmlsZSAqbSwgdm9pZCAqdW51c2VkKTsKIHZvaWQgdmM0X2h2c19zeW5jX2RsaXN0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpOworaW50IHZjNF9odnNfZGVidWdmc191bmRlcnJ1bihzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKnVudXNlZCk7Cit2b2lkIHZjNF9odnNfdW5tYXNrX3VuZGVycnVuKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCB2YzRfaHZzX21hc2tfdW5kZXJydW4oc3RydWN0 IGRybV9kZXZpY2UgKmRldik7CiAKIC8qIHZjNF9rbXMuYyAqLwogaW50IHZjNF9rbXNfbG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2h2cy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfaHZzLmMKaW5kZXggMWJhNjBiOGUw YzJkLi4zMDk1ZmFkMmZmOGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2h2 cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2h2cy5jCkBAIC0yMiw2ICsyMiw3IEBA CiAgKiBlYWNoIENSVEMuCiAgKi8KIAorI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5o PgogI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgogI2luY2x1ZGUgInZjNF9kcnYuaCIKICNp bmNsdWRlICJ2YzRfcmVncy5oIgpAQCAtMTAyLDYgKzEwMywxOCBAQCBpbnQgdmM0X2h2c19kZWJ1 Z2ZzX3JlZ3Moc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCiAKIAlyZXR1cm4gMDsK IH0KKworaW50IHZjNF9odnNfZGVidWdmc191bmRlcnJ1bihzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZv aWQgKmRhdGEpCit7CisJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSBtLT5wcml2YXRlOwor CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBub2RlLT5taW5vci0+ZGV2OworCXN0cnVjdCB2YzRf ZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7CisJc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1f c2VxX2ZpbGVfcHJpbnRlcihtKTsKKworCWRybV9wcmludGYoJnAsICIlZFxuIiwgYXRvbWljX3Jl YWQoJnZjNC0+dW5kZXJydW4pKTsKKworCXJldHVybiAwOworfQogI2VuZGlmCiAKIC8qIFRoZSBm aWx0ZXIga2VybmVsIGlzIGNvbXBvc2VkIG9mIGR3b3JkcyBlYWNoIGNvbnRhaW5pbmcgMyA5LWJp dApAQCAtMTgzLDYgKzE5Niw2MiBAQCB2b2lkIHZjNF9odnNfc3luY19kbGlzdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCX0KIH0KIAordm9pZCB2YzRfaHZzX21hc2tfdW5kZXJydW4oc3RydWN0 IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rldihk ZXYpOworCXUzMiBkaXNwY3RybCA9IEhWU19SRUFEKFNDQUxFUl9ESVNQQ1RSTCk7CisKKwlkaXNw Y3RybCAmPSB+KFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMCkgfAorCQkgICAgICBTQ0FMRVJf RElTUENUUkxfRFNQRUlTTFVSKDEpIHwKKwkJICAgICAgU0NBTEVSX0RJU1BDVFJMX0RTUEVJU0xV UigyKSk7CisKKwlIVlNfV1JJVEUoU0NBTEVSX0RJU1BDVFJMLCBkaXNwY3RybCk7Cit9CisKK3Zv aWQgdmM0X2h2c191bm1hc2tfdW5kZXJydW4oc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlz dHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2RldihkZXYpOworCXUzMiBkaXNwY3RybCA9IEhW U19SRUFEKFNDQUxFUl9ESVNQQ1RSTCk7CisKKwlkaXNwY3RybCB8PSBTQ0FMRVJfRElTUENUUkxf RFNQRUlTTFVSKDApIHwKKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMSkgfAorCQkg ICAgU0NBTEVSX0RJU1BDVFJMX0RTUEVJU0xVUigyKTsKKworCUhWU19XUklURShTQ0FMRVJfRElT UFNUQVQsCisJCSAgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygwKSB8CisJCSAgU0NBTEVSX0RJU1BT VEFUX0VVRkxPVygxKSB8CisJCSAgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygyKSk7CisJSFZTX1dS SVRFKFNDQUxFUl9ESVNQQ1RSTCwgZGlzcGN0cmwpOworfQorCitzdGF0aWMgdm9pZCB2YzRfaHZz X3JlcG9ydF91bmRlcnJ1bihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCB2YzRf ZGV2ICp2YzQgPSB0b192YzRfZGV2KGRldik7CisKKwlhdG9taWNfaW5jKCZ2YzQtPnVuZGVycnVu KTsKKwlEUk1fREVWX0VSUk9SKGRldi0+ZGV2LCAiSFZTIHVuZGVycnVuXG4iKTsKK30KKworc3Rh dGljIGlycXJldHVybl90IHZjNF9odnNfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGF0YSkK K3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZGF0YTsKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0 ID0gdG9fdmM0X2RldihkZXYpOworCXUzMiBzdGF0dXM7CisKKwlzdGF0dXMgPSBIVlNfUkVBRChT Q0FMRVJfRElTUFNUQVQpOworCisJaWYgKHN0YXR1cyAmCisJICAgIChTQ0FMRVJfRElTUFNUQVRf RVVGTE9XKDApIHwgU0NBTEVSX0RJU1BTVEFUX0VVRkxPVygxKSB8CisJICAgICBTQ0FMRVJfRElT UFNUQVRfRVVGTE9XKDIpKSkgeworCQl2YzRfaHZzX21hc2tfdW5kZXJydW4oZGV2KTsKKwkJdmM0 X2h2c19yZXBvcnRfdW5kZXJydW4oZGV2KTsKKwl9CisKKwlIVlNfV1JJVEUoU0NBTEVSX0RJU1BT VEFULCBzdGF0dXMpOworCisJcmV0dXJuIHN0YXR1cyA/IElSUV9IQU5ETEVEIDogSVJRX05PTkU7 Cit9CisKIHN0YXRpYyBpbnQgdmM0X2h2c19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYgPSB0b19wbGF0Zm9ybV9kZXZpY2UoZGV2KTsKQEAgLTIzNiwxNSArMzA1LDMzIEBAIHN0 YXRpYyBpbnQgdmM0X2h2c19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAq bWFzdGVyLCB2b2lkICpkYXRhKQogCWRpc3BjdHJsID0gSFZTX1JFQUQoU0NBTEVSX0RJU1BDVFJM KTsKIAogCWRpc3BjdHJsIHw9IFNDQUxFUl9ESVNQQ1RSTF9FTkFCTEU7CisJZGlzcGN0cmwgfD0g U0NBTEVSX0RJU1BDVFJMX0RTUEVJU0xVUigwKSB8IFNDQUxFUl9ESVNQQ1RSTF9ESVNQRUlSUSgw KSB8CisJCSAgICBTQ0FMRVJfRElTUENUUkxfRFNQRUlTTFVSKDEpIHwgU0NBTEVSX0RJU1BDVFJM X0RJU1BFSVJRKDEpIHwKKwkJICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSVNMVVIoMikgfCBTQ0FM RVJfRElTUENUUkxfRElTUEVJUlEoMik7CiAKIAkvKiBTZXQgRFNQMyAoUFYxKSB0byB1c2UgSFZT IGNoYW5uZWwgMiwgd2hpY2ggd291bGQgb3RoZXJ3aXNlCiAJICogYmUgdW51c2VkLgogCSAqLwog CWRpc3BjdHJsICY9IH5TQ0FMRVJfRElTUENUUkxfRFNQM19NVVhfTUFTSzsKKwlkaXNwY3RybCAm PSB+KFNDQUxFUl9ESVNQQ1RSTF9ETUFFSVJRIHwKKwkJICAgICAgU0NBTEVSX0RJU1BDVFJMX1NM VldSRUlSUSB8CisJCSAgICAgIFNDQUxFUl9ESVNQQ1RSTF9TTFZSREVJUlEgfAorCQkgICAgICBT Q0FMRVJfRElTUENUUkxfRFNQRUlFT0YoMCkgfAorCQkgICAgICBTQ0FMRVJfRElTUENUUkxfRFNQ RUlFT0YoMSkgfAorCQkgICAgICBTQ0FMRVJfRElTUENUUkxfRFNQRUlFT0YoMikgfAorCQkgICAg ICBTQ0FMRVJfRElTUENUUkxfRFNQRUlFT0xOKDApIHwKKwkJICAgICAgU0NBTEVSX0RJU1BDVFJM X0RTUEVJRU9MTigxKSB8CisJCSAgICAgIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSUVPTE4oMikgfAor CQkgICAgICBTQ0FMRVJfRElTUENUUkxfU0NMRUlSUSk7CiAJZGlzcGN0cmwgfD0gVkM0X1NFVF9G SUVMRCgyLCBTQ0FMRVJfRElTUENUUkxfRFNQM19NVVgpOwogCiAJSFZTX1dSSVRFKFNDQUxFUl9E SVNQQ1RSTCwgZGlzcGN0cmwpOwogCisJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycShkZXYsIHBsYXRm b3JtX2dldF9pcnEocGRldiwgMCksCisJCQkgICAgICAgdmM0X2h2c19pcnFfaGFuZGxlciwgMCwg InZjNCBodnMiLCBkcm0pOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKIAlyZXR1cm4gMDsK IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9rbXMuYwppbmRleCAyZDY2YTJiNTdhOTEuLmEyOGU4MDFhZWFlMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfa21zLmMKQEAgLTEzOSw2ICsxMzksOCBAQCB2YzRfYXRvbWljX2NvbXBs ZXRlX2NvbW1pdChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CiAJc3RydWN0IHZjNF9kZXYgKnZjNCA9IHRvX3ZjNF9k ZXYoZGV2KTsKIAorCXZjNF9odnNfbWFza191bmRlcnJ1bihkZXYpOworCiAJZHJtX2F0b21pY19o ZWxwZXJfd2FpdF9mb3JfZmVuY2VzKGRldiwgc3RhdGUsIGZhbHNlKTsKIAogCWRybV9hdG9taWNf aGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2llcyhzdGF0ZSk7CkBAIC0xNTcsNiArMTU5LDggQEAg dmM0X2F0b21pY19jb21wbGV0ZV9jb21taXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQogCiAJdmM0X2h2c19zeW5jX2RsaXN0KGRldik7CiAKKwl2YzRfaHZzX3VubWFza191bmRlcnJ1 bihkZXYpOworCiAJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfZmxpcF9kb25lKGRldiwgc3Rh dGUpOwogCiAJZHJtX2F0b21pY19oZWxwZXJfY2xlYW51cF9wbGFuZXMoZGV2LCBzdGF0ZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9yZWdzLmggYi9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9yZWdzLmgKaW5kZXggNTBjNjUzMzA5YWVjLi43ZTI2OTJlOWE4M2UgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3JlZ3MuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9yZWdzLmgKQEAgLTIxNyw4ICsyMTcsNiBAQAogI2RlZmluZSBTQ0FMRVJfRElT UENUUkwgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMAogLyogR2xvYmFsIHJlZ2lz dGVyIGZvciBjbG9jayBnYXRpbmcgdGhlIEhWUyAqLwogIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJM X0VOQUJMRQkJCUJJVCgzMSkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AyRUlTTFVSCQlC SVQoMTUpCi0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQMUVJU0xVUgkJQklUKDE0KQogIyBk ZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUDNfTVVYX01BU0sJCVZDNF9NQVNLKDE5LCAxOCkKICMg ZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AzX01VWF9TSElGVAkJMTgKIApAQCAtMjI2LDQ1ICsy MjQsMjUgQEAKICAqIFNDQUxFUl9ESVNQU1RBVF9JUlFESVNQMC4gIE5vdGUgdGhhdCBzaG9ydCBm cmFtZSBjb250cmlidXRpb25zIGFyZQogICogYWx3YXlzIGVuYWJsZWQuCiAgKi8KLSMgZGVmaW5l IFNDQUxFUl9ESVNQQ1RSTF9EU1AwRUlTTFVSCQlCSVQoMTMpCi0jIGRlZmluZSBTQ0FMRVJfRElT UENUUkxfRFNQMkVJRU9MTgkJQklUKDEyKQotIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUDJF SUVPRgkJQklUKDExKQotIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RTUDFFSUVPTE4JCUJJVCgx MCkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1AxRUlFT0YJCUJJVCg5KQorIyBkZWZpbmUg U0NBTEVSX0RJU1BDVFJMX0RTUEVJU0xVUih4KQkJQklUKDEzICsgKHgpKQogLyogRW5hYmxlcyBE aXNwbGF5IDAgZW5kLW9mLWxpbmUtTiBjb250cmlidXRpb24gdG8KICAqIFNDQUxFUl9ESVNQU1RB VF9JUlFESVNQMAogICovCi0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQMEVJRU9MTgkJQklU KDgpCisjIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQRUlFT0xOKHgpCQlCSVQoOCArICgoeCkg KiAyKSkKIC8qIEVuYWJsZXMgRGlzcGxheSAwIEVPRiBjb250cmlidXRpb24gdG8gU0NBTEVSX0RJ U1BTVEFUX0lSUURJU1AwICovCi0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRFNQMEVJRU9GCQlC SVQoNykKKyMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9EU1BFSUVPRih4KQkJQklUKDcgKyAoKHgp ICogMikpCiAKICMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9TTFZSREVJUlEJCUJJVCg2KQogIyBk ZWZpbmUgU0NBTEVSX0RJU1BDVFJMX1NMVldSRUlSUQkJQklUKDUpCiAjIGRlZmluZSBTQ0FMRVJf RElTUENUUkxfRE1BRUlSUQkJQklUKDQpCi0jIGRlZmluZSBTQ0FMRVJfRElTUENUUkxfRElTUDJF SVJRCQlCSVQoMykKLSMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9ESVNQMUVJUlEJCUJJVCgyKQog LyogRW5hYmxlcyBpbnRlcnJ1cHQgZ2VuZXJhdGlvbiBvbiB0aGUgZW5hYmxlZCBFT0YvRU9MTi9F SVNMVVIKICAqIGJpdHMgYW5kIHNob3J0IGZyYW1lcy4uCiAgKi8KLSMgZGVmaW5lIFNDQUxFUl9E SVNQQ1RSTF9ESVNQMEVJUlEJCUJJVCgxKQorIyBkZWZpbmUgU0NBTEVSX0RJU1BDVFJMX0RJU1BF SVJRKHgpCQlCSVQoMSArICh4KSkKIC8qIEVuYWJsZXMgaW50ZXJydXB0IGdlbmVyYXRpb24gb24g c2NhbGVyIHByb2ZpbGVyIGludGVycnVwdC4gKi8KICMgZGVmaW5lIFNDQUxFUl9ESVNQQ1RSTF9T Q0xFSVJRCQlCSVQoMCkKIAogI2RlZmluZSBTQ0FMRVJfRElTUFNUQVQgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwNAotIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0NPQkxPVzIJCUJJ VCgyOSkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0xOMgkJCUJJVCgyOCkKLSMgZGVmaW5l IFNDQUxFUl9ESVNQU1RBVF9FU0ZSQU1FMgkJQklUKDI3KQotIyBkZWZpbmUgU0NBTEVSX0RJU1BT VEFUX0VTTElORTIJCUJJVCgyNikKLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FVUZMT1cyCQlC SVQoMjUpCi0jIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRU9GMgkJCUJJVCgyNCkKLQotIyBkZWZp bmUgU0NBTEVSX0RJU1BTVEFUX0NPQkxPVzEJCUJJVCgyMSkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQ U1RBVF9FT0xOMQkJCUJJVCgyMCkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FU0ZSQU1FMQkJ QklUKDE5KQotIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VTTElORTEJCUJJVCgxOCkKLSMgZGVm aW5lIFNDQUxFUl9ESVNQU1RBVF9FVUZMT1cxCQlCSVQoMTcpCi0jIGRlZmluZSBTQ0FMRVJfRElT UFNUQVRfRU9GMQkJCUJJVCgxNikKLQogIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX1JFU1BfTUFT SwkJVkM0X01BU0soMTUsIDE0KQogIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX1JFU1BfU0hJRlQJ CTE0CiAjIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfUkVTUF9PS0FZCQkwCkBAIC0yNzIsMjMgKzI1 MCwyMyBAQAogIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX1JFU1BfU0xWRVJSCQkyCiAjIGRlZmlu ZSBTQ0FMRVJfRElTUFNUQVRfUkVTUF9ERUNFUlIJCTMKIAotIyBkZWZpbmUgU0NBTEVSX0RJU1BT VEFUX0NPQkxPVzAJCUJJVCgxMykKKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9DT0JMT1coeCkJ CUJJVCg1ICsgKCgoeCkgKyAxKSAqIDgpKQogLyogU2V0IHdoZW4gdGhlIERJU1BFT0xOIGxpbmUg aXMgZG9uZSBjb21wb3NpdGluZy4gKi8KLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0xOMAkJ CUJJVCgxMikKKyMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FT0xOKHgpCQlCSVQoNCArICgoKHgp ICsgMSkgKiA4KSkKIC8qIFNldCB3aGVuIFZTVEFSVCBpcyBzZWVuIGJ1dCB0aGVyZSBhcmUgc3Rp bGwgcGl4ZWxzIGluIHRoZSBjdXJyZW50CiAgKiBvdXRwdXQgbGluZS4KICAqLwotIyBkZWZpbmUg U0NBTEVSX0RJU1BTVEFUX0VTRlJBTUUwCQlCSVQoMTEpCisjIGRlZmluZSBTQ0FMRVJfRElTUFNU QVRfRVNGUkFNRSh4KQkJQklUKDMgKyAoKCh4KSArIDEpICogOCkpCiAvKiBTZXQgd2hlbiBIU1RB UlQgaXMgc2VlbiBidXQgdGhlcmUgYXJlIHN0aWxsIHBpeGVscyBpbiB0aGUgY3VycmVudAogICog b3V0cHV0IGxpbmUuCiAgKi8KLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9FU0xJTkUwCQlCSVQo MTApCisjIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfRVNMSU5FKHgpCQlCSVQoMiArICgoKHgpICsg MSkgKiA4KSkKIC8qIFNldCB3aGVuIHRoZSB0aGUgZG93bnN0cmVhbSB0cmllcyB0byByZWFkIGZy b20gdGhlIGRpc3BsYXkgRklGTwogICogd2hpbGUgaXQncyBlbXB0eS4KICAqLwotIyBkZWZpbmUg U0NBTEVSX0RJU1BTVEFUX0VVRkxPVzAJCUJJVCg5KQorIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFU X0VVRkxPVyh4KQkJQklUKDEgKyAoKCh4KSArIDEpICogOCkpCiAvKiBTZXQgd2hlbiB0aGUgZGlz cGxheSBtb2RlIGNoYW5nZXMgZnJvbSBSVU4gdG8gRU9GICovCi0jIGRlZmluZSBTQ0FMRVJfRElT UFNUQVRfRU9GMAkJCUJJVCg4KQorIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0VPRih4KQkJCUJJ VCgoKHgpICsgMSkgKiA4KQogCiAvKiBTZXQgb24gQVhJIGludmFsaWQgRE1BIElEIGVycm9yLiAq LwogIyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0RNQV9FUlJPUgkJQklUKDcpCkBAIC0zMDAsMTIg KzI3OCwxMCBAQAogICogU0NBTEVSX0RJU1BTVEFUX1JFU1BfRVJST1IgaXMgbm90IFNDQUxFUl9E SVNQU1RBVF9SRVNQX09LQVkuCiAgKi8KICMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9JUlFETUEJ CQlCSVQoNCkKLSMgZGVmaW5lIFNDQUxFUl9ESVNQU1RBVF9JUlFESVNQMgkJQklUKDMpCi0jIGRl ZmluZSBTQ0FMRVJfRElTUFNUQVRfSVJRRElTUDEJCUJJVCgyKQogLyogU2V0IHdoZW4gYW55IG9m IHRoZSBFT0YvRU9MTi9FU0ZSQU1FL0VTTElORSBiaXRzIGFyZSBzZXQgYW5kIHRoZWlyCiAgKiBj b3JyZXNwb25kaW5nIGludGVycnVwdCBiaXQgaXMgZW5hYmxlZCBpbiBESVNQQ1RSTC4KICAqLwot IyBkZWZpbmUgU0NBTEVSX0RJU1BTVEFUX0lSUURJU1AwCQlCSVQoMSkKKyMgZGVmaW5lIFNDQUxF Ul9ESVNQU1RBVF9JUlFESVNQKHgpCQlCSVQoMSArICh4KSkKIC8qIE9uIHJlYWQsIHRoZSBwcm9m aWxlciBpbnRlcnJ1cHQuICBPbiB3cml0ZSwgY2xlYXIgKmFsbCogaW50ZXJydXB0IGJpdHMuICov CiAjIGRlZmluZSBTQ0FMRVJfRElTUFNUQVRfSVJRU0NMCQkJQklUKDApCiAKLS0gCjIuMjAuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==