From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH xf86-video-amdgpu 3/3] modesetting: Update property values at detect and uevent time Date: Thu, 22 Feb 2018 18:52:53 +0100 Message-ID: <20180222175253.13842-3-michel@daenzer.net> References: <20180222175253.13842-1-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180222175253.13842-1-michel-otUistvHUpPR7s880joybQ@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogS2VpdGggUGFja2FyZCA8a2VpdGhwQGtlaXRocC5jb20+CgpXZSB3ZXJlIHVwZGF0aW5n IHRoZSBsaW5rLXN0YXR1cyBwcm9wZXJ0eSB3aGVuIGEgdWV2ZW50IGNhbWUgaW4sIGJ1dAp3ZSBh bHNvIHdhbnQgdG8gdXBkYXRlIHRoZSBub24tZGVza3RvcCBwcm9wZXJ0eSwgYW5kIHBvdGVudGlh bGx5Cm90aGVycyBhcyB3ZWxsLiBXZSBhbHNvIHdhbnQgdG8gY2hlY2sgYXQgZGV0ZWN0IHRpbWUg aW4gY2FzZSB3ZSBkb24ndApnZXQgYSBob3RwbHVnIGV2ZW50LgoKVGhpcyBwYXRjaCB1cGRhdGVz IGV2ZXJ5IHByb3BlcnR5IHByb3ZpZGVkIGJ5IHRoZSBrZXJuZWwsIHNlbmRpbmcKY2hhbmdlcyB0 byBESVggc28gaXQgY2FuIHRyYWNrIHRoaW5ncyBhcyB3ZWxsLgoKU2lnbmVkLW9mZi1ieTogS2Vp dGggUGFja2FyZCA8a2VpdGhwQGtlaXRocC5jb20+CgooUG9ydGVkIGZyb20geHNlcnZlciBjb21t aXQgYTEyNDg1ZWQ4NDZiODUyY2ExNGQxN2QxZTU4YzhiMGYyMzk5ZTU3NywKIHNsaWdodGx5IG1v ZGlmeWluZyBsb2dpYyB0byByZWR1Y2UgaW5kZW50YXRpb24gZGVwdGgpCgpTaWduZWQtb2ZmLWJ5 OiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KLS0tCiBzcmMvZHJtbW9k ZV9kaXNwbGF5LmMgfCAxMDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMgYi9zcmMvZHJtbW9kZV9k aXNwbGF5LmMKaW5kZXggYTkwZmRiNjQyLi43NDZlNTJhYTcgMTAwNjQ0Ci0tLSBhL3NyYy9kcm1t b2RlX2Rpc3BsYXkuYworKysgYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKQEAgLTEzNjgsNiArMTM2 OCw3MiBAQCBkcm1tb2RlX2NydGNfaW5pdChTY3JuSW5mb1B0ciBwU2NybiwgZHJtbW9kZV9wdHIg ZHJtbW9kZSwgZHJtTW9kZVJlc1B0ciBtb2RlX3JlcwogCXJldHVybiAxOwogfQogCisvKgorICog VXBkYXRlIGFsbCBvZiB0aGUgcHJvcGVydHkgdmFsdWVzIGZvciBhbiBvdXRwdXQKKyAqLworc3Rh dGljIHZvaWQKK2RybW1vZGVfb3V0cHV0X3VwZGF0ZV9wcm9wZXJ0aWVzKHhmODZPdXRwdXRQdHIg b3V0cHV0KQoreworCWRybW1vZGVfb3V0cHV0X3ByaXZhdGVfcHRyIGRybW1vZGVfb3V0cHV0ID0g b3V0cHV0LT5kcml2ZXJfcHJpdmF0ZTsKKwlpbnQgaSwgaiwgazsKKwlpbnQgZXJyOworCWRybU1v ZGVDb25uZWN0b3JQdHIga291dHB1dDsKKworCS8qIFVzZSB0aGUgbW9zdCByZWNlbnRseSBmZXRj aGVkIHZhbHVlcyBmcm9tIHRoZSBrZXJuZWwgKi8KKwlrb3V0cHV0ID0gZHJtbW9kZV9vdXRwdXQt Pm1vZGVfb3V0cHV0OworCisJaWYgKCFrb3V0cHV0KQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAw OyBpIDwgZHJtbW9kZV9vdXRwdXQtPm51bV9wcm9wczsgaSsrKSB7CisJCWRybW1vZGVfcHJvcF9w dHIgcCA9ICZkcm1tb2RlX291dHB1dC0+cHJvcHNbaV07CisKKwkJZm9yIChqID0gMDsgaiA8IGtv dXRwdXQtPmNvdW50X3Byb3BzOyBqKyspIHsKKwkJCWlmIChrb3V0cHV0LT5wcm9wc1tqXSAhPSBw LT5tb2RlX3Byb3AtPnByb3BfaWQpCisJCQkJY29udGludWU7CisKKwkJCS8qIENoZWNrIHRvIHNl ZSBpZiB0aGUgcHJvcGVydHkgdmFsdWUgaGFzIGNoYW5nZWQgKi8KKwkJCWlmIChrb3V0cHV0LT5w cm9wX3ZhbHVlc1tqXSA9PSBwLT52YWx1ZSkKKwkJCQlicmVhazsKKworCQkJcC0+dmFsdWUgPSBr b3V0cHV0LT5wcm9wX3ZhbHVlc1tqXTsKKworCQkJaWYgKHAtPm1vZGVfcHJvcC0+ZmxhZ3MgJiBE Uk1fTU9ERV9QUk9QX1JBTkdFKSB7CisJCQkJSU5UMzIgdmFsdWUgPSBwLT52YWx1ZTsKKworCQkJ CWVyciA9IFJSQ2hhbmdlT3V0cHV0UHJvcGVydHkob3V0cHV0LT5yYW5kcl9vdXRwdXQsCisJCQkJ CQkJICAgICBwLT5hdG9tc1swXSwgWEFfSU5URUdFUiwKKwkJCQkJCQkgICAgIDMyLCBQcm9wTW9k ZVJlcGxhY2UsIDEsCisJCQkJCQkJICAgICAmdmFsdWUsIEZBTFNFLCBUUlVFKTsKKwkJCQlpZiAo ZXJyICE9IDApIHsKKwkJCQkJeGY4NkRydk1zZyhvdXRwdXQtPnNjcm4tPnNjcm5JbmRleCwgWF9F UlJPUiwKKwkJCQkJCSAgICJSUkNoYW5nZU91dHB1dFByb3BlcnR5IGVycm9yLCAlZFxuIiwKKwkJ CQkJCSAgIGVycik7CisJCQkJfQorCQkJfSBlbHNlIGlmIChwLT5tb2RlX3Byb3AtPmZsYWdzICYg RFJNX01PREVfUFJPUF9FTlVNKSB7CisJCQkJZm9yIChrID0gMDsgayA8IHAtPm1vZGVfcHJvcC0+ Y291bnRfZW51bXM7IGsrKykgeworCQkJCQlpZiAocC0+bW9kZV9wcm9wLT5lbnVtc1trXS52YWx1 ZSA9PSBwLT52YWx1ZSkKKwkJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlpZiAoayA8IHAtPm1vZGVf cHJvcC0+Y291bnRfZW51bXMpIHsKKwkJCQkJZXJyID0gUlJDaGFuZ2VPdXRwdXRQcm9wZXJ0eShv dXRwdXQtPnJhbmRyX291dHB1dCwKKwkJCQkJCQkJICAgICBwLT5hdG9tc1swXSwgWEFfQVRPTSwK KwkJCQkJCQkJICAgICAzMiwgUHJvcE1vZGVSZXBsYWNlLCAxLAorCQkJCQkJCQkgICAgICZwLT5h dG9tc1trICsgMV0sIEZBTFNFLAorCQkJCQkJCQkgICAgIFRSVUUpOworCQkJCQlpZiAoZXJyICE9 IDApIHsKKwkJCQkJCXhmODZEcnZNc2cob3V0cHV0LT5zY3JuLT5zY3JuSW5kZXgsIFhfRVJST1Is CisJCQkJCQkJICAgIlJSQ2hhbmdlT3V0cHV0UHJvcGVydHkgZXJyb3IsICVkXG4iLAorCQkJCQkJ CSAgIGVycik7CisJCQkJCX0KKwkJCQl9CisJCQl9CisKKwkJCWJyZWFrOworCQl9CisgICAgICAg IH0KK30KKwogc3RhdGljIHhmODZPdXRwdXRTdGF0dXMgZHJtbW9kZV9vdXRwdXRfZGV0ZWN0KHhm ODZPdXRwdXRQdHIgb3V0cHV0KQogewogCS8qIGdvIHRvIHRoZSBodyBhbmQgcmV0cmlldmUgYSBu ZXcgb3V0cHV0IHN0cnVjdCAqLwpAQCAtMTM4Myw2ICsxNDQ5LDggQEAgc3RhdGljIHhmODZPdXRw dXRTdGF0dXMgZHJtbW9kZV9vdXRwdXRfZGV0ZWN0KHhmODZPdXRwdXRQdHIgb3V0cHV0KQogCQly ZXR1cm4gWEY4Nk91dHB1dFN0YXR1c0Rpc2Nvbm5lY3RlZDsKIAl9CiAKKwlkcm1tb2RlX291dHB1 dF91cGRhdGVfcHJvcGVydGllcyhvdXRwdXQpOworCiAJc3dpdGNoIChkcm1tb2RlX291dHB1dC0+ bW9kZV9vdXRwdXQtPmNvbm5lY3Rpb24pIHsKIAljYXNlIERSTV9NT0RFX0NPTk5FQ1RFRDoKIAkJ c3RhdHVzID0gWEY4Nk91dHB1dFN0YXR1c0Nvbm5lY3RlZDsKQEAgLTI3MDcsMzUgKzI3NzUsMzUg QEAgYW1kZ3B1X21vZGVfaG90cGx1ZyhTY3JuSW5mb1B0ciBzY3JuLCBkcm1tb2RlX3B0ciBkcm1t b2RlKQogCQl4Zjg2T3V0cHV0UHRyIG91dHB1dCA9IGNvbmZpZy0+b3V0cHV0W2ldOwogCQl4Zjg2 Q3J0Y1B0ciBjcnRjID0gb3V0cHV0LT5jcnRjOwogCQlkcm1tb2RlX291dHB1dF9wcml2YXRlX3B0 ciBkcm1tb2RlX291dHB1dCA9IG91dHB1dC0+ZHJpdmVyX3ByaXZhdGU7Ci0JCXVpbnQzMl90IGNv bl9pZCwgaWR4OwotCQlkcm1Nb2RlQ29ubmVjdG9yUHRyIGtvdXRwdXQ7CisKKwkJZHJtbW9kZV9v dXRwdXRfZGV0ZWN0KG91dHB1dCk7CiAKIAkJaWYgKCFjcnRjIHx8ICFkcm1tb2RlX291dHB1dC0+ bW9kZV9vdXRwdXQpCiAJCQljb250aW51ZTsKIAotCQljb25faWQgPSBkcm1tb2RlX291dHB1dC0+ bW9kZV9vdXRwdXQtPmNvbm5lY3Rvcl9pZDsKIAkJLyogR2V0IGFuIHVwZGF0ZWQgdmlldyBvZiB0 aGUgcHJvcGVydGllcyBmb3IgdGhlIGN1cnJlbnQgY29ubmVjdG9yIGFuZAogCQkgKiBsb29rIGZv ciB0aGUgbGluay1zdGF0dXMgcHJvcGVydHkKIAkJICovCi0JCWtvdXRwdXQgPSBkcm1Nb2RlR2V0 Q29ubmVjdG9yQ3VycmVudChwQU1ER1BVRW50LT5mZCwgY29uX2lkKTsKLQkJaWYgKCFrb3V0cHV0 KQotCQkJY29udGludWU7CisJCWZvciAoaiA9IDA7IGogPCBkcm1tb2RlX291dHB1dC0+bnVtX3By b3BzOyBqKyspIHsKKwkJCWRybW1vZGVfcHJvcF9wdHIgcCA9ICZkcm1tb2RlX291dHB1dC0+cHJv cHNbal07CiAKLQkJaWR4ID0ga291dHB1dF9nZXRfcHJvcF9pZHgocEFNREdQVUVudC0+ZmQsIGtv dXRwdXQsCi0JCQkJCSAgIERSTV9NT0RFX1BST1BfRU5VTSwgImxpbmstc3RhdHVzIik7CisJCQlp ZiAoIXN0cmNtcChwLT5tb2RlX3Byb3AtPm5hbWUsICJsaW5rLXN0YXR1cyIpKSB7CisJCQkJaWYg KHAtPnZhbHVlICE9IERSTV9NT0RFX0xJTktfU1RBVFVTX0JBRCkKKwkJCQkJYnJlYWs7CiAKLQkJ aWYgKChpZHggPiAtMSkgJiYKLQkJICAgIChrb3V0cHV0LT5wcm9wX3ZhbHVlc1tpZHhdID09IERS TV9NT0RFX0xJTktfU1RBVFVTX0JBRCkpIHsKLQkJCS8qIHRoZSBjb25uZWN0b3IgZ290IGEgbGlu ayBmYWlsdXJlLCByZS1zZXQgdGhlIGN1cnJlbnQgbW9kZSAqLwotCQkJZHJtbW9kZV9zZXRfbW9k ZV9tYWpvcihjcnRjLCAmY3J0Yy0+bW9kZSwgY3J0Yy0+cm90YXRpb24sCi0JCQkJCSAgICAgICBj cnRjLT54LCBjcnRjLT55KTsKKwkJCQkvKiB0aGUgY29ubmVjdG9yIGdvdCBhIGxpbmsgZmFpbHVy ZSwgcmUtc2V0IHRoZSBjdXJyZW50IG1vZGUgKi8KKwkJCQlkcm1tb2RlX3NldF9tb2RlX21ham9y KGNydGMsICZjcnRjLT5tb2RlLCBjcnRjLT5yb3RhdGlvbiwKKwkJCQkJCSAgICAgICBjcnRjLT54 LCBjcnRjLT55KTsKIAotCQkJeGY4NkRydk1zZyhzY3JuLT5zY3JuSW5kZXgsIFhfV0FSTklORywK LQkJCQkgICAiaG90cGx1ZyBldmVudDogY29ubmVjdG9yICV1J3MgbGluay1zdGF0ZSBpcyBCQUQs ICIKLQkJCQkgICAidHJpZWQgcmVzZXR0aW5nIHRoZSBjdXJyZW50IG1vZGUuIFlvdSBtYXkgYmUg bGVmdCIKLQkJCQkgICAid2l0aCBhIGJsYWNrIHNjcmVlbiBpZiB0aGlzIGZhaWxzLi4uXG4iLCBj b25faWQpOworCQkJCXhmODZEcnZNc2coc2Nybi0+c2NybkluZGV4LCBYX1dBUk5JTkcsCisJCQkJ CSAgICJob3RwbHVnIGV2ZW50OiBjb25uZWN0b3IgJXUncyBsaW5rLXN0YXRlIGlzIEJBRCwgIgor CQkJCQkgICAidHJpZWQgcmVzZXR0aW5nIHRoZSBjdXJyZW50IG1vZGUuIFlvdSBtYXkgYmUgbGVm dCIKKwkJCQkJICAgIndpdGggYSBibGFjayBzY3JlZW4gaWYgdGhpcyBmYWlscy4uLlxuIiwKKwkJ CQkJICAgZHJtbW9kZV9vdXRwdXQtPm1vZGVfb3V0cHV0LT5jb25uZWN0b3JfaWQpOworCisJCQkJ YnJlYWs7CisJCQl9CiAJCX0KLQkJZHJtTW9kZUZyZWVDb25uZWN0b3Ioa291dHB1dCk7CiAJfQog CiAJbW9kZV9yZXMgPSBkcm1Nb2RlR2V0UmVzb3VyY2VzKHBBTURHUFVFbnQtPmZkKTsKLS0gCjIu MTYuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==