From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH] drm/i915/debugfs: Add i915_hpd_storm_ctl Date: Fri, 3 Feb 2017 21:29:00 -0500 Message-ID: <20170204022901.24758-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 Cc: Lyude , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhZGRzIGEgZmlsZSBpbiBpOTE1J3MgZGVidWdmcyBkaXJlY3RvcnkgdGhhdCBhbGxvd3Mg dXNlcnNwYWNlIHRvCm1hbnVhbGx5IGNvbnRyb2wgSFBEIHN0b3JtIGRldGVjdGlvbi4gVGhpcyBp cyBtYWlubHkgZm9yIGhvdHBsdWdnaW5nCnRlc3RzLCB3aGVyZSB3ZSBtaWdodCB3YW50IHRvIHRl c3QgSFBEIHN0b3JtIGZ1bmN0aW9uYWxpdHkgb3IgZGlzYWJsZQpzdG9ybSBkZXRlY3Rpb24gdG8g c3BlZWQgdXAgaG90cGx1Z2dpbmcgdGVzdHMgd2l0aG91dCBicmVha2luZyBhbnl0aGluZy4KClNp Z25lZC1vZmYtYnk6IEx5dWRlIDxseXVkZUByZWRoYXQuY29tPgpDYzogVG9tZXUgVml6b3NvIDx0 b21ldUB0b21ldXZpem9zby5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgIHwgMTAyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hv dHBsdWcuYyB8ICAgMyArLQogNCBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDNhZTA2NTYu LmI5ODVjN2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC00NjI0LDYgKzQ2 MjQsMTA1IEBAIHN0YXRpYyBpbnQgaTkxNV9mb3JjZXdha2VfY3JlYXRlKHN0cnVjdCBkZW50cnkg KnJvb3QsIHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQogCXJldHVybiBkcm1fYWRkX2Zha2VfaW5m b19ub2RlKG1pbm9yLCBlbnQsICZpOTE1X2ZvcmNld2FrZV9mb3BzKTsKIH0KIAorc3RhdGljIGlu dCBpOTE1X2hwZF9zdG9ybV9jdGxfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEp Cit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gbS0+cHJpdmF0ZTsKKwor CWlmIChkZWxheWVkX3dvcmtfcGVuZGluZygmZGV2X3ByaXYtPmhvdHBsdWcucmVlbmFibGVfd29y aykpCisJCXNlcV9wcmludGYobSwgImRldGVjdGVkXG4iKTsKKwllbHNlIGlmIChkZXZfcHJpdi0+ aG90cGx1Zy5ocGRfc3Rvcm1fZGV0ZWN0X2VuYWJsZWQpCisJCXNlcV9wcmludGYobSwgIm9uXG4i KTsKKwllbHNlCisJCXNlcV9wcmludGYobSwgIm9mZlxuIik7CisKKwlyZXR1cm4gMDsKK30KKwor c3RhdGljIHZvaWQgaTkxNV9ocGRfc3Rvcm1fcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCWludCBpOworCisJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9s b2NrKTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShkZXZfcHJpdi0+aG90cGx1Zy5zdGF0 cyk7IGkrKykgeworCQlkZXZfcHJpdi0+aG90cGx1Zy5zdGF0c1tpXS5jb3VudCA9IDA7CisJCWRl dl9wcml2LT5ob3RwbHVnLnN0YXRzW2ldLmxhc3RfamlmZmllcyA9IGppZmZpZXM7CisJfQorCXNw aW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKKworCWlmIChkZWxheWVkX3dvcmtf cGVuZGluZygmZGV2X3ByaXYtPmhvdHBsdWcucmVlbmFibGVfd29yaykpCisJCWZsdXNoX2RlbGF5 ZWRfd29yaygmZGV2X3ByaXYtPmhvdHBsdWcucmVlbmFibGVfd29yayk7CisJZWxzZQorCQlzY2hl ZHVsZV9kZWxheWVkX3dvcmsoJmRldl9wcml2LT5ob3RwbHVnLnJlZW5hYmxlX3dvcmssIDApOwor fQorCitzdGF0aWMgc3NpemVfdCBpOTE1X2hwZF9zdG9ybV9jdGxfd3JpdGUoc3RydWN0IGZpbGUg KmZpbGUsCisJCQkJCWNvbnN0IGNoYXIgX191c2VyICp1YnVmLCBzaXplX3QgbGVuLAorCQkJCQls b2ZmX3QgKm9mZnApCit7CisJc3RydWN0IHNlcV9maWxlICptID0gZmlsZS0+cHJpdmF0ZV9kYXRh OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG0tPnByaXZhdGU7CisJc3Ry dWN0IGk5MTVfaG90cGx1ZyAqaG90cGx1ZyA9ICZkZXZfcHJpdi0+aG90cGx1ZzsKKwljaGFyIHRt cFsxNl07CisJZW51bSB7CisJCUhQRF9TVE9STV9ESVNBQkxFID0gMCwKKwkJSFBEX1NUT1JNX0VO QUJMRSwKKwkJSFBEX1NUT1JNX1JFU0VUCisJfSBhY3Rpb247CisKKwlpZiAobGVuID49IHNpemVv Zih0bXApKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNlcih0bXAsIHVi dWYsIGxlbikpCisJCXJldHVybiAtRUZBVUxUOworCisJdG1wW2xlbl0gPSAnXDAnOworCisJaWYg KHN0cmNtcCh0bXAsICJvZmYiKSA9PSAwIHx8IHN0cmNtcCh0bXAsICJvZmZcbiIpID09IDApCisJ CWFjdGlvbiA9IEhQRF9TVE9STV9ESVNBQkxFOworCWVsc2UgaWYgKHN0cmNtcCh0bXAsICJvbiIp ID09IDAgfHwgc3RyY21wKHRtcCwgIm9uXG4iKSA9PSAwKQorCQlhY3Rpb24gPSBIUERfU1RPUk1f RU5BQkxFOworCWVsc2UgaWYgKHN0cmNtcCh0bXAsICJyZXNldCIpID09IDAgfHwgc3RyY21wKHRt cCwgInJlc2V0XG4iKSA9PSAwKQorCQlhY3Rpb24gPSBIUERfU1RPUk1fUkVTRVQ7CisJZWxzZQor CQlyZXR1cm4gLUVJTlZBTDsKKworCXN3aXRjaCAoYWN0aW9uKSB7CisJCWNhc2UgSFBEX1NUT1JN X0RJU0FCTEU6CisJCQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgSFBEIHN0b3JtIGRldGVjdGlv blxuIik7CisKKwkJCVdSSVRFX09OQ0UoaG90cGx1Zy0+aHBkX3N0b3JtX2RldGVjdF9lbmFibGVk LCBmYWxzZSk7CisJCQlpOTE1X2hwZF9zdG9ybV9yZXNldChkZXZfcHJpdik7CisJCQlicmVhazsK KwkJY2FzZSBIUERfU1RPUk1fRU5BQkxFOgorCQkJRFJNX0RFQlVHX0tNUygiRW5hYmxpbmcgSFBE IHN0b3JtIGRldGVjdGlvblxuIik7CisKKwkJCWk5MTVfaHBkX3N0b3JtX3Jlc2V0KGRldl9wcml2 KTsKKwkJCWhvdHBsdWctPmhwZF9zdG9ybV9kZXRlY3RfZW5hYmxlZCA9IHRydWU7CisJCQlicmVh azsKKwkJY2FzZSBIUERfU1RPUk1fUkVTRVQ6CisJCQlEUk1fREVCVUdfS01TKCJSZXNldHRpbmcg SFBEIHN0b3JtIHN0YXRzXG4iKTsKKworCQkJaTkxNV9ocGRfc3Rvcm1fcmVzZXQoZGV2X3ByaXYp OworCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIGludCBpOTE1X2hw ZF9zdG9ybV9jdGxfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSkK K3sKKwlyZXR1cm4gc2luZ2xlX29wZW4oZmlsZSwgaTkxNV9ocGRfc3Rvcm1fY3RsX3Nob3csIGlu b2RlLT5pX3ByaXZhdGUpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9u cyBpOTE1X2hwZF9zdG9ybV9jdGxfZm9wcyA9IHsKKwkub3duZXIgPSBUSElTX01PRFVMRSwKKwku b3BlbiA9IGk5MTVfaHBkX3N0b3JtX2N0bF9vcGVuLAorCS5yZWFkID0gc2VxX3JlYWQsCisJLmxs c2VlayA9IHNlcV9sc2VlaywKKwkucmVsZWFzZSA9IHNpbmdsZV9yZWxlYXNlLAorCS53cml0ZSA9 IGk5MTVfaHBkX3N0b3JtX2N0bF93cml0ZQorfTsKKwogc3RhdGljIGludCBpOTE1X2RlYnVnZnNf Y3JlYXRlKHN0cnVjdCBkZW50cnkgKnJvb3QsCiAJCQkgICAgICAgc3RydWN0IGRybV9taW5vciAq bWlub3IsCiAJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwKQEAgLTQ3MTcsNyArNDgxNiw4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9kZWJ1Z2ZzX2ZpbGVzIHsKIAl7Imk5MTVfZHBfdGVz dF9kYXRhIiwgJmk5MTVfZGlzcGxheXBvcnRfdGVzdF9kYXRhX2ZvcHN9LAogCXsiaTkxNV9kcF90 ZXN0X3R5cGUiLCAmaTkxNV9kaXNwbGF5cG9ydF90ZXN0X3R5cGVfZm9wc30sCiAJeyJpOTE1X2Rw X3Rlc3RfYWN0aXZlIiwgJmk5MTVfZGlzcGxheXBvcnRfdGVzdF9hY3RpdmVfZm9wc30sCi0JeyJp OTE1X2d1Y19sb2dfY29udHJvbCIsICZpOTE1X2d1Y19sb2dfY29udHJvbF9mb3BzfQorCXsiaTkx NV9ndWNfbG9nX2NvbnRyb2wiLCAmaTkxNV9ndWNfbG9nX2NvbnRyb2xfZm9wc30sCisJeyJpOTE1 X2hwZF9zdG9ybV9jdGwiLCAmaTkxNV9ocGRfc3Rvcm1fY3RsX2ZvcHN9CiB9OwogCiBpbnQgaTkx NV9kZWJ1Z2ZzX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGJkNWEzOGIuLmIxMTU5NmYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaApAQCAtNDA3LDYgKzQwNyw4IEBAIHN0cnVjdCBpOTE1X2hvdHBsdWcgewogCXN0 cnVjdCB3b3JrX3N0cnVjdCBwb2xsX2luaXRfd29yazsKIAlib29sIHBvbGxfZW5hYmxlZDsKIAor CWJvb2wgaHBkX3N0b3JtX2RldGVjdF9lbmFibGVkOworCiAJLyoKIAkgKiBpZiB3ZSBnZXQgYSBI UEQgaXJxIGZyb20gRFAgYW5kIGEgSFBEIGlycSBmcm9tIG5vbi1EUAogCSAqIHRoZSBub24tRFAg SFBEIGNvdWxkIGJsb2NrIHRoZSB3b3JrcXVldWUgb24gYSBtb2RlIGNvbmZpZwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKaW5kZXggMDU5ZDY2Yi4uZWQzMjkyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9pcnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jCkBAIC00MjI1LDYgKzQyMjUsOCBAQCB2b2lkIGludGVsX2lycV9pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpZiAoIUlTX0dFTjIoZGV2X3ByaXYpKQogCQlkZXYt PnZibGFua19kaXNhYmxlX2ltbWVkaWF0ZSA9IHRydWU7CiAKKwlkZXZfcHJpdi0+aG90cGx1Zy5o cGRfc3Rvcm1fZGV0ZWN0X2VuYWJsZWQgPSB0cnVlOworCiAJZGV2LT5kcml2ZXItPmdldF92Ymxh bmtfdGltZXN0YW1wID0gaTkxNV9nZXRfdmJsYW5rX3RpbWVzdGFtcDsKIAlkZXYtPmRyaXZlci0+ Z2V0X3NjYW5vdXRfcG9zaXRpb24gPSBpOTE1X2dldF9jcnRjX3NjYW5vdXRwb3M7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwppbmRleCBiNjJlM2Y4Li5jMWUzN2RkIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ob3RwbHVnLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCkBAIC0xMjksNyArMTI5LDggQEAgc3RhdGljIGJv b2wgaW50ZWxfaHBkX2lycV9zdG9ybV9kZXRlY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCQlkZXZfcHJpdi0+aG90cGx1Zy5zdGF0c1twaW5dLmxhc3RfamlmZmllcyA9IGpp ZmZpZXM7CiAJCWRldl9wcml2LT5ob3RwbHVnLnN0YXRzW3Bpbl0uY291bnQgPSAwOwogCQlEUk1f REVCVUdfS01TKCJSZWNlaXZlZCBIUEQgaW50ZXJydXB0IG9uIFBJTiAlZCAtIGNudDogMFxuIiwg cGluKTsKLQl9IGVsc2UgaWYgKGRldl9wcml2LT5ob3RwbHVnLnN0YXRzW3Bpbl0uY291bnQgPiBI UERfU1RPUk1fVEhSRVNIT0xEKSB7CisJfSBlbHNlIGlmIChkZXZfcHJpdi0+aG90cGx1Zy5zdGF0 c1twaW5dLmNvdW50ID4gSFBEX1NUT1JNX1RIUkVTSE9MRCAmJgorCQkgICBkZXZfcHJpdi0+aG90 cGx1Zy5ocGRfc3Rvcm1fZGV0ZWN0X2VuYWJsZWQpIHsKIAkJZGV2X3ByaXYtPmhvdHBsdWcuc3Rh dHNbcGluXS5zdGF0ZSA9IEhQRF9NQVJLX0RJU0FCTEVEOwogCQlEUk1fREVCVUdfS01TKCJIUEQg aW50ZXJydXB0IHN0b3JtIGRldGVjdGVkIG9uIFBJTiAlZFxuIiwgcGluKTsKIAkJc3Rvcm0gPSB0 cnVlOwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=