From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 01/13] Add color management properties to driver-private CRTC object Date: Thu, 3 May 2018 14:31:43 -0400 Message-ID: <1525372315-28462-2-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+CgpOb24tbGVnYWN5 IGNvbG9yIG1hbmFnZW1lbnQgY29uc2lzdHMgb2YgMyBwcm9wZXJ0aWVzIG9uIHRoZSBDUlRDOgpE ZWdhbW1hIExVVCwgQ29sb3IgVHJhbnNmb3JtYXRpb24gTWF0cml4IChDVE0pLCBhbmQgR2FtbWEg TFVULgoKQWRkIHRoZXNlIHByb3BlcnRpZXMgdG8gdGhlIGRyaXZlci1wcml2YXRlIENSVEMsIGFu ZCBpbml0aWFsaXplIHRoZW0Kd2hlbiB0aGUgQ1JUQyBpcyBpbml0aWFsaXplZC4gVGhlc2UgdmFs dWVzIGFyZSByZWZlcmVkIHRvIGFzICJzdGFnZWQiCnZhbHVlcy4gVGhleSBleGlzdCBpbiB0aGUg RERYIGRyaXZlciwgYnV0IHJlcXVpcmUgYSAicHVzaCIgdG8gRFJNIGluCm9yZGVyIHRvIGJlIHJl YWxpemVkIGluIGhhcmR3YXJlLgoKQWxzbyBhZGQgYSBkZXN0cnVjdG9yIGZvciB0aGUgZHJpdmVy LXByaXZhdGUgQ1JUQywgd2hpY2ggY2xlYW5zIHVwIHRoZQpub24tbGVnYWN5IHByb3BlcnRpZXMu CgpTaWduZWQtb2ZmLWJ5OiBMZW8gKFN1bnBlbmcpIExpIDxzdW5wZW5nLmxpQGFtZC5jb20+Ci0t LQogc3JjL2RybW1vZGVfZGlzcGxheS5jIHwgMTA3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiBzcmMvZHJtbW9kZV9kaXNwbGF5LmggfCAgIDggKysr KwogMiBmaWxlcyBjaGFuZ2VkLCAxMTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYwpp bmRleCA0OTI4NGM2Li4wZmZjNmFkIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMK KysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC03NDcsNiArNzQ3LDgzIEBAIGRybW1vZGVf Y3J0Y19zY2Fub3V0X3VwZGF0ZSh4Zjg2Q3J0Y1B0ciBjcnRjLCBEaXNwbGF5TW9kZVB0ciBtb2Rl LAogCX0KIH0KIAorZW51bSBkcm1tb2RlX2NtX3Byb3AgeworCUNNX0dBTU1BX0xVVF9TSVpFLAor CUNNX0RFR0FNTUFfTFVUX1NJWkUsCisJQ01fR0FNTUFfTFVULAorCUNNX0NUTSwKKwlDTV9ERUdB TU1BX0xVVCwKKwlDTV9OVU1fUFJPUFMsCisJQ01fSU5WQUxJRF9QUk9QID0gLTEsCit9OworCitj aGFyICpDTV9QUk9QX05BTUVTW10gPSB7CisJIkdBTU1BX0xVVF9TSVpFIiwKKwkiREVHQU1NQV9M VVRfU0laRSIsCisJIkdBTU1BX0xVVCIsCisJIkNUTSIsCisJIkRFR0FNTUFfTFVUIiwKK307CisK Ky8qKgorICogUmV0dXJuIHRoZSBlbnVtIG9mIHRoZSBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnR5 IHdpdGggdGhlIGdpdmVuIG5hbWUuCisgKi8KK3N0YXRpYyBlbnVtIGRybW1vZGVfY21fcHJvcCBn ZXRfY21fZW51bV9mcm9tX3N0cihjb25zdCBjaGFyICpwcm9wX25hbWUpCit7CisJZW51bSBkcm1t b2RlX2NtX3Byb3AgcmV0OworCisJZm9yIChyZXQgPSAwOyByZXQgPCBDTV9OVU1fUFJPUFM7IHJl dCsrKSB7CisJCWlmICghc3RyY21wKHByb3BfbmFtZSwgQ01fUFJPUF9OQU1FU1tyZXRdKSkKKwkJ CXJldHVybiByZXQ7CisJfQorCXJldHVybiBDTV9JTlZBTElEX1BST1A7Cit9CisKKy8qKgorICog UXVlcnkgRFJNIGZvciB0aGUgcHJvcGVydHkgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBjb2xvciBt YW5hZ2VtZW50IHByb3BlcnR5LAorICogb24gdGhlIHNwZWNpZmllZCBDUlRDLgorICoKKyAqIEBj cnRjOiBUaGUgQ1JUQyB0byBxdWVyeSBEUk0gcHJvcGVydGllcyBvbi4KKyAqIEBwcm9wX2lkOiBD b2xvciBtYW5hZ2VtZW50IHByb3BlcnR5IGVudW0uCisgKiBSZXR1cm46IFRoZSBwcm9wZXJ0eSB2 YWx1ZSAoaWYgcHJvcGVydHkgaXMgRFJNIGJsb2IsIHJldHVybiBibG9iX2lkKSBvZiB0aGUKKyAq ICAgICAgICAgc3BlY2lmaWVkIGNvbG9yIHByb3BlcnR5LiAwIGlmIHByb3BlcnR5IG5vdCBmb3Vu ZC4KKyAqLworc3RhdGljIHVpbnQ2NF90IGdldF9kcm1fY21fcHJvcF92YWx1ZSh4Zjg2Q3J0Y1B0 ciBjcnRjLAorCQkJCSAgICAgIGVudW0gZHJtbW9kZV9jbV9wcm9wIHByb3BfaWQpCit7CisJQU1E R1BVRW50UHRyIHBBTURHUFVFbnQgPSBBTURHUFVFbnRQcml2KGNydGMtPnNjcm4pOworCWRybW1v ZGVfY3J0Y19wcml2YXRlX3B0ciBkcm1tb2RlX2NydGMgPSBjcnRjLT5kcml2ZXJfcHJpdmF0ZTsK Kwlkcm1Nb2RlT2JqZWN0UHJvcGVydGllc1B0ciBkcm1fcHJvcHM7CisJaW50IGk7CisKKwkvKiBH ZXQgbGlzdCBvZiBEUk0gQ1JUQyBwcm9wZXJ0aWVzLCBhbmQgdGhlaXIgdmFsdWVzICovCisJZHJt X3Byb3BzID0gZHJtTW9kZU9iamVjdEdldFByb3BlcnRpZXMocEFNREdQVUVudC0+ZmQsCisJCQkJ CSAgICAgICBkcm1tb2RlX2NydGMtPm1vZGVfY3J0Yy0+Y3J0Y19pZCwKKwkJCQkJICAgICAgIERS TV9NT0RFX09CSkVDVF9DUlRDKTsKKwlpZiAoIWRybV9wcm9wcykKKwkJZ290byBlcnJfYWxsb2Nz OworCisJZm9yIChpID0gMDsgaSA8IGRybV9wcm9wcy0+Y291bnRfcHJvcHM7IGkrKykgeworCQlk cm1Nb2RlUHJvcGVydHlQdHIgZHJtX3Byb3A7CisKKwkJZHJtX3Byb3AgPSBkcm1Nb2RlR2V0UHJv cGVydHkocEFNREdQVUVudC0+ZmQsCisJCQkJCSAgICAgIGRybV9wcm9wcy0+cHJvcHNbaV0pOwor CQlpZiAoIWRybV9wcm9wKQorCQkJZ290byBlcnJfYWxsb2NzOworCisJCWlmIChnZXRfY21fZW51 bV9mcm9tX3N0cihkcm1fcHJvcC0+bmFtZSkgPT0gcHJvcF9pZCl7CisJCQlkcm1Nb2RlRnJlZVBy b3BlcnR5KGRybV9wcm9wKTsKKwkJCXJldHVybiBkcm1fcHJvcHMtPnByb3BfdmFsdWVzW2ldOwor CQl9CisKKwkJZHJtTW9kZUZyZWVQcm9wZXJ0eShkcm1fcHJvcCk7CisJfQorCitlcnJfYWxsb2Nz OgorCWRybU1vZGVGcmVlT2JqZWN0UHJvcGVydGllcyhkcm1fcHJvcHMpOworCXJldHVybiAwOwor fQorCiBzdGF0aWMgdm9pZAogZHJtbW9kZV9jcnRjX2dhbW1hX2RvX3NldCh4Zjg2Q3J0Y1B0ciBj cnRjLCB1aW50MTZfdCAqcmVkLCB1aW50MTZfdCAqZ3JlZW4sCiAJCQkgIHVpbnQxNl90ICpibHVl LCBpbnQgc2l6ZSkKQEAgLTEyOTMsNiArMTM3MCwyMiBAQCBzdGF0aWMgQm9vbCBkcm1tb2RlX3Nl dF9zY2Fub3V0X3BpeG1hcCh4Zjg2Q3J0Y1B0ciBjcnRjLCBQaXhtYXBQdHIgcHBpeCkKIAlyZXR1 cm4gVFJVRTsKIH0KIAorc3RhdGljIHZvaWQgZHJtbW9kZV9jcnRjX2Rlc3Ryb3koeGY4NkNydGNQ dHIgY3J0YykKK3sKKwlkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0 Yy0+ZHJpdmVyX3ByaXZhdGU7CisKKwlkcm1Nb2RlRnJlZUNydGMoZHJtbW9kZV9jcnRjLT5tb2Rl X2NydGMpOworCisJLyogRnJlZSBMVVRzIGFuZCBDVE0gKi8KKwlmcmVlKGRybW1vZGVfY3J0Yy0+ Z2FtbWFfbHV0KTsKKwlmcmVlKGRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXQpOworCWZyZWUoZHJt bW9kZV9jcnRjLT5jdG0pOworCisJZnJlZShkcm1tb2RlX2NydGMpOworCWNydGMtPmRyaXZlcl9w cml2YXRlID0gTlVMTDsKK30KKworCiBzdGF0aWMgeGY4NkNydGNGdW5jc1JlYyBkcm1tb2RlX2Ny dGNfZnVuY3MgPSB7CiAJLmRwbXMgPSBkcm1tb2RlX2NydGNfZHBtcywKIAkuc2V0X21vZGVfbWFq b3IgPSBkcm1tb2RlX3NldF9tb2RlX21ham9yLApAQCAtMTMwOSw3ICsxNDAyLDcgQEAgc3RhdGlj IHhmODZDcnRjRnVuY3NSZWMgZHJtbW9kZV9jcnRjX2Z1bmNzID0gewogCS5zaGFkb3dfY3JlYXRl ID0gZHJtbW9kZV9jcnRjX3NoYWRvd19jcmVhdGUsCiAJLnNoYWRvd19hbGxvY2F0ZSA9IGRybW1v ZGVfY3J0Y19zaGFkb3dfYWxsb2NhdGUsCiAJLnNoYWRvd19kZXN0cm95ID0gZHJtbW9kZV9jcnRj X3NoYWRvd19kZXN0cm95LAotCS5kZXN0cm95ID0gTlVMTCwJLyogWFhYICovCisJLmRlc3Ryb3kg PSBkcm1tb2RlX2NydGNfZGVzdHJveSwKIAkuc2V0X3NjYW5vdXRfcGl4bWFwID0gZHJtbW9kZV9z ZXRfc2Nhbm91dF9waXhtYXAsCiB9OwogCkBAIC0xMzUzLDYgKzE0NDYsMTggQEAgZHJtbW9kZV9j cnRjX2luaXQoU2NybkluZm9QdHIgcFNjcm4sIGRybW1vZGVfcHRyIGRybW1vZGUsIGRybU1vZGVS ZXNQdHIgbW9kZV9yZXMKIAljcnRjLT5kcml2ZXJfcHJpdmF0ZSA9IGRybW1vZGVfY3J0YzsKIAlk cm1tb2RlX2NydGNfaHdfaWQoY3J0Yyk7CiAKKwlkcm1tb2RlX2NydGMtPmdhbW1hX2x1dF9zaXpl ID0KKwkJKHVpbnQzMl90KWdldF9kcm1fY21fcHJvcF92YWx1ZShjcnRjLCBDTV9HQU1NQV9MVVRf U0laRSk7CisJZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dF9zaXplID0KKwkJKHVpbnQzMl90KWdl dF9kcm1fY21fcHJvcF92YWx1ZShjcnRjLCBDTV9ERUdBTU1BX0xVVF9TSVpFKTsKKwlkcm1tb2Rl X2NydGMtPmN0bSA9IGNhbGxvYygxLCBzaXplb2YoKmRybW1vZGVfY3J0Yy0+Y3RtKSk7CisJaWYg KGRybW1vZGVfY3J0Yy0+Y3RtID09IE5VTEwpCisJCXJldHVybiAwOworCisJLyogSW5pdCB0byBp ZGVudGl0eSBtYXRyaXguIFZhbHVlcyBhcmUgaW4gUzMxLjMyIGZpeGVkLXBvaW50IGZvcm1hdCAq LworCWRybW1vZGVfY3J0Yy0+Y3RtLT5tYXRyaXhbMF0gPSBkcm1tb2RlX2NydGMtPmN0bS0+bWF0 cml4WzRdID0KKwkJZHJtbW9kZV9jcnRjLT5jdG0tPm1hdHJpeFs4XSA9ICh1aW50NjRfdCkxIDw8 IDMyOworCiAJLyogTWFyayBudW0ndGggY3J0YyBhcyBpbiB1c2Ugb24gdGhpcyBkZXZpY2UuICov CiAJcEFNREdQVUVudC0+YXNzaWduZWRfY3J0Y3MgfD0gKDEgPDwgbnVtKTsKIAl4Zjg2RHJ2TXNn VmVyYihwU2Nybi0+c2NybkluZGV4LCBYX0lORk8sIEFNREdQVV9MT0dMRVZFTF9ERUJVRywKZGlm ZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuaCBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuaApp bmRleCAyNWFlOWY4Li4yMTQ5OGUzIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmgK KysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5oCkBAIC0xMDksNiArMTA5LDE0IEBAIHR5cGVkZWYg c3RydWN0IHsKIAl1bnNpZ25lZCBwcmVzZW50X3ZibGFua19tc2M7CiAJQm9vbCBwcmVzZW50X2Zs aXBfZXhwZWN0ZWQ7CiAjZW5kaWYKKworCXVpbnQzMl90IGdhbW1hX2x1dF9zaXplOworCXN0cnVj dCBkcm1fY29sb3JfbHV0ICpnYW1tYV9sdXQ7CisKKwl1aW50MzJfdCBkZWdhbW1hX2x1dF9zaXpl OworCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpkZWdhbW1hX2x1dDsKKworCXN0cnVjdCBkcm1fY29s b3JfY3RtICpjdG07CiB9IGRybW1vZGVfY3J0Y19wcml2YXRlX3JlYywgKmRybW1vZGVfY3J0Y19w cml2YXRlX3B0cjsKIAogdHlwZWRlZiBzdHJ1Y3QgewotLSAKMi43LjQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=