From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 1/7] Cache color property IDs during pre-init Date: Fri, 1 Jun 2018 12:03:31 -0400 Message-ID: <1527869017-9209-2-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+CgpEUk0gY3JlYXRl cyBwcm9wZXJ0eSB0eXBlcyB3aXRoIHVuaXF1ZSBJRHMgZHVyaW5nIGtlcm5lbCBkcml2ZXIgaW5p dC4KQ2FjaGUgdGhlIGNvbG9yIHByb3BlcnR5IElEcyBvbiBERFggaW5pdCBmb3IgdXNlIGxhdGVy LCB3aGVuIHdlIG5lZWQKdG8gbW9kaWZ5IHRoZXNlIHByb3BlcnRpZXMuCgpTaW5jZSB0aGVzZSBJ RHMgYXJlIHRoZSBzYW1lIHJlZ2FyZGxlc3Mgb2YgdGhlIENSVEMsIHRoZXkgY2FuIGJlCmNhY2hl ZCB3aXRoaW4gdGhlIHByaXZhdGUgZHJtbW9kZV9yZWMgb2JqZWN0LiBXZSBjYW4gYWxzbyB1c2Ug YW55IGNvbG9yLQptYW5hZ2VtZW50LWVuYWJsZWQgQ1JUQyB0byBpbml0aWFsbHkgZmV0Y2ggdGhl c2UgSURzLgoKQWxzbyBpbnRyb2R1Y2UgYW4gZW51bWVyYXRpb24gb2YgcG9zc2libGUgY29sb3Ig bWFuYWdlbWVudCBwcm9wZXJ0aWVzLAp0byBwcm92aWRlIGEgZWFzeSBhbmQgdW5pZmllZCB3YXkg b2YgcmVmZXJyaW5nIHRvIHRoZW0uCgpTaWduZWQtb2ZmLWJ5OiBMZW8gKFN1bnBlbmcpIExpIDxz dW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogc3JjL2RybW1vZGVfZGlzcGxheS5jIHwgOTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvZHJtbW9k ZV9kaXNwbGF5LmggfCAxOSArKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMDkgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3NyYy9kcm1tb2Rl X2Rpc3BsYXkuYwppbmRleCA4YTFhMjAxLi4zNmIyMmFkIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9k ZV9kaXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC03NDYsNiArNzQ2LDI4 IEBAIGRybW1vZGVfY3J0Y19zY2Fub3V0X3VwZGF0ZSh4Zjg2Q3J0Y1B0ciBjcnRjLCBEaXNwbGF5 TW9kZVB0ciBtb2RlLAogCX0KIH0KIAorc3RhdGljIGNoYXIgKmNtX3Byb3BfbmFtZXNbXSA9IHsK KwkiR0FNTUFfTFVUX1NJWkUiLAorCSJERUdBTU1BX0xVVF9TSVpFIiwKKwkiR0FNTUFfTFVUIiwK KwkiQ1RNIiwKKwkiREVHQU1NQV9MVVQiLAorfTsKKworLyoqCisgKiBSZXR1cm4gdGhlIGVudW0g b2YgdGhlIGNvbG9yIG1hbmFnZW1lbnQgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4KKyAq Lworc3RhdGljIGVudW0gZHJtbW9kZV9jbV9wcm9wIGdldF9jbV9lbnVtX2Zyb21fc3RyKGNvbnN0 IGNoYXIgKnByb3BfbmFtZSkKK3sKKwllbnVtIGRybW1vZGVfY21fcHJvcCByZXQ7CisKKwlmb3Ig KHJldCA9IDA7IHJldCA8IENNX05VTV9QUk9QUzsgcmV0KyspIHsKKwkJaWYgKCFzdHJjbXAocHJv cF9uYW1lLCBjbV9wcm9wX25hbWVzW3JldF0pKQorCQkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJu IENNX0lOVkFMSURfUFJPUDsKK30KKwogc3RhdGljIHZvaWQKIGRybW1vZGVfY3J0Y19nYW1tYV9k b19zZXQoeGY4NkNydGNQdHIgY3J0YywgdWludDE2X3QgKnJlZCwgdWludDE2X3QgKmdyZWVuLAog CQkJICB1aW50MTZfdCAqYmx1ZSwgaW50IHNpemUpCkBAIC0yNDEzLDYgKzI0MzUsNzIgQEAgZHJt bW9kZV9wYWdlX2ZsaXBfdGFyZ2V0X3JlbGF0aXZlKEFNREdQVUVudFB0ciBwQU1ER1BVRW50LAog CQkJCSBkcm1fcXVldWVfc2VxKTsKIH0KIAorLyoqCisgKiBDYWNoZSBEUk0gY29sb3IgbWFuYWdl bWVudCBwcm9wZXJ0eSB0eXBlIElEcy4gVGhpcyBzaG91bGQgYmUgZG9uZSBkdXJpbmcgRERYCisg KiBpbml0aWFsaXphdGlvbiwgYXMgdGhlc2UgSURzIGRvIG5vdCBjaGFuZ2UuIFRoZXkgd2lsbCBi ZSB1c2VkIGxhdGVyIHRvCisgKiBtb2RpZnkgY29sb3IgbWFuYWdlbWVudCB2aWEgRFJNLCBvciB0 byBkZXRlcm1pbmUgaWYgdGhlcmUncyBhbnkgQ1JUQyhzKSB0aGF0CisgKiBzdXBwb3J0IGNvbG9y IG1hbmFnZW1lbnQuCisgKgorICogSWYgdGhlIGNhY2hlIElEJ3MgYXJlIGFsbCAwIGFmdGVyIGNh bGxpbmcgdGhpcyBmdW5jdGlvbiwgdGhlbiBjb2xvcgorICogbWFuYWdlbWVudCBpcyBub3Qgc3Vw cG9ydGVkIGJ5IGFueSBDUlRDLiBGb3Igc2hvcnQsIGNoZWNraW5nIGlmIHRoZSBnYW1tYQorICog TFVUIHNpemUgcHJvcGVydHkgSUQgPT0gMCBpcyBzdWZmaWNpZW50LgorICoKKyAqIEBkcm1fZmQ6 IERSTSBmaWxlIGRlc2NyaXB0b3IKKyAqIEBkcm1tb2RlOiBkcm1tb2RlIG9iamVjdCwgd2hlcmUg dGhlIGNhY2hlZCBJRHMgYXJlIHN0b3JlZAorICogQG1vZGVfcmVzOiBUaGUgRFJNIG1vZGUgcmVz b3VyY2UgY29udGFpbmluZyB0aGUgQ1JUQyBpZHMKKyAqLworc3RhdGljIHZvaWQgZHJtbW9kZV9j YWNoZV9jbV9wcm9wX2lkcyhpbnQgZHJtX2ZkLAorCQkJCSAgICAgIGRybW1vZGVfcHRyIGRybW1v ZGUsCisJCQkJICAgICAgZHJtTW9kZVJlc1B0ciBtb2RlX3JlcykKK3sKKwlkcm1Nb2RlT2JqZWN0 UHJvcGVydGllc1B0ciBkcm1fcHJvcHM7CisJZHJtTW9kZVByb3BlcnR5UHRyIGRybV9wcm9wOwor CWVudW0gZHJtbW9kZV9jbV9wcm9wIGNtX3Byb3A7CisJdWludDMyX3QgY21fZW5hYmxlZCA9IDA7 CisJdWludDMyX3QgY21fYWxsX2VuYWJsZWQgPSAoMSA8PCBDTV9OVU1fUFJPUFMpIC0gMTsKKwlp bnQgaSwgajsKKworCW1lbXNldChkcm1tb2RlLT5jbV9wcm9wX2lkcywgMCwgc2l6ZW9mKGRybW1v ZGUtPmNtX3Byb3BfaWRzKSk7CisKKwkvKiBJZiBldmVuIG9uZSBDUlRDIHN1cHBvcnRzIGNtLCB0 aGVuIHdlIGNhY2hlIHRoZSBwcm9wZXJ0aWVzLgorCSAqIE90aGVyd2lzZSwgc2V0IHRoZW0gYWxs IHRvIDAuCisJICovCisJZm9yIChpID0gMDsgaSA8IGRybW1vZGUtPmNvdW50X2NydGNzOyBpKysp IHsKKworCQlkcm1fcHJvcHMgPSBkcm1Nb2RlT2JqZWN0R2V0UHJvcGVydGllcyhkcm1fZmQsCisJ CQkJCQkgICAgICAgbW9kZV9yZXMtPmNydGNzW2ldLAorCQkJCQkJICAgICAgIERSTV9NT0RFX09C SkVDVF9DUlRDKTsKKwkJaWYgKCFkcm1fcHJvcHMpCisJCQljb250aW51ZTsKKworCQlmb3IgKGog PSAwOyBqIDwgZHJtX3Byb3BzLT5jb3VudF9wcm9wczsgaisrKSB7CisJCQlkcm1fcHJvcCA9IGRy bU1vZGVHZXRQcm9wZXJ0eShkcm1fZmQsCisJCQkJCQkgICAgICBkcm1fcHJvcHMtPnByb3BzW2pd KTsKKwkJCWlmICghZHJtX3Byb3ApCisJCQkJLyogTm8gZ3VhcmFudGVlIHRoYXQgdGhlIHByb3Bl cnR5IHdlIGZhaWxlZCB0bworCQkJCSAqIGdldCBpc24ndCBhIGNtIHByb3BlcnR5LiBTa2lwIHRv IG5leHQgQ1JUQy4KKwkJCQkgKi8KKwkJCQlicmVhazsKKworCQkJY21fcHJvcCA9IGdldF9jbV9l bnVtX2Zyb21fc3RyKGRybV9wcm9wLT5uYW1lKTsKKwkJCWlmIChjbV9wcm9wID09IENNX0lOVkFM SURfUFJPUCkKKwkJCQljb250aW51ZTsKKworCQkJZHJtbW9kZS0+Y21fcHJvcF9pZHNbY21fcHJv cF0gPSBkcm1fcHJvcHMtPnByb3BzW2pdOworCQkJY21fZW5hYmxlZCB8PSAxIDw8IGNtX3Byb3A7 CisKKwkJCWRybU1vZGVGcmVlUHJvcGVydHkoZHJtX3Byb3ApOworCQl9CisJCWRybU1vZGVGcmVl T2JqZWN0UHJvcGVydGllcyhkcm1fcHJvcHMpOworCisJCWlmIChjbV9lbmFibGVkID09IGNtX2Fs bF9lbmFibGVkKQorCQkJYnJlYWs7CisKKwkJY21fZW5hYmxlZCA9IDA7CisJCW1lbXNldChkcm1t b2RlLT5jbV9wcm9wX2lkcywgMCwgc2l6ZW9mKGRybW1vZGUtPmNtX3Byb3BfaWRzKSk7CisJfQor fQorCiBCb29sIGRybW1vZGVfcHJlX2luaXQoU2NybkluZm9QdHIgcFNjcm4sIGRybW1vZGVfcHRy IGRybW1vZGUsIGludCBjcHApCiB7CiAJQU1ER1BVRW50UHRyIHBBTURHUFVFbnQgPSBBTURHUFVF bnRQcml2KHBTY3JuKTsKQEAgLTI0NTksNiArMjU0Nyw4IEBAIEJvb2wgZHJtbW9kZV9wcmVfaW5p dChTY3JuSW5mb1B0ciBwU2NybiwgZHJtbW9kZV9wdHIgZHJtbW9kZSwgaW50IGNwcCkKIAlpZiAo cFNjcm4tPmRlcHRoID09IDMwKQogCQlpbmZvLT5kcm1tb2RlX2NydGNfZnVuY3MuZ2FtbWFfc2V0 ID0gTlVMTDsKIAorCWRybW1vZGVfY2FjaGVfY21fcHJvcF9pZHMocEFNREdQVUVudC0+ZmQsIGRy bW1vZGUsIG1vZGVfcmVzKTsKKwogCWZvciAoaSA9IDA7IGkgPCBtb2RlX3Jlcy0+Y291bnRfY3J0 Y3M7IGkrKykKIAkJaWYgKCF4Zjg2SXNFbnRpdHlTaGFyZWQocFNjcm4tPmVudGl0eUxpc3RbMF0p IHx8CiAJCSAgICAoY3J0Y3NfbmVlZGVkICYmICEocEFNREdQVUVudC0+YXNzaWduZWRfY3J0Y3Mg JiAoMSA8PCBpKSkpKQpkaWZmIC0tZ2l0IGEvc3JjL2RybW1vZGVfZGlzcGxheS5oIGIvc3JjL2Ry bW1vZGVfZGlzcGxheS5oCmluZGV4IDI1YWU5ZjguLmJiYjU0MjMgMTAwNjQ0Ci0tLSBhL3NyYy9k cm1tb2RlX2Rpc3BsYXkuaAorKysgYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmgKQEAgLTM2LDYgKzM2 LDIyIEBACiAjaW5jbHVkZSAiYW1kZ3B1X3Byb2JlLmgiCiAjaW5jbHVkZSAiYW1kZ3B1LmgiCiAK Ky8qCisgKiBFbnVtIG9mIG5vbi1sZWdhY3kgY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0aWVzLCBh Y2NvcmRpbmcgdG8gRFJNLiBUaGUgdmFsdWVzCisgKiBzaG91bGQgYmUgaW5jcmVtZW50YWwsIHN0 YXJ0aW5nIHdpdGggMCwgYXMgZGVmaW5lZCBieSBDOTkgKHdpdGggdGhlCisgKiBleGNlcHRpb24g b2YgdGhlIElOVkFMSUQgbWVtYmVyKS4gVGhlcmUgYXJlIGxvZ2ljcyB0aGF0IGRlcGVuZCBvbiB0 aGlzIGZhY3QKKyAqIChpLmUuIGJpdG1hc2tzKS4KKyAqLworZW51bSBkcm1tb2RlX2NtX3Byb3Ag eworCUNNX0dBTU1BX0xVVF9TSVpFLAorCUNNX0RFR0FNTUFfTFVUX1NJWkUsCisJQ01fR0FNTUFf TFVULAorCUNNX0NUTSwKKwlDTV9ERUdBTU1BX0xVVCwKKwlDTV9OVU1fUFJPUFMsCisJQ01fSU5W QUxJRF9QUk9QID0gLTEsCit9OworCiB0eXBlZGVmIHN0cnVjdCB7CiAJU2NybkluZm9QdHIgc2Ny bjsKICNpZmRlZiBIQVZFX0xJQlVERVYKQEAgLTQ5LDYgKzY1LDkgQEAgdHlwZWRlZiBzdHJ1Y3Qg ewogCiAJQm9vbCBkcmkyX2ZsaXBwaW5nOwogCUJvb2wgcHJlc2VudF9mbGlwcGluZzsKKworCS8q IENhY2hlIGZvciBEUk0gcHJvcGVydHkgdHlwZSBJRHMgZm9yIENSVEMgY29sb3IgbWFuYWdlbWVu dCAqLworCXVpbnQzMl90IGNtX3Byb3BfaWRzW0NNX05VTV9QUk9QU107CiB9IGRybW1vZGVfcmVj LCAqZHJtbW9kZV9wdHI7CiAKIHR5cGVkZWYgc3RydWN0IHsKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlz dAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK