From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id B017A6E422 for ; Tue, 23 Jun 2020 13:39:01 +0000 (UTC) From: Ankit Nautiyal Date: Tue, 23 Jun 2020 19:04:14 +0530 Message-Id: <20200623133416.4275-2-ankit.k.nautiyal@intel.com> In-Reply-To: <20200623133416.4275-1-ankit.k.nautiyal@intel.com> References: <20200623133416.4275-1-ankit.k.nautiyal@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [Patch][i-g-t v3 1/3] lib/igt_kms: Add support for detecting connector events 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: Q3VycmVudGx5LCB0aGUgZXZlbnRfZGV0ZWN0IGZ1bmN0aW9uIGNoZWNrcyB0aGUgcHJvcGVydHkg dmFsIGZvcgoiSE9UUExVRyIgYW5kICJMRUFTRSIgYm90aCBvZiB3aGljaCBhcmUgc2V0IHRvICcx JyB3aGVuIHRoZXNlIGV2ZW50cwphcmUgc2VudC4KClRoaXMgY2Fubm90IGJlIHVzZWQgZm9yIGRl dGVjdGluZyBjb25uZWN0b3IgZXZlbnRzIHN1Y2ggYXMgSERDUCBldmVudAphcyBjb25uZWN0b3Ig ZXZlbnRzIGFyZSBzZW50IGFsb25nIHdpdGggcHJvcGVydHkgdG8gc2lnbmlmeSB3aGljaApwcm9w ZXJ0eSBvZiB3aGljaCBjb25uZWN0b3IgaGFzIGNoYW5nZWQuIENvbm5lY3RvciBJRCBhbmQgcHJv cGVydHkgaWQKYXJlIHByb3ZpZGVkIGFsb25nIHdpdGggIkNPTk5FQ1RPUiIgYW5kICJQUk9QRVJU WSIgYXMgdWRldgpwcm9wZXJ0eS12YWx1ZSBwYWlycy4gRWcuIGZvciBIRENQLCB0aGUgY29ubmVj dG9yIGlkIG9mIHRoZSBjb25uZWN0b3IKd2hvc2UgaGRjcCBzdGF0dXMgY2hhbmdlZCwgYW5kIHRo ZSBwcm9wZXJ0eSBpZCBvZiB0aGUK4oCYQ09OVEVOVF9QUk9URUNUSU9O4oCZIHByb3BlcnR5IGFy ZSBzZW50IHdpdGggdWV2ZW50LgoKVGhpcyBwYXRjaCBtb2RpZmllcyB0aGUgZXZlbnRfZGV0ZWN0 IGZ1bmN0aW9uIHRvIGNoZWNrIG11bHRpcGxlCnByb3BlcnRpZXMgd2l0aCBkaWZmZXJlbnQgZXhw ZWN0ZWQgdmFsdWVzLiBJdCBhbHNvIGFkZHMgc3VwcG9ydCB0bwpkZXRlY3QgY29ubmVjdG9yIGV2 ZW50IGZvciBhIGdpdmVuIHBhaXIgb2YgY29ubmVjdG9yIGFuZCBwcm9wZXJ0eSBpZHMuCgp2Mjog U2ltcGxpZmllZCB0aGUgZXZlbnRfZGV0ZWN0IGNvbmRpdGlvbmFsIHN0YXRlbWVudHMuIChSYW0p CiAgICBDaGFuZ2VkIHRoZSBhcGkgbmFtZSBmb3IgZGV0ZWN0aW5nIGNvbm5uZWN0b3IgZXZlbnRz LiAoQW5zaHVtYW4pCiAgICBBZGRlZCBjaGVjayBmb3IgIkhPVFBMVUciIHByb3BlcnR5IHZhbHVl IGZvciBjb25uZWN0b3IgZXZlbnRzLgp2MzogVXNlZCBBUlJBWV9TSVpFKCkgaW5zdGVhZCBvZiBj b25zdGFudHMuIChSYW0pCgpTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXV0aXlhbCA8YW5raXQuay5u YXV0aXlhbEBpbnRlbC5jb20+Ci0tLQogbGliL2lndF9rbXMuYyB8IDcxICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogbGliL2lndF9rbXMuaCB8ICAy ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0X2ttcy5jCmluZGV4IGFmZWY1OTM5 Li4xYWY3NGQwOCAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuYworKysgYi9saWIvaWd0X2ttcy5j CkBAIC00MTk0LDMzICs0MTk0LDYwIEBAIHN0cnVjdCB1ZGV2X21vbml0b3IgKmlndF93YXRjaF9o b3RwbHVnKHZvaWQpCiAJcmV0dXJuIG1vbjsKIH0KIAotc3RhdGljIGJvb2wgZXZlbnRfZGV0ZWN0 ZWQoc3RydWN0IHVkZXZfbW9uaXRvciAqbW9uLCBpbnQgdGltZW91dF9zZWNzLAotCQkJICAgY29u c3QgY2hhciAqcHJvcGVydHkpCitzdGF0aWMKK2Jvb2wgZXZlbnRfZGV0ZWN0ZWQoc3RydWN0IHVk ZXZfbW9uaXRvciAqbW9uLCBpbnQgdGltZW91dF9zZWNzLAorCQkgICAgY29uc3QgY2hhciAqKnBy b3BlcnR5LCBpbnQgKmV4cGVjdGVkX3ZhbCwgaW50IG51bV9wcm9wcykKIHsKIAlzdHJ1Y3QgdWRl dl9kZXZpY2UgKmRldjsKLQljb25zdCBjaGFyICpob3RwbHVnX3ZhbDsKKwljb25zdCBjaGFyICpw cm9wX3ZhbDsKIAlzdHJ1Y3QgcG9sbGZkIGZkID0gewogCQkuZmQgPSB1ZGV2X21vbml0b3JfZ2V0 X2ZkKG1vbiksCiAJCS5ldmVudHMgPSBQT0xMSU4KIAl9OwotCWJvb2wgaG90cGx1Z19yZWNlaXZl ZCA9IGZhbHNlOworCWJvb2wgZXZlbnRfcmVjZWl2ZWQgPSBmYWxzZTsKKwlpbnQgaTsKIAotCS8q IEdvIHRocm91Z2ggYWxsIG9mIHRoZSBldmVudHMgcGVuZGluZyBvbiB0aGUgdWRldiBtb25pdG9y LiBPbmNlIHdlCi0JICogcmVjZWl2ZSBhIGhvdHBsdWcsIHdlIGNvbnRpbnVlIGdvaW5nIHRocm91 Z2ggdGhlIHJlc3Qgb2YgdGhlIGV2ZW50cwotCSAqIHNvIHRoYXQgcmVkdW5kYW50IGhvdHBsdWcg ZXZlbnRzIGRvbid0IGNoYW5nZSB0aGUgcmVzdWx0cyBvZiBmdXR1cmUKLQkgKiBjaGVja3MKKwkv KiBHbyB0aHJvdWdoIGFsbCBvZiB0aGUgZXZlbnRzIHBlbmRpbmcgb24gdGhlIHVkZXYgbW9uaXRv ci4KKwkgKiBNYXRjaCB0aGUgZ2l2ZW4gc2V0IG9mIHByb3BlcnRpZXMgYW5kIHRoZWlyIHZhbHVl cyB0bworCSAqIHRoZSBleHBlY3RlZCB2YWx1ZXMuCiAJICovCi0Jd2hpbGUgKCFob3RwbHVnX3Jl Y2VpdmVkICYmIHBvbGwoJmZkLCAxLCB0aW1lb3V0X3NlY3MgKiAxMDAwKSkgeworCXdoaWxlICgh ZXZlbnRfcmVjZWl2ZWQgJiYgcG9sbCgmZmQsIDEsIHRpbWVvdXRfc2VjcyAqIDEwMDApKSB7CiAJ CWRldiA9IHVkZXZfbW9uaXRvcl9yZWNlaXZlX2RldmljZShtb24pOwotCi0JCWhvdHBsdWdfdmFs ID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgcHJvcGVydHkpOwotCQlpZiAo aG90cGx1Z192YWwgJiYgYXRvaShob3RwbHVnX3ZhbCkgPT0gMSkKLQkJCWhvdHBsdWdfcmVjZWl2 ZWQgPSB0cnVlOworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3Byb3BzOyBpKyspIHsKKwkJCXByb3Bf dmFsID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwKKwkJCQkJCQkJICBwcm9w ZXJ0eVtpXSk7CisJCQlpZiAoIXByb3BfdmFsIHx8IGF0b2kocHJvcF92YWwpICE9IGV4cGVjdGVk X3ZhbFtpXSkKKwkJCQlicmVhazsKKwkJfQorCQlpZiAoaSA9PSBudW1fcHJvcHMpCisJCQlldmVu dF9yZWNlaXZlZCA9IHRydWU7CiAKIAkJdWRldl9kZXZpY2VfdW5yZWYoZGV2KTsKIAl9CiAKLQly ZXR1cm4gaG90cGx1Z19yZWNlaXZlZDsKKwlyZXR1cm4gZXZlbnRfcmVjZWl2ZWQ7Cit9CisKKy8q KgorICogaWd0X2Nvbm5lY3Rvcl9ldmVudF9kZXRlY3RlZDoKKyAqIEBtb246IEEgdWRldiBtb25p dG9yIGluaXRpYWxpemVkIHdpdGggI2lndF93YXRjaF9ob3RwbHVnCisgKiBAY29ubl9pZDogQ29u bmVjdG9yIGlkIG9mIHRoZSBDb25uZWN0b3IgZm9yIHdoaWNoIHRoZSBwcm9wZXJ0eSBjaGFuZ2Ug aXMKKyAqIGV4cGVjdGVkLgorICogQHByb3BfaWQ6IFByb3BlcnR5IGlkIGZvciB3aGljaCB0aGUg Y2hhbmdlIGlzIGV4cGVjdGVkLgorICogQHRpbWVvdXRfc2VjczogSG93IGxvbmcgdG8gd2FpdCBm b3IgYSBjb25uZWN0b3IgZXZlbnQgdG8gb2NjdXIuCisgKgorICogRGV0ZWN0IGlmIGEgY29ubmVj dG9yIGV2ZW50IGlzIHJlY2VpdmVkIGZvciBhIGdpdmVuIGNvbm5lY3RvciBhbmQgcHJvcGVydHku CisgKgorICogUmV0dXJuczogdHJ1ZSBpZiB0aGUgY29ubmVjdG9yIGV2ZW50IHdhcyByZWNlaXZl ZCwgZmFsc2UgaWYgd2UgdGltZWQgb3V0CisgKi8KK2Jvb2wgaWd0X2Nvbm5lY3Rvcl9ldmVudF9k ZXRlY3RlZChzdHJ1Y3QgdWRldl9tb25pdG9yICptb24sIHVpbnQzMl90IGNvbm5faWQsCisJCQkJ ICB1aW50MzJfdCBwcm9wX2lkLCBpbnQgdGltZW91dF9zZWNzKQoreworCWNvbnN0IGNoYXIgKnBy b3BzWzNdID0geyJIT1RQTFVHIiwgIkNPTk5FQ1RPUiIsICJQUk9QRVJUWSJ9OworCWludCBleHBl Y3RlZF92YWxbM10gPSB7MSwgY29ubl9pZCwgcHJvcF9pZH07CisKKwlyZXR1cm4gZXZlbnRfZGV0 ZWN0ZWQobW9uLCB0aW1lb3V0X3NlY3MsIHByb3BzLCBleHBlY3RlZF92YWwsCisJCQkgICAgICBB UlJBWV9TSVpFKHByb3BzKSk7CiB9CiAKIC8qKgpAQCAtNDIyOCwxMyArNDI1NSwxNyBAQCBzdGF0 aWMgYm9vbCBldmVudF9kZXRlY3RlZChzdHJ1Y3QgdWRldl9tb25pdG9yICptb24sIGludCB0aW1l b3V0X3NlY3MsCiAgKiBAbW9uOiBBIHVkZXYgbW9uaXRvciBpbml0aWFsaXplZCB3aXRoICNpZ3Rf d2F0Y2hfaG90cGx1ZwogICogQHRpbWVvdXRfc2VjczogSG93IGxvbmcgdG8gd2FpdCBmb3IgYSBo b3RwbHVnIGV2ZW50IHRvIG9jY3VyLgogICoKLSAqIEFzc2VydCB0aGF0IGEgaG90cGx1ZyBldmVu dCB3YXMgcmVjZWl2ZWQgc2luY2Ugd2UgbGFzdCBjaGVja2VkIHRoZSBtb25pdG9yLgorICogRGV0 ZWN0IGlmIGEgaG90cGx1ZyBldmVudCB3YXMgcmVjZWl2ZWQgc2luY2Ugd2UgbGFzdCBjaGVja2Vk IHRoZSBtb25pdG9yLgogICoKICAqIFJldHVybnM6IHRydWUgaWYgYSBzeXNmcyBob3RwbHVnIGV2 ZW50IHdhcyByZWNlaXZlZCwgZmFsc2UgaWYgd2UgdGltZWQgb3V0CiAgKi8KIGJvb2wgaWd0X2hv dHBsdWdfZGV0ZWN0ZWQoc3RydWN0IHVkZXZfbW9uaXRvciAqbW9uLCBpbnQgdGltZW91dF9zZWNz KQogewotCXJldHVybiBldmVudF9kZXRlY3RlZChtb24sIHRpbWVvdXRfc2VjcywgIkhPVFBMVUci KTsKKwljb25zdCBjaGFyICpwcm9wc1sxXSA9IHsiSE9UUExVRyJ9OworCWludCBleHBlY3RlZF92 YWwgPSAxOworCisJcmV0dXJuIGV2ZW50X2RldGVjdGVkKG1vbiwgdGltZW91dF9zZWNzLCBwcm9w cywgJmV4cGVjdGVkX3ZhbCwKKwkJCSAgICAgIEFSUkFZX1NJWkUocHJvcHMpKTsKIH0KIAogLyoq CkBAIC00MjQyLDEzICs0MjczLDE3IEBAIGJvb2wgaWd0X2hvdHBsdWdfZGV0ZWN0ZWQoc3RydWN0 IHVkZXZfbW9uaXRvciAqbW9uLCBpbnQgdGltZW91dF9zZWNzKQogICogQG1vbjogQSB1ZGV2IG1v bml0b3IgaW5pdGlhbGl6ZWQgd2l0aCAjaWd0X3dhdGNoX2hvdHBsdWcKICAqIEB0aW1lb3V0X3Nl Y3M6IEhvdyBsb25nIHRvIHdhaXQgZm9yIGEgbGVhc2UgY2hhbmdlIGV2ZW50IHRvIG9jY3VyLgog ICoKLSAqIEFzc2VydCB0aGF0IGEgbGVhc2UgY2hhbmdlIGV2ZW50IHdhcyByZWNlaXZlZCBzaW5j ZSB3ZSBsYXN0IGNoZWNrZWQgdGhlIG1vbml0b3IuCisgKiBEZXRlY3QgaWYgYSBsZWFzZSBjaGFu Z2UgZXZlbnQgd2FzIHJlY2VpdmVkIHNpbmNlIHdlIGxhc3QgY2hlY2tlZCB0aGUgbW9uaXRvci4K ICAqCiAgKiBSZXR1cm5zOiB0cnVlIGlmIGEgc3lzZnMgbGVhc2UgY2hhbmdlIGV2ZW50IHdhcyBy ZWNlaXZlZCwgZmFsc2UgaWYgd2UgdGltZWQgb3V0CiAgKi8KIGJvb2wgaWd0X2xlYXNlX2NoYW5n ZV9kZXRlY3RlZChzdHJ1Y3QgdWRldl9tb25pdG9yICptb24sIGludCB0aW1lb3V0X3NlY3MpCiB7 Ci0JcmV0dXJuIGV2ZW50X2RldGVjdGVkKG1vbiwgdGltZW91dF9zZWNzLCAiTEVBU0UiKTsKKwlj b25zdCBjaGFyICpwcm9wc1sxXSA9IHsiTEVBU0UifTsKKwlpbnQgZXhwZWN0ZWRfdmFsID0gMTsK KworCXJldHVybiBldmVudF9kZXRlY3RlZChtb24sIHRpbWVvdXRfc2VjcywgcHJvcHMsICZleHBl Y3RlZF92YWwsCisJCQkgICAgICBBUlJBWV9TSVpFKHByb3BzKSk7CiB9CiAKIC8qKgpkaWZmIC0t Z2l0IGEvbGliL2lndF9rbXMuaCBiL2xpYi9pZ3Rfa21zLmgKaW5kZXggMzJhMGU0Y2MuLjUzOWY2 YzVhIDEwMDY0NAotLS0gYS9saWIvaWd0X2ttcy5oCisrKyBiL2xpYi9pZ3Rfa21zLmgKQEAgLTc3 OSw2ICs3NzksOCBAQCBib29sIGlndF9ob3RwbHVnX2RldGVjdGVkKHN0cnVjdCB1ZGV2X21vbml0 b3IgKm1vbiwKIAkJCSAgaW50IHRpbWVvdXRfc2Vjcyk7CiBib29sIGlndF9sZWFzZV9jaGFuZ2Vf ZGV0ZWN0ZWQoc3RydWN0IHVkZXZfbW9uaXRvciAqbW9uLAogCQkJICAgICAgIGludCB0aW1lb3V0 X3NlY3MpOworYm9vbCBpZ3RfY29ubmVjdG9yX2V2ZW50X2RldGVjdGVkKHN0cnVjdCB1ZGV2X21v bml0b3IgKm1vbiwgdWludDMyX3QgY29ubl9pZCwKKwkJCQkgIHVpbnQzMl90IHByb3BfaWQsIGlu dCB0aW1lb3V0X21zZWNzKTsKIHZvaWQgaWd0X2ZsdXNoX2hvdHBsdWdzKHN0cnVjdCB1ZGV2X21v bml0b3IgKm1vbik7CiB2b2lkIGlndF9jbGVhbnVwX2hvdHBsdWcoc3RydWN0IHVkZXZfbW9uaXRv ciAqbW9uKTsKIAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXYK