From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC0E0895E1 for ; Wed, 28 Aug 2019 11:59:51 +0000 (UTC) From: Simon Ser Date: Wed, 28 Aug 2019 15:00:46 +0300 Message-Id: <20190828120046.24259-3-simon.ser@intel.com> In-Reply-To: <20190828120046.24259-1-simon.ser@intel.com> References: <20190828120046.24259-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 2/2] tests/kms_chamelium: add a hotplug test with active connector 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 Cc: Daniel Vetter List-ID: VGhpcyB0ZXN0IGVuYWJsZXMgYSBjb25uZWN0b3IsIHVucGx1Z3MgaXQsIHJlLXBsdWdzIGl0LCBh bmQgbWFrZXMgc3VyZSB0aGUKQ2hhbWVsaXVtIGJvYXJkIHN0aWxsIHJlY2VpdmVzIGEgdmlkZW8g c2lnbmFsLgoKTGVnYWN5IHVzZXJzcGFjZSBkb2Vzbid0IG5lY2Vzc2FyaWx5IGhhbmRsZSBob3Rw bHVnIHVldmVudHMuIFRoaXMgdGVzdCBtYWtlcwpzdXJlIHdlIGRvbid0IGJyZWFrIGl0LgoKVGhl IHRlc3Qgc2tpcHMgRFAtTVNUIGNvbm5lY3RvcnMgKGJlY2F1c2UgdGhlIGtlcm5lbCBkb2Vzbid0 IHN1cHBvcnQgbGVnYWN5CnVzZXJzcGFjZSBmb3IgdGhvc2UpIGFuZCBJbnRlbCBJQ0wgVHlwZS1D IGNvbm5lY3RvcnMgKGhhcmR3YXJlIGJ1ZykuCgpTZWUgWzFdIGFuZCBbMl0gZm9yIG1vcmUgY29u dGV4dC4KClsxXTogaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvaWd0LWRl di8yMDE5LUp1bHkvMDE1MDcxLmh0bWwKWzJdOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3Jn L3Nob3dfYnVnLmNnaT9pZD0xMTEwNDUKClNpZ25lZC1vZmYtYnk6IFNpbW9uIFNlciA8c2ltb24u c2VyQGludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KQ2M6IElt cmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KLS0tCiB0ZXN0cy9rbXNfY2hhbWVsaXVtLmMg fCAxNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUg Y2hhbmdlZCwgMTc5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfY2hhbWVs aXVtLmMgYi90ZXN0cy9rbXNfY2hhbWVsaXVtLmMKaW5kZXggZDZhZWM4Yjk3ZWIyLi44MTk1MjVj NmM1YjcgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19jaGFtZWxpdW0uYworKysgYi90ZXN0cy9rbXNf Y2hhbWVsaXVtLmMKQEAgLTExODYsNiArMTE4NiwxNzUgQEAgc3RhdGljIHZvaWQgdGVzdF9kaXNw bGF5X2FzcGVjdF9yYXRpbyhkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9y dCkKIAlkcm1Nb2RlRnJlZUNvbm5lY3Rvcihjb25uZWN0b3IpOwogfQogCitzdGF0aWMgYm9vbCBp c19kcF9tc3QoZGF0YV90ICpkYXRhLCBkcm1Nb2RlQ29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJ aWd0X291dHB1dF90ICpvdXRwdXQ7CisJdWludDY0X3QgcGF0aF9pZDsKKwlkcm1Nb2RlUHJvcGVy dHlCbG9iUmVzICpwYXRoX2Jsb2I7CisJYm9vbCBtc3Q7CisJY29uc3QgY2hhciBtc3RfcHJlZml4 W10gPSAibXN0OiI7CisKKwlpZiAoY29ubmVjdG9yLT5jb25uZWN0b3JfdHlwZSAhPSBEUk1fTU9E RV9DT05ORUNUT1JfRGlzcGxheVBvcnQpCisJCXJldHVybiBmYWxzZTsKKworCW91dHB1dCA9IGln dF9vdXRwdXRfZnJvbV9jb25uZWN0b3IoJmRhdGEtPmRpc3BsYXksIGNvbm5lY3Rvcik7CisJaWYg KCFpZ3Rfb3V0cHV0X2hhc19wcm9wKG91dHB1dCwgSUdUX0NPTk5FQ1RPUl9QQVRIKSkKKwkJcmV0 dXJuIGZhbHNlOworCisJcGF0aF9pZCA9IGlndF9vdXRwdXRfZ2V0X3Byb3Aob3V0cHV0LCBJR1Rf Q09OTkVDVE9SX1BBVEgpOworCWlmIChwYXRoX2lkID09IDApCisJCXJldHVybiBmYWxzZTsKKwor CXBhdGhfYmxvYiA9IGRybU1vZGVHZXRQcm9wZXJ0eUJsb2IoZGF0YS0+ZHJtX2ZkLCBwYXRoX2lk KTsKKwlpZ3RfYXNzZXJ0KHBhdGhfYmxvYik7CisJbXN0ID0gc3RybmNtcChwYXRoX2Jsb2ItPmRh dGEsIG1zdF9wcmVmaXgsIHN0cmxlbihtc3RfcHJlZml4KSkgPT0gMDsKKwlkcm1Nb2RlRnJlZVBy b3BlcnR5QmxvYihwYXRoX2Jsb2IpOworCXJldHVybiBtc3Q7Cit9CisKK3N0YXRpYyBib29sIGk5 MTVfaXNfdHlwZV9jKGRhdGFfdCAqZGF0YSwgZHJtTW9kZUNvbm5lY3RvciAqY29ubmVjdG9yKQor eworCWludCBmZDsKKwlGSUxFICpmOworCWNoYXIgKmxpbmUgPSBOVUxMOworCXNpemVfdCBsaW5l X2NhcCA9IDA7CisJc3NpemVfdCBsaW5lX2xlbjsKKwlib29sIGZvdW5kX2Nvbm5lY3RvciwgZm91 bmRfcG9ydCwgdHlwZV9jOworCWNoYXIgY29ubl9wcmVmaXhbMTI4XTsKKwljb25zdCBjaGFyIHBv cnRfcHJlZml4W10gPSAicG9ydDoiOworCisJaWYgKGNvbm5lY3Rvci0+Y29ubmVjdG9yX3R5cGUg IT0gRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0KQorCQlyZXR1cm4gZmFsc2U7CisKKwlz bnByaW50Zihjb25uX3ByZWZpeCwgc2l6ZW9mKGNvbm5fcHJlZml4KSwgImNvbm5lY3RvciAldToi LAorCQkgY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOworCisJZmQgPSBpZ3RfZGVidWdmc19vcGVu KGRhdGEtPmRybV9mZCwgImk5MTVfZGlzcGxheV9pbmZvIiwgT19SRE9OTFkpOworCWYgPSBmZG9w ZW4oZmQsICJyIik7CisJaWd0X2Fzc2VydChmKTsKKworCWZvdW5kX2Nvbm5lY3RvciA9IGZhbHNl OworCWZvdW5kX3BvcnQgPSBmYWxzZTsKKwl0eXBlX2MgPSBmYWxzZTsKKwl3aGlsZSAoMSkgewor CQlsaW5lX2xlbiA9IGdldGxpbmUoJmxpbmUsICZsaW5lX2NhcCwgZik7CisJCWlmIChsaW5lX2xl biA8IDApCisJCQlicmVhazsKKworCQlpZiAoIWZvdW5kX2Nvbm5lY3RvcikgeworCQkJZm91bmRf Y29ubmVjdG9yID0gc3RybmNtcChsaW5lLCBjb25uX3ByZWZpeCwKKwkJCQkJCSAgc3RybGVuKGNv bm5fcHJlZml4KSkgPT0gMDsKKwkJfSBlbHNlIHsKKwkJCWlmIChsaW5lWzBdICE9ICdcdCcpIHsK KwkJCQlicmVhazsKKwkJCX0KKworCQkJaWYgKHN0cm5jbXAoJmxpbmVbMV0sIHBvcnRfcHJlZml4 LAorCQkJCSAgICBzdHJsZW4ocG9ydF9wcmVmaXgpKSA9PSAwKSB7CisJCQkJaWd0X2RlYnVnKCJG b3VuZCBpOTE1X2RlYnVnX2luZm8gcG9ydCBlbnRyeTogJXMiLAorCQkJCQkgICZsaW5lWzFdKTsK KwkJCQlmb3VuZF9wb3J0ID0gdHJ1ZTsKKwkJCQl0eXBlX2MgPSBzdHJzdHIobGluZSwgIi9UQyIp ICE9IE5VTEw7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisJZnJlZShsaW5lKTsKKworCWZj bG9zZShmKTsKKworCWlndF9hc3NlcnQoZm91bmRfY29ubmVjdG9yKTsKKwlpZiAoIWZvdW5kX3Bv cnQpCisJCWlndF9kZWJ1ZygiQ2Fubm90IGRldGVjdCB3aGV0aGVyIHBvcnQgaXMgVHlwZS1DOiAi CisJCQkgICJwb3J0IGVudHJ5IG5vdCBmb3VuZCBpbiBpOTE1X2RlYnVnX2luZm9cbiIpOworCisJ cmV0dXJuIHR5cGVfYzsKK30KKworI2RlZmluZSBXQUlUX1ZJREVPX0lOUFVUX1NUQUJMRV9USU1F T1VUIDUgLyogc2Vjb25kcyAqLworCisvKiogdGVzdF9ob3RwbHVnX3doaWxlX2FjdGl2ZToKKyAq CisgKiBQbHVnIGEgY29ubmVjdG9yLCBlbmFibGUgaXQsIHVucGx1ZyBpdCwgcmUtcGx1ZyBpdCBh bmQgY2hlY2sgd2Ugc3RpbGwgaGF2ZSBhCisgKiBzdGFibGUgaW5wdXQgc2lnbmFsLgorICoKKyAq IExlZ2FjeSB1c2Vyc3BhY2UgdGhhdCBkb2Vzbid0IGNvbnN1bWUgaG90cGx1ZyBldmVudHMgcmVs eSBvbiB0aGlzIGJlaGF2aW91ci4KKyAqLworc3RhdGljIHZvaWQKK3Rlc3RfaG90cGx1Z193aGls ZV9hY3RpdmUoZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQpCit7CisJ c3RydWN0IHVkZXZfbW9uaXRvciAqbW9uID0gaWd0X3dhdGNoX2hvdHBsdWcoKTsKKwlpZ3Rfb3V0 cHV0X3QgKm91dHB1dDsKKwlkcm1Nb2RlQ29ubmVjdG9yICpjb25uZWN0b3I7CisJaWd0X3BsYW5l X3QgKnByaW1hcnk7CisJc3RydWN0IGlndF9mYiBmYjsKKwlkcm1Nb2RlTW9kZUluZm8gbW9kZTsK Kwl1bnNpZ25lZCBpbnQgZmJfaWQ7CisJYm9vbCBvazsKKworCWNvbm5lY3RvciA9IGNoYW1lbGl1 bV9wb3J0X2dldF9jb25uZWN0b3IoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LCBmYWxzZSk7CisJLyog VGhlIGtlcm5lbCBkb2Vzbid0IHN1cHBvcnQgbGVnYWN5IHVzZXJzcGFjZSBmb3IgRFAtTVNUICov CisJaWd0X3NraXBfb24oaXNfZHBfbXN0KGRhdGEsIGNvbm5lY3RvcikpOworCS8qIGk5MTUgaGFz IGEgaGFyZHdhcmUgYnVnIGZvciBUeXBlLUMgY29ubmVjdG9ycyBvbiBJQ0wuIFNlZToKKwkgKiBo dHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwNDUgKi8KKwlp ZiAoaW50ZWxfZ2V0X2RldmljZV9pbmZvKGludGVsX2dldF9kcm1fZGV2aWQoZGF0YS0+ZHJtX2Zk KSktPmlzX2ljZWxha2UpCisJCWlndF9za2lwX29uKGk5MTVfaXNfdHlwZV9jKGRhdGEsIGNvbm5l Y3RvcikpOworCWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5lY3Rvcik7CisKKwlyZXNldF9zdGF0 ZShkYXRhLCBwb3J0KTsKKworCWlndF9mbHVzaF9ob3RwbHVncyhtb24pOworCisJY2hhbWVsaXVt X3BsdWcoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0KTsKKwlpZ3RfYXNzZXJ0KGlndF9ob3RwbHVnX2Rl dGVjdGVkKG1vbiwgSE9UUExVR19USU1FT1VUKSk7CisJaWd0X2Fzc2VydF9lcShyZXByb2JlX2Nv bm5lY3RvcihkYXRhLCBwb3J0KSwgRFJNX01PREVfQ09OTkVDVEVEKTsKKworCW91dHB1dCA9IHBy ZXBhcmVfb3V0cHV0KGRhdGEsIHBvcnQsIFRFU1RfRURJRF9CQVNFKTsKKwljb25uZWN0b3IgPSBj aGFtZWxpdW1fcG9ydF9nZXRfY29ubmVjdG9yKGRhdGEtPmNoYW1lbGl1bSwgcG9ydCwgZmFsc2Up OworCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKG91dHB1dCwgRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSk7CisJaWd0X2Fzc2VydChwcmltYXJ5KTsKKworCWlndF9hc3NlcnQoY29u bmVjdG9yLT5jb3VudF9tb2RlcyA+IDApOworCW1vZGUgPSBjb25uZWN0b3ItPm1vZGVzWzBdOwor CWRybU1vZGVGcmVlQ29ubmVjdG9yKGNvbm5lY3Rvcik7CisKKwlmYl9pZCA9IGlndF9jcmVhdGVf Y29sb3JfcGF0dGVybl9mYihkYXRhLT5kcm1fZmQsCisJCQkJCSAgICBtb2RlLmhkaXNwbGF5LCBt b2RlLnZkaXNwbGF5LAorCQkJCQkgICAgRFJNX0ZPUk1BVF9YUkdCODg4OCwKKwkJCQkJICAgIExP Q0FMX0RSTV9GT1JNQVRfTU9EX05PTkUsCisJCQkJCSAgICAwLCAwLCAwLCAmZmIpOworCWlndF9h c3NlcnQoZmJfaWQgPiAwKTsKKworCWVuYWJsZV9vdXRwdXQoZGF0YSwgcG9ydCwgb3V0cHV0LCAm bW9kZSwgJmZiKTsKKworCW9rID0gY2hhbWVsaXVtX3BvcnRfd2FpdF92aWRlb19pbnB1dF9zdGFi bGUoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LAorCQkJCQkJICAgIFdBSVRfVklERU9fSU5QVVRfU1RB QkxFX1RJTUVPVVQpOworCWlndF9hc3NlcnRfZihvaywgIkZhaWxlZCB0byB3YWl0IGZvciB2aWRl byBpbnB1dCB0byBiZWNvbWUgc3RhYmxlICIKKwkJICAgICAiYWZ0ZXIgaG90cGx1Z1xuIik7CisK KwlpZ3RfZmx1c2hfaG90cGx1Z3MobW9uKTsKKworCS8qIFVucGx1ZyBhbmQgcmUtcGx1ZyB0aGUg Y29ubmVjdG9yIHdpdGhvdXQgZGlzYWJsaW5nIHRoZSBvdXRwdXQuICovCisJY2hhbWVsaXVtX3Vu cGx1ZyhkYXRhLT5jaGFtZWxpdW0sIHBvcnQpOworCWlndF9hc3NlcnRfZihpZ3RfaG90cGx1Z19k ZXRlY3RlZChtb24sIEhPVFBMVUdfVElNRU9VVCksCisJCSAgICAgIkV4cGVjdGVkIGhvdHBsdWcg ZXZlbnQgYWZ0ZXIgdW5wbHVnXG4iKTsKKwlpZ3RfYXNzZXJ0X2VxKHJlcHJvYmVfY29ubmVjdG9y KGRhdGEsIHBvcnQpLCBEUk1fTU9ERV9ESVNDT05ORUNURUQpOworCisJaWd0X2ZsdXNoX2hvdHBs dWdzKG1vbik7CisKKwljaGFtZWxpdW1fcGx1ZyhkYXRhLT5jaGFtZWxpdW0sIHBvcnQpOworCWln dF9hc3NlcnRfZihpZ3RfaG90cGx1Z19kZXRlY3RlZChtb24sIEhPVFBMVUdfVElNRU9VVCksCisJ CSAgICAgIkV4cGVjdGVkIGhvdHBsdWcgZXZlbnQgYWZ0ZXIgdW5wbHVnLXJlcGx1ZyBzZXF1ZW5j ZVxuIik7CisJaWd0X2Fzc2VydF9lcShyZXByb2JlX2Nvbm5lY3RvcihkYXRhLCBwb3J0KSwgRFJN X01PREVfQ09OTkVDVEVEKTsKKworCW9rID0gY2hhbWVsaXVtX3BvcnRfd2FpdF92aWRlb19pbnB1 dF9zdGFibGUoZGF0YS0+Y2hhbWVsaXVtLCBwb3J0LAorCQkJCQkJICAgIFdBSVRfVklERU9fSU5Q VVRfU1RBQkxFX1RJTUVPVVQpOworCWlndF9hc3NlcnRfZihvaywgIkZhaWxlZCB0byB3YWl0IGZv ciB2aWRlbyBpbnB1dCB0byBiZWNvbWUgc3RhYmxlICIKKwkJICAgICAiYWZ0ZXIgdW5wbHVnIGFu ZCByZS1wbHVnXG4iKTsKKworCWlndF9jbGVhbnVwX2hvdHBsdWcobW9uKTsKK30KKwogCiAvKiBQ bGF5YmFjayBwYXJhbWV0ZXJzIGNvbnRyb2wgdGhlIGF1ZGlvIHNpZ25hbCB3ZSBzeW50aGVzaXpl IGFuZCBzZW5kICovCiAjZGVmaW5lIFBMQVlCQUNLX0NIQU5ORUxTIDIKQEAgLTI1OTMsNiArMjc2 Miw5IEBAIGlndF9tYWluCiAJCQl0ZXN0X2Jhc2ljX2hvdHBsdWcoJmRhdGEsIHBvcnQsCiAJCQkJ CSAgIEhQRF9UT0dHTEVfQ09VTlRfRkFTVCk7CiAKKwkJY29ubmVjdG9yX3N1YnRlc3QoImRwLWhw ZC1hY3RpdmUiLCBEaXNwbGF5UG9ydCkKKwkJCXRlc3RfaG90cGx1Z193aGlsZV9hY3RpdmUoJmRh dGEsIHBvcnQpOworCiAJCWNvbm5lY3Rvcl9zdWJ0ZXN0KCJkcC1lZGlkLXJlYWQiLCBEaXNwbGF5 UG9ydCkgewogCQkJdGVzdF9lZGlkX3JlYWQoJmRhdGEsIHBvcnQsIFRFU1RfRURJRF9CQVNFKTsK IAkJCXRlc3RfZWRpZF9yZWFkKCZkYXRhLCBwb3J0LCBURVNUX0VESURfQUxUKTsKQEAgLTI2NzQs NiArMjg0Niw5IEBAIGlndF9tYWluCiAJCQl0ZXN0X2Jhc2ljX2hvdHBsdWcoJmRhdGEsIHBvcnQs CiAJCQkJCSAgIEhQRF9UT0dHTEVfQ09VTlRfRkFTVCk7CiAKKwkJY29ubmVjdG9yX3N1YnRlc3Qo ImhkbWktaHBkLWFjdGl2ZSIsIEhETUlBKQorCQkJdGVzdF9ob3RwbHVnX3doaWxlX2FjdGl2ZSgm ZGF0YSwgcG9ydCk7CisKIAkJY29ubmVjdG9yX3N1YnRlc3QoImhkbWktZWRpZC1yZWFkIiwgSERN SUEpIHsKIAkJCXRlc3RfZWRpZF9yZWFkKCZkYXRhLCBwb3J0LCBURVNUX0VESURfQkFTRSk7CiAJ CQl0ZXN0X2VkaWRfcmVhZCgmZGF0YSwgcG9ydCwgVEVTVF9FRElEX0FMVCk7CkBAIC0yODMzLDYg KzMwMDgsMTAgQEAgaWd0X21haW4KIAkJY29ubmVjdG9yX3N1YnRlc3QoInZnYS1ocGQtZmFzdCIs IFZHQSkKIAkJCXRlc3RfYmFzaWNfaG90cGx1ZygmZGF0YSwgcG9ydCwgSFBEX1RPR0dMRV9DT1VO VF9GQVNUKTsKIAorCQljb25uZWN0b3Jfc3VidGVzdCgidmdhLWhwZC1hY3RpdmUiLCBWR0EpCisJ CQl0ZXN0X2hvdHBsdWdfd2hpbGVfYWN0aXZlKCZkYXRhLCBwb3J0KTsKKworCiAJCWNvbm5lY3Rv cl9zdWJ0ZXN0KCJ2Z2EtZWRpZC1yZWFkIiwgVkdBKSB7CiAJCQl0ZXN0X2VkaWRfcmVhZCgmZGF0 YSwgcG9ydCwgVEVTVF9FRElEX0JBU0UpOwogCQkJdGVzdF9lZGlkX3JlYWQoJmRhdGEsIHBvcnQs IFRFU1RfRURJRF9BTFQpOwotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXY=