From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH i-g-t 1/2] lib/igt_debugfs: Add functions/tests for controlling/testing HPD storm logic Date: Wed, 22 Feb 2017 22:18:32 -0500 Message-ID: <20170223031833.13442-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10C0F6E941 for ; Thu, 23 Feb 2017 03:18:44 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx16.intmail.prod.int.phx2.redhat.com [10.5.11.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A097C3B755 for ; Thu, 23 Feb 2017 03:18:44 +0000 (UTC) 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 List-Id: intel-gfx@lists.freedesktop.org UmVjZW50bHkgd2UgYWRkZWQgaTkxNV9ocGRfc3Rvcm1fY3RsIGludG8gaTkxNSdzIGRlYnVnZnMg ZGlyZWN0b3J5LAp3aGljaCBhbGxvd3MgdXMgdG8gY29udHJvbCB0aGUgdGhyZXNob2xkcyBpOTE1 IHVzZXMgZm9yIGRldGVjdGluZwpob3RwbHVnIGludGVycnVwdCBzdG9ybXMgZnJvbSB1c2Vyc3Bh Y2UsIGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8KZW50aXJlbHkgZGlzYWJsZSB0aGVtLiBUaGlz IGFkZHMgc29tZSBoZWxwZXIgZnVuY3Rpb25zIGludG8gSUdUIHRvCmVuYWJsZSBtYWtpbmcgdXNl IG9mIHRoaXMgZmVhdHVyZSwgYWxvbmcgd2l0aCBhZGRpbmcgc29tZSBjaGFtZWxpdW0KdGVzdHMg Zm9yIGl0LgoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgPGx5dWRlQHJlZGhhdC5jb20+Ci0tLQogbGli L2lndF9kZWJ1Z2ZzLmMgfCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBsaWIvaWd0X2RlYnVnZnMuaCB8ICAgNSArKysKIHRlc3RzL2No YW1lbGl1bS5jIHwgIDYxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBj aGFuZ2VkLCAxNzcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZGVidWdmcy5j IGIvbGliL2lndF9kZWJ1Z2ZzLmMKaW5kZXggOTgyNTczZC4uZTY0ZDAwMSAxMDA2NDQKLS0tIGEv bGliL2lndF9kZWJ1Z2ZzLmMKKysrIGIvbGliL2lndF9kZWJ1Z2ZzLmMKQEAgLTQ2Myw2ICs0NjMs MTE3IEBAIHZvaWQgaWd0X3JlcXVpcmVfcGlwZV9jcmModm9pZCkKIAlmY2xvc2UoY3RsKTsKIH0K IAorLyoqCisgKiBpZ3RfaHBkX3N0b3JtX3NldF90aHJlc2hvbGQ6CisgKiBAdGhyZXNob2xkOiBI b3cgbWFueSBob3RwbHVncyBwZXIgc2Vjb25kIHJlcXVpcmVkIHRvIHRyaWdnZXIgYW4gSFBEIHN0 b3JtLAorICogb3IgMCB0byBkaXNhYmxlIHN0b3JtIGRldGVjdGlvbi4KKyAqCisgKiBDb252aWVu ZW5jZSBoZWxwZXIgdG8gY29uZmlndXJlIHRoZSBIUEQgc3Rvcm0gZGV0ZWN0aW9uIHRocmVzaG9s ZCBmb3IgaTkxNQorICogdGhyb3VnaCBkZWJ1Z2ZzLiBVc2VmdWwgZm9yIGhvdHBsdWdnaW5nIHRl c3RzIHdoZXJlIEhQRCBzdG9ybSBkZXRlY3Rpb24KKyAqIG1pZ2h0IGdldCBpbiB0aGUgd2F5IGFu ZCBzbG93IHRoaW5ncyBkb3duLgorICoKKyAqIElmIHRoZSBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9y dCBIUEQgc3Rvcm0gZGV0ZWN0aW9uLCB0aGlzIGZ1bmN0aW9uIGRvZXMKKyAqIG5vdGhpbmcuCisg KgorICogU2VlOiBodHRwczovLzAxLm9yZy9saW51eGdyYXBoaWNzL2dmeC1kb2NzL2RybS9ncHUv aTkxNS5odG1sI2hvdHBsdWcKKyAqLwordm9pZCBpZ3RfaHBkX3N0b3JtX3NldF90aHJlc2hvbGQo dW5zaWduZWQgaW50IHRocmVzaG9sZCkKK3sKKwlpbnQgZmQgPSBpZ3RfZGVidWdmc19vcGVuKCJp OTE1X2hwZF9zdG9ybV9jdGwiLCBPX1dST05MWSk7CisJY2hhciBidWZbMTZdOworCisJaWYgKGZk IDwgMCkKKwkJcmV0dXJuOworCisJaWd0X2RlYnVnKCJTZXR0aW5nIEhQRCBzdG9ybSB0aHJlc2hv bGQgdG8gJWRcbiIsIHRocmVzaG9sZCk7CisJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVk IiwgdGhyZXNob2xkKTsKKwlpZ3RfYXNzZXJ0X2VxKHdyaXRlKGZkLCBidWYsIHN0cmxlbihidWYp KSwgc3RybGVuKGJ1ZikpOworCisJY2xvc2UoZmQpOworCWlndF9pbnN0YWxsX2V4aXRfaGFuZGxl cigoaWd0X2V4aXRfaGFuZGxlcl90KWlndF9ocGRfc3Rvcm1fcmVzZXQpOworfQorCisvKioKKyAq IGlndF9ocGRfc3Rvcm1fcmVzZXQ6CisgKgorICogQ29udmllbmVuY2UgaGVscGVyIHRvIHJlc2V0 IEhQRCBzdG9ybSBkZXRlY3Rpb24gdG8gaXQncyBkZWZhdWx0IHNldHRpbmdzLgorICogSWYgaG90 cGx1ZyBkZXRlY3Rpb24gd2FzIGRpc2FibGVkIG9uIGFueSBwb3J0cyBkdWUgdG8gYW4gSFBEIHN0 b3JtLCBpdCB3aWxsCisgKiBiZSBpbW1lZGlhdGVseSByZS1lbmFibGVkLiBBbHdheXMgY2FsbGVk IG9uIGV4aXQgaWYgdGhlIEhQRCBzdG9ybSBkZXRlY3Rpb24KKyAqIHRocmVzaG9sZCB3YXMgbW9k aWZpZWQgZHVyaW5nIGFueSB0ZXN0cy4KKyAqCisgKiBJZiB0aGUgc3lzdGVtIGRvZXMgbm90IHN1 cHBvcnQgSFBEIHN0b3JtIGRldGVjdGlvbiwgdGhpcyBmdW5jdGlvbiBkb2VzCisgKiBub3RoaW5n LgorICoKKyAqIFNlZTogaHR0cHM6Ly8wMS5vcmcvbGludXhncmFwaGljcy9nZngtZG9jcy9kcm0v Z3B1L2k5MTUuaHRtbCNob3RwbHVnCisgKi8KK3ZvaWQgaWd0X2hwZF9zdG9ybV9yZXNldCh2b2lk KQoreworCWludCBmZCA9IGlndF9kZWJ1Z2ZzX29wZW4oImk5MTVfaHBkX3N0b3JtX2N0bCIsIE9f V1JPTkxZKTsKKwljb25zdCBjaGFyICpidWYgPSAicmVzZXQiOworCisJaWYgKGZkIDwgMCkKKwkJ cmV0dXJuOworCisJaWd0X2RlYnVnKCJSZXNldHRpbmcgSFBEIHN0b3JtIHRocmVzaG9sZFxuIik7 CisJaWd0X2Fzc2VydF9lcSh3cml0ZShmZCwgYnVmLCBzdHJsZW4oYnVmKSksIHN0cmxlbihidWYp KTsKKworCWNsb3NlKGZkKTsKK30KKworLyoqCisgKiBpZ3RfaHBkX3N0b3JtX2RldGVjdGVkOgor ICoKKyAqIENoZWNrcyB3aGV0aGVyIG9yIG5vdCBpOTE1IGhhcyBkZXRlY3RlZCBhbiBIUEQgaW50 ZXJydXB0IHN0b3JtIG9uIGFueSBvZiB0aGUKKyAqIHN5c3RlbSdzIHBvcnRzLgorICoKKyAqIFRo aXMgZnVuY3Rpb24gYWx3YXlzIHJldHVybnMgZmFsc2Ugb24gc3lzdGVtcyB0aGF0IGRvIG5vdCBz dXBwb3J0IEhQRCBzdG9ybQorICogZGV0ZWN0aW9uLgorICoKKyAqIFNlZTogaHR0cHM6Ly8wMS5v cmcvbGludXhncmFwaGljcy9nZngtZG9jcy9kcm0vZ3B1L2k5MTUuaHRtbCNob3RwbHVnCisgKgor ICogUmV0dXJuczogV2hldGhlciBvciBub3QgYW4gSFBEIHN0b3JtIGhhcyBiZWVuIGRldGVjdGVk LgorICovCitib29sIGlndF9ocGRfc3Rvcm1fZGV0ZWN0ZWQodm9pZCkKK3sKKwlpbnQgZmQgPSBp Z3RfZGVidWdmc19vcGVuKCJpOTE1X2hwZF9zdG9ybV9jdGwiLCBPX1JET05MWSk7CisJY2hhciAq c3RhcnRfbG9jOworCWNoYXIgYnVmWzMyXSA9IHswfSwgZGV0ZWN0ZWRfc3RyWzRdOworCWJvb2wg cmV0OworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIGZhbHNlOworCisJaWd0X2Fzc2VydF9sdCgw LCByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKSk7CisJaWd0X2Fzc2VydChzdGFydF9sb2MgPSBz dHJzdHIoYnVmLCAiRGV0ZWN0ZWQ6ICIpKTsKKwlpZ3RfYXNzZXJ0X2VxKHNzY2FuZihzdGFydF9s b2MsICJEZXRlY3RlZDogJXNcbiIsIGRldGVjdGVkX3N0ciksIDEpOworCisJaWYgKHN0cmNtcChk ZXRlY3RlZF9zdHIsICJ5ZXMiKSA9PSAwKQorCQlyZXQgPSB0cnVlOworCWVsc2UgaWYgKHN0cmNt cChkZXRlY3RlZF9zdHIsICJubyIpID09IDApCisJCXJldCA9IGZhbHNlOworCWVsc2UKKwkJaWd0 X2ZhaWxfb25fZih0cnVlLCAiVW5rbm93biBocGQgc3Rvcm0gZGV0ZWN0aW9uIHN0YXR1cyAnJXMn XG4iLAorCQkJICAgICAgZGV0ZWN0ZWRfc3RyKTsKKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmV0 OworfQorCisvKioKKyAqIGlndF9yZXF1aXJlX2hwZF9zdG9ybV9jdGw6CisgKgorICogU2tpcHMg dGhlIGN1cnJlbnQgdGVzdCBpZiB0aGUgc3lzdGVtIGRvZXMgbm90IGhhdmUgSFBEIHN0b3JtIGRl dGVjdGlvbi4KKyAqCisgKiBTZWU6IGh0dHBzOi8vMDEub3JnL2xpbnV4Z3JhcGhpY3MvZ2Z4LWRv Y3MvZHJtL2dwdS9pOTE1Lmh0bWwjaG90cGx1ZworICovCit2b2lkIGlndF9yZXF1aXJlX2hwZF9z dG9ybV9jdGwodm9pZCkKK3sKKwlpbnQgZmQgPSBpZ3RfZGVidWdmc19vcGVuKCJpOTE1X2hwZF9z dG9ybV9jdGwiLCBPX1JET05MWSk7CisKKwlpZ3RfcmVxdWlyZV9mKGZkID4gMCwgIk5vIGk5MTVf aHBkX3N0b3JtX2N0bCBmb3VuZCBpbiBkZWJ1Z2ZzXG4iKTsKKwljbG9zZShmZCk7Cit9CisKIHN0 YXRpYyBpZ3RfcGlwZV9jcmNfdCAqCiBwaXBlX2NyY19uZXcoZW51bSBwaXBlIHBpcGUsIGVudW0g aW50ZWxfcGlwZV9jcmNfc291cmNlIHNvdXJjZSwgaW50IGZsYWdzKQogewpkaWZmIC0tZ2l0IGEv bGliL2lndF9kZWJ1Z2ZzLmggYi9saWIvaWd0X2RlYnVnZnMuaAppbmRleCA4NmMyNWRkLi41NTg3 YWQ0IDEwMDY0NAotLS0gYS9saWIvaWd0X2RlYnVnZnMuaAorKysgYi9saWIvaWd0X2RlYnVnZnMu aApAQCAtMTI5LDYgKzEyOSwxMSBAQCBpbnQgaWd0X3BpcGVfY3JjX2dldF9jcmNzKGlndF9waXBl X2NyY190ICpwaXBlX2NyYywgaW50IG5fY3JjcywKIAkJCSAgaWd0X2NyY190ICoqb3V0X2NyY3Mp Owogdm9pZCBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3Jj LCBpZ3RfY3JjX3QgKm91dF9jcmMpOwogCit2b2lkIGlndF9ocGRfc3Rvcm1fc2V0X3RocmVzaG9s ZCh1bnNpZ25lZCBpbnQgdGhyZXNob2xkKTsKK3ZvaWQgaWd0X2hwZF9zdG9ybV9yZXNldCh2b2lk KTsKK2Jvb2wgaWd0X2hwZF9zdG9ybV9kZXRlY3RlZCh2b2lkKTsKK3ZvaWQgaWd0X3JlcXVpcmVf aHBkX3N0b3JtX2N0bCh2b2lkKTsKKwogLyoKICAqIERyb3AgY2FjaGVzCiAgKi8KZGlmZiAtLWdp dCBhL3Rlc3RzL2NoYW1lbGl1bS5jIGIvdGVzdHMvY2hhbWVsaXVtLmMKaW5kZXggZjM0MDI3OS4u ODQ5ZTFhYyAxMDA2NDQKLS0tIGEvdGVzdHMvY2hhbWVsaXVtLmMKKysrIGIvdGVzdHMvY2hhbWVs aXVtLmMKQEAgLTQ0LDYgKzQ0LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgewogI2RlZmluZSBIT1RQTFVH X1RJTUVPVVQgMjAgLyogc2Vjb25kcyAqLwogI2RlZmluZSBTVVNQRU5EX1JFU1VNRV9ERUxBWSAy MCAvKiBzZWNvbmRzICovCiAKKyNkZWZpbmUgSFBEX1NUT1JNX1BVTFNFX0lOVEVSVkFMX0RQIDEw MCAvKiBtcyAqLworI2RlZmluZSBIUERfU1RPUk1fUFVMU0VfSU5URVJWQUxfSERNSSAyMDAgLyog bXMgKi8KKwogLyogUHJlLWNhbGN1bGF0ZWQgQ1JDcyBmb3IgdGhlIHBhdHRlcm4gZmIsIGZvciBh bGwgdGhlIG1vZGVzIGluIHRoZSBkZWZhdWx0CiAgKiBjaGFtZWxpdW0gZWRpZAogICovCkBAIC01 MjgsNiArNTMxLDQ4IEBAIHRlc3RfaHBkX3dpdGhvdXRfZGRjKGRhdGFfdCAqZGF0YSwgc3RydWN0 IGNoYW1lbGl1bV9wb3J0ICpwb3J0KQogCWlndF9jbGVhbnVwX2hvdHBsdWcobW9uKTsKIH0KIAor c3RhdGljIHZvaWQKK3Rlc3RfaHBkX3N0b3JtX2RldGVjdChkYXRhX3QgKmRhdGEsIHN0cnVjdCBj aGFtZWxpdW1fcG9ydCAqcG9ydCwgaW50IHdpZHRoKQoreworCXN0cnVjdCB1ZGV2X21vbml0b3Ig Km1vbjsKKwlpbnQgY291bnQgPSAwOworCisJaWd0X3JlcXVpcmVfaHBkX3N0b3JtX2N0bCgpOwor CXJlc2V0X3N0YXRlKGRhdGEsIHBvcnQpOworCisJaWd0X2hwZF9zdG9ybV9zZXRfdGhyZXNob2xk KDEpOworCWNoYW1lbGl1bV9maXJlX2hwZF9wdWxzZXMoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LCB3 aWR0aCwgMTApOworCWlndF9hc3NlcnQoaWd0X2hwZF9zdG9ybV9kZXRlY3RlZCgpKTsKKworCW1v biA9IGlndF93YXRjaF9ob3RwbHVnKCk7CisJY2hhbWVsaXVtX2ZpcmVfaHBkX3B1bHNlcyhkYXRh LT5jaGFtZWxpdW0sIHBvcnQsIHdpZHRoLCAxMCk7CisKKwkvKgorCSAqIFBvbGxpbmcgc2hvdWxk IGhhdmUgYmVlbiBlbmFibGVkIGJ5IHRoZSBIUEQgc3Rvcm0gYXQgdGhpcyBwb2ludCwKKwkgKiBz byB3ZSBzaG91bGQgb25seSBnZXQgYXQgbW9zdCAxIGhvdHBsdWcgZXZlbnQKKwkgKi8KKwlpZ3Rf dW50aWxfdGltZW91dCg1KQorCQljb3VudCArPSBpZ3RfaG90cGx1Z19kZXRlY3RlZChtb24sIDEp OworCWlndF9hc3NlcnRfbHQoY291bnQsIDIpOworCisJaWd0X2NsZWFudXBfaG90cGx1Zyhtb24p OworCWlndF9ocGRfc3Rvcm1fcmVzZXQoKTsKK30KKworc3RhdGljIHZvaWQKK3Rlc3RfaHBkX3N0 b3JtX2Rpc2FibGUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQsIGlu dCB3aWR0aCkKK3sKKwlpZ3RfcmVxdWlyZV9ocGRfc3Rvcm1fY3RsKCk7CisJcmVzZXRfc3RhdGUo ZGF0YSwgcG9ydCk7CisKKwlpZ3RfaHBkX3N0b3JtX3NldF90aHJlc2hvbGQoMCk7CisJY2hhbWVs aXVtX2ZpcmVfaHBkX3B1bHNlcyhkYXRhLT5jaGFtZWxpdW0sIHBvcnQsCisJCQkJICB3aWR0aCwg MTApOworCWlndF9hc3NlcnQoIWlndF9ocGRfc3Rvcm1fZGV0ZWN0ZWQoKSk7CisKKwlpZ3RfaHBk X3N0b3JtX3Jlc2V0KCk7Cit9CisKICNkZWZpbmUgZm9yX2VhY2hfcG9ydChwLCBwb3J0KSAgICAg ICAgICAgIFwKIAlmb3IgKHAgPSAwLCBwb3J0ID0gZGF0YS5wb3J0c1twXTsgXAogCSAgICAgcCA8 IGRhdGEucG9ydF9jb3VudDsgICAgICAgICBcCkBAIC01OTMsNiArNjM4LDE0IEBAIGlndF9tYWlu CiAJCQkJCQlTVVNQRU5EX1NUQVRFX0RJU0ssCiAJCQkJCQlTVVNQRU5EX1RFU1RfREVWSUNFUyk7 CiAKKwkJY29ubmVjdG9yX3N1YnRlc3QoImRwLWhwZC1zdG9ybSIsIERpc3BsYXlQb3J0KQorCQkJ dGVzdF9ocGRfc3Rvcm1fZGV0ZWN0KCZkYXRhLCBwb3J0LAorCQkJCQkgICAgICBIUERfU1RPUk1f UFVMU0VfSU5URVJWQUxfRFApOworCisJCWNvbm5lY3Rvcl9zdWJ0ZXN0KCJkcC1ocGQtc3Rvcm0t ZGlzYWJsZSIsIERpc3BsYXlQb3J0KQorCQkJdGVzdF9ocGRfc3Rvcm1fZGlzYWJsZSgmZGF0YSwg cG9ydCwKKwkJCQkJICAgICAgIEhQRF9TVE9STV9QVUxTRV9JTlRFUlZBTF9EUCk7CisKIAkJY29u bmVjdG9yX3N1YnRlc3QoImRwLWVkaWQtY2hhbmdlLWR1cmluZy1zdXNwZW5kIiwgRGlzcGxheVBv cnQpCiAJCQl0ZXN0X3N1c3BlbmRfcmVzdW1lX2VkaWRfY2hhbmdlKCZkYXRhLCBwb3J0LAogCQkJ CQkJCVNVU1BFTkRfU1RBVEVfTUVNLApAQCAtNjQxLDYgKzY5NCwxNCBAQCBpZ3RfbWFpbgogCQkJ CQkJU1VTUEVORF9TVEFURV9ESVNLLAogCQkJCQkJU1VTUEVORF9URVNUX0RFVklDRVMpOwogCisJ CWNvbm5lY3Rvcl9zdWJ0ZXN0KCJoZG1pLWhwZC1zdG9ybSIsIEhETUlBKQorCQkJdGVzdF9ocGRf c3Rvcm1fZGV0ZWN0KCZkYXRhLCBwb3J0LAorCQkJCQkgICAgICBIUERfU1RPUk1fUFVMU0VfSU5U RVJWQUxfSERNSSk7CisKKwkJY29ubmVjdG9yX3N1YnRlc3QoImhkbWktaHBkLXN0b3JtLWRpc2Fi bGUiLCBIRE1JQSkKKwkJCXRlc3RfaHBkX3N0b3JtX2Rpc2FibGUoJmRhdGEsIHBvcnQsCisJCQkJ CSAgICAgICBIUERfU1RPUk1fUFVMU0VfSU5URVJWQUxfSERNSSk7CisKIAkJY29ubmVjdG9yX3N1 YnRlc3QoImhkbWktZWRpZC1jaGFuZ2UtZHVyaW5nLXN1c3BlbmQiLCBIRE1JQSkKIAkJCXRlc3Rf c3VzcGVuZF9yZXN1bWVfZWRpZF9jaGFuZ2UoJmRhdGEsIHBvcnQsCiAJCQkJCQkJU1VTUEVORF9T VEFURV9NRU0sCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==