From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH xf86-video-amdgpu 02/13] Push color properties to kernel DRM on CRTC init Date: Thu, 3 May 2018 14:31:44 -0400 Message-ID: <1525372315-28462-3-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+CgpQdXNoIHN0YWdl ZCB2YWx1ZXMgb24gdGhlIGRyaXZlci1wcml2YXRlIENSVEMsIHRvIGtlcm5lbCBEUk0gd2hlbiBp dCdzCmluaXRpYWxpemVkLiBUaGlzIGlzIHRvIGZsdXNoIG91dCBhbnkgcHJldmlvdXMgc3RhdGUg dGhhdCBoYXJkd2FyZSB3YXMKaW4sIGFuZCBzZXQgdGhlbSB0byB0aGVpciBkZWZhdWx0IHZhbHVl cy4KClNpZ25lZC1vZmYtYnk6IExlbyAoU3VucGVuZykgTGkgPHN1bnBlbmcubGlAYW1kLmNvbT4K LS0tCiBzcmMvZHJtbW9kZV9kaXNwbGF5LmMgfCAxMzYgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMzYgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYyBiL3NyYy9kcm1tb2RlX2Rp c3BsYXkuYwppbmRleCAwZmZjNmFkLi44NWRlMDFlIDEwMDY0NAotLS0gYS9zcmMvZHJtbW9kZV9k aXNwbGF5LmMKKysrIGIvc3JjL2RybW1vZGVfZGlzcGxheS5jCkBAIC04MjQsNiArODI0LDEzMyBA QCBlcnJfYWxsb2NzOgogCXJldHVybiAwOwogfQogCisvKioKKyAqIFF1ZXJ5IERSTSBmb3IgdGhl IHByb3BlcnR5IElEIC0gYXMgcmVjb2duaXplZCBieSBEUk0gLSBmb3IgdGhlIHNwZWNpZmllZAor ICogY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0eSwgb24gdGhlIHNwZWNpZmllZCBDUlRDLgorICoK KyAqIEBjcnRjOiBUaGUgQ1JUQyB0byBxdWVyeSBEUk0gcHJvcGVydGllcyBvbi4KKyAqIEBwcm9w X2lkOiBDb2xvciBtYW5hZ2VtZW50IHByb3BlcnR5IGVudW0uCisgKgorICogUmV0dXJuIHRoZSBE Uk0gcHJvcGVydHkgSUQsIGlmIHRoZSBwcm9wZXJ0eSBleGlzdHMuIDAgb3RoZXJ3aXNlLgorICov CitzdGF0aWMgdWludDMyX3QgZ2V0X2RybV9jbV9wcm9wX2lkKHhmODZDcnRjUHRyIGNydGMsCisJ CQkJICAgZW51bSBkcm1tb2RlX2NtX3Byb3AgcHJvcF9pZCkKK3sKKwlBTURHUFVFbnRQdHIgcEFN REdQVUVudCA9IEFNREdQVUVudFByaXYoY3J0Yy0+c2Nybik7CisJZHJtbW9kZV9jcnRjX3ByaXZh dGVfcHRyIGRybW1vZGVfY3J0YyA9IGNydGMtPmRyaXZlcl9wcml2YXRlOworCWRybU1vZGVPYmpl Y3RQcm9wZXJ0aWVzUHRyIGRybV9wcm9wczsKKwlpbnQgaTsKKworCWRybV9wcm9wcyA9IGRybU1v ZGVPYmplY3RHZXRQcm9wZXJ0aWVzKHBBTURHUFVFbnQtPmZkLAorCQkJCQkgICAgICAgZHJtbW9k ZV9jcnRjLT5tb2RlX2NydGMtPmNydGNfaWQsCisJCQkJCSAgICAgICBEUk1fTU9ERV9PQkpFQ1Rf Q1JUQyk7CisJaWYgKCFkcm1fcHJvcHMpCisJCWdvdG8gZXJyX2FsbG9jczsKKworCWZvciAoaSA9 IDA7IGkgPCBkcm1fcHJvcHMtPmNvdW50X3Byb3BzOyBpKyspIHsKKwkJZHJtTW9kZVByb3BlcnR5 UHRyIGRybV9wcm9wOworCisJCWRybV9wcm9wID0gZHJtTW9kZUdldFByb3BlcnR5KHBBTURHUFVF bnQtPmZkLAorCQkJCQkgICAgICBkcm1fcHJvcHMtPnByb3BzW2ldKTsKKwkJaWYgKCFkcm1fcHJv cCkKKwkJCWdvdG8gZXJyX2FsbG9jczsKKworCQlpZiAoZ2V0X2NtX2VudW1fZnJvbV9zdHIoZHJt X3Byb3AtPm5hbWUpID09IHByb3BfaWQpeworCQkJZHJtTW9kZUZyZWVQcm9wZXJ0eShkcm1fcHJv cCk7CisJCQlyZXR1cm4gZHJtX3Byb3BzLT5wcm9wc1tpXTsKKwkJfQorCisJCWRybU1vZGVGcmVl UHJvcGVydHkoZHJtX3Byb3ApOworCX0KKworZXJyX2FsbG9jczoKKwlkcm1Nb2RlRnJlZU9iamVj dFByb3BlcnRpZXMoZHJtX3Byb3BzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBQdXNoIHN0 YWdlZCBjb2xvciBtYW5hZ2VtZW50IHByb3BlcnRpZXMgb24gdGhlIENSVEMgdG8gRFJNLgorICoK KyAqIEBjcnRjOiBUaGUgQ1JUQyBjb250YWluaW5nIHN0YWdlZCBwcm9wZXJ0aWVzCisgKiBAY21f cHJvcF9pbmRleDogVGhlIGNvbG9yIHByb3BlcnR5IHRvIHB1c2gKKyAqCisgKiBSZXR1cm4gMCBv biBzdWNjZXNzLCBYLWRlZmluZWQgZXJyb3IgY29kZXMgb24gZmFpbHVyZS4KKyAqLworc3RhdGlj IGludCBkcm1tb2RlX2NydGNfcHVzaF9jbV9wcm9wKHhmODZDcnRjUHRyIGNydGMsCisJCQkJICAg ICBlbnVtIGRybW1vZGVfY21fcHJvcCBjbV9wcm9wX2luZGV4KQoreworCUFNREdQVUVudFB0ciBw QU1ER1BVRW50ID0gQU1ER1BVRW50UHJpdihjcnRjLT5zY3JuKTsKKwlkcm1tb2RlX2NydGNfcHJp dmF0ZV9wdHIgZHJtbW9kZV9jcnRjID0gY3J0Yy0+ZHJpdmVyX3ByaXZhdGU7CisJc2l6ZV90IGV4 cGVjdGVkX2J5dGVzID0gMDsKKwl1aW50MzJfdCBjcmVhdGVkX2Jsb2JfaWQgPSAwOworCXZvaWQg KmJsb2JfZGF0YSA9IE5VTEw7CisJdWludDMyX3QgZHJtX3Byb3BfaWQ7CisJQm9vbCBmcmVlX2Js b2JfZGF0YSA9IEZBTFNFOworCWludCByZXQ7CisKKwlkcm1fcHJvcF9pZCA9IGdldF9kcm1fY21f cHJvcF9pZChjcnRjLCBjbV9wcm9wX2luZGV4KTsKKwkvKiBJdCdzIHBvc3NpYmxlIHRoYXQga2Vy bmVsIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGNvbG9yIG1hbmFnZW1lbnQuCisJICovCisJaWYg KCFkcm1fcHJvcF9pZCkKKwkJcmV0dXJuIEJhZE5hbWU7CisKKwlpZiAoY21fcHJvcF9pbmRleCA9 PSBDTV9HQU1NQV9MVVQpIHsKKwkJLyogQ2FsY3VsYXRlIHRoZSBleHBlY3RlZCBzaXplIG9mIHZh bHVlIGluIGJ5dGVzICovCisJCWV4cGVjdGVkX2J5dGVzID0gc2l6ZW9mKHN0cnVjdCBkcm1fY29s b3JfbHV0KSAqCisJCQkJCWRybW1vZGVfY3J0Yy0+Z2FtbWFfbHV0X3NpemU7CisJCWJsb2JfZGF0 YSA9IGRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXQ7CisJfSBlbHNlIGlmIChjbV9wcm9wX2luZGV4 ID09IENNX0RFR0FNTUFfTFVUKSB7CisJCWV4cGVjdGVkX2J5dGVzID0gc2l6ZW9mKHN0cnVjdCBk cm1fY29sb3JfbHV0KSAqCisJCQkJCWRybW1vZGVfY3J0Yy0+ZGVnYW1tYV9sdXRfc2l6ZTsKKwkJ YmxvYl9kYXRhID0gZHJtbW9kZV9jcnRjLT5kZWdhbW1hX2x1dDsKKwl9IGVsc2UgaWYgKGNtX3By b3BfaW5kZXggPT0gQ01fQ1RNKSB7CisJCWV4cGVjdGVkX2J5dGVzID0gc2l6ZW9mKHN0cnVjdCBk cm1fY29sb3JfY3RtKTsKKwkJYmxvYl9kYXRhID0gZHJtbW9kZV9jcnRjLT5jdG07CisJfSBlbHNl CisJCXJldHVybiBCYWROYW1lOworCisKKwlpZiAoYmxvYl9kYXRhKSB7CisJCXJldCA9IGRybU1v ZGVDcmVhdGVQcm9wZXJ0eUJsb2IocEFNREdQVUVudC0+ZmQsCisJCQkJCQlibG9iX2RhdGEsIGV4 cGVjdGVkX2J5dGVzLAorCQkJCQkJJmNyZWF0ZWRfYmxvYl9pZCk7CisJCWlmIChyZXQpIHsKKwkJ CXhmODZEcnZNc2coY3J0Yy0+c2Nybi0+c2NybkluZGV4LCBYX0VSUk9SLAorCQkJCSAgICJDcmVh dGluZyBEUk0gYmxvYiBmYWlsZWQgd2l0aCBlcnJubyAlZFxuIiwKKwkJCQkgICByZXQpOworCQkJ aWYgKGZyZWVfYmxvYl9kYXRhKQorCQkJCWZyZWUoYmxvYl9kYXRhKTsKKwkJCXJldHVybiBCYWRS ZXF1ZXN0OworCQl9CisJfQorCisJcmV0ID0gZHJtTW9kZU9iamVjdFNldFByb3BlcnR5KHBBTURH UFVFbnQtPmZkLAorCQkJCSAgICAgICBkcm1tb2RlX2NydGMtPm1vZGVfY3J0Yy0+Y3J0Y19pZCwK KwkJCQkgICAgICAgRFJNX01PREVfT0JKRUNUX0NSVEMsCisJCQkJICAgICAgIGRybV9wcm9wX2lk LAorCQkJCSAgICAgICAodWludDY0X3QpY3JlYXRlZF9ibG9iX2lkKTsKKworCS8qIElmIHN1Y2Nl c3NmdWwsIGtlcm5lbCB3aWxsIGhhdmUgYSByZWZlcmVuY2UgYWxyZWFkeS4gU2FmZSB0byBkZXN0 cm95CisJICogdGhlIGJsb2IgZWl0aGVyIHdheS4KKwkgKi8KKwlpZiAoYmxvYl9kYXRhKQorCQlk cm1Nb2RlRGVzdHJveVByb3BlcnR5QmxvYihwQU1ER1BVRW50LT5mZCwgY3JlYXRlZF9ibG9iX2lk KTsKKworCWlmIChyZXQpIHsKKwkJeGY4NkRydk1zZyhjcnRjLT5zY3JuLT5zY3JuSW5kZXgsIFhf RVJST1IsCisJCQkgICAiU2V0dGluZyBEUk0gcHJvcGVydHkgYmxvYiBmYWlsZWQgd2l0aCBlcnJu byAlZFxuIiwKKwkJCSAgIHJldCk7CisJCWlmIChmcmVlX2Jsb2JfZGF0YSkKKwkJCWZyZWUoYmxv Yl9kYXRhKTsKKwkJcmV0dXJuIEJhZFJlcXVlc3Q7CisJfQorCisJaWYgKGZyZWVfYmxvYl9kYXRh KQorCQlmcmVlKGJsb2JfZGF0YSk7CisKKwlyZXR1cm4gU3VjY2VzczsKK30KKwogc3RhdGljIHZv aWQKIGRybW1vZGVfY3J0Y19nYW1tYV9kb19zZXQoeGY4NkNydGNQdHIgY3J0YywgdWludDE2X3Qg KnJlZCwgdWludDE2X3QgKmdyZWVuLAogCQkJICB1aW50MTZfdCAqYmx1ZSwgaW50IHNpemUpCkBA IC0xNDMzLDYgKzE1NjAsNyBAQCBkcm1tb2RlX2NydGNfaW5pdChTY3JuSW5mb1B0ciBwU2Nybiwg ZHJtbW9kZV9wdHIgZHJtbW9kZSwgZHJtTW9kZVJlc1B0ciBtb2RlX3JlcwogCWRybW1vZGVfY3J0 Y19wcml2YXRlX3B0ciBkcm1tb2RlX2NydGM7CiAJQU1ER1BVRW50UHRyIHBBTURHUFVFbnQgPSBB TURHUFVFbnRQcml2KHBTY3JuKTsKIAlBTURHUFVJbmZvUHRyIGluZm8gPSBBTURHUFVQVFIocFNj cm4pOworCWludCBpOwogCiAJY3J0YyA9IHhmODZDcnRjQ3JlYXRlKHBTY3JuLCAmaW5mby0+ZHJt bW9kZV9jcnRjX2Z1bmNzKTsKIAlpZiAoY3J0YyA9PSBOVUxMKQpAQCAtMTQ1OCw2ICsxNTg2LDE0 IEBAIGRybW1vZGVfY3J0Y19pbml0KFNjcm5JbmZvUHRyIHBTY3JuLCBkcm1tb2RlX3B0ciBkcm1t b2RlLCBkcm1Nb2RlUmVzUHRyIG1vZGVfcmVzCiAJZHJtbW9kZV9jcnRjLT5jdG0tPm1hdHJpeFsw XSA9IGRybW1vZGVfY3J0Yy0+Y3RtLT5tYXRyaXhbNF0gPQogCQlkcm1tb2RlX2NydGMtPmN0bS0+ bWF0cml4WzhdID0gKHVpbnQ2NF90KTEgPDwgMzI7CiAKKwkvKiBQdXNoIHByb3BlcnRpZXMgdG8g aW5pdGlhbGl6ZSB0aGVtICovCisJZm9yIChpID0gMDsgaSA8IENNX05VTV9QUk9QUzsgaSsrKSB7 CisJCWlmIChpID09IENNX0RFR0FNTUFfTFVUX1NJWkUgfHwgaSA9PSBDTV9HQU1NQV9MVVRfU0la RSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZHJtbW9kZV9jcnRjX3B1c2hfY21fcHJvcChjcnRjLCBp KSkKKwkJCXJldHVybiAwOworCX0KKwogCS8qIE1hcmsgbnVtJ3RoIGNydGMgYXMgaW4gdXNlIG9u IHRoaXMgZGV2aWNlLiAqLwogCXBBTURHUFVFbnQtPmFzc2lnbmVkX2NydGNzIHw9ICgxIDw8IG51 bSk7CiAJeGY4NkRydk1zZ1ZlcmIocFNjcm4tPnNjcm5JbmRleCwgWF9JTkZPLCBBTURHUFVfTE9H TEVWRUxfREVCVUcsCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4Cg==