From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu v2 2/7] Initialize color properties on CRTC during CRTC init Date: Fri, 15 Jun 2018 17:04:44 -0400 Message-ID: <1529096684-22070-1-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-3-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-3-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+CgpBbmQgZGVzdHJv eSB0aGVtIG9uIHRoZSBDUlRDIGRlc3Ryb3kgaG9vay4KCldoZW4gaW5pdGlhbGl6aW5nIGNvbG9y IG1hbmFnZW1lbnQgcHJvcGVydGllcyBvbiB0aGUgcHJpdmF0ZQpkcm1tb2RlX2NydGMsIHdlIHdh bnQgdG86CgoxLiBEZWZhdWx0IGl0cyBjb2xvciB0cmFuc2Zvcm0gbWF0cml4IChDVE0pIHRvIGlk ZW50aXR5CjIuIFByb2dyYW0gaGFyZHdhcmUgd2l0aCBkZWZhdWx0IGNvbG9yIG1hbmFnZW1lbnQg dmFsdWVzIChTUkdCIGZvcgogICBkZS9yZWdhbW1hLCBpZGVudGl0eSBmb3IgQ1RNKQoKSXQncyBw b3NzaWJsZSB0aGF0IGNtIGluaXRpYWxpemF0aW9uIGZhaWxzIGR1ZSB0byBtZW1vcnkgZXJyb3Ig b3IgRFJNCmVycm9yLiBJbiB3aGljaCBjYXNlLCB0aGUgUmFuZFIgc3RhdGUgbWF5IG5vdCByZWZs ZWN0IHRoZSBhY3R1YWwKaGFyZHdhcmUgc3RhdGUuCgp2MjoKLSBVc2Ugc3dpdGNoIHN0YXRlbWVu dCBpbiBwdXNoX2NtX3Byb3AKLSBHZXQgcmlkIG9mIHBlci1DUlRDIGNtIHN1cHBvcnQgY2hlY2tz LiBLZWVwIGl0IHNpbXBsZSBhbmQgb25seSBjaGVjawogIHRoZSBmaXJzdCBDUlRDLCBzaW5jZSBr ZXJuZWwgd2lsbCBhbHdheXMgcmVwb3J0IGFsbCBvciBub3RoaW5nIGZvciBBTUQKICBoYXJkd2Fy ZS4KLSBSZW1vdmUgcGVyLUNSVEMgTFVUIHNpemUgY2FjaGluZywgZHJtbW9kZSBub3cgaG9sZHMg dGhhdC4gVXBkYXRlCiAgY29tbWl0IG1lc3NhZ2UgdG8gcmVmbGVjdCB0aGlzLgoKU2lnbmVkLW9m Zi1ieTogTGVvIChTdW5wZW5nKSBMaSA8c3VucGVuZy5saUBhbWQuY29tPgotLS0KIHNyYy9kcm1t b2RlX2Rpc3BsYXkuYyB8IDE0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLQogc3JjL2RybW1vZGVfZGlzcGxheS5oIHwgICAzICsrCiAyIGZpbGVzIGNo YW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj L2RybW1vZGVfZGlzcGxheS5jIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCmluZGV4IDk5NGYxMzAu LmQ3NTA0MTAgMTAwNjQ0Ci0tLSBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYworKysgYi9zcmMvZHJt bW9kZV9kaXNwbGF5LmMKQEAgLTc2OCw2ICs3NjgsODkgQEAgc3RhdGljIGVudW0gZHJtbW9kZV9j bV9wcm9wIGdldF9jbV9lbnVtX2Zyb21fc3RyKGNvbnN0IGNoYXIgKnByb3BfbmFtZSkKIAlyZXR1 cm4gQ01fSU5WQUxJRF9QUk9QOwogfQogCisvKioKKyAqIFJldHVybiBUUlVFIGlmIGtlcm5lbCBz dXBwb3J0cyBub24tbGVnYWN5IGNvbG9yIG1hbmFnZW1lbnQuCisgKi8KK3N0YXRpYyBCb29sIGRy bW1vZGVfY21fZW5hYmxlZChkcm1tb2RlX3B0ciBkcm1tb2RlKQoreworCXJldHVybiBkcm1tb2Rl LT5jbV9wcm9wX2lkc1tDTV9HQU1NQV9MVVRfU0laRV0gIT0gMDsKK30KKworLyoqCisgKiBQdXNo IHN0YWdlZCBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnRpZXMgb24gdGhlIENSVEMgdG8gRFJNLgor ICoKKyAqIEBjcnRjOiBUaGUgQ1JUQyBjb250YWluaW5nIHN0YWdlZCBwcm9wZXJ0aWVzCisgKiBA Y21fcHJvcF9pbmRleDogVGhlIGNvbG9yIHByb3BlcnR5IHRvIHB1c2gKKyAqCisgKiBSZXR1cm4g MCBvbiBzdWNjZXNzLCBYLWRlZmluZWQgZXJyb3IgY29kZXMgb24gZmFpbHVyZS4KKyAqLworc3Rh dGljIGludCBkcm1tb2RlX2NydGNfcHVzaF9jbV9wcm9wKHhmODZDcnRjUHRyIGNydGMsCisJCQkJ ICAgICBlbnVtIGRybW1vZGVfY21fcHJvcCBjbV9wcm9wX2luZGV4KQoreworCWRybW1vZGVfY3J0 Y19wcml2YXRlX3B0ciBkcm1tb2RlX2NydGMgPSBjcnRjLT5kcml2ZXJfcHJpdmF0ZTsKKwlBTURH UFVFbnRQdHIgcEFNREdQVUVudCA9IEFNREdQVUVudFByaXYoY3J0Yy0+c2Nybik7CisJZHJtbW9k ZV9wdHIgZHJtbW9kZSA9IGRybW1vZGVfY3J0Yy0+ZHJtbW9kZTsKKwl1aW50MzJfdCBjcmVhdGVk X2Jsb2JfaWQgPSAwOworCXVpbnQzMl90IGRybV9wcm9wX2lkOworCXNpemVfdCBleHBlY3RlZF9i eXRlcyA9IDA7CisJdm9pZCAqYmxvYl9kYXRhID0gTlVMTDsKKwlpbnQgcmV0OworCisJc3dpdGNo IChjbV9wcm9wX2luZGV4KSB7CisJY2FzZSBDTV9HQU1NQV9MVVQ6CisJCS8qIENhbGN1bGF0ZSB0 aGUgZXhwZWN0ZWQgc2l6ZSBvZiB2YWx1ZSBpbiBieXRlcyAqLworCQlleHBlY3RlZF9ieXRlcyA9 IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKgorCQkJCQlkcm1tb2RlLT5nYW1tYV9sdXRf c2l6ZTsKKwkJYmxvYl9kYXRhID0gZHJtbW9kZV9jcnRjLT5nYW1tYV9sdXQ7CisJCWJyZWFrOwor CWNhc2UgQ01fREVHQU1NQV9MVVQ6CisJCWV4cGVjdGVkX2J5dGVzID0gc2l6ZW9mKHN0cnVjdCBk cm1fY29sb3JfbHV0KSAqCisJCQkJCWRybW1vZGUtPmRlZ2FtbWFfbHV0X3NpemU7CisJCWJsb2Jf ZGF0YSA9IGRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXQ7CisJCWJyZWFrOworCWNhc2UgQ01fQ1RN OgorCQlleHBlY3RlZF9ieXRlcyA9IHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2N0bSk7CisJCWJs b2JfZGF0YSA9IGRybW1vZGVfY3J0Yy0+Y3RtOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1 cm4gQmFkTmFtZTsKKwl9CisKKwlpZiAoYmxvYl9kYXRhKSB7CisJCXJldCA9IGRybU1vZGVDcmVh dGVQcm9wZXJ0eUJsb2IocEFNREdQVUVudC0+ZmQsCisJCQkJCQlibG9iX2RhdGEsIGV4cGVjdGVk X2J5dGVzLAorCQkJCQkJJmNyZWF0ZWRfYmxvYl9pZCk7CisJCWlmIChyZXQpIHsKKwkJCXhmODZE cnZNc2coY3J0Yy0+c2Nybi0+c2NybkluZGV4LCBYX0VSUk9SLAorCQkJCSAgICJDcmVhdGluZyBE Uk0gYmxvYiBmYWlsZWQgd2l0aCBlcnJubyAlZFxuIiwKKwkJCQkgICByZXQpOworCQkJcmV0dXJu IEJhZFJlcXVlc3Q7CisJCX0KKwl9CisKKwlkcm1fcHJvcF9pZCA9IGRybW1vZGVfY3J0Yy0+ZHJt bW9kZS0+Y21fcHJvcF9pZHNbY21fcHJvcF9pbmRleF07CisJcmV0ID0gZHJtTW9kZU9iamVjdFNl dFByb3BlcnR5KHBBTURHUFVFbnQtPmZkLAorCQkJCSAgICAgICBkcm1tb2RlX2NydGMtPm1vZGVf Y3J0Yy0+Y3J0Y19pZCwKKwkJCQkgICAgICAgRFJNX01PREVfT0JKRUNUX0NSVEMsCisJCQkJICAg ICAgIGRybV9wcm9wX2lkLAorCQkJCSAgICAgICAodWludDY0X3QpY3JlYXRlZF9ibG9iX2lkKTsK KworCS8qIElmIHN1Y2Nlc3NmdWwsIGtlcm5lbCB3aWxsIGhhdmUgYSByZWZlcmVuY2UgYWxyZWFk eS4gU2FmZSB0byBkZXN0cm95CisJICogdGhlIGJsb2IgZWl0aGVyIHdheS4KKwkgKi8KKwlpZiAo YmxvYl9kYXRhKQorCQlkcm1Nb2RlRGVzdHJveVByb3BlcnR5QmxvYihwQU1ER1BVRW50LT5mZCwg Y3JlYXRlZF9ibG9iX2lkKTsKKworCWlmIChyZXQpIHsKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3Ju LT5zY3JuSW5kZXgsIFhfRVJST1IsCisJCQkgICAiU2V0dGluZyBEUk0gcHJvcGVydHkgYmxvYiBm YWlsZWQgd2l0aCBlcnJubyAlZFxuIiwKKwkJCSAgIHJldCk7CisJCXJldHVybiBCYWRSZXF1ZXN0 OworCX0KKworCXJldHVybiBTdWNjZXNzOworfQorCiBzdGF0aWMgdm9pZAogZHJtbW9kZV9jcnRj X2dhbW1hX2RvX3NldCh4Zjg2Q3J0Y1B0ciBjcnRjLCB1aW50MTZfdCAqcmVkLCB1aW50MTZfdCAq Z3JlZW4sCiAJCQkgIHVpbnQxNl90ICpibHVlLCBpbnQgc2l6ZSkKQEAgLTEzMTQsNiArMTM5Nywy MiBAQCBzdGF0aWMgQm9vbCBkcm1tb2RlX3NldF9zY2Fub3V0X3BpeG1hcCh4Zjg2Q3J0Y1B0ciBj cnRjLCBQaXhtYXBQdHIgcHBpeCkKIAlyZXR1cm4gVFJVRTsKIH0KIAorc3RhdGljIHZvaWQgZHJt bW9kZV9jcnRjX2Rlc3Ryb3koeGY4NkNydGNQdHIgY3J0YykKK3sKKwlkcm1tb2RlX2NydGNfcHJp dmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0Yy0+ZHJpdmVyX3ByaXZhdGU7CisKKwlkcm1Nb2Rl RnJlZUNydGMoZHJtbW9kZV9jcnRjLT5tb2RlX2NydGMpOworCisJLyogRnJlZSBMVVRzIGFuZCBD VE0gKi8KKwlmcmVlKGRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0KTsKKwlmcmVlKGRybW1vZGVfY3J0 Yy0+ZGVnYW1tYV9sdXQpOworCWZyZWUoZHJtbW9kZV9jcnRjLT5jdG0pOworCisJZnJlZShkcm1t b2RlX2NydGMpOworCWNydGMtPmRyaXZlcl9wcml2YXRlID0gTlVMTDsKK30KKworCiBzdGF0aWMg eGY4NkNydGNGdW5jc1JlYyBkcm1tb2RlX2NydGNfZnVuY3MgPSB7CiAJLmRwbXMgPSBkcm1tb2Rl X2NydGNfZHBtcywKIAkuc2V0X21vZGVfbWFqb3IgPSBkcm1tb2RlX3NldF9tb2RlX21ham9yLApA QCAtMTMzMCw3ICsxNDI5LDcgQEAgc3RhdGljIHhmODZDcnRjRnVuY3NSZWMgZHJtbW9kZV9jcnRj X2Z1bmNzID0gewogCS5zaGFkb3dfY3JlYXRlID0gZHJtbW9kZV9jcnRjX3NoYWRvd19jcmVhdGUs CiAJLnNoYWRvd19hbGxvY2F0ZSA9IGRybW1vZGVfY3J0Y19zaGFkb3dfYWxsb2NhdGUsCiAJLnNo YWRvd19kZXN0cm95ID0gZHJtbW9kZV9jcnRjX3NoYWRvd19kZXN0cm95LAotCS5kZXN0cm95ID0g TlVMTCwJLyogWFhYICovCisJLmRlc3Ryb3kgPSBkcm1tb2RlX2NydGNfZGVzdHJveSwKIAkuc2V0 X3NjYW5vdXRfcGl4bWFwID0gZHJtbW9kZV9zZXRfc2Nhbm91dF9waXhtYXAsCiB9OwogCkBAIC0x MzU0LDYgKzE0NTMsNTAgQEAgdm9pZCBkcm1tb2RlX2NydGNfaHdfaWQoeGY4NkNydGNQdHIgY3J0 YykKIAkJZHJtbW9kZV9jcnRjLT5od19pZCA9IC0xOwogfQogCisvKioKKyAqIEluaXRpYWxpemUg Y29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0aWVzIGZvciB0aGUgZ2l2ZW4gQ1JUQyBieSBwcm9ncmFt bWluZworICogdGhlIGRlZmF1bHQgZ2FtbWEvZGVnYW1tYSBMVVRzIGFuZCBDVE0uCisgKgorICog SWYgdGhlIENSVEMgZG9lcyBub3Qgc3VwcG9ydCBjb2xvciBtYW5hZ2VtZW50LCBvciBpZiBlcnJv cnMgb2NjdXIgZHVyaW5nCisgKiBpbml0aWFsaXphdGlvbiwgYWxsIGNvbG9yIHByb3BlcnRpZXMg b24gdGhlIGRyaXZlci1wcml2YXRlIENSVEMgd2lsbCBsZWZ0CisgKiBhcyBOVUxMLgorICoKKyAq IEBkcm1fZmQ6IERSTSBmaWxlIGRlc2NyaXB0b3IKKyAqIEBjcnRjOiBDUlRDIHRvIGluaXRpYWxp emUgY29sb3IgbWFuYWdlbWVudCBvbi4KKyAqLworc3RhdGljIHZvaWQgZHJtbW9kZV9jcnRjX2Nt X2luaXQoaW50IGRybV9mZCwgeGY4NkNydGNQdHIgY3J0YykKK3sKKwlkcm1tb2RlX2NydGNfcHJp dmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0Yy0+ZHJpdmVyX3ByaXZhdGU7CisJZHJtbW9kZV9w dHIgZHJtbW9kZSA9IGRybW1vZGVfY3J0Yy0+ZHJtbW9kZTsKKwlpbnQgaTsKKworCWlmICghZHJt bW9kZV9jbV9lbmFibGVkKGRybW1vZGUpKQorCQlyZXR1cm47CisKKwkvKiBJbml0IENUTSB0byBp ZGVudGl0eS4gVmFsdWVzIGFyZSBpbiBTMzEuMzIgZml4ZWQtcG9pbnQgZm9ybWF0ICovCisJZHJt bW9kZV9jcnRjLT5jdG0gPSBjYWxsb2MoMSwgc2l6ZW9mKCpkcm1tb2RlX2NydGMtPmN0bSkpOwor CWlmIChkcm1tb2RlX2NydGMtPmN0bSA9PSBOVUxMKSB7CisJCXhmODZEcnZNc2coY3J0Yy0+c2Ny bi0+c2NybkluZGV4LCBYX0VSUk9SLAorCQkJICAgIk1lbW9yeSBlcnJvciBpbml0aWFsaXppbmcg Q1RNIGZvciBDUlRDJWQiLAorCQkJICAgZHJtbW9kZV9nZXRfY3J0Y19pZChjcnRjKSk7CisJCXJl dHVybjsKKwl9CisKKwlkcm1tb2RlX2NydGMtPmN0bS0+bWF0cml4WzBdID0gZHJtbW9kZV9jcnRj LT5jdG0tPm1hdHJpeFs0XSA9CisJCWRybW1vZGVfY3J0Yy0+Y3RtLT5tYXRyaXhbOF0gPSAodWlu dDY0X3QpMSA8PCAzMjsKKworCS8qIFB1c2ggcHJvcGVydGllcyB0byByZXNldCBwcm9wZXJ0aWVz IGN1cnJlbnRseSBpbiBoYXJkd2FyZSAqLworCWZvciAoaSA9IDA7IGkgPCBDTV9ERUdBTU1BX0xV VF9TSVpFOyBpKyspIHsKKwkJaWYgKGRybW1vZGVfY3J0Y19wdXNoX2NtX3Byb3AoY3J0YywgaSkp CisJCQl4Zjg2RHJ2TXNnKGNydGMtPnNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwKKwkJCQkgICAi RmFpbGVkIHRvIGluaXRpYWxpemUgY29sb3IgbWFuYWdlbWVudCAiCisJCQkJICAgInByb3BlcnR5 ICVzIG9uIENSVEMlZC4gUHJvcGVydHkgdmFsdWUgbWF5ICIKKwkJCQkgICAibm90IHJlZmxlY3Qg YWN0dWFsIGhhcmR3YXJlIHN0YXRlLlxuIiwKKwkJCQkgICBjbV9wcm9wX25hbWVzW2ldLAorCQkJ CSAgIGRybW1vZGVfZ2V0X2NydGNfaWQoY3J0YykpOworCX0KK30KKwogc3RhdGljIHVuc2lnbmVk IGludAogZHJtbW9kZV9jcnRjX2luaXQoU2NybkluZm9QdHIgcFNjcm4sIGRybW1vZGVfcHRyIGRy bW1vZGUsIGRybU1vZGVSZXNQdHIgbW9kZV9yZXMsIGludCBudW0pCiB7CkBAIC0xMzc0LDYgKzE1 MTcsOCBAQCBkcm1tb2RlX2NydGNfaW5pdChTY3JuSW5mb1B0ciBwU2NybiwgZHJtbW9kZV9wdHIg ZHJtbW9kZSwgZHJtTW9kZVJlc1B0ciBtb2RlX3JlcwogCWNydGMtPmRyaXZlcl9wcml2YXRlID0g ZHJtbW9kZV9jcnRjOwogCWRybW1vZGVfY3J0Y19od19pZChjcnRjKTsKIAorCWRybW1vZGVfY3J0 Y19jbV9pbml0KHBBTURHUFVFbnQtPmZkLCBjcnRjKTsKKwogCS8qIE1hcmsgbnVtJ3RoIGNydGMg YXMgaW4gdXNlIG9uIHRoaXMgZGV2aWNlLiAqLwogCXBBTURHUFVFbnQtPmFzc2lnbmVkX2NydGNz IHw9ICgxIDw8IG51bSk7CiAJeGY4NkRydk1zZ1ZlcmIocFNjcm4tPnNjcm5JbmRleCwgWF9JTkZP LCBBTURHUFVfTE9HTEVWRUxfREVCVUcsCmRpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5 LmggYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmgKaW5kZXggNGFhOGU4OC4uMGYwMjI3YyAxMDA2NDQK LS0tIGEvc3JjL2RybW1vZGVfZGlzcGxheS5oCisrKyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuaApA QCAtMTMxLDYgKzEzMSw5IEBAIHR5cGVkZWYgc3RydWN0IHsKIAl1bnNpZ25lZCBwcmVzZW50X3Zi bGFua19tc2M7CiAJQm9vbCBwcmVzZW50X2ZsaXBfZXhwZWN0ZWQ7CiAjZW5kaWYKKwlzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCAqZGVnYW1tYV9sdXQ7CisJc3RydWN0IGRybV9jb2xvcl9jdG0gKmN0bTsK KwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqZ2FtbWFfbHV0OwogfSBkcm1tb2RlX2NydGNfcHJpdmF0 ZV9yZWMsICpkcm1tb2RlX2NydGNfcHJpdmF0ZV9wdHI7CiAKIHR5cGVkZWYgc3RydWN0IHsKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwph bWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK