From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 5/7] Enable setting of color properties via RandR Date: Fri, 1 Jun 2018 12:03:35 -0400 Message-ID: <1527869017-9209-6-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1527869017-9209-1-git-send-email-sunpeng.li-5C7GfCeVMHo@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 Cc: "Leo (Sunpeng) Li" , michel-otUistvHUpPR7s880joybQ@public.gmane.org, harry.wentland-5C7GfCeVMHo@public.gmane.org RnJvbTogIkxlbyAoU3VucGVuZykgTGkiIDxzdW5wZW5nLmxpQGFtZC5jb20+CgpTZXR0aW5nIGEg Y29sb3IgcHJvcGVydHkgaW52b2x2ZXM6CjEuIFN0YWdpbmcgdGhlIHByb3BlcnR5IG9udG8gdGhl IGRyaXZlci1wcml2YXRlIENSVEMgb2JqZWN0CjIuIFB1c2hpbmcgdGhlIHN0YWdlZCBwcm9wZXJ0 eSBpbnRvIGtlcm5lbCBEUk0sIGZvciBIVyBwcm9ncmFtbWluZwoKQWRkIGEgZnVuY3Rpb24gdG8g ZG8gdGhlIHN0YWdpbmcsIGFuZCBleGVjdXRlIHRoZSBhYm92ZSBzdGVwcyBpbgpvdXRwdXRfcHJv cGVydHlfc2V0LgoKU2lnbmVkLW9mZi1ieTogTGVvIChTdW5wZW5nKSBMaSA8c3VucGVuZy5saUBh bWQuY29tPgotLS0KIHNyYy9kcm1tb2RlX2Rpc3BsYXkuYyB8IDk3ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDk3IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMgYi9zcmMvZHJt bW9kZV9kaXNwbGF5LmMKaW5kZXggMzUwZGMzZC4uNmU1YWU3NCAxMDA2NDQKLS0tIGEvc3JjL2Ry bW1vZGVfZGlzcGxheS5jCisrKyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYwpAQCAtOTA1LDYgKzkw NSw4OSBAQCBzdGF0aWMgaW50IHJyX2NvbmZpZ3VyZV9hbmRfY2hhbmdlX2NtX3Byb3BlcnR5KHhm ODZPdXRwdXRQdHIgb3V0cHV0LAogfQogCiAvKioKKyogU3RhZ2UgYSBjb2xvciBtYW5hZ2VtZW50 IHByb3BlcnR5LiBUaGlzIHBhcnNlcyB0aGUgcHJvcGVydHkgdmFsdWUsIGFjY29yZGluZworKiB0 byB0aGUgY20gcHJvcGVydHkgdHlwZSwgdGhlbiBzdG9yZXMgaXQgd2l0aGluIHRoZSBkcml2ZXIt cHJpdmF0ZSBDUlRDCisqIG9iamVjdC4KKyoKKyogQGNydGM6IFRoZSBDUlRDIHRvIHN0YWdlIHRo ZSBuZXcgY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0aWVzIGluCisqIEBjbV9wcm9wX2luZGV4OiBU aGUgY29sb3IgcHJvcGVydHkgdG8gc3RhZ2UKKyogQHZhbHVlOiBUaGUgUmFuZFIgcHJvcGVydHkg dmFsdWUgdG8gc3RhZ2UKKyoKKyogUmV0dXJuIDAgb24gc3VjY2VzcywgWC1kZWZpbmVkIGVycm9y IGNvZGUgb24gZmFpbHVyZS4KKyovCitzdGF0aWMgaW50IGRybW1vZGVfY3J0Y19zdGFnZV9jbV9w cm9wKHhmODZDcnRjUHRyIGNydGMsCisJCQkJICAgICAgZW51bSBkcm1tb2RlX2NtX3Byb3AgY21f cHJvcF9pbmRleCwKKwkJCQkgICAgICBSUlByb3BlcnR5VmFsdWVQdHIgdmFsdWUpCit7CisJZHJt bW9kZV9jcnRjX3ByaXZhdGVfcHRyIGRybW1vZGVfY3J0YyA9IGNydGMtPmRyaXZlcl9wcml2YXRl OworCXNpemVfdCBleHBlY3RlZF9ieXRlcyA9IDA7CisJdm9pZCAqKmJsb2JfZGF0YSA9IE5VTEw7 CisJQm9vbCB1c2VfZGVmYXVsdCA9IEZBTFNFOworCisJLyogRWFybHkgcmV0dXJuIGlmIENSVEMg aGFzIG5vIGNtIHN1cHBvcnQgKi8KKwlpZiAoIWRybW1vZGVfY3J0Y19jbV9lbmFibGVkKGRybW1v ZGVfY3J0YykpCisJCXJldHVybiBCYWROYW1lOworCisJLyogVXBkYXRlIHByb3BlcnRpZXMgb24g dGhlIGRyaXZlci1wcml2YXRlIENSVEMgKi8KKwlpZiAoY21fcHJvcF9pbmRleCA9PSBDTV9HQU1N QV9MVVQpIHsKKwkJLyogQ2FsY3VsYXRlIHRoZSBleHBlY3RlZCBzaXplIG9mIHZhbHVlIGluIGJ5 dGVzICovCisJCWV4cGVjdGVkX2J5dGVzID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAq CisJCQkJCWRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0X3NpemU7CisKKwkJLyogRm9yIGdhbW1hIGFu ZCBkZWdhbW1hLCB3ZSBhbGxvdyBhIGRlZmF1bHQgU1JHQiBjdXJ2ZSB0byBiZQorCQkgKiBzZXQg dmlhIHNldHRpbmcgYSBzaW5nbGUgZWxlbWVudAorCQkgKgorCQkgKiBPdGhlcndpc2UsIHZhbHVl IHNpemUgaXMgaW4gdGVybXMgb2YgdGhlIHZhbHVlIGZvcm1hdC4KKwkJICogRW5zdXJlIGl0J3Mg YWxzbyBpbiBieXRlcyAoPDwgMSkgYmVmb3JlIGNvbXBhcmluZyB3aXRoIHRoZQorCQkgKiBleHBl Y3RlZCBieXRlcy4KKwkJICovCisJCWlmICh2YWx1ZS0+c2l6ZSA9PSAxKQorCQkJdXNlX2RlZmF1 bHQgPSBUUlVFOworCQllbHNlIGlmICh2YWx1ZS0+dHlwZSAhPSBYQV9JTlRFR0VSIHx8IHZhbHVl LT5mb3JtYXQgIT0gMTYgfHwKKwkJCSAoc2l6ZV90KSh2YWx1ZS0+c2l6ZSA8PCAxKSAhPSBleHBl Y3RlZF9ieXRlcykKKwkJCXJldHVybiBCYWRMZW5ndGg7CisKKwkJYmxvYl9kYXRhID0gKHZvaWQq KikmZHJtbW9kZV9jcnRjLT5nYW1tYV9sdXQ7CisKKwl9IGVsc2UgaWYgKGNtX3Byb3BfaW5kZXgg PT0gQ01fREVHQU1NQV9MVVQpIHsKKwkJZXhwZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRy bV9jb2xvcl9sdXQpICoKKwkJCQkJZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dF9zaXplOworCisJ CWlmICh2YWx1ZS0+c2l6ZSA9PSAxKQorCQkJdXNlX2RlZmF1bHQgPSBUUlVFOworCQllbHNlIGlm ICh2YWx1ZS0+dHlwZSAhPSBYQV9JTlRFR0VSIHx8IHZhbHVlLT5mb3JtYXQgIT0gMTYgfHwKKwkJ CSAoc2l6ZV90KSh2YWx1ZS0+c2l6ZSA8PCAxKSAhPSBleHBlY3RlZF9ieXRlcykKKwkJCXJldHVy biBCYWRMZW5ndGg7CisKKwkJYmxvYl9kYXRhID0gKHZvaWQqKikmZHJtbW9kZV9jcnRjLT5kZWdh bW1hX2x1dDsKKworCX0gZWxzZSBpZiAoY21fcHJvcF9pbmRleCA9PSBDTV9DVE0pIHsKKwkJZXhw ZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9jdG0pOworCisJCWlmICh2YWx1 ZS0+c2l6ZSA9PSAxKQorCQkJdXNlX2RlZmF1bHQgPSBUUlVFOworCQlpZiAodmFsdWUtPnR5cGUg IT0gWEFfSU5URUdFUiB8fCB2YWx1ZS0+Zm9ybWF0ICE9IDMyIHx8CisJCSAgICAoc2l6ZV90KSh2 YWx1ZS0+c2l6ZSA8PCAyKSAhPSBleHBlY3RlZF9ieXRlcykKKwkJCXJldHVybiBCYWRMZW5ndGg7 CisKKwkJYmxvYl9kYXRhID0gKHZvaWQqKikmZHJtbW9kZV9jcnRjLT5jdG07CisKKwl9IGVsc2UK KwkJcmV0dXJuIEJhZE5hbWU7CisKKwlmcmVlKCpibG9iX2RhdGEpOworCWlmICghdXNlX2RlZmF1 bHQpIHsKKwkJKmJsb2JfZGF0YSA9IG1hbGxvYyhleHBlY3RlZF9ieXRlcyk7CisJCWlmICghKmJs b2JfZGF0YSkKKwkJCXJldHVybiBCYWRBbGxvYzsKKwkJbWVtY3B5KCpibG9iX2RhdGEsIHZhbHVl LT5kYXRhLCBleHBlY3RlZF9ieXRlcyk7CisJfSBlbHNlCisJCSpibG9iX2RhdGEgPSBOVUxMOwor CisJcmV0dXJuIFN1Y2Nlc3M7Cit9CisKKy8qKgogICogUHVzaCBzdGFnZWQgY29sb3IgbWFuYWdl bWVudCBwcm9wZXJ0aWVzIG9uIHRoZSBDUlRDIHRvIERSTS4KICAqCiAgKiBAY3J0YzogVGhlIENS VEMgY29udGFpbmluZyBzdGFnZWQgcHJvcGVydGllcwpAQCAtMjEyNiw4ICsyMjA5LDIyIEBAIGRy bW1vZGVfb3V0cHV0X3NldF9wcm9wZXJ0eSh4Zjg2T3V0cHV0UHRyIG91dHB1dCwgQXRvbSBwcm9w ZXJ0eSwKIHsKIAlkcm1tb2RlX291dHB1dF9wcml2YXRlX3B0ciBkcm1tb2RlX291dHB1dCA9IG91 dHB1dC0+ZHJpdmVyX3ByaXZhdGU7CiAJQU1ER1BVRW50UHRyIHBBTURHUFVFbnQgPSBBTURHUFVF bnRQcml2KG91dHB1dC0+c2Nybik7CisJZW51bSBkcm1tb2RlX2NtX3Byb3AgY21fcHJvcF9pbmRl eDsKIAlpbnQgaTsKIAorCWNtX3Byb3BfaW5kZXggPSBnZXRfY21fZW51bV9mcm9tX3N0cihOYW1l Rm9yQXRvbShwcm9wZXJ0eSkpOworCWlmIChjbV9wcm9wX2luZGV4ID49IDAgJiYgY21fcHJvcF9p bmRleCAhPSBDTV9HQU1NQV9MVVRfU0laRSAmJgorCSAgICBjbV9wcm9wX2luZGV4ICE9IENNX0RF R0FNTUFfTFVUX1NJWkUpIHsKKwkJaWYgKCFvdXRwdXQtPmNydGMpCisJCQlyZXR1cm4gRkFMU0U7 CisJCWlmIChkcm1tb2RlX2NydGNfc3RhZ2VfY21fcHJvcChvdXRwdXQtPmNydGMsIGNtX3Byb3Bf aW5kZXgsCisJCQkJCSAgICAgICB2YWx1ZSkpCisJCQlyZXR1cm4gRkFMU0U7CisJCWlmIChkcm1t b2RlX2NydGNfcHVzaF9jbV9wcm9wKG91dHB1dC0+Y3J0YywgY21fcHJvcF9pbmRleCkpCisJCQly ZXR1cm4gRkFMU0U7CisJCXJldHVybiBUUlVFOworCX0KKwogCWZvciAoaSA9IDA7IGkgPCBkcm1t b2RlX291dHB1dC0+bnVtX3Byb3BzOyBpKyspIHsKIAkJZHJtbW9kZV9wcm9wX3B0ciBwID0gJmRy bW1vZGVfb3V0cHV0LT5wcm9wc1tpXTsKIAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeAo=