From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 05/13] Enable setting of color properties though RandR Date: Thu, 3 May 2018 14:31:47 -0400 Message-ID: <1525372315-28462-6-git-send-email-sunpeng.li@amd.com> References: <1525372315-28462-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: <1525372315-28462-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 eSBpbnRvIGtlcm5lbCBEUk0sIGZvciBIVyBwcm9ncmFtbWluZwozLiBVcGRhdGUgYWxsIFJhbmRS IG91dHB1dHMgdXNpbmcgdGhpcyBDUlRDIHRvIGxpc3QgdGhlIG5ldyBwcm9wZXJ0eQoKQWRkIGEg ZnVuY3Rpb24gdG8gZG8gdGhlIHN0YWdpbmcsIGFuZCBleGVjdXRlIHRoZSBhYm92ZSBzdGVwcyBp bgpvdXRwdXRfcHJvcGVydHlfc2V0LgoKU2lnbmVkLW9mZi1ieTogTGVvIChTdW5wZW5nKSBMaSA8 c3VucGVuZy5saUBhbWQuY29tPgotLS0KIHNyYy9kcm1tb2RlX2Rpc3BsYXkuYyB8IDkzICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDkzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5 LmMgYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKaW5kZXggYWM1MGUxOS4uNzIyM2I5MyAxMDA2NDQK LS0tIGEvc3JjL2RybW1vZGVfZGlzcGxheS5jCisrKyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYwpA QCAtMTAyMyw2ICsxMDIzLDg0IEBAIHN0YXRpYyB2b2lkIGRybW1vZGVfY3J0Y191cGRhdGVfY21f cHJvcHMoeGY4NkNydGNQdHIgY3J0YykKIH0KIAogLyoqCisqIFN0YWdlIGEgY29sb3IgbWFuYWdl bWVudCBwcm9wZXJ0eSBvbnRvIHRoZSBkcml2ZXItcHJpdmF0ZSBDUlRDIG9iamVjdC4KKyoKKyog QGNydGM6IFRoZSBDUlRDIHRvIHN0YWdlIHRoZSBuZXcgY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0 aWVzIGluCisqIEBjbV9wcm9wX2luZGV4OiBUaGUgY29sb3IgcHJvcGVydHkgdG8gc3RhZ2UKKyog QHZhbHVlOiBUaGUgUmFuZFIgcHJvcGVydHkgdmFsdWUgdG8gc3RhZ2UKKyoKKyogUmV0dXJuIDAg b24gc3VjY2VzcywgWC1kZWZpbmVkIGVycm9yIGNvZGUgb24gZmFpbHVyZS4KKyovCitzdGF0aWMg aW50IGRybW1vZGVfY3J0Y19zdGFnZV9jbV9wcm9wKHhmODZDcnRjUHRyIGNydGMsCisJCQkJICAg ICAgZW51bSBkcm1tb2RlX2NtX3Byb3AgY21fcHJvcF9pbmRleCwKKwkJCQkgICAgICBSUlByb3Bl cnR5VmFsdWVQdHIgdmFsdWUpCit7CisJZHJtbW9kZV9jcnRjX3ByaXZhdGVfcHRyIGRybW1vZGVf Y3J0YyA9IGNydGMtPmRyaXZlcl9wcml2YXRlOworCXNpemVfdCBleHBlY3RlZF9ieXRlcyA9IDA7 CisJdm9pZCAqKmJsb2JfZGF0YSA9IE5VTEw7CisJQm9vbCB1c2VfZGVmYXVsdCA9IEZBTFNFOwor CisJLyogVXBkYXRlIHByb3BlcnRpZXMgb24gdGhlIGRyaXZlci1wcml2YXRlIENSVEMgKi8KKwlp ZiAoY21fcHJvcF9pbmRleCA9PSBDTV9HQU1NQV9MVVQpIHsKKwkJLyogQ2FsY3VsYXRlIHRoZSBl eHBlY3RlZCBzaXplIG9mIHZhbHVlIGluIGJ5dGVzICovCisJCWV4cGVjdGVkX2J5dGVzID0gc2l6 ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqCisJCQkJCWRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0 X3NpemU7CisKKwkJLyogRm9yIGdhbW1hIGFuZCBkZWdhbW1hLCB3ZSBhbGxvdyBhIGRlZmF1bHQg U1JHQiBjdXJ2ZSB0byBiZQorCQkgKiBzZXQgdmlhIHNldHRpbmcgYSBzaW5nbGUgZWxlbWVudAor CQkgKgorCQkgKiBPdGhlcndpc2UsIHZhbHVlIHNpemUgaXMgaW4gdGVybXMgb2YgdGhlIHZhbHVl IGZvcm1hdC4KKwkJICogRW5zdXJlIGl0J3MgYWxzbyBpbiBieXRlcyAoPDwgMSkgYmVmb3JlIGNv bXBhcmluZyB3aXRoIHRoZQorCQkgKiBleHBlY3RlZCBieXRlcy4KKwkJICovCisJCWlmICh2YWx1 ZS0+c2l6ZSA9PSAxKQorCQkJdXNlX2RlZmF1bHQgPSBUUlVFOworCQllbHNlIGlmICh2YWx1ZS0+ dHlwZSAhPSBYQV9JTlRFR0VSIHx8IHZhbHVlLT5mb3JtYXQgIT0gMTYgfHwKKwkJCSAoc2l6ZV90 KSh2YWx1ZS0+c2l6ZSA8PCAxKSAhPSBleHBlY3RlZF9ieXRlcykKKwkJCXJldHVybiBCYWRMZW5n dGg7CisKKwkJYmxvYl9kYXRhID0gKHZvaWQqKikmZHJtbW9kZV9jcnRjLT5nYW1tYV9sdXQ7CisK Kwl9IGVsc2UgaWYgKGNtX3Byb3BfaW5kZXggPT0gQ01fREVHQU1NQV9MVVQpIHsKKwkJZXhwZWN0 ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQpICoKKwkJCQkJZHJtbW9kZV9j cnRjLT5kZWdhbW1hX2x1dF9zaXplOworCisJCWlmICh2YWx1ZS0+c2l6ZSA9PSAxKQorCQkJdXNl X2RlZmF1bHQgPSBUUlVFOworCQllbHNlIGlmICh2YWx1ZS0+dHlwZSAhPSBYQV9JTlRFR0VSIHx8 IHZhbHVlLT5mb3JtYXQgIT0gMTYgfHwKKwkJCSAoc2l6ZV90KSh2YWx1ZS0+c2l6ZSA8PCAxKSAh PSBleHBlY3RlZF9ieXRlcykKKwkJCXJldHVybiBCYWRMZW5ndGg7CisKKwkJYmxvYl9kYXRhID0g KHZvaWQqKikmZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dDsKKworCX0gZWxzZSBpZiAoY21fcHJv cF9pbmRleCA9PSBDTV9DVE0pIHsKKwkJZXhwZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRy bV9jb2xvcl9jdG0pOworCisJCWlmICh2YWx1ZS0+c2l6ZSA9PSAxKQorCQkJdXNlX2RlZmF1bHQg PSBUUlVFOworCQlpZiAodmFsdWUtPnR5cGUgIT0gWEFfSU5URUdFUiB8fCB2YWx1ZS0+Zm9ybWF0 ICE9IDE2IHx8CisJCSAgICAoc2l6ZV90KSh2YWx1ZS0+c2l6ZSA8PCAxKSAhPSBleHBlY3RlZF9i eXRlcykKKwkJCXJldHVybiBCYWRMZW5ndGg7CisKKwkJYmxvYl9kYXRhID0gKHZvaWQqKikmZHJt bW9kZV9jcnRjLT5jdG07CisKKwl9IGVsc2UKKwkJcmV0dXJuIEJhZE5hbWU7CisKKwlmcmVlKCpi bG9iX2RhdGEpOworCWlmICghdXNlX2RlZmF1bHQpIHsKKwkJKmJsb2JfZGF0YSA9IG1hbGxvYyhl eHBlY3RlZF9ieXRlcyk7CisJCWlmICghKmJsb2JfZGF0YSkKKwkJCXJldHVybiBCYWRBbGxvYzsK KwkJbWVtY3B5KCpibG9iX2RhdGEsIHZhbHVlLT5kYXRhLAorCQkgICAgICAgZXhwZWN0ZWRfYnl0 ZXMpOworCX0gZWxzZQorCQkqYmxvYl9kYXRhID0gTlVMTDsKKworCXJldHVybiBTdWNjZXNzOwor fQorCisvKioKICAqIFB1c2ggc3RhZ2VkIGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydGllcyBvbiB0 aGUgQ1JUQyB0byBEUk0uCiAgKgogICogQGNydGM6IFRoZSBDUlRDIGNvbnRhaW5pbmcgc3RhZ2Vk IHByb3BlcnRpZXMKQEAgLTIyMDQsOCArMjI4MiwyMyBAQCBkcm1tb2RlX291dHB1dF9zZXRfcHJv cGVydHkoeGY4Nk91dHB1dFB0ciBvdXRwdXQsIEF0b20gcHJvcGVydHksCiB7CiAJZHJtbW9kZV9v dXRwdXRfcHJpdmF0ZV9wdHIgZHJtbW9kZV9vdXRwdXQgPSBvdXRwdXQtPmRyaXZlcl9wcml2YXRl OwogCUFNREdQVUVudFB0ciBwQU1ER1BVRW50ID0gQU1ER1BVRW50UHJpdihvdXRwdXQtPnNjcm4p OworCWVudW0gZHJtbW9kZV9jbV9wcm9wIGNtX3Byb3BfaW5kZXg7CiAJaW50IGk7CiAKKwljbV9w cm9wX2luZGV4ID0gZ2V0X2NtX2VudW1fZnJvbV9zdHIoTmFtZUZvckF0b20ocHJvcGVydHkpKTsK KwlpZiAoY21fcHJvcF9pbmRleCA+PSAwICYmIGNtX3Byb3BfaW5kZXggIT0gQ01fR0FNTUFfTFVU X1NJWkUgJiYKKwkgICAgY21fcHJvcF9pbmRleCAhPSBDTV9ERUdBTU1BX0xVVF9TSVpFKSB7CisJ CWlmICghb3V0cHV0LT5jcnRjKQorCQkJcmV0dXJuIEZBTFNFOworCQlpZiAoZHJtbW9kZV9jcnRj X3N0YWdlX2NtX3Byb3Aob3V0cHV0LT5jcnRjLCBjbV9wcm9wX2luZGV4LAorCQkJCQkgICAgICAg dmFsdWUpKQorCQkJcmV0dXJuIEZBTFNFOworCQlpZiAoZHJtbW9kZV9jcnRjX3B1c2hfY21fcHJv cChvdXRwdXQtPmNydGMsIGNtX3Byb3BfaW5kZXgpKQorCQkJcmV0dXJuIEZBTFNFOworCQlkcm1t b2RlX2NydGNfdXBkYXRlX2NtX3Byb3BzKG91dHB1dC0+Y3J0Yyk7CisJCXJldHVybiBUUlVFOwor CX0KKwogCWZvciAoaSA9IDA7IGkgPCBkcm1tb2RlX291dHB1dC0+bnVtX3Byb3BzOyBpKyspIHsK IAkJZHJtbW9kZV9wcm9wX3B0ciBwID0gJmRybW1vZGVfb3V0cHV0LT5wcm9wc1tpXTsKIAotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=