From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Subject: [PATCH xf86-video-ati 1/2] Refactor radeon_mode_hotplug Date: Wed, 9 Nov 2016 16:16:59 +0900 Message-ID: <20161109071700.24235-1-michel@daenzer.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 RnJvbTogTWljaGVsIETDpG56ZXIgPG1pY2hlbC5kYWVuemVyQGFtZC5jb20+CgpQcmVwYXJhdGlv biBmb3IgdGhlIG5leHQgY2hhbmdlLCBubyBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRlZC4KClNp Z25lZC1vZmYtYnk6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWwuZGFlbnplckBhbWQuY29tPgotLS0K IHNyYy9kcm1tb2RlX2Rpc3BsYXkuYyB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3Ny Yy9kcm1tb2RlX2Rpc3BsYXkuYwppbmRleCAyOGI5MzJlLi5mZDVjODBlIDEwMDY0NAotLS0gYS9z cmMvZHJtbW9kZV9kaXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC0yNTQz LDYgKzI1NDMsMzcgQEAgQm9vbCBkcm1tb2RlX3NldHVwX2NvbG9ybWFwKFNjcmVlblB0ciBwU2Ny ZWVuLCBTY3JuSW5mb1B0ciBwU2NybikKICAgICByZXR1cm4gVFJVRTsKIH0KIAorc3RhdGljIEJv b2wKK2RybW1vZGVfZmluZF9vdXRwdXQoU2NybkluZm9QdHIgc2NybiwgaW50IG91dHB1dF9pZCwg aW50ICpudW1fZHZpLAorCQkgICAgaW50ICpudW1faGRtaSkKK3sKKwl4Zjg2Q3J0Y0NvbmZpZ1B0 ciBjb25maWcgPSBYRjg2X0NSVENfQ09ORklHX1BUUihzY3JuKTsKKwlpbnQgaTsKKworCWZvciAo aSA9IDA7IGkgPCBjb25maWctPm51bV9vdXRwdXQ7IGkrKykgeworCQl4Zjg2T3V0cHV0UHRyIG91 dHB1dCA9IGNvbmZpZy0+b3V0cHV0W2ldOworCQlkcm1tb2RlX291dHB1dF9wcml2YXRlX3B0ciBk cm1tb2RlX291dHB1dCA9IG91dHB1dC0+ZHJpdmVyX3ByaXZhdGU7CisKKwkJaWYgKGRybW1vZGVf b3V0cHV0LT5vdXRwdXRfaWQgPT0gb3V0cHV0X2lkKSB7CisJCQlzd2l0Y2goZHJtbW9kZV9vdXRw dXQtPm1vZGVfb3V0cHV0LT5jb25uZWN0b3JfdHlwZSkgeworCQkJY2FzZSBEUk1fTU9ERV9DT05O RUNUT1JfRFZJSToKKwkJCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0RWSUQ6CisJCQljYXNlIERS TV9NT0RFX0NPTk5FQ1RPUl9EVklBOgorCQkJCSgqbnVtX2R2aSkrKzsKKwkJCQlicmVhazsKKwkJ CWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBOgorCQkJY2FzZSBEUk1fTU9ERV9DT05ORUNU T1JfSERNSUI6CisJCQkJKCpudW1faGRtaSkrKzsKKwkJCQlicmVhazsKKwkJCX0KKworCQkJcmV0 dXJuIFRSVUU7CisJCX0KKwl9CisKKwlyZXR1cm4gRkFMU0U7Cit9CisKIHZvaWQKIHJhZGVvbl9t b2RlX2hvdHBsdWcoU2NybkluZm9QdHIgc2NybiwgZHJtbW9kZV9wdHIgZHJtbW9kZSkKIHsKQEAg LTI1OTAsMzUgKzI2MjEsMTQgQEAgcmVzdGFydF9kZXN0cm95OgogCiAJCWZvciAocyA9IDA7ICFm b3VuZCAmJiBzIDwgeGY4Nk51bVNjcmVlbnM7IHMrKykgewogCQkJU2NybkluZm9QdHIgbG9vcF9z Y3JuID0geGY4NlNjcmVlbnNbc107Ci0JCQl4Zjg2Q3J0Y0NvbmZpZ1B0ciBsb29wX2NvbmZpZyA9 Ci0JCQkJWEY4Nl9DUlRDX0NPTkZJR19QVFIobG9vcF9zY3JuKTsKIAogCQkJaWYgKHN0cmNtcChs b29wX3Njcm4tPmRyaXZlck5hbWUsIHNjcm4tPmRyaXZlck5hbWUpIHx8CiAJCQkgICAgUkFERU9O RW50UHJpdihsb29wX3Njcm4pICE9IHBSQURFT05FbnQpCiAJCQkJY29udGludWU7CiAKLQkJCWZv ciAoaiA9IDA7ICFmb3VuZCAmJiBqIDwgbG9vcF9jb25maWctPm51bV9vdXRwdXQ7IGorKykgewot CQkJCXhmODZPdXRwdXRQdHIgb3V0cHV0ID0gbG9vcF9jb25maWctPm91dHB1dFtqXTsKLQkJCQlk cm1tb2RlX291dHB1dF9wcml2YXRlX3B0ciBkcm1tb2RlX291dHB1dDsKLQotCQkJCWRybW1vZGVf b3V0cHV0ID0gb3V0cHV0LT5kcml2ZXJfcHJpdmF0ZTsKLQkJCQlpZiAobW9kZV9yZXMtPmNvbm5l Y3RvcnNbaV0gPT0KLQkJCQkgICAgZHJtbW9kZV9vdXRwdXQtPm91dHB1dF9pZCkgewotCQkJCQlm b3VuZCA9IFRSVUU7Ci0KLQkJCQkJc3dpdGNoKGRybW1vZGVfb3V0cHV0LT5tb2RlX291dHB1dC0+ Y29ubmVjdG9yX3R5cGUpIHsKLQkJCQkJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRFZJSToKLQkJ CQkJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRFZJRDoKLQkJCQkJY2FzZSBEUk1fTU9ERV9DT05O RUNUT1JfRFZJQToKLQkJCQkJCW51bV9kdmkrKzsKLQkJCQkJCWJyZWFrOwotCQkJCQljYXNlIERS TV9NT0RFX0NPTk5FQ1RPUl9IRE1JQToKLQkJCQkJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfSERN SUI6Ci0JCQkJCQludW1faGRtaSsrOwotCQkJCQkJYnJlYWs7Ci0JCQkJCX0KLQkJCQl9Ci0JCQl9 CisJCQlmb3VuZCA9IGRybW1vZGVfZmluZF9vdXRwdXQobG9vcF9zY3JuLAorCQkJCQkJICAgIG1v ZGVfcmVzLT5jb25uZWN0b3JzW2ldLAorCQkJCQkJICAgICZudW1fZHZpLCAmbnVtX2hkbWkpOwog CQl9CiAJCWlmIChmb3VuZCkKIAkJCWNvbnRpbnVlOwotLSAKMi4xMC4yCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK