From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu v2 5/7] Enable setting of color properties via RandR Date: Fri, 15 Jun 2018 17:05:39 -0400 Message-ID: <1529096739-22363-1-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-6-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-6-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 cGVydHlfc2V0LgoKdjI6Ci0gUmVtb3ZlIHBlci1DUlRDIGNoZWNrIGZvciBjb2xvciBtYW5hZ2Vt ZW50IHN1cHBvcnQgaW4gc3RhZ2VfY21fcHJvcC4KLSBVc2Ugc3dpdGNoIHN0YXRlbWVudCBpbnN0 ZWFkIG9mIGlmIHN0YXRlbWVudHMuCgpTaWduZWQtb2ZmLWJ5OiBMZW8gKFN1bnBlbmcpIExpIDxz dW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogc3JjL2RybW1vZGVfZGlzcGxheS5jIHwgOTUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hh bmdlZCwgOTUgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXku YyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYwppbmRleCBhN2Q1MzJjLi5kMTU2Mzk4IDEwMDY0NAot LS0gYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBA IC04OTgsNiArODk4LDg4IEBAIHN0YXRpYyBpbnQgcnJfY29uZmlndXJlX2FuZF9jaGFuZ2VfY21f cHJvcGVydHkoeGY4Nk91dHB1dFB0ciBvdXRwdXQsCiB9CiAKIC8qKgorKiBTdGFnZSBhIGNvbG9y IG1hbmFnZW1lbnQgcHJvcGVydHkuIFRoaXMgcGFyc2VzIHRoZSBwcm9wZXJ0eSB2YWx1ZSwgYWNj b3JkaW5nCisqIHRvIHRoZSBjbSBwcm9wZXJ0eSB0eXBlLCB0aGVuIHN0b3JlcyBpdCB3aXRoaW4g dGhlIGRyaXZlci1wcml2YXRlIENSVEMKKyogb2JqZWN0LgorKgorKiBAY3J0YzogVGhlIENSVEMg dG8gc3RhZ2UgdGhlIG5ldyBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnRpZXMgaW4KKyogQGNtX3By b3BfaW5kZXg6IFRoZSBjb2xvciBwcm9wZXJ0eSB0byBzdGFnZQorKiBAdmFsdWU6IFRoZSBSYW5k UiBwcm9wZXJ0eSB2YWx1ZSB0byBzdGFnZQorKgorKiBSZXR1cm4gMCBvbiBzdWNjZXNzLCBYLWRl ZmluZWQgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorKi8KK3N0YXRpYyBpbnQgZHJtbW9kZV9jcnRj X3N0YWdlX2NtX3Byb3AoeGY4NkNydGNQdHIgY3J0YywKKwkJCQkgICAgICBlbnVtIGRybW1vZGVf Y21fcHJvcCBjbV9wcm9wX2luZGV4LAorCQkJCSAgICAgIFJSUHJvcGVydHlWYWx1ZVB0ciB2YWx1 ZSkKK3sKKwlkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0Yy0+ZHJp dmVyX3ByaXZhdGU7CisJZHJtbW9kZV9wdHIgZHJtbW9kZSA9IGRybW1vZGVfY3J0Yy0+ZHJtbW9k ZTsKKwlzaXplX3QgZXhwZWN0ZWRfYnl0ZXMgPSAwOworCXZvaWQgKipibG9iX2RhdGEgPSBOVUxM OworCUJvb2wgdXNlX2RlZmF1bHQgPSBGQUxTRTsKKworCS8qIFVwZGF0ZSBwcm9wZXJ0aWVzIG9u IHRoZSBkcml2ZXItcHJpdmF0ZSBDUlRDICovCisJc3dpdGNoIChjbV9wcm9wX2luZGV4KSB7CisJ Y2FzZSBDTV9HQU1NQV9MVVQ6CisJCS8qIENhbGN1bGF0ZSB0aGUgZXhwZWN0ZWQgc2l6ZSBvZiB2 YWx1ZSBpbiBieXRlcyAqLworCQlleHBlY3RlZF9ieXRlcyA9IHNpemVvZihzdHJ1Y3QgZHJtX2Nv bG9yX2x1dCkgKgorCQkJCQlkcm1tb2RlLT5nYW1tYV9sdXRfc2l6ZTsKKworCQkvKiBGb3IgZ2Ft bWEgYW5kIGRlZ2FtbWEsIHdlIGFsbG93IGEgZGVmYXVsdCBTUkdCIGN1cnZlIHRvIGJlCisJCSAq IHNldCB2aWEgc2V0dGluZyBhIHNpbmdsZSBlbGVtZW50CisJCSAqCisJCSAqIE90aGVyd2lzZSwg dmFsdWUgc2l6ZSBpcyBpbiB0ZXJtcyBvZiB0aGUgdmFsdWUgZm9ybWF0LgorCQkgKiBFbnN1cmUg aXQncyBhbHNvIGluIGJ5dGVzICg8PCAxKSBiZWZvcmUgY29tcGFyaW5nIHdpdGggdGhlCisJCSAq IGV4cGVjdGVkIGJ5dGVzLgorCQkgKi8KKwkJaWYgKHZhbHVlLT5zaXplID09IDEpCisJCQl1c2Vf ZGVmYXVsdCA9IFRSVUU7CisJCWVsc2UgaWYgKHZhbHVlLT50eXBlICE9IFhBX0lOVEVHRVIgfHwg dmFsdWUtPmZvcm1hdCAhPSAxNiB8fAorCQkJIChzaXplX3QpKHZhbHVlLT5zaXplIDw8IDEpICE9 IGV4cGVjdGVkX2J5dGVzKQorCQkJcmV0dXJuIEJhZExlbmd0aDsKKworCQlibG9iX2RhdGEgPSAo dm9pZCoqKSZkcm1tb2RlX2NydGMtPmdhbW1hX2x1dDsKKwkJYnJlYWs7CisJY2FzZSBDTV9ERUdB TU1BX0xVVDoKKwkJZXhwZWN0ZWRfYnl0ZXMgPSBzaXplb2Yoc3RydWN0IGRybV9jb2xvcl9sdXQp ICoKKwkJCQkJZHJtbW9kZS0+ZGVnYW1tYV9sdXRfc2l6ZTsKKworCQlpZiAodmFsdWUtPnNpemUg PT0gMSkKKwkJCXVzZV9kZWZhdWx0ID0gVFJVRTsKKwkJZWxzZSBpZiAodmFsdWUtPnR5cGUgIT0g WEFfSU5URUdFUiB8fCB2YWx1ZS0+Zm9ybWF0ICE9IDE2IHx8CisJCQkgKHNpemVfdCkodmFsdWUt PnNpemUgPDwgMSkgIT0gZXhwZWN0ZWRfYnl0ZXMpCisJCQlyZXR1cm4gQmFkTGVuZ3RoOworCisJ CWJsb2JfZGF0YSA9ICh2b2lkKiopJmRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXQ7CisJCWJyZWFr OworCWNhc2UgQ01fQ1RNOgorCQlleHBlY3RlZF9ieXRlcyA9IHNpemVvZihzdHJ1Y3QgZHJtX2Nv bG9yX2N0bSk7CisKKwkJaWYgKHZhbHVlLT5zaXplID09IDEpCisJCQl1c2VfZGVmYXVsdCA9IFRS VUU7CisJCWlmICh2YWx1ZS0+dHlwZSAhPSBYQV9JTlRFR0VSIHx8IHZhbHVlLT5mb3JtYXQgIT0g MzIgfHwKKwkJICAgIChzaXplX3QpKHZhbHVlLT5zaXplIDw8IDIpICE9IGV4cGVjdGVkX2J5dGVz KQorCQkJcmV0dXJuIEJhZExlbmd0aDsKKworCQlibG9iX2RhdGEgPSAodm9pZCoqKSZkcm1tb2Rl X2NydGMtPmN0bTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIEJhZE5hbWU7CisJfQor CisJZnJlZSgqYmxvYl9kYXRhKTsKKwlpZiAoIXVzZV9kZWZhdWx0KSB7CisJCSpibG9iX2RhdGEg PSBtYWxsb2MoZXhwZWN0ZWRfYnl0ZXMpOworCQlpZiAoISpibG9iX2RhdGEpCisJCQlyZXR1cm4g QmFkQWxsb2M7CisJCW1lbWNweSgqYmxvYl9kYXRhLCB2YWx1ZS0+ZGF0YSwgZXhwZWN0ZWRfYnl0 ZXMpOworCX0gZWxzZQorCQkqYmxvYl9kYXRhID0gTlVMTDsKKworCXJldHVybiBTdWNjZXNzOwor fQorCisvKioKICAqIFB1c2ggc3RhZ2VkIGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydGllcyBvbiB0 aGUgQ1JUQyB0byBEUk0uCiAgKgogICogQGNydGM6IFRoZSBDUlRDIGNvbnRhaW5pbmcgc3RhZ2Vk IHByb3BlcnRpZXMKQEAgLTIwNjcsOCArMjE0OSwyMSBAQCBkcm1tb2RlX291dHB1dF9zZXRfcHJv cGVydHkoeGY4Nk91dHB1dFB0ciBvdXRwdXQsIEF0b20gcHJvcGVydHksCiB7CiAJZHJtbW9kZV9v dXRwdXRfcHJpdmF0ZV9wdHIgZHJtbW9kZV9vdXRwdXQgPSBvdXRwdXQtPmRyaXZlcl9wcml2YXRl OwogCUFNREdQVUVudFB0ciBwQU1ER1BVRW50ID0gQU1ER1BVRW50UHJpdihvdXRwdXQtPnNjcm4p OworCWVudW0gZHJtbW9kZV9jbV9wcm9wIGNtX3Byb3BfaW5kZXg7CiAJaW50IGk7CiAKKwljbV9w cm9wX2luZGV4ID0gZ2V0X2NtX2VudW1fZnJvbV9zdHIoTmFtZUZvckF0b20ocHJvcGVydHkpKTsK KwlpZiAoY21fcHJvcF9pbmRleCA+PSAwICYmIGNtX3Byb3BfaW5kZXggPCBDTV9ERUdBTU1BX0xV VF9TSVpFKSB7CisJCWlmICghb3V0cHV0LT5jcnRjKQorCQkJcmV0dXJuIEZBTFNFOworCQlpZiAo ZHJtbW9kZV9jcnRjX3N0YWdlX2NtX3Byb3Aob3V0cHV0LT5jcnRjLCBjbV9wcm9wX2luZGV4LAor CQkJCQkgICAgICAgdmFsdWUpKQorCQkJcmV0dXJuIEZBTFNFOworCQlpZiAoZHJtbW9kZV9jcnRj X3B1c2hfY21fcHJvcChvdXRwdXQtPmNydGMsIGNtX3Byb3BfaW5kZXgpKQorCQkJcmV0dXJuIEZB TFNFOworCQlyZXR1cm4gVFJVRTsKKwl9CisKIAlmb3IgKGkgPSAwOyBpIDwgZHJtbW9kZV9vdXRw dXQtPm51bV9wcm9wczsgaSsrKSB7CiAJCWRybW1vZGVfcHJvcF9wdHIgcCA9ICZkcm1tb2RlX291 dHB1dC0+cHJvcHNbaV07CiAKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngK