From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 07/72] gpu: ipu-v3: Add ipu_dp_set_chroma_key() Date: Fri, 31 Oct 2014 15:53:50 -0700 Message-ID: <1414796095-10107-8-git-send-email-steve_longerbeam@mentor.com> References: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pd0-f169.google.com (mail-pd0-f169.google.com [209.85.192.169]) by gabe.freedesktop.org (Postfix) with ESMTP id D8BBE6E84A for ; Fri, 31 Oct 2014 15:56:53 -0700 (PDT) Received: by mail-pd0-f169.google.com with SMTP id y10so8110941pdj.28 for ; Fri, 31 Oct 2014 15:56:53 -0700 (PDT) In-Reply-To: <1414796095-10107-1-git-send-email-steve_longerbeam@mentor.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QWRkcyB0aGUgZnVuY3Rpb24gaXB1X2RwX3NldF9jaHJvbWFfa2V5KCksIHdoaWNoIHNldHMgdXAg YSBjb2xvciBrZXkKdmFsdWUgZm9yIGEgRFAgZm9yZWdyb3VuZCBwbGFuZS4KCmlwdV9kcF9zZXRf Y2hyb21hX2tleSgpIGFjY2VwdHMgYSBjb2xvciBrZXkgdmFsdWUgaW4gUkdCMjQgZm9ybWF0LgpJ ZiB0aGUgY29tYmluZXIgdW5pdCBjb2xvcnNwYWNlIGlzIFlVViwgdGhlIGtleSBtdXN0IGJlIGNv bnZlcnRlZAp0byBZVVY0NDQsIHVzaW5nIHRoZSBzYW1lIENTQyBjb2VmZmljaWVudHMgYXMgcHJv Z3JhbW1lZCBpbiB0aGUgRFAuClNvIHB1bGwgb3V0IHRoZSBDU0MgY29lZmZpY2llbnRzIGZyb20g aXB1X2RwX2NzY19pbml0KCkgdG8gbWFrZQp0aGVtIGF2YWlsYWJsZSB0byByZ2IyNF90b195dXY0 NDQoKSB0aGF0IGNvbnZlcnRzIHRvIGNvbG9yIGtleS4KClNpZ25lZC1vZmYtYnk6IFN0ZXZlIExv bmdlcmJlYW0gPHN0ZXZlX2xvbmdlcmJlYW1AbWVudG9yLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9p cHUtdjMvaXB1LWRwLmMgfCAgMTIxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0KIGluY2x1ZGUvdmlkZW8vaW14LWlwdS12My5oICB8ICAgIDEgKwogMiBmaWxlcyBj aGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kcC5jIGIvZHJpdmVycy9ncHUvaXB1LXYzL2lwdS1kcC5j CmluZGV4IDk4Njg2ZWQuLmU0MDI2ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2lwdS12My9p cHUtZHAuYworKysgYi9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWRwLmMKQEAgLTg0LDYgKzg0LDUy IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGlwdV9mbG93ICp0b19mbG93KHN0cnVjdCBpcHVfZHAg KmRwKQogCQlyZXR1cm4gY29udGFpbmVyX29mKGRwLCBzdHJ1Y3QgaXB1X2Zsb3csIGJhY2tncm91 bmQpOwogfQogCitzdGF0aWMgY29uc3QgaW50IHJnYjJ5dXZfY29lZmZbNV1bM10gPSB7CisJeyAw eDAwOTksIDB4MDEyZCwgMHgwMDNhIH0sCisJeyAweDAzYTksIDB4MDM1NiwgMHgwMTAwIH0sCisJ eyAweDAxMDAsIDB4MDMyOSwgMHgwM2Q2IH0sCisJeyAweDAwMDAsIDB4MDIwMCwgMHgwMjAwIH0s IC8qIEIwLCBCMSwgQjIgKi8KKwl7IDB4MiwgICAgMHgyLCAgICAweDIgfSwgICAgLyogUzAsIFMx LCBTMiAqLworfTsKKworc3RhdGljIGNvbnN0IGludCB5dXYycmdiX2NvZWZmWzVdWzNdID0gewor CXsgMHgwMDk1LCAweDAwMDAsIDB4MDBjYyB9LAorCXsgMHgwMDk1LCAweDAzY2UsIDB4MDM5OCB9 LAorCXsgMHgwMDk1LCAweDAwZmYsIDB4MDAwMCB9LAorCXsgMHgzZTQyLCAweDAxMGEsIDB4M2Rk NiB9LCAvKiBCMCxCMSxCMiAqLworCXsgMHgxLCAgICAweDEsICAgIDB4MSB9LCAgICAvKiBTMCxT MSxTMiAqLworfTsKKworLyoKKyAqIFRoaXMgaXMgdXNlZCB0byBjb252ZXJ0IGFuIFJHQjI0IGNv bG9yIGtleSB0byBZVVY0NDQsIHVzaW5nCisgKiB0aGUgc2FtZSBDU0MgY29lZmZpY2llbnRzIGFz IHByb2dyYW1tZWQgaW4gdGhlIERQLgorICovCitzdGF0aWMgdTMyIHJnYjI0X3RvX3l1djQ0NCh1 MzIgcmdiMjQpCit7CisJdTMyIHJlZCwgZ3JlZW4sIGJsdWU7CisJaW50IGksIGNbM107CisKKwly ZWQgICA9IChyZ2IyNCA+PiAxNikgJiAweGZmOworCWdyZWVuID0gKHJnYjI0ID4+ICA4KSAmIDB4 ZmY7CisJYmx1ZSAgPSAocmdiMjQgPj4gIDApICYgMHhmZjsKKworCWZvciAoaSA9IDA7IGkgPCAz OyBpKyspIHsKKwkJY1tpXSA9IHJlZCAqIHJnYjJ5dXZfY29lZmZbaV1bMF07CisJCWNbaV0gKz0g Z3JlZW4gKiByZ2IyeXV2X2NvZWZmW2ldWzFdOworCQljW2ldICs9IGJsdWUgKiByZ2IyeXV2X2Nv ZWZmW2ldWzJdOworCQljW2ldIC89IDE2OworCQljW2ldICs9IHJnYjJ5dXZfY29lZmZbM11baV0g KiA0OworCQljW2ldICs9IDg7CisJCWNbaV0gLz0gMTY7CisJCWlmIChjW2ldIDwgMCkKKwkJCWNb aV0gPSAwOworCQlpZiAoY1tpXSA+IDI1NSkKKwkJCWNbaV0gPSAyNTU7CisJfQorCisJcmV0dXJu IChjWzBdIDw8IDE2KSB8IChjWzFdIDw8IDgpIHwgY1syXTsKK30KKwogaW50IGlwdV9kcF9zZXRf Z2xvYmFsX2FscGhhKHN0cnVjdCBpcHVfZHAgKmRwLCBib29sIGVuYWJsZSwKIAkJdTggYWxwaGEs IGJvb2wgYmdfY2hhbikKIHsKQEAgLTEyMCw2ICsxNjYsNDggQEAgaW50IGlwdV9kcF9zZXRfZ2xv YmFsX2FscGhhKHN0cnVjdCBpcHVfZHAgKmRwLCBib29sIGVuYWJsZSwKIH0KIEVYUE9SVF9TWU1C T0xfR1BMKGlwdV9kcF9zZXRfZ2xvYmFsX2FscGhhKTsKIAorLyoKKyAqIFRoZSBpbnB1dCBjb2xv cl9rZXkgbXVzdCBhbHdheXMgYmUgUkdCMjQuIEl0IHdpbGwgYmUgY29udmVydGVkIHRvCisgKiBZ VVY0NDQgaWYgdGhlIHBpeGVsIGZvcm1hdCB0byB0aGUgQ29tYmluaW5nIHVuaXQgaXMgWVVWIHNw YWNlLgorICovCitpbnQgaXB1X2RwX3NldF9jaHJvbWFfa2V5KHN0cnVjdCBpcHVfZHAgKmRwLCBi b29sIGVuYWJsZSwgdTMyIGNvbG9yX2tleSkKK3sKKwlzdHJ1Y3QgaXB1X2Zsb3cgKmZsb3cgPSB0 b19mbG93KGRwKTsKKwlzdHJ1Y3QgaXB1X2RwX3ByaXYgKnByaXYgPSBmbG93LT5wcml2OworCWVu dW0gaXB1X2NvbG9yX3NwYWNlIGNvbWJpbmVyX2NzOworCXUzMiByZWc7CisKKwltdXRleF9sb2Nr KCZwcml2LT5tdXRleCk7CisKKwlpZiAoZmxvdy0+Zm9yZWdyb3VuZC5pbl9jcyA9PSBmbG93LT5i YWNrZ3JvdW5kLmluX2NzKQorCQljb21iaW5lcl9jcyA9IGZsb3ctPmZvcmVncm91bmQuaW5fY3M7 CisJZWxzZQorCQljb21iaW5lcl9jcyA9IGZsb3ctPm91dF9jczsKKworCWlmIChjb21iaW5lcl9j cyA9PSBJUFVWM19DT0xPUlNQQUNFX1lVVikKKwkJY29sb3Jfa2V5ID0gcmdiMjRfdG9feXV2NDQ0 KGNvbG9yX2tleSk7CisKKwljb2xvcl9rZXkgJj0gMHgwMGZmZmZmZjsKKworCWlmIChlbmFibGUp IHsKKwkJcmVnID0gcmVhZGwoZmxvdy0+YmFzZSArIERQX0dSQVBIX1dJTkRfQ1RSTCkgJiB+MHgw MEZGRkZGRkw7CisJCXdyaXRlbChyZWcgfCBjb2xvcl9rZXksIGZsb3ctPmJhc2UgKyBEUF9HUkFQ SF9XSU5EX0NUUkwpOworCisJCXJlZyA9IHJlYWRsKGZsb3ctPmJhc2UgKyBEUF9DT01fQ09ORik7 CisJCXdyaXRlbChyZWcgfCBEUF9DT01fQ09ORl9HV0NLRSwgZmxvdy0+YmFzZSArIERQX0NPTV9D T05GKTsKKwl9IGVsc2UgeworCQlyZWcgPSByZWFkbChmbG93LT5iYXNlICsgRFBfQ09NX0NPTkYp OworCQl3cml0ZWwocmVnICYgfkRQX0NPTV9DT05GX0dXQ0tFLCBmbG93LT5iYXNlICsgRFBfQ09N X0NPTkYpOworCX0KKworCWlwdV9zcm1fZHBfc3luY191cGRhdGUocHJpdi0+aXB1KTsKKworCW11 dGV4X3VubG9jaygmcHJpdi0+bXV0ZXgpOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9M KGlwdV9kcF9zZXRfY2hyb21hX2tleSk7CisKIGludCBpcHVfZHBfc2V0X3dpbmRvd19wb3Moc3Ry dWN0IGlwdV9kcCAqZHAsIHUxNiB4X3BvcywgdTE2IHlfcG9zKQogewogCXN0cnVjdCBpcHVfZmxv dyAqZmxvdyA9IHRvX2Zsb3coZHApOwpAQCAtMTM4LDYgKzIyNiw3IEBAIHN0YXRpYyB2b2lkIGlw dV9kcF9jc2NfaW5pdChzdHJ1Y3QgaXB1X2Zsb3cgKmZsb3csCiAJCWVudW0gaXB1X2NvbG9yX3Nw YWNlIG91dCwKIAkJdTMyIHBsYWNlKQogeworCWNvbnN0IGludCAoKmMpWzNdOwogCXUzMiByZWc7 CiAKIAlyZWcgPSByZWFkbChmbG93LT5iYXNlICsgRFBfQ09NX0NPTkYpOwpAQCAtMTQ4LDI1ICsy MzcsMTkgQEAgc3RhdGljIHZvaWQgaXB1X2RwX2NzY19pbml0KHN0cnVjdCBpcHVfZmxvdyAqZmxv dywKIAkJcmV0dXJuOwogCX0KIAotCWlmIChpbiA9PSBJUFVWM19DT0xPUlNQQUNFX1JHQiAmJiBv dXQgPT0gSVBVVjNfQ09MT1JTUEFDRV9ZVVYpIHsKLQkJd3JpdGVsKDB4MDk5IHwgKDB4MTJkIDw8 IDE2KSwgZmxvdy0+YmFzZSArIERQX0NTQ19BXzApOwotCQl3cml0ZWwoMHgwM2EgfCAoMHgzYTkg PDwgMTYpLCBmbG93LT5iYXNlICsgRFBfQ1NDX0FfMSk7Ci0JCXdyaXRlbCgweDM1NiB8ICgweDEw MCA8PCAxNiksIGZsb3ctPmJhc2UgKyBEUF9DU0NfQV8yKTsKLQkJd3JpdGVsKDB4MTAwIHwgKDB4 MzI5IDw8IDE2KSwgZmxvdy0+YmFzZSArIERQX0NTQ19BXzMpOwotCQl3cml0ZWwoMHgzZDYgfCAo MHgwMDAwIDw8IDE2KSB8ICgyIDw8IDMwKSwKLQkJCQlmbG93LT5iYXNlICsgRFBfQ1NDXzApOwot CQl3cml0ZWwoMHgyMDAgfCAoMiA8PCAxNCkgfCAoMHgyMDAgPDwgMTYpIHwgKDIgPDwgMzApLAot CQkJCWZsb3ctPmJhc2UgKyBEUF9DU0NfMSk7Ci0JfSBlbHNlIHsKLQkJd3JpdGVsKDB4MDk1IHwg KDB4MDAwIDw8IDE2KSwgZmxvdy0+YmFzZSArIERQX0NTQ19BXzApOwotCQl3cml0ZWwoMHgwY2Mg fCAoMHgwOTUgPDwgMTYpLCBmbG93LT5iYXNlICsgRFBfQ1NDX0FfMSk7Ci0JCXdyaXRlbCgweDNj ZSB8ICgweDM5OCA8PCAxNiksIGZsb3ctPmJhc2UgKyBEUF9DU0NfQV8yKTsKLQkJd3JpdGVsKDB4 MDk1IHwgKDB4MGZmIDw8IDE2KSwgZmxvdy0+YmFzZSArIERQX0NTQ19BXzMpOwotCQl3cml0ZWwo MHgwMDAgfCAoMHgzZTQyIDw8IDE2KSB8ICgxIDw8IDMwKSwKLQkJCQlmbG93LT5iYXNlICsgRFBf Q1NDXzApOwotCQl3cml0ZWwoMHgxMGEgfCAoMSA8PCAxNCkgfCAoMHgzZGQ2IDw8IDE2KSB8ICgx IDw8IDMwKSwKLQkJCQlmbG93LT5iYXNlICsgRFBfQ1NDXzEpOwotCX0KKwlpZiAoaW4gPT0gSVBV VjNfQ09MT1JTUEFDRV9SR0IgJiYgb3V0ID09IElQVVYzX0NPTE9SU1BBQ0VfWVVWKQorCQljID0g cmdiMnl1dl9jb2VmZjsKKwllbHNlCisJCWMgPSB5dXYycmdiX2NvZWZmOworCisJd3JpdGVsKGNb MF1bMF0gfCAoY1swXVsxXSA8PCAxNiksIGZsb3ctPmJhc2UgKyBEUF9DU0NfQV8wKTsKKwl3cml0 ZWwoY1swXVsyXSB8IChjWzFdWzBdIDw8IDE2KSwgZmxvdy0+YmFzZSArIERQX0NTQ19BXzEpOwor CXdyaXRlbChjWzFdWzFdIHwgKGNbMV1bMl0gPDwgMTYpLCBmbG93LT5iYXNlICsgRFBfQ1NDX0Ff Mik7CisJd3JpdGVsKGNbMl1bMF0gfCAoY1syXVsxXSA8PCAxNiksIGZsb3ctPmJhc2UgKyBEUF9D U0NfQV8zKTsKKwl3cml0ZWwoY1syXVsyXSB8IChjWzNdWzBdIDw8IDE2KSB8IChjWzRdWzBdIDw8 IDMwKSwKKwkgICAgICAgZmxvdy0+YmFzZSArIERQX0NTQ18wKTsKKwl3cml0ZWwoY1szXVsxXSB8 IChjWzRdWzFdIDw8IDE0KSB8IChjWzNdWzJdIDw8IDE2KSB8IChjWzRdWzJdIDw8IDMwKSwKKwkg ICAgICAgZmxvdy0+YmFzZSArIERQX0NTQ18xKTsKIAogCXJlZyB8PSBwbGFjZTsKIApkaWZmIC0t Z2l0IGEvaW5jbHVkZS92aWRlby9pbXgtaXB1LXYzLmggYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUt djMuaAppbmRleCAwM2NkYTUwLi5lODc4MzQzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3ZpZGVvL2lt eC1pcHUtdjMuaAorKysgYi9pbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaApAQCAtMjczLDYgKzI3 Myw3IEBAIGludCBpcHVfZHBfc2V0dXBfY2hhbm5lbChzdHJ1Y3QgaXB1X2RwICpkcCwKIGludCBp cHVfZHBfc2V0X3dpbmRvd19wb3Moc3RydWN0IGlwdV9kcCAqLCB1MTYgeF9wb3MsIHUxNiB5X3Bv cyk7CiBpbnQgaXB1X2RwX3NldF9nbG9iYWxfYWxwaGEoc3RydWN0IGlwdV9kcCAqZHAsIGJvb2wg ZW5hYmxlLCB1OCBhbHBoYSwKIAkJYm9vbCBiZ19jaGFuKTsKK2ludCBpcHVfZHBfc2V0X2Nocm9t YV9rZXkoc3RydWN0IGlwdV9kcCAqZHAsIGJvb2wgZW5hYmxlLCB1MzIgY29sb3Jfa2V5KTsKIAog LyoKICAqIElQVSBDTU9TIFNlbnNvciBJbnRlcmZhY2UgKGNzaSkgZnVuY3Rpb25zCi0tIAoxLjcu OS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=