From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8AE4088D3D for ; Mon, 17 Jun 2019 10:04:24 +0000 (UTC) From: Oleg Vasilev Date: Mon, 17 Jun 2019 13:03:39 +0300 Message-Id: <20190617100339.2685-1-oleg.vasilev@intel.com> In-Reply-To: <20190613130623.5499-1-oleg.vasilev@intel.com> References: <20190613130623.5499-1-oleg.vasilev@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v3] 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 ZCBpcyBwcmludGVkLgoKdjI6CiAtIEltcHJvdmVkIG1lc3NhZ2VzIGluIG9yZGVyIHRvIHNldCB1 cCBDSSBmaWx0ZXIKIC0gTG9nIGFuZCBjbGVhciBlcnJubyBpbiBjYXNlIG9mIGkyYyBmYWlsdXJl Cgp2MzoKIC0gUmVwbGFjZSBjeWNsZSB3aXRoIHN0cmNociAoVmlsbGUpCiAtIE1pbm9yIGNvZGVz dHlsZSBjaGFuZ2VzIChWaWxsZSkKCkJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Au b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQwOTcKQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4KQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ CkNjOiBBcmthZGl1c3ogSGlsZXIgPGFya2FkaXVzei5oaWxlckBpbnRlbC5jb20+CkNjOiBNYXJ0 aW4gUGVyZXMgPG1hcnRpbi5wZXJlc0BsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE9s ZWcgVmFzaWxldiA8b2xlZy52YXNpbGV2QGludGVsLmNvbT4KLS0tCiB0ZXN0cy9pOTE1L2k5MTVf cG1fcnBtLmMgfCAxNzkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTExIGluc2VydGlvbnMoKyksIDY4IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0uYyBiL3Rlc3RzL2k5MTUvaTkxNV9wbV9ycG0u YwppbmRleCBmOWY2N2VkMy4uZTJjN2JhMjEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvaTkxNV9w bV9ycG0uYworKysgYi90ZXN0cy9pOTE1L2k5MTVfcG1fcnBtLmMKQEAgLTU3MiwzMyArNTcyLDUz IEBAIHN0YXRpYyB2b2lkIGFzc2VydF9kcm1faW5mb3NfZXF1YWwoc3RydWN0IGNvbXBhcmVfZGF0 YSAqZDEsCiAJCWFzc2VydF9kcm1fY3J0Y3NfZXF1YWwoZDEtPmNydGNzW2ldLCBkMi0+Y3J0Y3Nb aV0pOwogfQogCi0vKiBXZSBjb3VsZCBjaGVjayB0aGUgY2hlY2tzdW0gdG9vLCBidXQganVzdCB0 aGUgaGVhZGVyIGlzIHByb2JhYmx5IGVub3VnaC4gKi8KLXN0YXRpYyBib29sIGVkaWRfaXNfdmFs aWQoY29uc3QgdW5zaWduZWQgY2hhciAqZWRpZCkKK3N0YXRpYyBib29sIGZpbmRfaTJjX3BhdGgo Y29uc3QgY2hhciAqY29ubmVjdG9yX25hbWUsIGNoYXIgKmkyY19wYXRoKQogewotCWNoYXIgZWRp ZF9oZWFkZXJbXSA9IHsKLQkJMHgwLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZG LCAweDAsCi0JfTsKKwlzdHJ1Y3QgZGlyZW50ICpkaXJlbnQ7CisJRElSICpkaXI7CisJaW50IHN5 c2ZzX2NhcmRfZmQgPSBpZ3Rfc3lzZnNfb3Blbihkcm1fZmQpOworCWludCBjb25uZWN0b3JfZmQg PSAtMTsKKwlib29sIGZvdW5kX2kyY19maWxlID0gZmFsc2U7CiAKLQlyZXR1cm4gKG1lbWNtcChl ZGlkLCBlZGlkX2hlYWRlciwgc2l6ZW9mKGVkaWRfaGVhZGVyKSkgPT0gMCk7Ci19CisJZGlyID0g ZmRvcGVuZGlyKHN5c2ZzX2NhcmRfZmQpOworCWlndF9hc3NlcnQoZGlyKTsKIAotc3RhdGljIGlu dCBjb3VudF9kcm1fdmFsaWRfZWRpZHMoc3RydWN0IG1vZGVfc2V0X2RhdGEgKmRhdGEpCi17Ci0J aW50IHJldCA9IDA7CisJd2hpbGUgKChkaXJlbnQgPSByZWFkZGlyKGRpcikpKSB7CisJCS8qIFNr aXAgImNhcmR4LSIgcHJlZml4ICovCisJCWNoYXIgKmRpcm5hbWUgPSBzdHJjaHIoZGlyZW50LT5k X25hbWUsICctJyk7CisJCWlmIChkaXJuYW1lPT1OVUxMKQorCQkJY29udGludWU7CisJCSsrZGly bmFtZTsKIAotCWlmICghZGF0YS0+cmVzKQotCQlyZXR1cm4gMDsKKwkJaWYgKHN0cmNtcChkaXJu YW1lLCBjb25uZWN0b3JfbmFtZSkgPT0gMCkgeworCQkJY29ubmVjdG9yX2ZkID0gb3BlbmF0KHN5 c2ZzX2NhcmRfZmQsIGRpcmVudC0+ZF9uYW1lLCBPX1JET05MWSk7CisJCQlicmVhazsKKwkJfQor CX0KKwljbG9zZWRpcihkaXIpOwogCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhLT5yZXMtPmNv dW50X2Nvbm5lY3RvcnM7IGkrKykKLQkJaWYgKGRhdGEtPmVkaWRzW2ldICYmIGVkaWRfaXNfdmFs aWQoZGF0YS0+ZWRpZHNbaV0tPmRhdGEpKQotCQkJcmV0Kys7Ci0JcmV0dXJuIHJldDsKKwlpZiAo Y29ubmVjdG9yX2ZkIDwgMCkKKwkJcmV0dXJuIGZhbHNlOworCisJZGlyID0gZmRvcGVuZGlyKGNv bm5lY3Rvcl9mZCk7CisJaWd0X2Fzc2VydChkaXIpOworCisJd2hpbGUgKChkaXJlbnQgPSByZWFk ZGlyKGRpcikpKSB7CisJCWlmIChzdHJuY21wKGRpcmVudC0+ZF9uYW1lLCAiaTJjLSIsIDQpID09 IDApIHsKKwkJCXNwcmludGYoaTJjX3BhdGgsICIvZGV2LyVzIiwgZGlyZW50LT5kX25hbWUpOwor CQkJZm91bmRfaTJjX2ZpbGUgPSB0cnVlOworCQl9CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmV0 dXJuIGZvdW5kX2kyY19maWxlOwogfQogCi1zdGF0aWMgYm9vbCBpMmNfZWRpZF9pc192YWxpZChp bnQgZmQpCisKK3N0YXRpYyBib29sIGkyY19yZWFkX2VkaWQoY29uc3QgY2hhciAqY29ubmVjdG9y X25hbWUsIHVuc2lnbmVkIGNoYXIgKmVkaWQpCiB7Ci0JaW50IHJjOwotCXVuc2lnbmVkIGNoYXIg ZWRpZFsxMjhdID0ge307CisJY2hhciBpMmNfcGF0aFtQQVRIX01BWF07CisJYm9vbCByZXN1bHQ7 CisJaW50IHJjLCBmZDsKIAlzdHJ1Y3QgaTJjX21zZyBtc2dzW10gPSB7CiAJCXsgLyogU3RhcnQg YXQgMC4gKi8KIAkJCS5hZGRyID0gMHg1MCwKQEAgLTYxNyw2OSArNjM3LDkyIEBAIHN0YXRpYyBi b29sIGkyY19lZGlkX2lzX3ZhbGlkKGludCBmZCkKIAkJLm5tc2dzID0gMiwKIAl9OwogCisJcmVz dWx0ID0gZmluZF9pMmNfcGF0aChjb25uZWN0b3JfbmFtZSwgaTJjX3BhdGgpOworCWlmICghcmVz dWx0KQorCQlyZXR1cm4gZmFsc2U7CisKKwlmZCA9IG9wZW4oaTJjX3BhdGgsIE9fUkRXUik7CisJ aWd0X2Fzc2VydF9uZXEoZmQsIC0xKTsKKwogCXJjID0gaW9jdGwoZmQsIEkyQ19SRFdSLCAmbXNn c2V0KTsKLQlyZXR1cm4gKHJjID49IDApID8gZWRpZF9pc192YWxpZChlZGlkKSA6IGZhbHNlOwor CWlmIChyYz09LTEpIHsKKwkJaWd0X2RlYnVnKCJJMkMgYWNjZXNzIGZhaWxlZCB3aXRoIGVycm5v ICVkLCAlc1xuIiwKKwkJCQllcnJubywgc3RyZXJyb3IoZXJybm8pKTsKKwkJZXJybm8gPSAwOwor CX0KKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmMgPj0gMDsKIH0KIAotc3RhdGljIGludCBjb3Vu dF9pMmNfdmFsaWRfZWRpZHModm9pZCkKK3N0YXRpYyB2b2lkIGZvcm1hdF9oZXhfc3RyaW5nKGNv bnN0IHVuc2lnbmVkIGNoYXIgZWRpZFtzdGF0aWMgRURJRF9MRU5HVEhdLAorCQkJICAgICAgY2hh ciBidWZbc3RhdGljIEVESURfTEVOR1RIICogNSArIDFdKQogewotCWludCBmZCwgcmV0ID0gMDsK LQlESVIgKmRpcjsKKwlmb3IgKGludCBpID0gMDsgaSA8IEVESURfTEVOR1RIOyArK2kpCisJCXNw cmludGYoYnVmK2kqNSwgIjB4JTAyeCAiLCBlZGlkW2ldKTsKK30KIAotCXN0cnVjdCBkaXJlbnQg KmRpcmVudDsKLQljaGFyIGZ1bGxfbmFtZVtQQVRIX01BWF07CitzdGF0aWMgdm9pZCB0ZXN0X2ky YyhzdHJ1Y3QgbW9kZV9zZXRfZGF0YSAqZGF0YSkKK3sKKwlib29sIGVkaWRfbWlzdG1hY2hfaTJj X3ZzX2RybSA9IGZhbHNlOworCWlndF9kaXNwbGF5X3QgZGlzcGxheTsKKwlpZ3RfZGlzcGxheV9y ZXF1aXJlKCZkaXNwbGF5LCBkcm1fZmQpOwogCi0JZGlyID0gb3BlbmRpcigiL2Rldi8iKTsKLQlp Z3RfYXNzZXJ0KGRpcik7CisJZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhLT5yZXMtPmNvdW50X2Nv bm5lY3RvcnM7IGkrKykgeworCQl1bnNpZ25lZCBjaGFyICpkcm1fZWRpZCA9IGRhdGEtPmVkaWRz W2ldID8gZGF0YS0+ZWRpZHNbaV0tPmRhdGEgOiBOVUxMOworCQl1bnNpZ25lZCBjaGFyIGkyY19l ZGlkW0VESURfTEVOR1RIXSA9IHt9OwogCi0Jd2hpbGUgKChkaXJlbnQgPSByZWFkZGlyKGRpcikp KSB7Ci0JCWlmIChzdHJuY21wKGRpcmVudC0+ZF9uYW1lLCAiaTJjLSIsIDQpID09IDApIHsKLQkJ CXNwcmludGYoZnVsbF9uYW1lLCAiL2Rldi8lcyIsIGRpcmVudC0+ZF9uYW1lKTsKLQkJCWZkID0g b3BlbihmdWxsX25hbWUsIE9fUkRXUik7Ci0JCQlpZ3RfYXNzZXJ0X25lcShmZCwgLTEpOwotCQkJ aWYgKGkyY19lZGlkX2lzX3ZhbGlkKGZkKSkKLQkJCQlyZXQrKzsKLQkJCWNsb3NlKGZkKTsKLQkJ fQotCX0KKwkJaWd0X291dHB1dF90ICpvdXRwdXQgPSBpZ3Rfb3V0cHV0X2Zyb21fY29ubmVjdG9y KCZkaXNwbGF5LAorCQkJCQkJCQkgZGF0YS0+Y29ubmVjdG9yc1tpXSk7CisJCWNoYXIgKmNvbm5l Y3Rvcl9uYW1lID0gKGNoYXIgKikgaWd0X291dHB1dF9uYW1lKG91dHB1dCk7CiAKLQljbG9zZWRp cihkaXIpOworCQlib29sIGdvdF9pMmNfZWRpZCA9IGkyY19yZWFkX2VkaWQoY29ubmVjdG9yX25h bWUsIGkyY19lZGlkKTsKKwkJYm9vbCBnb3RfZHJtX2VkaWQgPSBkcm1fZWRpZCAhPSBOVUxMOwor CQlib29sIGlzX3ZnYSA9IGRhdGEtPmNvbm5lY3RvcnNbaV0tPmNvbm5lY3Rvcl90eXBlID09IERS TV9NT0RFX0NPTk5FQ1RPUl9WR0E7CiAKLQlyZXR1cm4gcmV0OwotfQorCQlib29sIGVkaWRzX2Vx dWFsOwogCi1zdGF0aWMgaW50IGNvdW50X3ZnYV9vdXRwdXRzKHN0cnVjdCBtb2RlX3NldF9kYXRh ICpkYXRhKQotewotCWludCBjb3VudCA9IDA7CisJCS8qIFdlIGZhaWwgdG8gZGV0ZWN0IHNvbWUg VkdBIG1vbml0b3JzIHVzaW5nIG91ciBpMmMgbWV0aG9kLiBJZiB5b3UgbG9vaworCQkgKiBhdCB0 aGUgZG1lc2cgb2YgdGhlc2UgY2FzZXMsIHlvdSdsbCBzZWUgdGhlIEtlcm5lbCBjb21wbGFpbmlu ZyBhYm91dAorCQkgKiB0aGUgRURJRCByZWFkaW5nIG1vc3RseSBGRnMgYW5kIHRoZW4gZGlzYWJs aW5nIGJpdC1iYW5naW5nLiBTaW5jZSB3ZQorCQkgKiBkb24ndCB3YW50IHRvIHJlaW1wbGVtZW50 IGV2ZXJ5dGhpbmcgdGhlIEtlcm5lbCBkb2VzLCBsZXQncyBqdXN0CisJCSAqIGFjY2VwdCB0aGUg ZmFjdCB0aGF0IHNvbWUgVkdBIG91dHB1dHMgd29uJ3QgYmUgcHJvcGVybHkgZGV0ZWN0ZWQuICov CisJCWlmIChpc192Z2EpCisJCQljb250aW51ZTsKIAotCWlmICghZGF0YS0+cmVzKQotCQlyZXR1 cm4gMDsKKwkJaWYgKCFnb3RfaTJjX2VkaWQgJiYgIWdvdF9kcm1fZWRpZCkKKwkJCWNvbnRpbnVl OworCisJCWlmIChnb3RfaTJjX2VkaWQgJiYgZ290X2RybV9lZGlkKQorCQkJZWRpZHNfZXF1YWwg PSAoMCA9PSBtZW1jbXAoZHJtX2VkaWQsIGkyY19lZGlkLCBFRElEX0xFTkdUSCkpOworCQllbHNl CisJCQllZGlkc19lcXVhbCA9IGZhbHNlOwogCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhLT5y ZXMtPmNvdW50X2Nvbm5lY3RvcnM7IGkrKykKLQkJaWYgKGRhdGEtPmNvbm5lY3RvcnNbaV0tPmNv bm5lY3Rvcl90eXBlID09Ci0JCSAgICBEUk1fTU9ERV9DT05ORUNUT1JfVkdBKQotCQkJY291bnQr KzsKIAotCXJldHVybiBjb3VudDsKLX0KKwkJaWYgKCFlZGlkc19lcXVhbCkgeworCQkJY2hhciBi dWZbNSAqIEVESURfTEVOR1RIICsgMV07CisJCQlpZ3RfY3JpdGljYWwoIkRldGVjdGVkIEVESUQg bWlzbWF0Y2ggb24gY29ubmVjdG9yICVzXG4iLAorCQkJCSAgICAgY29ubmVjdG9yX25hbWUpOwog Ci1zdGF0aWMgdm9pZCB0ZXN0X2kyYyhzdHJ1Y3QgbW9kZV9zZXRfZGF0YSAqZGF0YSkKLXsKLQlp bnQgaTJjX2VkaWRzID0gY291bnRfaTJjX3ZhbGlkX2VkaWRzKCk7Ci0JaW50IGRybV9lZGlkcyA9 IGNvdW50X2RybV92YWxpZF9lZGlkcyhkYXRhKTsKLQlpbnQgdmdhX291dHB1dHMgPSBjb3VudF92 Z2Ffb3V0cHV0cyhkYXRhKTsKLQlpbnQgZGlmZjsKLQotCWlndF9kZWJ1ZygiaTJjIGVkaWRzOiVk IGRybSBlZGlkczolZCB2Z2Egb3V0cHV0czolZFxuIiwKLQkJICBpMmNfZWRpZHMsIGRybV9lZGlk cywgdmdhX291dHB1dHMpOwotCi0JLyogV2UgZmFpbCB0byBkZXRlY3Qgc29tZSBWR0EgbW9uaXRv cnMgdXNpbmcgb3VyIGkyYyBtZXRob2QuIElmIHlvdSBsb29rCi0JICogYXQgdGhlIGRtZXNnIG9m IHRoZXNlIGNhc2VzLCB5b3UnbGwgc2VlIHRoZSBLZXJuZWwgY29tcGxhaW5pbmcgYWJvdXQKLQkg KiB0aGUgRURJRCByZWFkaW5nIG1vc3RseSBGRnMgYW5kIHRoZW4gZGlzYWJsaW5nIGJpdC1iYW5n aW5nLiBTaW5jZSB3ZQotCSAqIGRvbid0IHdhbnQgdG8gcmVpbXBsZW1lbnQgZXZlcnl0aGluZyB0 aGUgS2VybmVsIGRvZXMsIGxldCdzIGp1c3QKLQkgKiBhY2NlcHQgdGhlIGZhY3QgdGhhdCBzb21l IFZHQSBvdXRwdXRzIHdvbid0IGJlIHByb3Blcmx5IGRldGVjdGVkLiAqLwotCWRpZmYgPSBkcm1f ZWRpZHMgLSBpMmNfZWRpZHM7Ci0JaWd0X2Fzc2VydChkaWZmIDw9IHZnYV9vdXRwdXRzICYmIGRp ZmYgPj0gMCk7CisJCQlpZihnb3RfaTJjX2VkaWQpCisJCQkJZm9ybWF0X2hleF9zdHJpbmcoaTJj X2VkaWQsIGJ1Zik7CisJCQllbHNlCisJCQkJc3ByaW50ZihidWYsICJOVUxMIik7CisKKwkJCWln dF9jcml0aWNhbCgiaTJjOiAlc1xuIiwgYnVmKTsKKworCQkJaWYoZ290X2RybV9lZGlkKQorCQkJ CWZvcm1hdF9oZXhfc3RyaW5nKGRybV9lZGlkLCBidWYpOworCQkJZWxzZQorCQkJCXNwcmludGYo YnVmLCAiTlVMTCIpOworCisJCQlpZ3RfY3JpdGljYWwoImRybTogJXNcbiIsIGJ1Zik7CisKKwkJ CWVkaWRfbWlzdG1hY2hfaTJjX3ZzX2RybSA9IHRydWU7CisJCX0KKwl9CisJaWd0X2ZhaWxfb25f ZihlZGlkX21pc3RtYWNoX2kyY192c19kcm0sCisJCQkiVGhlcmUgaXMgYW4gRURJRCBtaXNtYXRj aCBiZXR3ZWVuIGkyYyBhbmQgRFJNIVxuIik7CiB9CiAKIHN0YXRpYyB2b2lkIHNldHVwX3BjOCh2 b2lkKQotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=