From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 48/49] drm/amd/display: Enable MPO with pre-blend color processing (RGB) Date: Fri, 9 Aug 2019 17:37:41 -0400 Message-ID: <20190809213742.30301-49-sunpeng.li@amd.com> References: <20190809213742.30301-1-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809213742.30301-1-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 Li , Anthony Koo , Michael Strauss , Nicholas Kazlauskas RnJvbTogTWljaGFlbCBTdHJhdXNzIDxtaWNoYWVsLnN0cmF1c3NAYW1kLmNvbT4KCltXaHldCkRD TjEwIHBlcmZvcm1zIGNvbG9yIHByb2Nlc3NpbmcgYmVmb3JlIE1QQyBjb21iaW5hdGlvbiwgY2F1 c2VzIGNvbG9yCnNoaWZ0IGluIFJHQiBjb2xvcnNwYWNlcyB3aGVuIHBvc2l0aXZlIGJyaWdodG5l c3Mgb2Zmc2V0IGlzIGFwcGxpZWQKSG93ZXZlciwgWUNiQ3IgaXMgc3RpbGwgdW5maXhlZCBhbmQg cmVtYWlucyBkaXNhYmxlZAoKW0hvd10KQWRkIGxheWVySW5kZXggdG8gZGNfcGxhbmVfc3RhdGUg YW5kIGRjX3BsYW5lX2luZm8gc3RydWN0cwpSZS1lbmFibGUgTVBPIHdoZW4gYnJpZ2h0bmVzcyBp cyBhZGp1c3RlZCBhbmQgY29sb3JzcGFjZSBpcyBub3QgWUNiQ3IKU2V0IHJlYXIgcGxhbmUncyBi cmlnaHRuZXNzIG9mZnNldCB0byAwIHdoZW4gZnJvbnQgcGxhbmUgdmlzaWJsZQoKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBTdHJhdXNzIDxtaWNoYWVsLnN0cmF1c3NAYW1kLmNvbT4KUmV2aWV3ZWQt Ynk6IEFudGhvbnkgS29vIDxBbnRob255Lktvb0BhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxz dW5wZW5nLmxpQGFtZC5jb20+CkFja2VkLWJ5OiBOaWNob2xhcyBLYXpsYXVza2FzIDxOaWNob2xh cy5LYXpsYXVza2FzQGFtZC5jb20+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbS5jIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9j b3JlL2RjLmMgICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5o ICAgICAgICAgICB8ICAyICsKIC4uLi9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1 ZW5jZXIuYyB8IDUxICsrKysrKysrKysrKysrKysrKy0KIDQgZmlsZXMgY2hhbmdlZCwgNTYgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwppbmRleCAyZjkzM2Y4OWFhZWYuLjkxMWZlNzhi NDdjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9h bWRncHVfZG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbS5jCkBAIC0zMDc3LDYgKzMwNzcsOCBAQCBmaWxsX2RjX3BsYW5lX2luZm9fYW5kX2Fk ZHIoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJcGxhbmVfaW5mby0+dmlzaWJsZSA9IHRy dWU7CiAJcGxhbmVfaW5mby0+c3RlcmVvX2Zvcm1hdCA9IFBMQU5FX1NURVJFT19GT1JNQVRfTk9O RTsKIAorCXBsYW5lX2luZm8tPmxheWVyX2luZGV4ID0gMDsKKwogCXJldCA9IGZpbGxfcGxhbmVf Y29sb3JfYXR0cmlidXRlcyhwbGFuZV9zdGF0ZSwgcGxhbmVfaW5mby0+Zm9ybWF0LAogCQkJCQkg ICZwbGFuZV9pbmZvLT5jb2xvcl9zcGFjZSk7CiAJaWYgKHJldCkKQEAgLTMxNDIsNiArMzE0NCw3 IEBAIHN0YXRpYyBpbnQgZmlsbF9kY19wbGFuZV9hdHRyaWJ1dGVzKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAogCWRjX3BsYW5lX3N0YXRlLT5nbG9iYWxfYWxwaGEgPSBwbGFuZV9pbmZvLmds b2JhbF9hbHBoYTsKIAlkY19wbGFuZV9zdGF0ZS0+Z2xvYmFsX2FscGhhX3ZhbHVlID0gcGxhbmVf aW5mby5nbG9iYWxfYWxwaGFfdmFsdWU7CiAJZGNfcGxhbmVfc3RhdGUtPmRjYyA9IHBsYW5lX2lu Zm8uZGNjOworCWRjX3BsYW5lX3N0YXRlLT5sYXllcl9pbmRleCA9IHBsYW5lX2luZm8ubGF5ZXJf aW5kZXg7IC8vIEFsd2F5cyByZXR1cm5zIDAKIAogCS8qCiAJICogQWx3YXlzIHNldCBpbnB1dCB0 cmFuc2ZlciBmdW5jdGlvbiwgc2luY2UgcGxhbmUgc3RhdGUgaXMgcmVmcmVzaGVkCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYwppbmRleCA3NDA4ZGYwNWQzZTUuLjBiNjI0 ZGIxN2U2MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jCkBAIC0x Njg5LDYgKzE2ODksOCBAQCBzdGF0aWMgdm9pZCBjb3B5X3N1cmZhY2VfdXBkYXRlX3RvX3BsYW5l KAogCQkJCXNyZl91cGRhdGUtPnBsYW5lX2luZm8tPmRjYzsKIAkJc3VyZmFjZS0+c2RyX3doaXRl X2xldmVsID0KIAkJCQlzcmZfdXBkYXRlLT5wbGFuZV9pbmZvLT5zZHJfd2hpdGVfbGV2ZWw7CisJ CXN1cmZhY2UtPmxheWVyX2luZGV4ID0KKwkJCQlzcmZfdXBkYXRlLT5wbGFuZV9pbmZvLT5sYXll cl9pbmRleDsKIAl9CiAKIAlpZiAoc3JmX3VwZGF0ZS0+Z2FtbWEgJiYKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjLmgKaW5kZXggODdiZTAyYThhOTU4Li4zZWYyNjlmODI0NzggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9kYy5oCkBAIC03NTAsNiArNzUwLDcgQEAgc3RydWN0IGRjX3Bs YW5lX3N0YXRlIHsKIAlib29sIHZpc2libGU7CiAJYm9vbCBmbGlwX2ltbWVkaWF0ZTsKIAlib29s IGhvcml6b250YWxfbWlycm9yOworCWludCBsYXllcl9pbmRleDsKIAogCXVuaW9uIHN1cmZhY2Vf dXBkYXRlX2ZsYWdzIHVwZGF0ZV9mbGFnczsKIAkvKiBwcml2YXRlIHRvIERDIGNvcmUgKi8KQEAg LTc3OSw2ICs3ODAsNyBAQCBzdHJ1Y3QgZGNfcGxhbmVfaW5mbyB7CiAJYm9vbCBnbG9iYWxfYWxw aGE7CiAJaW50ICBnbG9iYWxfYWxwaGFfdmFsdWU7CiAJYm9vbCBpbnB1dF9jc2NfZW5hYmxlZDsK KwlpbnQgbGF5ZXJfaW5kZXg7CiB9OwogCiBzdHJ1Y3QgZGNfc2NhbGluZ19pbmZvIHsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1 ZW5jZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19z ZXF1ZW5jZXIuYwppbmRleCAwMDQ1YjY5OGZiNjguLjlmZTJmZmY2N2RjNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3X3NlcXVlbmNlci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9od19zZXF1 ZW5jZXIuYwpAQCAtMTkwNCw2ICsxOTA0LDM2IEBAIHN0YXRpYyB2b2lkIGRjbjEwX3Byb2dyYW1f Z2FtdXRfcmVtYXAoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCkKIAlwaXBlX2N0eC0+cGxhbmVf cmVzLmRwcC0+ZnVuY3MtPmRwcF9zZXRfZ2FtdXRfcmVtYXAocGlwZV9jdHgtPnBsYW5lX3Jlcy5k cHAsICZhZGp1c3QpOwogfQogCisKK3N0YXRpYyBib29sIGRjbjEwX2lzX3JlYXJfbXBvX2ZpeF9y ZXF1aXJlZChzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4LCBlbnVtIGRjX2NvbG9yX3NwYWNlIGNv bG9yc3BhY2UpCit7CisJaWYgKHBpcGVfY3R4LT5wbGFuZV9zdGF0ZSAmJiBwaXBlX2N0eC0+cGxh bmVfc3RhdGUtPmxheWVyX2luZGV4ID4gMCAmJiBpc19yZ2JfY3NwYWNlKGNvbG9yc3BhY2UpKSB7 CisJCWlmIChwaXBlX2N0eC0+dG9wX3BpcGUpIHsKKwkJCXN0cnVjdCBwaXBlX2N0eCAqdG9wID0g cGlwZV9jdHgtPnRvcF9waXBlOworCisJCQl3aGlsZSAodG9wLT50b3BfcGlwZSkKKwkJCQl0b3Ag PSB0b3AtPnRvcF9waXBlOyAvLyBUcmF2ZXJzZSB0byB0b3AgcGlwZV9jdHgKKwkJCWlmICh0b3At PnBsYW5lX3N0YXRlICYmIHRvcC0+cGxhbmVfc3RhdGUtPmxheWVyX2luZGV4ID09IDApCisJCQkJ cmV0dXJuIHRydWU7IC8vIEZyb250IE1QTyBwbGFuZSBub3QgaGlkZGVuCisJCX0KKwl9CisJcmV0 dXJuIGZhbHNlOworfQorCitzdGF0aWMgdm9pZCBkY24xMF9zZXRfY3NjX2FkanVzdG1lbnRfcmdi X21wb19maXgoc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0eCwgdWludDE2X3QgKm1hdHJpeCkKK3sK KwkvLyBPdmVycmlkZSByZWFyIHBsYW5lIFJHQiBiaWFzIHRvIGZpeCBNUE8gYnJpZ2h0bmVzcwor CXVpbnQxNl90IHJnYl9iaWFzID0gbWF0cml4WzNdOworCisJbWF0cml4WzNdID0gMDsKKwltYXRy aXhbN10gPSAwOworCW1hdHJpeFsxMV0gPSAwOworCXBpcGVfY3R4LT5wbGFuZV9yZXMuZHBwLT5m dW5jcy0+ZHBwX3NldF9jc2NfYWRqdXN0bWVudChwaXBlX2N0eC0+cGxhbmVfcmVzLmRwcCwgbWF0 cml4KTsKKwltYXRyaXhbM10gPSByZ2JfYmlhczsKKwltYXRyaXhbN10gPSByZ2JfYmlhczsKKwlt YXRyaXhbMTFdID0gcmdiX2JpYXM7Cit9CisKIHN0YXRpYyB2b2lkIGRjbjEwX3Byb2dyYW1fb3V0 cHV0X2NzYyhzdHJ1Y3QgZGMgKmRjLAogCQlzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4LAogCQll bnVtIGRjX2NvbG9yX3NwYWNlIGNvbG9yc3BhY2UsCkBAIC0xOTExLDggKzE5NDEsMjUgQEAgc3Rh dGljIHZvaWQgZGNuMTBfcHJvZ3JhbV9vdXRwdXRfY3NjKHN0cnVjdCBkYyAqZGMsCiAJCWludCBv cHBfaWQpCiB7CiAJaWYgKHBpcGVfY3R4LT5zdHJlYW0tPmNzY19jb2xvcl9tYXRyaXguZW5hYmxl X2FkanVzdG1lbnQgPT0gdHJ1ZSkgewotCQlpZiAocGlwZV9jdHgtPnBsYW5lX3Jlcy5kcHAtPmZ1 bmNzLT5kcHBfc2V0X2NzY19hZGp1c3RtZW50ICE9IE5VTEwpCi0JCQlwaXBlX2N0eC0+cGxhbmVf cmVzLmRwcC0+ZnVuY3MtPmRwcF9zZXRfY3NjX2FkanVzdG1lbnQocGlwZV9jdHgtPnBsYW5lX3Jl cy5kcHAsIG1hdHJpeCk7CisJCWlmIChwaXBlX2N0eC0+cGxhbmVfcmVzLmRwcC0+ZnVuY3MtPmRw cF9zZXRfY3NjX2FkanVzdG1lbnQgIT0gTlVMTCkgeworCisJCQkvKiBNUE8gaXMgYnJva2VuIHdp dGggUkdCIGNvbG9yc3BhY2VzIHdoZW4gT0NTQyBtYXRyaXgKKwkJCSAqIGJyaWdodG5lc3Mgb2Zm c2V0ID49IDAgb24gRENOMSBkdWUgdG8gT0NTQyBiZWZvcmUgTVBDCisJCQkgKiBCbGVuZGluZyBh ZGRzIG9mZnNldHMgZnJvbSBmcm9udCArIHJlYXIgdG8gcmVhciBwbGFuZQorCQkJICoKKwkJCSAq IEZpeCBpcyB0byBzZXQgUkdCIGJpYXMgdG8gMCBvbiByZWFyIHBsYW5lLCB0b3AgcGxhbmUKKwkJ CSAqIGJsYWNrIHZhbHVlIHBpeGVscyBhZGQgb2Zmc2V0IGluc3RlYWQgb2YgcmVhciArIGZyb250 CisJCQkgKi8KKworCQkJaW50MTZfdCByZ2JfYmlhcyA9IG1hdHJpeFszXTsKKwkJCS8vIG1hdHJp eFszLzcvMTFdIGFyZSBhbGwgdGhlIHNhbWUgb2Zmc2V0IHZhbHVlCisKKwkJCWlmIChyZ2JfYmlh cyA+IDAgJiYgZGNuMTBfaXNfcmVhcl9tcG9fZml4X3JlcXVpcmVkKHBpcGVfY3R4LCBjb2xvcnNw YWNlKSkgeworCQkJCWRjbjEwX3NldF9jc2NfYWRqdXN0bWVudF9yZ2JfbXBvX2ZpeChwaXBlX2N0 eCwgbWF0cml4KTsKKwkJCX0gZWxzZSB7CisJCQkJcGlwZV9jdHgtPnBsYW5lX3Jlcy5kcHAtPmZ1 bmNzLT5kcHBfc2V0X2NzY19hZGp1c3RtZW50KHBpcGVfY3R4LT5wbGFuZV9yZXMuZHBwLCBtYXRy aXgpOworCQkJfQorCQl9CiAJfSBlbHNlIHsKIAkJaWYgKHBpcGVfY3R4LT5wbGFuZV9yZXMuZHBw LT5mdW5jcy0+ZHBwX3NldF9jc2NfZGVmYXVsdCAhPSBOVUxMKQogCQkJcGlwZV9jdHgtPnBsYW5l X3Jlcy5kcHAtPmZ1bmNzLT5kcHBfc2V0X2NzY19kZWZhdWx0KHBpcGVfY3R4LT5wbGFuZV9yZXMu ZHBwLCBjb2xvcnNwYWNlKTsKLS0gCjIuMjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbWQtZ2Z4