From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu v2 1/7] Cache color property IDs and LUT sizes during pre-init Date: Fri, 15 Jun 2018 17:02:57 -0400 Message-ID: <1529096577-21872-1-git-send-email-sunpeng.li@amd.com> References: <1527869017-9209-2-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-2-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 LCB3aGVuIHdlIG5lZWQKdG8gbW9kaWZ5IHRoZXNlIHByb3BlcnRpZXMuIEFsc28gY2FjaGUgdGhl IChkZSlnYW1tYSBMVVQgc2l6ZXMsIHNpbmNlCnRoZXkgYXJlIHRoZSBzYW1lIGZvciBhbGwgQ1JU Q3Mgb24gQU1EIGhhcmR3YXJlLgoKU2luY2UgdGhlc2UgdmFsdWVzIGFyZSB0aGUgc2FtZSByZWdh cmRsZXNzIG9mIHRoZSBDUlRDLCB0aGV5IGNhbiBiZQpjYWNoZWQgd2l0aGluIHRoZSBwcml2YXRl IGRybW1vZGVfcmVjIG9iamVjdC4gV2UgY2FuIGFsc28gdXNlIGFueSBjb2xvci0KbWFuYWdlbWVu dC1lbmFibGVkIENSVEMgdG8gaW5pdGlhbGx5IGZldGNoIHRoZW0uCgpBbHNvIGludHJvZHVjZSBh biBlbnVtZXJhdGlvbiBvZiBwb3NzaWJsZSBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnRpZXMsCnRv IHByb3ZpZGUgYSBlYXN5IGFuZCB1bmlmaWVkIHdheSBvZiByZWZlcnJpbmcgdG8gdGhlbS4KCnYy OgotIFJlb3JkZXIgY20gcHJvcGVydHkgZW51bSBzbyB0aGF0IExVVCBzaXplcyBhcmUgYXQgdGhl IGVuZC4gVGhpcyBhbGxvd3MKICB1cyB0byB1c2UgREVHQU1NQV9MVVRfU0laRSBhcyBhbiBhbmNo b3IgZm9yIGl0ZXJhdGluZyBvdmVyIG11dGFibGUgY20KICBwcm9wZXJ0aWVzLgotIENhY2hlIChk ZSlnYW1tYSBMVVQgc2l6ZXMgd2l0aGluIGRybW1vZGUsIHNpbmNlIGl0J3MgdGhlIHNhbWUgZm9y IGFsbAogIENSVENzIG9uIEFNRCBoYXJkd2FyZS4gVXBkYXRlIGNvbW1pdCBtZXNzYWdlIHRvIHJl ZmxlY3QgdGhpcy4KClNpZ25lZC1vZmYtYnk6IExlbyAoU3VucGVuZykgTGkgPHN1bnBlbmcubGlA YW1kLmNvbT4KLS0tCiBzcmMvZHJtbW9kZV9kaXNwbGF5LmMgfCA5OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9kcm1tb2RlX2Rpc3BsYXku aCB8IDIyICsrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXku YwppbmRleCA4YTFhMjAxLi45OTRmMTMwIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9kZV9kaXNwbGF5 LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC03NDYsNiArNzQ2LDI4IEBAIGRybW1v ZGVfY3J0Y19zY2Fub3V0X3VwZGF0ZSh4Zjg2Q3J0Y1B0ciBjcnRjLCBEaXNwbGF5TW9kZVB0ciBt b2RlLAogCX0KIH0KIAorc3RhdGljIGNoYXIgKmNtX3Byb3BfbmFtZXNbXSA9IHsKKwkiREVHQU1N QV9MVVQiLAorCSJDVE0iLAorCSJHQU1NQV9MVVQiLAorCSJERUdBTU1BX0xVVF9TSVpFIiwKKwki R0FNTUFfTFVUX1NJWkUiLAorfTsKKworLyoqCisgKiBSZXR1cm4gdGhlIGVudW0gb2YgdGhlIGNv bG9yIG1hbmFnZW1lbnQgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gbmFtZS4KKyAqLworc3RhdGlj IGVudW0gZHJtbW9kZV9jbV9wcm9wIGdldF9jbV9lbnVtX2Zyb21fc3RyKGNvbnN0IGNoYXIgKnBy b3BfbmFtZSkKK3sKKwllbnVtIGRybW1vZGVfY21fcHJvcCByZXQ7CisKKwlmb3IgKHJldCA9IDA7 IHJldCA8IENNX05VTV9QUk9QUzsgcmV0KyspIHsKKwkJaWYgKCFzdHJjbXAocHJvcF9uYW1lLCBj bV9wcm9wX25hbWVzW3JldF0pKQorCQkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJuIENNX0lOVkFM SURfUFJPUDsKK30KKwogc3RhdGljIHZvaWQKIGRybW1vZGVfY3J0Y19nYW1tYV9kb19zZXQoeGY4 NkNydGNQdHIgY3J0YywgdWludDE2X3QgKnJlZCwgdWludDE2X3QgKmdyZWVuLAogCQkJICB1aW50 MTZfdCAqYmx1ZSwgaW50IHNpemUpCkBAIC0yNDEzLDYgKzI0MzUsODAgQEAgZHJtbW9kZV9wYWdl X2ZsaXBfdGFyZ2V0X3JlbGF0aXZlKEFNREdQVUVudFB0ciBwQU1ER1BVRW50LAogCQkJCSBkcm1f cXVldWVfc2VxKTsKIH0KIAorLyoqCisgKiBJbml0aWFsaXplIEREWCBjb2xvciBtYW5hZ2VtZW50 IHN1cHBvcnQuIEl0IGRvZXMgdHdvIHRoaW5nczoKKyAqCisgKiAxLiBDYWNoZSBEUk0gY29sb3Ig bWFuYWdlbWVudCBwcm9wZXJ0eSB0eXBlIElEcywgYXMgdGhleSBkbyBub3QgY2hhbmdlLiBUaGV5 CisgKiAgICB3aWxsIGJlIHVzZWQgbGF0ZXIgdG8gbW9kaWZ5IGNvbG9yIG1hbmFnZW1lbnQgdmlh IERSTSwgb3IgdG8gZGV0ZXJtaW5lIGlmCisgKiAgICB0aGVyZSdzIGtlcm5lbCBzdXBwb3J0IGZv ciBjb2xvciBtYW5hZ2VtZW50LgorICoKKyAqIDIuIENhY2hlIGRlZ2FtbWEvZ2FtbWEgTFVUIHNp emVzLCBzaW5jZSBhbGwgQ1JUQ3MgaGF2ZSB0aGUgc2FtZSBMVVQgc2l6ZXMgb24KKyAqICAgIEFN RCBoYXJkd2FyZS4KKyAqCisgKiBJZiB0aGUgY2FjaGVkIElEJ3MgYXJlIGFsbCAwIGFmdGVyIGNh bGxpbmcgdGhpcyBmdW5jdGlvbiwgdGhlbiBjb2xvcgorICogbWFuYWdlbWVudCBpcyBub3Qgc3Vw cG9ydGVkLiBGb3Igc2hvcnQsIGNoZWNraW5nIGlmIHRoZSBnYW1tYSBMVVQgc2l6ZQorICogcHJv cGVydHkgSUQgPT0gMCBpcyBzdWZmaWNpZW50LgorICoKKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxl ZCBiZWZvcmUgQ1JUQ3MgYXJlIGluaXRpYWxpemVkIHdpdGhpbiBwcmVfaW5pdCwgYXMgdGhlCisg KiBjYWNoZWQgdmFsdWVzIHdpbGwgYmUgdXNlZCB0aGVyZS4KKyAqCisgKiBAZHJtX2ZkOiBEUk0g ZmlsZSBkZXNjcmlwdG9yCisgKiBAZHJtbW9kZTogZHJtbW9kZSBvYmplY3QsIHdoZXJlIHRoZSBj YWNoZWQgSURzIGFyZSBzdG9yZWQKKyAqIEBtb2RlX3JlczogVGhlIERSTSBtb2RlIHJlc291cmNl IGNvbnRhaW5pbmcgdGhlIENSVEMgaWRzCisgKi8KK3N0YXRpYyB2b2lkIGRybW1vZGVfY21faW5p dChpbnQgZHJtX2ZkLCBkcm1tb2RlX3B0ciBkcm1tb2RlLAorCQkJICAgIGRybU1vZGVSZXNQdHIg bW9kZV9yZXMpCit7CisJZHJtTW9kZU9iamVjdFByb3BlcnRpZXNQdHIgZHJtX3Byb3BzOworCWRy bU1vZGVQcm9wZXJ0eVB0ciBkcm1fcHJvcDsKKwllbnVtIGRybW1vZGVfY21fcHJvcCBjbV9wcm9w OworCXVpbnQzMl90IGNtX2VuYWJsZWQgPSAwOworCXVpbnQzMl90IGNtX2FsbF9lbmFibGVkID0g KDEgPDwgQ01fTlVNX1BST1BTKSAtIDE7CisJaW50IGk7CisKKwltZW1zZXQoZHJtbW9kZS0+Y21f cHJvcF9pZHMsIDAsIHNpemVvZihkcm1tb2RlLT5jbV9wcm9wX2lkcykpOworCWRybW1vZGUtPmdh bW1hX2x1dF9zaXplID0gZHJtbW9kZS0+ZGVnYW1tYV9sdXRfc2l6ZSA9IDA7CisKKwkvKiBBTUQg aGFyZHdhcmUgaGFzIGNvbG9yIG1hbmFnZW1lbnQgc3VwcG9ydCBvbiBhbGwgcGlwZXMuIEl0IGlz CisJICogdGhlcmVmb3JlIHN1ZmZpY2llbnQgdG8gb25seSBjaGVjayB0aGUgZmlyc3QgQ1JUQy4K KwkgKi8KKwlkcm1fcHJvcHMgPSBkcm1Nb2RlT2JqZWN0R2V0UHJvcGVydGllcyhkcm1fZmQsCisJ CQkJCSAgICAgICBtb2RlX3Jlcy0+Y3J0Y3NbMF0sCisJCQkJCSAgICAgICBEUk1fTU9ERV9PQkpF Q1RfQ1JUQyk7CisJaWYgKCFkcm1fcHJvcHMpCisJCXJldHVybjsKKworCWZvciAoaSA9IDA7IGkg PCBkcm1fcHJvcHMtPmNvdW50X3Byb3BzOyBpKyspIHsKKwkJZHJtX3Byb3AgPSBkcm1Nb2RlR2V0 UHJvcGVydHkoZHJtX2ZkLAorCQkJCQkgICAgICBkcm1fcHJvcHMtPnByb3BzW2ldKTsKKwkJaWYg KCFkcm1fcHJvcCkKKwkJCWNvbnRpbnVlOworCisJCWNtX3Byb3AgPSBnZXRfY21fZW51bV9mcm9t X3N0cihkcm1fcHJvcC0+bmFtZSk7CisJCWlmIChjbV9wcm9wID09IENNX0lOVkFMSURfUFJPUCkK KwkJCWNvbnRpbnVlOworCisJCWlmIChjbV9wcm9wID09IENNX0RFR0FNTUFfTFVUX1NJWkUpCisJ CQlkcm1tb2RlLT5kZWdhbW1hX2x1dF9zaXplID0gZHJtX3Byb3BzLT5wcm9wX3ZhbHVlc1tpXTsK KwkJZWxzZSBpZiAoY21fcHJvcCA9PSBDTV9HQU1NQV9MVVRfU0laRSkKKwkJCWRybW1vZGUtPmdh bW1hX2x1dF9zaXplID0gZHJtX3Byb3BzLT5wcm9wX3ZhbHVlc1tpXTsKKworCQlkcm1tb2RlLT5j bV9wcm9wX2lkc1tjbV9wcm9wXSA9IGRybV9wcm9wcy0+cHJvcHNbaV07CisJCWNtX2VuYWJsZWQg fD0gMSA8PCBjbV9wcm9wOworCisJCWRybU1vZGVGcmVlUHJvcGVydHkoZHJtX3Byb3ApOworCX0K Kwlkcm1Nb2RlRnJlZU9iamVjdFByb3BlcnRpZXMoZHJtX3Byb3BzKTsKKworCS8qIGNtIGlzIGVu YWJsZWQgb25seSBpZiBhbGwgcHJvcCBpZHMgYXJlIGZvdW5kICovCisJaWYgKGNtX2VuYWJsZWQg PT0gY21fYWxsX2VuYWJsZWQpCisJCXJldHVybjsKKworCS8qIE90aGVyd2lzZSwgZGlzYWJsZSBE RFggY20gc3VwcG9ydCAqLworCW1lbXNldChkcm1tb2RlLT5jbV9wcm9wX2lkcywgMCwgc2l6ZW9m KGRybW1vZGUtPmNtX3Byb3BfaWRzKSk7CisJZHJtbW9kZS0+Z2FtbWFfbHV0X3NpemUgPSBkcm1t b2RlLT5kZWdhbW1hX2x1dF9zaXplID0gMDsKK30KKwogQm9vbCBkcm1tb2RlX3ByZV9pbml0KFNj cm5JbmZvUHRyIHBTY3JuLCBkcm1tb2RlX3B0ciBkcm1tb2RlLCBpbnQgY3BwKQogewogCUFNREdQ VUVudFB0ciBwQU1ER1BVRW50ID0gQU1ER1BVRW50UHJpdihwU2Nybik7CkBAIC0yNDU5LDYgKzI1 NTUsOCBAQCBCb29sIGRybW1vZGVfcHJlX2luaXQoU2NybkluZm9QdHIgcFNjcm4sIGRybW1vZGVf cHRyIGRybW1vZGUsIGludCBjcHApCiAJaWYgKHBTY3JuLT5kZXB0aCA9PSAzMCkKIAkJaW5mby0+ ZHJtbW9kZV9jcnRjX2Z1bmNzLmdhbW1hX3NldCA9IE5VTEw7CiAKKwlkcm1tb2RlX2NtX2luaXQo cEFNREdQVUVudC0+ZmQsIGRybW1vZGUsIG1vZGVfcmVzKTsKKwogCWZvciAoaSA9IDA7IGkgPCBt b2RlX3Jlcy0+Y291bnRfY3J0Y3M7IGkrKykKIAkJaWYgKCF4Zjg2SXNFbnRpdHlTaGFyZWQocFNj cm4tPmVudGl0eUxpc3RbMF0pIHx8CiAJCSAgICAoY3J0Y3NfbmVlZGVkICYmICEocEFNREdQVUVu dC0+YXNzaWduZWRfY3J0Y3MgJiAoMSA8PCBpKSkpKQpkaWZmIC0tZ2l0IGEvc3JjL2RybW1vZGVf ZGlzcGxheS5oIGIvc3JjL2RybW1vZGVfZGlzcGxheS5oCmluZGV4IDI1YWU5ZjguLjRhYThlODgg MTAwNjQ0Ci0tLSBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuaAorKysgYi9zcmMvZHJtbW9kZV9kaXNw bGF5LmgKQEAgLTM2LDYgKzM2LDIyIEBACiAjaW5jbHVkZSAiYW1kZ3B1X3Byb2JlLmgiCiAjaW5j bHVkZSAiYW1kZ3B1LmgiCiAKKy8qCisgKiBFbnVtIG9mIG5vbi1sZWdhY3kgY29sb3IgbWFuYWdl bWVudCBwcm9wZXJ0aWVzLCBhY2NvcmRpbmcgdG8gRFJNLiBOb3RlIHRoYXQKKyAqIHRoZSB2YWx1 ZXMgc2hvdWxkIGJlIGluY3JlbWVudGFsICh3aXRoIHRoZSBleGNlcHRpb24gb2YgdGhlIElOVkFM SUQgbWVtYmVyKSwKKyAqIGFzIGRlZmluZWQgYnkgQzk5LiBUaGUgb3JkZXJpbmcgYWxzbyBtYXR0 ZXJzLiBTb21lIGxvZ2ljcyAoc3VjaCBhcyBpdGVyYXRvcnMKKyAqIGFuZCBiaXRtYXNrcykgZGVw ZW5kIG9uIHRoZXNlIGZhY3RzLgorICovCitlbnVtIGRybW1vZGVfY21fcHJvcCB7CisJQ01fREVH QU1NQV9MVVQsCisJQ01fQ1RNLAorCUNNX0dBTU1BX0xVVCwKKwlDTV9ERUdBTU1BX0xVVF9TSVpF LAorCUNNX0dBTU1BX0xVVF9TSVpFLAorCUNNX05VTV9QUk9QUywKKwlDTV9JTlZBTElEX1BST1Ag PSAtMSwKK307CisKIHR5cGVkZWYgc3RydWN0IHsKIAlTY3JuSW5mb1B0ciBzY3JuOwogI2lmZGVm IEhBVkVfTElCVURFVgpAQCAtNDksNiArNjUsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCiAJQm9v bCBkcmkyX2ZsaXBwaW5nOwogCUJvb2wgcHJlc2VudF9mbGlwcGluZzsKKworCS8qIENhY2hlIGZv ciBEUk0gcHJvcGVydHkgdHlwZSBJRHMgZm9yIENSVEMgY29sb3IgbWFuYWdlbWVudCAqLworCXVp bnQzMl90IGNtX3Byb3BfaWRzW0NNX05VTV9QUk9QU107CisJLyogTG9va3VwIHRhYmxlIHNpemVz ICovCisJdWludDMyX3QgZGVnYW1tYV9sdXRfc2l6ZTsKKwl1aW50MzJfdCBnYW1tYV9sdXRfc2l6 ZTsKIH0gZHJtbW9kZV9yZWMsICpkcm1tb2RlX3B0cjsKIAogdHlwZWRlZiBzdHJ1Y3QgewotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFt ZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=