From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D4D889E33 for ; Tue, 7 May 2019 08:52:10 +0000 (UTC) From: Oleg Vasilev Date: Tue, 7 May 2019 11:51:54 +0300 Message-Id: <20190507085154.32256-1-oleg.vasilev@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH] tests/i915_pm_rpm: improved strictness and verbosity of i2c subtest List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VGVzdCBjaGVja2VkIHRoYXQgdGhlIG51bWJlciBvZiB2YWxpZCBlZGlkcyBmcm9tIGRybSBpcyBl cXVhbCB0byB0aGUKc2FtZSBudW1iZXIgZnJvbSBpMmMuCgpOb3cgZm9yIGVhY2ggZWRpZCB0aGUg d2hvbGUgYmxvYiBpcyBjb21wYXJlZC4gSW4gY2FzZSBvZiBtaXNtYXRjaCB0aGUKd2hvbGUgZWRp ZCBpcyBwcmludGVkLgoKQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hv d19idWcuY2dpP2lkPTEwNDA5NwpDYzogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJA aW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgpTaWduZWQtb2Zm LWJ5OiBPbGVnIFZhc2lsZXYgPG9sZWcudmFzaWxldkBpbnRlbC5jb20+Ci0tLQogdGVzdHMvaTkx NS9pOTE1X3BtX3JwbS5jIHwgMTc2ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwOCBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMgYi90ZXN0cy9pOTE1L2k5MTVf cG1fcnBtLmMKaW5kZXggYTJjOWQwZWQuLmYxNTMwMzkxIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1 L2k5MTVfcG1fcnBtLmMKKysrIGIvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCkBAIC01NzEsMzMg KzU3MSw1NiBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfZHJtX2luZm9zX2VxdWFsKHN0cnVjdCBjb21w YXJlX2RhdGEgKmQxLAogCQlhc3NlcnRfZHJtX2NydGNzX2VxdWFsKGQxLT5jcnRjc1tpXSwgZDIt PmNydGNzW2ldKTsKIH0KIAotLyogV2UgY291bGQgY2hlY2sgdGhlIGNoZWNrc3VtIHRvbywgYnV0 IGp1c3QgdGhlIGhlYWRlciBpcyBwcm9iYWJseSBlbm91Z2guICovCi1zdGF0aWMgYm9vbCBlZGlk X2lzX3ZhbGlkKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVkaWQpCitzdGF0aWMgYm9vbCBmaW5kX2ky Y19wYXRoKGNoYXIgKmNvbm5lY3Rvcl9uYW1lLCBjaGFyICppMmNfcGF0aCkKIHsKLQljaGFyIGVk aWRfaGVhZGVyW10gPSB7Ci0JCTB4MCwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhGRiwgMHhG RiwgMHgwLAotCX07CisJc3RydWN0IGRpcmVudCAqZGlyZW50OworCURJUiAqZGlyOworCWludCBz eXNmc19jYXJkX2ZkID0gaWd0X3N5c2ZzX29wZW4oZHJtX2ZkKTsKKwlpbnQgY29ubmVjdG9yX2Zk ID0gLTE7CisJYm9vbCBmb3VuZF9pMmNfZmlsZSA9IGZhbHNlOwogCi0JcmV0dXJuIChtZW1jbXAo ZWRpZCwgZWRpZF9oZWFkZXIsIHNpemVvZihlZGlkX2hlYWRlcikpID09IDApOwotfQorCWRpciA9 IGZkb3BlbmRpcihzeXNmc19jYXJkX2ZkKTsKKwlpZ3RfYXNzZXJ0KGRpcik7CiAKLXN0YXRpYyBp bnQgY291bnRfZHJtX3ZhbGlkX2VkaWRzKHN0cnVjdCBtb2RlX3NldF9kYXRhICpkYXRhKQotewot CWludCByZXQgPSAwOworCXdoaWxlICgoZGlyZW50ID0gcmVhZGRpcihkaXIpKSkgeworCQkvKiBT a2lwICJjYXJkeC0iIHByZWZpeCAqLworCQljaGFyICpkaXJuYW1lID0gZGlyZW50LT5kX25hbWU7 CisJCXdoaWxlKGRpcm5hbWVbMF0gIT0gJ1wwJyAmJiBkaXJuYW1lWzBdICE9ICctJykKKwkJCSsr ZGlybmFtZTsKIAotCWlmICghZGF0YS0+cmVzKQotCQlyZXR1cm4gMDsKKwkJaWYoKmRpcm5hbWUg PT0gJy0nKQorCQkJKytkaXJuYW1lOwogCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhLT5yZXMt PmNvdW50X2Nvbm5lY3RvcnM7IGkrKykKLQkJaWYgKGRhdGEtPmVkaWRzW2ldICYmIGVkaWRfaXNf dmFsaWQoZGF0YS0+ZWRpZHNbaV0tPmRhdGEpKQotCQkJcmV0Kys7Ci0JcmV0dXJuIHJldDsKKwkJ aWYgKHN0cmNtcChkaXJuYW1lLCBjb25uZWN0b3JfbmFtZSkgPT0gMCkgeworCQkJY29ubmVjdG9y X2ZkID0gb3BlbmF0KHN5c2ZzX2NhcmRfZmQsIGRpcmVudC0+ZF9uYW1lLCBPX1JET05MWSk7CisJ CQlicmVhazsKKwkJfQorCX0KKwljbG9zZWRpcihkaXIpOworCisJaWYoY29ubmVjdG9yX2ZkIDwg MCkKKwkJcmV0dXJuIGZhbHNlOworCisJZGlyID0gZmRvcGVuZGlyKGNvbm5lY3Rvcl9mZCk7CisJ aWd0X2Fzc2VydChkaXIpOworCisJd2hpbGUgKChkaXJlbnQgPSByZWFkZGlyKGRpcikpKSB7CisJ CWlmIChzdHJuY21wKGRpcmVudC0+ZF9uYW1lLCAiaTJjLSIsIDQpID09IDApIHsKKwkJCXNwcmlu dGYoaTJjX3BhdGgsICIvZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOworCQkJZm91bmRfaTJjX2Zp bGUgPSB0cnVlOworCQl9CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIGZvdW5kX2kyY19m aWxlOwogfQogCi1zdGF0aWMgYm9vbCBpMmNfZWRpZF9pc192YWxpZChpbnQgZmQpCisKK3N0YXRp YyBib29sIGkyY19yZWFkX2VkaWQoY2hhciAqY29ubmVjdG9yX25hbWUsIHVuc2lnbmVkIGNoYXIg KmVkaWQpCiB7Ci0JaW50IHJjOwotCXVuc2lnbmVkIGNoYXIgZWRpZFsxMjhdID0ge307CisJY2hh ciBpMmNfcGF0aFtQQVRIX01BWF07CisJYm9vbCByZXN1bHQgPSBmaW5kX2kyY19wYXRoKGNvbm5l Y3Rvcl9uYW1lLCBpMmNfcGF0aCk7CisJaW50IHJjLCBmZDsKKwogCXN0cnVjdCBpMmNfbXNnIG1z Z3NbXSA9IHsKIAkJeyAvKiBTdGFydCBhdCAwLiAqLwogCQkJLmFkZHIgPSAweDUwLApAQCAtNjE2 LDY5ICs2MzksODYgQEAgc3RhdGljIGJvb2wgaTJjX2VkaWRfaXNfdmFsaWQoaW50IGZkKQogCQku bm1zZ3MgPSAyLAogCX07CiAKKworCWlmICghcmVzdWx0KQorCQlyZXR1cm4gZmFsc2U7CisKKwlm ZCA9IG9wZW4oaTJjX3BhdGgsIE9fUkRXUik7CisJaWd0X2Fzc2VydF9uZXEoZmQsIC0xKTsKKwog CXJjID0gaW9jdGwoZmQsIEkyQ19SRFdSLCAmbXNnc2V0KTsKLQlyZXR1cm4gKHJjID49IDApID8g ZWRpZF9pc192YWxpZChlZGlkKSA6IGZhbHNlOworCisJY2xvc2UoZmQpOworCXJldHVybiByYyA+ PSAwOwogfQogCi1zdGF0aWMgaW50IGNvdW50X2kyY192YWxpZF9lZGlkcyh2b2lkKQorc3RhdGlj IHZvaWQgZm9ybWF0X2hleF9zdHJpbmcodW5zaWduZWQgY2hhciBlZGlkW3N0YXRpYyBFRElEX0xF TkdUSF0sCisJCQkgICAgICBjaGFyIGJ1ZltzdGF0aWMgRURJRF9MRU5HVEggKiA1ICsgMV0pCiB7 Ci0JaW50IGZkLCByZXQgPSAwOwotCURJUiAqZGlyOworCWZvciAoc2l6ZV90IGkgPSAwOyBpIDwg RURJRF9MRU5HVEg7ICsraSkKKwkJc3ByaW50ZihidWYraSo1LCAiMHglMDJ4ICIsIGVkaWRbaV0p OworfQogCi0Jc3RydWN0IGRpcmVudCAqZGlyZW50OwotCWNoYXIgZnVsbF9uYW1lW1BBVEhfTUFY XTsKK3N0YXRpYyB2b2lkIHRlc3RfaTJjKHN0cnVjdCBtb2RlX3NldF9kYXRhICpkYXRhKQorewor CWJvb2wgZmFpbGVkID0gZmFsc2U7CisJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5OworCWlndF9kaXNw bGF5X3JlcXVpcmUoJmRpc3BsYXksIGRybV9mZCk7CiAKLQlkaXIgPSBvcGVuZGlyKCIvZGV2LyIp OwotCWlndF9hc3NlcnQoZGlyKTsKKwlmb3IgKGludCBpID0gMDsgaSA8IGRhdGEtPnJlcy0+Y291 bnRfY29ubmVjdG9yczsgaSsrKSB7CisJCXVuc2lnbmVkIGNoYXIgKmRybV9lZGlkID0gZGF0YS0+ ZWRpZHNbaV0gPyBkYXRhLT5lZGlkc1tpXS0+ZGF0YSA6IE5VTEw7CisJCXVuc2lnbmVkIGNoYXIg aTJjX2VkaWRbRURJRF9MRU5HVEhdID0ge307CiAKLQl3aGlsZSAoKGRpcmVudCA9IHJlYWRkaXIo ZGlyKSkpIHsKLQkJaWYgKHN0cm5jbXAoZGlyZW50LT5kX25hbWUsICJpMmMtIiwgNCkgPT0gMCkg ewotCQkJc3ByaW50ZihmdWxsX25hbWUsICIvZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOwotCQkJ ZmQgPSBvcGVuKGZ1bGxfbmFtZSwgT19SRFdSKTsKLQkJCWlndF9hc3NlcnRfbmVxKGZkLCAtMSk7 Ci0JCQlpZiAoaTJjX2VkaWRfaXNfdmFsaWQoZmQpKQotCQkJCXJldCsrOwotCQkJY2xvc2UoZmQp OwotCQl9Ci0JfQorCQlpZ3Rfb3V0cHV0X3QgKm91dHB1dCA9IGlndF9vdXRwdXRfZnJvbV9jb25u ZWN0b3IoJmRpc3BsYXksCisJCQkJCQkJCSBkYXRhLT5jb25uZWN0b3JzW2ldKTsKKwkJY2hhciAq Y29ubmVjdG9yX25hbWUgPSAoY2hhciAqKSBpZ3Rfb3V0cHV0X25hbWUob3V0cHV0KTsKIAotCWNs b3NlZGlyKGRpcik7CisJCWJvb2wgZ290X2kyY19lZGlkID0gaTJjX3JlYWRfZWRpZChjb25uZWN0 b3JfbmFtZSwgaTJjX2VkaWQpOworCQlib29sIGdvdF9kcm1fZWRpZCA9IGRybV9lZGlkICE9IE5V TEw7CisJCWJvb2wgaXNfdmdhID0gZGF0YS0+Y29ubmVjdG9yc1tpXS0+Y29ubmVjdG9yX3R5cGUg PT0gRFJNX01PREVfQ09OTkVDVE9SX1ZHQTsKIAotCXJldHVybiByZXQ7Ci19CisJCWJvb2wgZWRp ZHNfZXF1YWw7CiAKLXN0YXRpYyBpbnQgY291bnRfdmdhX291dHB1dHMoc3RydWN0IG1vZGVfc2V0 X2RhdGEgKmRhdGEpCi17Ci0JaW50IGNvdW50ID0gMDsKKwkJLyogV2UgZmFpbCB0byBkZXRlY3Qg c29tZSBWR0EgbW9uaXRvcnMgdXNpbmcgb3VyIGkyYyBtZXRob2QuIElmIHlvdSBsb29rCisJCSAq IGF0IHRoZSBkbWVzZyBvZiB0aGVzZSBjYXNlcywgeW91J2xsIHNlZSB0aGUgS2VybmVsIGNvbXBs YWluaW5nIGFib3V0CisJCSAqIHRoZSBFRElEIHJlYWRpbmcgbW9zdGx5IEZGcyBhbmQgdGhlbiBk aXNhYmxpbmcgYml0LWJhbmdpbmcuIFNpbmNlIHdlCisJCSAqIGRvbid0IHdhbnQgdG8gcmVpbXBs ZW1lbnQgZXZlcnl0aGluZyB0aGUgS2VybmVsIGRvZXMsIGxldCdzIGp1c3QKKwkJICogYWNjZXB0 IHRoZSBmYWN0IHRoYXQgc29tZSBWR0Egb3V0cHV0cyB3b24ndCBiZSBwcm9wZXJseSBkZXRlY3Rl ZC4gKi8KKwkJaWYoaXNfdmdhKQorCQkJY29udGludWU7CiAKLQlpZiAoIWRhdGEtPnJlcykKLQkJ cmV0dXJuIDA7CisJCWlmKCFnb3RfaTJjX2VkaWQgJiYgIWdvdF9kcm1fZWRpZCkKKwkJCWNvbnRp bnVlOworCisJCWlmKGdvdF9pMmNfZWRpZCAmJiBnb3RfZHJtX2VkaWQpCisJCQllZGlkc19lcXVh bCA9ICgwID09IG1lbWNtcChkcm1fZWRpZCwgaTJjX2VkaWQsIEVESURfTEVOR1RIKSk7CisJCWVs c2UKKwkJCWVkaWRzX2VxdWFsID0gZmFsc2U7CiAKLQlmb3IgKGludCBpID0gMDsgaSA8IGRhdGEt PnJlcy0+Y291bnRfY29ubmVjdG9yczsgaSsrKQotCQlpZiAoZGF0YS0+Y29ubmVjdG9yc1tpXS0+ Y29ubmVjdG9yX3R5cGUgPT0KLQkJICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9WR0EpCi0JCQljb3Vu dCsrOwogCi0JcmV0dXJuIGNvdW50OwotfQorCQlpZiAoIWVkaWRzX2VxdWFsKSB7CisJCQljaGFy IGJ1Zls1ICogRURJRF9MRU5HVEggKyAxXTsKKwkJCWlndF9jcml0aWNhbCgiRm9yIGNvbm5lY3Rv ciAlcyBFRElEIG1pc21hdGNoIVxuIiwKKwkJCQkgICAgIGNvbm5lY3Rvcl9uYW1lKTsKIAotc3Rh dGljIHZvaWQgdGVzdF9pMmMoc3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEpCi17Ci0JaW50IGky Y19lZGlkcyA9IGNvdW50X2kyY192YWxpZF9lZGlkcygpOwotCWludCBkcm1fZWRpZHMgPSBjb3Vu dF9kcm1fdmFsaWRfZWRpZHMoZGF0YSk7Ci0JaW50IHZnYV9vdXRwdXRzID0gY291bnRfdmdhX291 dHB1dHMoZGF0YSk7Ci0JaW50IGRpZmY7Ci0KLQlpZ3RfZGVidWcoImkyYyBlZGlkczolZCBkcm0g ZWRpZHM6JWQgdmdhIG91dHB1dHM6JWRcbiIsCi0JCSAgaTJjX2VkaWRzLCBkcm1fZWRpZHMsIHZn YV9vdXRwdXRzKTsKLQotCS8qIFdlIGZhaWwgdG8gZGV0ZWN0IHNvbWUgVkdBIG1vbml0b3JzIHVz aW5nIG91ciBpMmMgbWV0aG9kLiBJZiB5b3UgbG9vawotCSAqIGF0IHRoZSBkbWVzZyBvZiB0aGVz ZSBjYXNlcywgeW91J2xsIHNlZSB0aGUgS2VybmVsIGNvbXBsYWluaW5nIGFib3V0Ci0JICogdGhl IEVESUQgcmVhZGluZyBtb3N0bHkgRkZzIGFuZCB0aGVuIGRpc2FibGluZyBiaXQtYmFuZ2luZy4g U2luY2Ugd2UKLQkgKiBkb24ndCB3YW50IHRvIHJlaW1wbGVtZW50IGV2ZXJ5dGhpbmcgdGhlIEtl cm5lbCBkb2VzLCBsZXQncyBqdXN0Ci0JICogYWNjZXB0IHRoZSBmYWN0IHRoYXQgc29tZSBWR0Eg b3V0cHV0cyB3b24ndCBiZSBwcm9wZXJseSBkZXRlY3RlZC4gKi8KLQlkaWZmID0gZHJtX2VkaWRz IC0gaTJjX2VkaWRzOwotCWlndF9hc3NlcnQoZGlmZiA8PSB2Z2Ffb3V0cHV0cyAmJiBkaWZmID49 IDApOworCQkJaWYoZ290X2kyY19lZGlkKQorCQkJCWZvcm1hdF9oZXhfc3RyaW5nKGkyY19lZGlk LCBidWYpOworCQkJZWxzZQorCQkJCXNwcmludGYoYnVmLCAiTlVMTCIpOworCisJCQlpZ3RfY3Jp dGljYWwoImkyYzogJXNcbiIsIGJ1Zik7CisKKwkJCWlmKGdvdF9kcm1fZWRpZCkKKwkJCQlmb3Jt YXRfaGV4X3N0cmluZyhkcm1fZWRpZCwgYnVmKTsKKwkJCWVsc2UKKwkJCQlzcHJpbnRmKGJ1Ziwg Ik5VTEwiKTsKKworCQkJaWd0X2NyaXRpY2FsKCJkcm06ICVzXG4iLCBidWYpOworCisJCQlmYWls ZWQgPSB0cnVlOworCQl9CisJfQorCWlndF9mYWlsX29uX2YoZmFpbGVkLCAiTWlzbWF0Y2ggb24g RURJRCB3ZSBnb3QgZnJvbSBpMmMgYW5kIERSTSFcbiIpOwogfQogCiBzdGF0aWMgdm9pZCBzZXR1 cF9wYzgodm9pZCkKLS0gCjIuMjEuMAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkludGVsIEZpbmxhbmQgT3kKUmVn aXN0ZXJlZCBBZGRyZXNzOiBQTCAyODEsIDAwMTgxIEhlbHNpbmtpIApCdXNpbmVzcyBJZGVudGl0 eSBDb2RlOiAwMzU3NjA2IC0gNCAKRG9taWNpbGVkIGluIEhlbHNpbmtpIAoKVGhpcyBlLW1haWwg YW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJpYWwgZm9y CnRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkgcmV2aWV3IG9y IGRpc3RyaWJ1dGlvbgpieSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4gSWYgeW91IGFy ZSBub3QgdGhlIGludGVuZGVkCnJlY2lwaWVudCwgcGxlYXNlIGNvbnRhY3QgdGhlIHNlbmRlciBh bmQgZGVsZXRlIGFsbCBjb3BpZXMuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXY=