From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Gmeiner Subject: [PATCH V5 03/25] drm/etnaviv: add infrastructure to query perf counter Date: Sun, 24 Sep 2017 15:15:21 +0200 Message-ID: <20170924131543.4066-4-christian.gmeiner@gmail.com> References: <20170924131543.4066-1-christian.gmeiner@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170924131543.4066-1-christian.gmeiner@gmail.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 Cc: linux+etnaviv@armlinux.org.uk, etnaviv@lists.freedesktop.org, cphealy@gmail.com List-Id: dri-devel@lists.freedesktop.org TWFrZSBpdCBwb3NzaWJsZSB0aGF0IHVzZXJzcGFjZSBjYW4gcXVlcnkgYWxsIHBlcmZvcm1hbmNl IGRvbWFpbnMgYW5kCml0cyBzaWduYWxzLiBUaGlzIGluZm9ybWF0aW9uIGlzIG5lZWRlZCB0byBz YW1wbGUgdGhvc2Ugc2lnbmFscyB2aWEKc3VibWl0IGlvY3RsLgoKQXQgdGhlIG1vbWVudCBubyBw ZXJmb3JtYW5jZSBkb21haW4gaXMgYXZhaWxhYmxlLgoKQ2hhbmdlcyBmcm9tIHYxIC0+IHYyOgot IHVzZSBhIDE2IGJpdCB2YWx1ZSBmb3Igc2lnbmFscwotIGZpeCBwYWRkaW5nIGlzc3VlcwotIGFk ZCBpZCBtZW1iZXIgdG8gZG9tYWluIGFuZCBzaWduYWwgc3RydWN0CgpDaGFuZ2VzIHY0IC0+IHY1 Ci0gcHJvdmlkZSBmb3IgZWFjaCBwaXBlIGFuIG93biBzZXQgb2YgcG0gZG9tYWlucwoKU2lnbmVk LW9mZi1ieTogQ2hyaXN0aWFuIEdtZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdtYWlsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9NYWtlZmlsZSAgICAgICAgICB8ICAgMyArLQog ZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYyAgICAgfCAgMzcgKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9wZXJmbW9uLmMgfCAxMTMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X3BlcmZtb24uaCB8ICAzMSArKysrKysrKwogaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5o ICAgICAgICAgICAgfCAgMjcgKysrKysrLQogNSBmaWxlcyBjaGFuZ2VkLCAyMDkgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X3BlcmZtb24uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1 L2RybS9ldG5hdml2L2V0bmF2aXZfcGVyZm1vbi5oCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9NYWtlZmlsZQpp bmRleCA0Zjc2Yzk5MjA0M2YuLjE1YzNiZmE4OWE3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvTWFrZWZp bGUKQEAgLTEwLDYgKzEwLDcgQEAgZXRuYXZpdi15IDo9IFwKIAlldG5hdml2X2dwdS5vIFwKIAll dG5hdml2X2lvbW11X3YyLm8gXAogCWV0bmF2aXZfaW9tbXUubyBcCi0JZXRuYXZpdl9tbXUubwor CWV0bmF2aXZfbW11Lm8gXAorCWV0bmF2aXZfcGVyZm1vbi5vCiAKIG9iai0kKENPTkZJR19EUk1f RVROQVZJVikJKz0gZXRuYXZpdi5vCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYwpp bmRleCA5MWUxN2FlZWUxZGEuLjUzNjc2MGE5ZmVmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9l dG5hdml2X2Rydi5jCkBAIC0yMyw2ICsyMyw3IEBACiAjaW5jbHVkZSAiZXRuYXZpdl9ncHUuaCIK ICNpbmNsdWRlICJldG5hdml2X2dlbS5oIgogI2luY2x1ZGUgImV0bmF2aXZfbW11LmgiCisjaW5j bHVkZSAiZXRuYXZpdl9wZXJmbW9uLmgiCiAKICNpZmRlZiBDT05GSUdfRFJNX0VUTkFWSVZfUkVH SVNURVJfTE9HR0lORwogc3RhdGljIGJvb2wgcmVnbG9nOwpAQCAtNDUxLDYgKzQ1Miw0MCBAQCBz dGF0aWMgaW50IGV0bmF2aXZfaW9jdGxfZ2VtX3dhaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IGV0bmF2aXZfaW9jdGxf cG1fcXVlcnlfZG9tKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJc3RydWN0 IGRybV9maWxlICpmaWxlKQoreworCXN0cnVjdCBldG5hdml2X2RybV9wcml2YXRlICpwcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2V0bmF2aXZfcG1fZG9tYWluICphcmdzID0g ZGF0YTsKKwlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKKworCWlmIChhcmdzLT5waXBlID49IEVU TkFfTUFYX1BJUEVTKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWdwdSA9IHByaXYtPmdwdVthcmdz LT5waXBlXTsKKwlpZiAoIWdwdSkKKwkJcmV0dXJuIC1FTlhJTzsKKworCXJldHVybiBldG5hdml2 X3BtX3F1ZXJ5X2RvbShncHUsIGFyZ3MpOworfQorCitzdGF0aWMgaW50IGV0bmF2aXZfaW9jdGxf cG1fcXVlcnlfc2lnKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJc3RydWN0 IGRybV9maWxlICpmaWxlKQoreworCXN0cnVjdCBldG5hdml2X2RybV9wcml2YXRlICpwcml2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2V0bmF2aXZfcG1fc2lnbmFsICphcmdzID0g ZGF0YTsKKwlzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdTsKKworCWlmIChhcmdzLT5waXBlID49IEVU TkFfTUFYX1BJUEVTKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWdwdSA9IHByaXYtPmdwdVthcmdz LT5waXBlXTsKKwlpZiAoIWdwdSkKKwkJcmV0dXJuIC1FTlhJTzsKKworCXJldHVybiBldG5hdml2 X3BtX3F1ZXJ5X3NpZyhncHUsIGFyZ3MpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9p b2N0bF9kZXNjIGV0bmF2aXZfaW9jdGxzW10gPSB7CiAjZGVmaW5lIEVUTkFfSU9DVEwobiwgZnVu YywgZmxhZ3MpIFwKIAlEUk1fSU9DVExfREVGX0RSVihFVE5BVklWXyMjbiwgZXRuYXZpdl9pb2N0 bF8jI2Z1bmMsIGZsYWdzKQpAQCAtNDYzLDYgKzQ5OCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2lvY3RsX2Rlc2MgZXRuYXZpdl9pb2N0bHNbXSA9IHsKIAlFVE5BX0lPQ1RMKFdBSVRfRkVO Q0UsICAgd2FpdF9mZW5jZSwgICBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKIAlFVE5BX0lP Q1RMKEdFTV9VU0VSUFRSLCAgZ2VtX3VzZXJwdHIsICBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9X KSwKIAlFVE5BX0lPQ1RMKEdFTV9XQUlULCAgICAgZ2VtX3dhaXQsICAgICBEUk1fQVVUSHxEUk1f UkVOREVSX0FMTE9XKSwKKwlFVE5BX0lPQ1RMKFBNX1FVRVJZX0RPTSwgcG1fcXVlcnlfZG9tLCBE Uk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKKwlFVE5BX0lPQ1RMKFBNX1FVRVJZX1NJRywgcG1f cXVlcnlfc2lnLCBEUk1fQVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKIH07CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3Qgdm1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9wZXJmbW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X3BlcmZtb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjA4ZWYwMWMyYTBlZgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ldG5hdml2L2V0bmF2aXZfcGVyZm1vbi5jCkBAIC0wLDAgKzEsMTEzIEBACisvKgorICogQ29w eXJpZ2h0IChDKSAyMDE3IEV0bmF2aXYgUHJvamVjdAorICogQ29weXJpZ2h0IChDKSAyMDE3IFpv ZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9ucworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBh cyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKKyAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IK KyAqIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5 IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZyB3aXRoCisgKiB0aGlzIHBy b2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8K KworI2luY2x1ZGUgImV0bmF2aXZfZ3B1LmgiCisKK3N0cnVjdCBldG5hdml2X3BtX2RvbWFpbjsK Kworc3RydWN0IGV0bmF2aXZfcG1fc2lnbmFsIHsKKwljaGFyIG5hbWVbNjRdOworCXUzMiBkYXRh OworCisJdTMyICgqc2FtcGxlKShzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwKKwkgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBldG5hdml2X3BtX2RvbWFpbiAqZG9tYWluLAorCSAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGV0bmF2aXZfcG1fc2lnbmFsICpzaWduYWwpOworfTsKKworc3RydWN0 IGV0bmF2aXZfcG1fZG9tYWluIHsKKwljaGFyIG5hbWVbNjRdOworCXU4IG5yX3NpZ25hbHM7CisJ Y29uc3Qgc3RydWN0IGV0bmF2aXZfcG1fc2lnbmFsICpzaWduYWw7Cit9OworCitzdHJ1Y3QgZXRu YXZpdl9wbV9kb21haW5fbWV0YSB7CisJY29uc3Qgc3RydWN0IGV0bmF2aXZfcG1fZG9tYWluICpk b21haW5zOworCXUzMiBucl9kb21haW5zOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBldG5h dml2X3BtX2RvbWFpbiBkb21zXzNkW10gPSB7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGV0 bmF2aXZfcG1fZG9tYWluIGRvbXNfMmRbXSA9IHsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg ZXRuYXZpdl9wbV9kb21haW4gZG9tc192Z1tdID0geworfTsKKworc3RhdGljIGNvbnN0IHN0cnVj dCBldG5hdml2X3BtX2RvbWFpbl9tZXRhIGRvbXNfbWV0YVtdID0geworCXsKKwkJLm5yX2RvbWFp bnMgPSBBUlJBWV9TSVpFKGRvbXNfM2QpLAorCQkuZG9tYWlucyA9ICZkb21zXzNkWzBdCisJfSwK Kwl7CisJCS5ucl9kb21haW5zID0gQVJSQVlfU0laRShkb21zXzJkKSwKKwkJLmRvbWFpbnMgPSAm ZG9tc18yZFswXQorCX0sCisJeworCQkubnJfZG9tYWlucyA9IEFSUkFZX1NJWkUoZG9tc192Zyks CisJCS5kb21haW5zID0gJmRvbXNfdmdbMF0KKwl9Cit9OworCitpbnQgZXRuYXZpdl9wbV9xdWVy eV9kb20oc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsCisJc3RydWN0IGRybV9ldG5hdml2X3BtX2Rv bWFpbiAqZG9tYWluKQoreworCWNvbnN0IHN0cnVjdCBldG5hdml2X3BtX2RvbWFpbl9tZXRhICpt ZXRhID0gJmRvbXNfbWV0YVtkb21haW4tPnBpcGVdOworCWNvbnN0IHN0cnVjdCBldG5hdml2X3Bt X2RvbWFpbiAqZG9tOworCisJaWYgKGRvbWFpbi0+aXRlciA+PSBtZXRhLT5ucl9kb21haW5zKQor CQlyZXR1cm4gLUVJTlZBTDsKKworCWRvbSA9IG1ldGEtPmRvbWFpbnMgKyBkb21haW4tPml0ZXI7 CisKKwlkb21haW4tPmlkID0gZG9tYWluLT5pdGVyOworCWRvbWFpbi0+bnJfc2lnbmFscyA9IGRv bS0+bnJfc2lnbmFsczsKKwlzdHJuY3B5KGRvbWFpbi0+bmFtZSwgZG9tLT5uYW1lLCBzaXplb2Yo ZG9tYWluLT5uYW1lKSk7CisKKwlkb21haW4tPml0ZXIrKzsKKwlpZiAoZG9tYWluLT5pdGVyID09 IG1ldGEtPm5yX2RvbWFpbnMpCisJCWRvbWFpbi0+aXRlciA9IDB4ZmY7CisKKwlyZXR1cm4gMDsK K30KKworaW50IGV0bmF2aXZfcG1fcXVlcnlfc2lnKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAor CXN0cnVjdCBkcm1fZXRuYXZpdl9wbV9zaWduYWwgKnNpZ25hbCkKK3sKKwljb25zdCBzdHJ1Y3Qg ZXRuYXZpdl9wbV9kb21haW5fbWV0YSAqbWV0YSA9ICZkb21zX21ldGFbc2lnbmFsLT5waXBlXTsK Kwljb25zdCBzdHJ1Y3QgZXRuYXZpdl9wbV9kb21haW4gKmRvbTsKKwljb25zdCBzdHJ1Y3QgZXRu YXZpdl9wbV9zaWduYWwgKnNpZzsKKworCWlmIChzaWduYWwtPmRvbWFpbiA+PSBtZXRhLT5ucl9k b21haW5zKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRvbSA9IG1ldGEtPmRvbWFpbnMgKyBzaWdu YWwtPmRvbWFpbjsKKworCWlmIChzaWduYWwtPml0ZXIgPiBkb20tPm5yX3NpZ25hbHMpCisJCXJl dHVybiAtRUlOVkFMOworCisJc2lnID0gJmRvbS0+c2lnbmFsW3NpZ25hbC0+aXRlcl07CisKKwlz aWduYWwtPmlkID0gc2lnbmFsLT5pdGVyOworCXN0cm5jcHkoc2lnbmFsLT5uYW1lLCBzaWctPm5h bWUsIHNpemVvZihzaWduYWwtPm5hbWUpKTsKKworCXNpZ25hbC0+aXRlcisrOworCWlmIChzaWdu YWwtPml0ZXIgPT0gZG9tLT5ucl9zaWduYWxzKQorCQlzaWduYWwtPml0ZXIgPSAweGZmZmY7CisK KwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2 aXZfcGVyZm1vbi5oIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9wZXJmbW9uLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40NTg5Y2FkYzNhNGYKLS0t IC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3BlcmZtb24u aApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEV0bmF2aXYgUHJv amVjdAorICogQ29weXJpZ2h0IChDKSAyMDE3IFpvZGlhYyBJbmZsaWdodCBJbm5vdmF0aW9ucwor ICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFC SUxJVFkgb3IKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhbG9uZyB3aXRoCisgKiB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lmbmRlZiBfX0VUTkFWSVZfUEVSRk1P Tl9IX18KKyNkZWZpbmUgX19FVE5BVklWX1BFUkZNT05fSF9fCisKK3N0cnVjdCBldG5hdml2X2dw dTsKK3N0cnVjdCBkcm1fZXRuYXZpdl9wbV9kb21haW47CitzdHJ1Y3QgZHJtX2V0bmF2aXZfcG1f c2lnbmFsOworCitpbnQgZXRuYXZpdl9wbV9xdWVyeV9kb20oc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUsCisJc3RydWN0IGRybV9ldG5hdml2X3BtX2RvbWFpbiAqZG9tYWluKTsKKworaW50IGV0bmF2 aXZfcG1fcXVlcnlfc2lnKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LAorCXN0cnVjdCBkcm1fZXRu YXZpdl9wbV9zaWduYWwgKnNpZ25hbCk7CisKKyNlbmRpZiAvKiBfX0VUTkFWSVZfUEVSRk1PTl9I X18gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaCBiL2luY2x1 ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaAppbmRleCA3NmY2Zjc4YTM1MmIuLmMwNjVjODMwOGJi ZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9ldG5hdml2X2RybS5oCisrKyBiL2luY2x1 ZGUvdWFwaS9kcm0vZXRuYXZpdl9kcm0uaApAQCAtMjEwLDYgKzIxMCwyNyBAQCBzdHJ1Y3QgZHJt X2V0bmF2aXZfZ2VtX3dhaXQgewogCXN0cnVjdCBkcm1fZXRuYXZpdl90aW1lc3BlYyB0aW1lb3V0 OwkvKiBpbiAqLwogfTsKIAorLyoKKyAqIFBlcmZvcm1hbmNlIE1vbml0b3IgKFBNKToKKyAqLwor CitzdHJ1Y3QgZHJtX2V0bmF2aXZfcG1fZG9tYWluIHsKKwlfX3UzMiBwaXBlOyAgICAgICAvKiBp biAqLworCV9fdTggIGl0ZXI7ICAgICAgIC8qIGluL291dCwgc2VsZWN0IHBtIGRvbWFpbiBhdCBp bmRleCBpdGVyICovCisJX191OCAgaWQ7ICAgICAgICAgLyogb3V0LCBpZCBvZiBkb21haW4gKi8K KwlfX3UxNiBucl9zaWduYWxzOyAvKiBvdXQsIGhvdyBtYW55IHNpZ25hbHMgZG9lcyB0aGlzIGRv bWFpbiBwcm92aWRlICovCisJY2hhciAgbmFtZVs2NF07ICAgLyogb3V0LCBuYW1lIG9mIGRvbWFp biAqLworfTsKKworc3RydWN0IGRybV9ldG5hdml2X3BtX3NpZ25hbCB7CisJX191MzIgcGlwZTsg ICAgICAgLyogaW4gKi8KKwlfX3U4ICBkb21haW47ICAgICAvKiBpbiwgcG0gZG9tYWluIGluZGV4 ICovCisJX191OCAgcGFkOworCV9fdTE2IGl0ZXI7ICAgICAgIC8qIGluL291dCwgc2VsZWN0IHBt IHNvdXJjZSBhdCBpbmRleCBpdGVyICovCisJX191MTYgaWQ7ICAgICAgICAgLyogb3V0LCBpZCBv ZiBzaWduYWwgKi8KKwljaGFyICBuYW1lWzY0XTsgICAvKiBvdXQsIG5hbWUgb2YgZG9tYWluICov Cit9OworCiAjZGVmaW5lIERSTV9FVE5BVklWX0dFVF9QQVJBTSAgICAgICAgICAweDAwCiAvKiBw bGFjZWhvbGRlcjoKICNkZWZpbmUgRFJNX0VUTkFWSVZfU0VUX1BBUkFNICAgICAgICAgIDB4MDEK QEAgLTIyMiw3ICsyNDMsOSBAQCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3dhaXQgewogI2RlZmlu ZSBEUk1fRVROQVZJVl9XQUlUX0ZFTkNFICAgICAgICAgMHgwNwogI2RlZmluZSBEUk1fRVROQVZJ Vl9HRU1fVVNFUlBUUiAgICAgICAgMHgwOAogI2RlZmluZSBEUk1fRVROQVZJVl9HRU1fV0FJVCAg ICAgICAgICAgMHgwOQotI2RlZmluZSBEUk1fRVROQVZJVl9OVU1fSU9DVExTICAgICAgICAgMHgw YQorI2RlZmluZSBEUk1fRVROQVZJVl9QTV9RVUVSWV9ET00gICAgICAgMHgwYQorI2RlZmluZSBE Uk1fRVROQVZJVl9QTV9RVUVSWV9TSUcgICAgICAgMHgwYgorI2RlZmluZSBEUk1fRVROQVZJVl9O VU1fSU9DVExTICAgICAgICAgMHgwYwogCiAjZGVmaW5lIERSTV9JT0NUTF9FVE5BVklWX0dFVF9Q QVJBTSAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VUTkFWSVZfR0VUX1BBUkFN LCBzdHJ1Y3QgZHJtX2V0bmF2aXZfcGFyYW0pCiAjZGVmaW5lIERSTV9JT0NUTF9FVE5BVklWX0dF TV9ORVcgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0VUTkFWSVZfR0VNX05F Vywgc3RydWN0IGRybV9ldG5hdml2X2dlbV9uZXcpCkBAIC0yMzMsNiArMjU2LDggQEAgc3RydWN0 IGRybV9ldG5hdml2X2dlbV93YWl0IHsKICNkZWZpbmUgRFJNX0lPQ1RMX0VUTkFWSVZfV0FJVF9G RU5DRSAgIERSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9FVE5BVklWX1dBSVRfRkVOQ0Us IHN0cnVjdCBkcm1fZXRuYXZpdl93YWl0X2ZlbmNlKQogI2RlZmluZSBEUk1fSU9DVExfRVROQVZJ Vl9HRU1fVVNFUlBUUiAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9FVE5BVklWX0dF TV9VU0VSUFRSLCBzdHJ1Y3QgZHJtX2V0bmF2aXZfZ2VtX3VzZXJwdHIpCiAjZGVmaW5lIERSTV9J T0NUTF9FVE5BVklWX0dFTV9XQUlUICAgICBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1f RVROQVZJVl9HRU1fV0FJVCwgc3RydWN0IGRybV9ldG5hdml2X2dlbV93YWl0KQorI2RlZmluZSBE Uk1fSU9DVExfRVROQVZJVl9QTV9RVUVSWV9ET00gRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSAr IERSTV9FVE5BVklWX1BNX1FVRVJZX0RPTSwgc3RydWN0IGRybV9ldG5hdml2X3BtX2RvbWFpbikK KyNkZWZpbmUgRFJNX0lPQ1RMX0VUTkFWSVZfUE1fUVVFUllfU0lHIERSTV9JT1dSKERSTV9DT01N QU5EX0JBU0UgKyBEUk1fRVROQVZJVl9QTV9RVUVSWV9TSUcsIHN0cnVjdCBkcm1fZXRuYXZpdl9w bV9zaWduYWwpCiAKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQotLSAKMi4xMy41CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK