From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 17F176E158 for ; Tue, 13 Aug 2019 14:17:05 +0000 (UTC) From: Simon Ser Date: Tue, 13 Aug 2019 17:17:48 +0300 Message-Id: <20190813141748.18876-4-simon.ser@intel.com> In-Reply-To: <20190813141748.18876-1-simon.ser@intel.com> References: <20190813141748.18876-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 3/3] tests/kms_chamelium: add a link-status test 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: VGhpcyB0ZXN0IGZpcnN0IGNoZWNrcyB0aGF0IG9uIG5vcm1hbCBob3RwbHVnLCB0aGUgbGluay1z dGF0dXMgcHJvcGVydHkgaXMgc2V0CnRvIEdPT0QuIEl0IHRoZW4gdHJpZ2dlcnMgYSBsaW5rIGZh aWx1cmUsIGNoZWNrcyB0aGF0IHRoZSBwcm9wZXJ0eSBpcyB1cGRhdGVkCnRvIEJBRC4gQ2hlY2tz IGFyZSBwZXJmb3JtZWQgdG8gbWFrZSBzdXJlIHRoZSBuZXcgbW9kZSBsaXN0IGlzIGEgc3Vic2V0 IG9mIHRoZQpwcmV2aW91cyBvbmUuIEFmdGVyIHRoYXQsIGEgbmV3IG1vZGVzZXQgaXMgcGVyZm9y bWVkIGlmIG5lY2Vzc2FyeSBhbmQgdGhlCmxpbmstc3RhdHVzIHByb3BlcnR5IGlzIHNldCBiYWNr IHRvIEdPT0QuCgpUaGlzIHdob2xlIGRhbmNlIGlzIHJlcGVhdGVkIHVudGlsIHdlIHJlYWNoIGZh bGxiYWNrIG1vZGVzLgoKU2lnbmVkLW9mZi1ieTogU2ltb24gU2VyIDxzaW1vbi5zZXJAaW50ZWwu Y29tPgotLS0KIHRlc3RzL2ttc19jaGFtZWxpdW0uYyB8IDE0MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxNDIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYyBiL3Rlc3RzL2ttc19jaGFtZWxp dW0uYwppbmRleCBiN2QzMGEyZDBmNTUuLmJlZjRkNmQzYmJkOCAxMDA2NDQKLS0tIGEvdGVzdHMv a21zX2NoYW1lbGl1bS5jCisrKyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwpAQCAtNTM5LDYgKzUz OSwxNDUgQEAgZW5hYmxlX291dHB1dChkYXRhX3QgKmRhdGEsCiAJZHJtTW9kZUZyZWVDb25uZWN0 b3IoY29ubmVjdG9yKTsKIH0KIAorc3RhdGljIGJvb2wgZmluZF9tb2RlKGNvbnN0IGRybU1vZGVN b2RlSW5mbyAqbGlzdCwgc2l6ZV90IGxpc3RfbGVuLAorCQkgICAgICBjb25zdCBkcm1Nb2RlTW9k ZUluZm8gKm1vZGUpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGlzdF9sZW47 IGkrKykgeworCQlpZiAobWVtY21wKCZsaXN0W2ldLCBtb2RlLCBzaXplb2YoKm1vZGUpKSA9PSAw KSB7CisJCQlyZXR1cm4gdHJ1ZTsKKwkJfQorCX0KKworCXJldHVybiBmYWxzZTsKK30KKworc3Rh dGljIHZvaWQgY2hlY2tfbW9kZXNfc3Vic2V0KGNvbnN0IGRybU1vZGVNb2RlSW5mbyAqcHJldiwg c2l6ZV90IHByZXZfbGVuLAorCQkJICAgICAgIGNvbnN0IGRybU1vZGVNb2RlSW5mbyAqY3VyLCBz aXplX3QgY3VyX2xlbikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBjdXJfbGVu OyBpKyspIHsKKwkJaWd0X2Fzc2VydF9mKGZpbmRfbW9kZShwcmV2LCBwcmV2X2xlbiwgJmN1cltp XSksCisJCQkgICAgICJHb3QgbmV3IG1vZGUgJXMgYWZ0ZXIgbGluayBzdGF0dXMgZmFpbHVyZVxu IiwKKwkJCSAgICAgY3VyW2ldLm5hbWUpOworCX0KKworCWlndF9hc3NlcnQoY3VyX2xlbiA8PSBw cmV2X2xlbik7IC8qIHNhZmV0eSBuZXQgKi8KKwlpZ3RfZGVidWcoIk5ldyBtb2RlIGxpc3QgY29u dGFpbnMgJXp1IGxlc3MgbW9kZXNcbiIsCisJCSAgcHJldl9sZW4gLSBjdXJfbGVuKTsKK30KKwor c3RhdGljIGJvb2wgYXJlX2ZhbGxiYWNrX21vZGVzKGNvbnN0IGRybU1vZGVNb2RlSW5mbyAqbW9k ZXMsIHNpemVfdCBtb2Rlc19sZW4pCit7CisJaWd0X2Fzc2VydChtb2Rlc19sZW4gPiAwKTsKKwor CXJldHVybiBtb2Rlc1swXS5oZGlzcGxheSA8PSAxMDI0ICYmIG1vZGVzWzBdLnZkaXNwbGF5IDw9 IDc2ODsKK30KKworc3RhdGljIHZvaWQKK3Rlc3RfbGlua19zdGF0dXMoZGF0YV90ICpkYXRhLCBz dHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQpCit7CisJZHJtTW9kZUNvbm5lY3RvciAqY29ubmVj dG9yOworCWlndF9vdXRwdXRfdCAqb3V0cHV0OworCWlndF9wbGFuZV90ICpwcmltYXJ5OworCWRy bU1vZGVNb2RlSW5mbyAqcHJldl9tb2RlczsKKwlzaXplX3QgcHJldl9tb2Rlc19sZW47CisJZHJt TW9kZU1vZGVJbmZvIG1vZGUgPSB7MH07CisJdWludDMyX3QgbGlua19zdGF0dXNfaWQ7CisJdWlu dDY0X3QgbGlua19zdGF0dXM7CisJYm9vbCBoYXNfcHJvcDsKKwl1bnNpZ25lZCBpbnQgZmJfaWQg PSAwOworCXN0cnVjdCBpZ3RfZmIgZmI7CisJc3RydWN0IHVkZXZfbW9uaXRvciAqbW9uOworCisJ aWd0X3JlcXVpcmUoY2hhbWVsaXVtX3N1cHBvcnRzX3RyaWdnZXJfbGlua19mYWlsdXJlKGRhdGEt PmNoYW1lbGl1bSkpOworCisJcmVzZXRfc3RhdGUoZGF0YSwgcG9ydCk7CisKKwlvdXRwdXQgPSBw cmVwYXJlX291dHB1dChkYXRhLCBwb3J0LCBURVNUX0VESURfQkFTRSk7CisJY29ubmVjdG9yID0g Y2hhbWVsaXVtX3BvcnRfZ2V0X2Nvbm5lY3RvcihkYXRhLT5jaGFtZWxpdW0sIHBvcnQsIGZhbHNl KTsKKwlwcmltYXJ5ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShvdXRwdXQsIERSTV9QTEFO RV9UWVBFX1BSSU1BUlkpOworCWlndF9hc3NlcnQocHJpbWFyeSk7CisKKwloYXNfcHJvcCA9IGtt c3Rlc3RfZ2V0X3Byb3BlcnR5KGRhdGEtPmRybV9mZCwgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQs CisJCQkJCURSTV9NT0RFX09CSkVDVF9DT05ORUNUT1IsCisJCQkJCSJsaW5rLXN0YXR1cyIsICZs aW5rX3N0YXR1c19pZCwKKwkJCQkJJmxpbmtfc3RhdHVzLCBOVUxMKTsKKwlpZ3RfcmVxdWlyZSho YXNfcHJvcCk7CisJaWd0X2Fzc2VydF9mKGxpbmtfc3RhdHVzID09IERSTV9NT0RFX0xJTktfU1RB VFVTX0dPT0QsCisJCSAgICAgIkV4cGVjdGVkIGxpbmsgc3RhdHVzIHRvIGJlICVkIGluaXRpYWxs eSwgZ290ICUiUFJJdTY0IlxuIiwKKwkJICAgICBEUk1fTU9ERV9MSU5LX1NUQVRVU19HT09ELCBs aW5rX3N0YXR1cyk7CisKKwlpZ3RfZGVidWcoIkNvbm5lY3RvciBoYXMgJWQgbW9kZXNcbiIsIGNv bm5lY3Rvci0+Y291bnRfbW9kZXMpOworCXByZXZfbW9kZXNfbGVuID0gY29ubmVjdG9yLT5jb3Vu dF9tb2RlczsKKwlwcmV2X21vZGVzID0gbWFsbG9jKHByZXZfbW9kZXNfbGVuICogc2l6ZW9mKGRy bU1vZGVNb2RlSW5mbykpOworCW1lbWNweShwcmV2X21vZGVzLCBjb25uZWN0b3ItPm1vZGVzLAor CSAgICAgICBwcmV2X21vZGVzX2xlbiAqIHNpemVvZihkcm1Nb2RlTW9kZUluZm8pKTsKKworCW1v biA9IGlndF93YXRjaF9ob3RwbHVnKCk7CisKKwl3aGlsZSAoMSkgeworCQlpZiAobGlua19zdGF0 dXMgPT0gRFJNX01PREVfTElOS19TVEFUVVNfQkFEKSB7CisJCQlpZ3Rfb3V0cHV0X3NldF9wcm9w X3ZhbHVlKG91dHB1dCwKKwkJCQkJCSAgSUdUX0NPTk5FQ1RPUl9MSU5LX1NUQVRVUywKKwkJCQkJ CSAgRFJNX01PREVfTElOS19TVEFUVVNfR09PRCk7CisJCX0KKworCQlpZiAobWVtY21wKCZjb25u ZWN0b3ItPm1vZGVzWzBdLCAmbW9kZSwgc2l6ZW9mKG1vZGUpKSAhPSAwKSB7CisJCQlpZ3RfYXNz ZXJ0KGNvbm5lY3Rvci0+Y291bnRfbW9kZXMgPiAwKTsKKwkJCW1vZGUgPSBjb25uZWN0b3ItPm1v ZGVzWzBdOworCQkJaWd0X2RlYnVnKCJNb2Rlc2V0dGluZyB3aXRoICVzXG4iLCBtb2RlLm5hbWUp OworCQkJaWYgKGZiX2lkID4gMCkKKwkJCQlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmZi KTsKKwkJCWZiX2lkID0gaWd0X2NyZWF0ZV9jb2xvcl9wYXR0ZXJuX2ZiKGRhdGEtPmRybV9mZCwK KwkJCQkJCQkgICAgbW9kZS5oZGlzcGxheSwKKwkJCQkJCQkgICAgbW9kZS52ZGlzcGxheSwKKwkJ CQkJCQkgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwKKwkJCQkJCQkgICAgTE9DQUxfRFJNX0ZPUk1B VF9NT0RfTk9ORSwKKwkJCQkJCQkgICAgMCwgMCwgMCwgJmZiKTsKKwkJCWlndF9hc3NlcnQoZmJf aWQgPiAwKTsKKwkJCWVuYWJsZV9vdXRwdXQoZGF0YSwgcG9ydCwgb3V0cHV0LCAmbW9kZSwgJmZi KTsKKwkJfSBlbHNlIHsKKwkJCWlndF9kaXNwbGF5X2NvbW1pdDIoJmRhdGEtPmRpc3BsYXksIENP TU1JVF9BVE9NSUMpOworCQl9CisKKwkJaWd0X2RlYnVnKCJUcmlnZ2VyaW5nIGxpbmsgZmFpbHVy ZVxuIik7CisJCWNoYW1lbGl1bV90cmlnZ2VyX2xpbmtfZmFpbHVyZShkYXRhLT5jaGFtZWxpdW0s IHBvcnQpOworCisJCWlndF9hc3NlcnQoaWd0X2hvdHBsdWdfZGV0ZWN0ZWQobW9uLCBIT1RQTFVH X1RJTUVPVVQpKTsKKwkJaWd0X2Fzc2VydF9lcShyZXByb2JlX2Nvbm5lY3RvcihkYXRhLCBwb3J0 KSwKKwkJCSAgICAgIERSTV9NT0RFX0NPTk5FQ1RFRCk7CisKKwkJaWd0X2ZsdXNoX2hvdHBsdWdz KG1vbik7CisKKwkJZHJtTW9kZUZyZWVDb25uZWN0b3IoY29ubmVjdG9yKTsKKwkJY29ubmVjdG9y ID0gY2hhbWVsaXVtX3BvcnRfZ2V0X2Nvbm5lY3RvcihkYXRhLT5jaGFtZWxpdW0sIHBvcnQsCisJ CQkJCQkJIGZhbHNlKTsKKwkJbGlua19zdGF0dXMgPSBpZ3Rfb3V0cHV0X2dldF9wcm9wKG91dHB1 dCwgSUdUX0NPTk5FQ1RPUl9MSU5LX1NUQVRVUyk7CisJCWlndF9hc3NlcnRfZihsaW5rX3N0YXR1 cyA9PSBEUk1fTU9ERV9MSU5LX1NUQVRVU19CQUQsCisJCQkgICAgICJFeHBlY3RlZCBsaW5rIHN0 YXR1cyB0byBiZSAlZCBhZnRlciBsaW5rIGZhaWx1cmUsICIKKwkJCSAgICAgImdvdCAlIlBSSXU2 NCJcbiIsCisJCQkgICAgIERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCwgbGlua19zdGF0dXMpOwor CQljaGVja19tb2Rlc19zdWJzZXQocHJldl9tb2RlcywgcHJldl9tb2Rlc19sZW4sCisJCQkJICAg Y29ubmVjdG9yLT5tb2RlcywgY29ubmVjdG9yLT5jb3VudF9tb2Rlcyk7CisJCXByZXZfbW9kZXNf bGVuID0gY29ubmVjdG9yLT5jb3VudF9tb2RlczsKKwkJbWVtY3B5KHByZXZfbW9kZXMsIGNvbm5l Y3Rvci0+bW9kZXMsCisJCSAgICAgICBjb25uZWN0b3ItPmNvdW50X21vZGVzICogc2l6ZW9mKGRy bU1vZGVNb2RlSW5mbykpOworCisJCWlmIChhcmVfZmFsbGJhY2tfbW9kZXMoY29ubmVjdG9yLT5t b2RlcywgY29ubmVjdG9yLT5jb3VudF9tb2RlcykpIHsKKwkJCWlndF9kZWJ1ZygiUmVhY2hlZCBm YWxsYmFjayBtb2Rlc1xuIik7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlndF9jbGVhbnVwX2hv dHBsdWcobW9uKTsKKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmZiKTsKKwlmcmVlKHBy ZXZfbW9kZXMpOworCWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5lY3Rvcik7Cit9CisKIHN0YXRp YyB2b2lkIGNoYW1lbGl1bV9wYWludF94cjI0X3BhdHRlcm4odWludDMyX3QgKmRhdGEsCiAJCQkJ CSBzaXplX3Qgd2lkdGgsIHNpemVfdCBoZWlnaHQsCiAJCQkJCSBzaXplX3Qgc3RyaWRlLCBzaXpl X3QgYmxvY2tfc2l6ZSkKQEAgLTIyMzQsNiArMjM3Myw5IEBAIGlndF9tYWluCiAJCQl0ZXN0X2hw ZF9zdG9ybV9kaXNhYmxlKCZkYXRhLCBwb3J0LAogCQkJCQkgICAgICAgSFBEX1NUT1JNX1BVTFNF X0lOVEVSVkFMX0RQKTsKIAorCQljb25uZWN0b3Jfc3VidGVzdCgiZHAtbGluay1zdGF0dXMiLCBE aXNwbGF5UG9ydCkKKwkJCXRlc3RfbGlua19zdGF0dXMoJmRhdGEsIHBvcnQpOworCiAJCWNvbm5l Y3Rvcl9zdWJ0ZXN0KCJkcC1lZGlkLWNoYW5nZS1kdXJpbmctc3VzcGVuZCIsIERpc3BsYXlQb3J0 KQogCQkJdGVzdF9zdXNwZW5kX3Jlc3VtZV9lZGlkX2NoYW5nZSgmZGF0YSwgcG9ydCwKIAkJCQkJ CQlTVVNQRU5EX1NUQVRFX01FTSwKLS0gCjIuMjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pZ3QtZGV2