From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 47/72] imx-drm: ipuv3-plane: Implement global alpha and colorkey properties Date: Fri, 31 Oct 2014 15:54:30 -0700 Message-ID: <1414796095-10107-48-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-f177.google.com (mail-pd0-f177.google.com [209.85.192.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 13E556E84A for ; Fri, 31 Oct 2014 15:57:27 -0700 (PDT) Received: by mail-pd0-f177.google.com with SMTP id v10so7962606pde.8 for ; Fri, 31 Oct 2014 15:57:27 -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 QWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgZ2xvYmFsIGFscGhhIGFuZCBjb2xvcmtleSBpbiBmb3Jl Z3JvdW5kIHBsYW5lcwp1c2luZyBwbGFuZSBwcm9wZXJ0aWVzLiBCYWNrZ3JvdW5kIHBsYW5lcyBj YW4gYWxzbyBzdXBwb3J0IHRoZXNlCnByb3BlcnRpZXMgaWYgdGhlIGJhY2tncm91bmQgcGxhbmUg aXMgaW5pdGlhbGl6ZWQgYXMgbm90IHByaXZhdGUuCgpTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBMb25n ZXJiZWFtIDxzdGV2ZV9sb25nZXJiZWFtQG1lbnRvci5jb20+Ci0tLQogZHJpdmVycy9zdGFnaW5n L2lteC1kcm0vaXB1djMtcGxhbmUuYyB8ICAxNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tCiBkcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1wbGFuZS5oIHwgICAgNyArKwog MiBmaWxlcyBjaGFuZ2VkLCAxNDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1wbGFuZS5jIGIvZHJpdmVycy9z dGFnaW5nL2lteC1kcm0vaXB1djMtcGxhbmUuYwppbmRleCA1ODE4MjQ5Li4xNTcyYzgwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1wbGFuZS5jCisrKyBiL2RyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLXBsYW5lLmMKQEAgLTEwNCw2ICsxMDQsNyBAQCBpbnQg aXB1X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZSwgc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCQkgICAgICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQog ewogCXN0cnVjdCBkZXZpY2UgKmRldiA9IGlwdV9wbGFuZS0+YmFzZS5kZXYtPmRldjsKKwlib29s IGlzX2JnID0gKGlwdV9wbGFuZS0+ZHBfZmxvdyA9PSBJUFVfRFBfRkxPV19TWU5DX0JHKTsKIAlp bnQgcmV0OwogCiAJLyogbm8gc2NhbGluZyAqLwpAQCAtMTU2LDcgKzE1Nyw2IEBAIGludCBpcHVf cGxhbmVfbW9kZV9zZXQoc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lLCBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJCQkJcmV0KTsKIAkJCXJldHVybiByZXQ7CiAJCX0KLQkJaXB1X2RwX3NldF9n bG9iYWxfYWxwaGEoaXB1X3BsYW5lLT5kcCwgMSwgMCwgMSk7CiAJCWJyZWFrOwogCWNhc2UgSVBV X0RQX0ZMT1dfU1lOQ19GRzoKIAkJaXB1X2RwX3NldHVwX2NoYW5uZWwoaXB1X3BsYW5lLT5kcCwK QEAgLTE2Niw2ICsxNjYsMjQgQEAgaW50IGlwdV9wbGFuZV9tb2RlX3NldChzdHJ1Y3QgaXB1X3Bs YW5lICppcHVfcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJYnJlYWs7CiAJfQogCisJ aWYgKGlwdV9wbGFuZS0+ZHApIHsKKwkJcmV0ID0gaXB1X2RwX3NldF9nbG9iYWxfYWxwaGEoaXB1 X3BsYW5lLT5kcCwKKwkJCQkJICAgICAgaXB1X3BsYW5lLT5nbG9iYWxfYWxwaGFfZW4sCisJCQkJ CSAgICAgIGlwdV9wbGFuZS0+Z2xvYmFsX2FscGhhLCBpc19iZyk7CisJCWlmIChyZXQpIHsKKwkJ CWRldl9lcnIoZGV2LCAic2V0IGdsb2JhbCBhbHBoYSBmYWlsZWQgd2l0aCAlZFxuIiwgcmV0KTsK KwkJCXJldHVybiByZXQ7CisJCX0KKworCQlyZXQgPSBpcHVfZHBfc2V0X2Nocm9tYV9rZXkoaXB1 X3BsYW5lLT5kcCwKKwkJCQkJICAgIGlwdV9wbGFuZS0+Y29sb3JrZXlfZW4sCisJCQkJCSAgICBp cHVfcGxhbmUtPmNvbG9ya2V5KTsKKwkJaWYgKHJldCkgeworCQkJZGV2X2VycihkZXYsICJzZXQg Y29sb3JrZXkgZmFpbGVkIHdpdGggJWRcbiIsIHJldCk7CisJCQlyZXR1cm4gcmV0OworCQl9CisJ fQorCiAJcmV0ID0gaXB1X2RtZmNfYWxsb2NfYmFuZHdpZHRoKGlwdV9wbGFuZS0+ZG1mYywKIAkJ CWNhbGNfYmFuZHdpZHRoKGNydGNfdywgY3J0Y19oLAogCQkJCSAgICAgICBjYWxjX3ZyZWYobW9k ZSkpLCBjcnRjX3csIDY0KTsKQEAgLTMyOSwxMyArMzQ3LDg2IEBAIHN0YXRpYyB2b2lkIGlwdV9w bGFuZV9kZXN0cm95KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogCWtmcmVlKGlwdV9wbGFuZSk7 CiB9CiAKK3N0YXRpYyBpbnQgaXB1X3BsYW5lX3NldF9nbG9iYWxfYWxwaGEoc3RydWN0IGlwdV9w bGFuZSAqaXB1X3BsYW5lLAorCQkJCSAgICAgIHUzMiBnbG9iYWxfYWxwaGEpCit7CisJYm9vbCBp c19iZyA9IChpcHVfcGxhbmUtPmRwX2Zsb3cgPT0gSVBVX0RQX0ZMT1dfU1lOQ19CRyk7CisJYm9v bCBnbG9iYWxfYWxwaGFfZW47CisKKwlpZiAoIWlwdV9wbGFuZS0+ZHApCisJCXJldHVybiAtRUlO VkFMOworCisJZ2xvYmFsX2FscGhhX2VuID0gKChnbG9iYWxfYWxwaGEgJiAoMSA8PCA4KSkgIT0g MCk7CisJZ2xvYmFsX2FscGhhICY9IH4oMSA8PCA4KTsKKworCWlmIChpcHVfcGxhbmUtPmdsb2Jh bF9hbHBoYV9lbiA9PSBnbG9iYWxfYWxwaGFfZW4gJiYKKwkgICAgaXB1X3BsYW5lLT5nbG9iYWxf YWxwaGEgPT0gZ2xvYmFsX2FscGhhKQorCQlyZXR1cm4gMDsKKworCWlwdV9wbGFuZS0+Z2xvYmFs X2FscGhhX2VuID0gZ2xvYmFsX2FscGhhX2VuOworCWlwdV9wbGFuZS0+Z2xvYmFsX2FscGhhID0g Z2xvYmFsX2FscGhhOworCisJaWYgKCFpcHVfcGxhbmUtPmVuYWJsZWQpCisJCXJldHVybiAwOwor CisJcmV0dXJuIGlwdV9kcF9zZXRfZ2xvYmFsX2FscGhhKGlwdV9wbGFuZS0+ZHAsCisJCQkJICAg ICAgIGlwdV9wbGFuZS0+Z2xvYmFsX2FscGhhX2VuLAorCQkJCSAgICAgICBpcHVfcGxhbmUtPmds b2JhbF9hbHBoYSwgaXNfYmcpOworfQorCitzdGF0aWMgaW50IGlwdV9wbGFuZV9zZXRfY29sb3Jr ZXkoc3RydWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lLAorCQkJCSAgdTMyIGNvbG9ya2V5KQorewor CWJvb2wgY29sb3JrZXlfZW47CisKKwlpZiAoIWlwdV9wbGFuZS0+ZHApCisJCXJldHVybiAtRUlO VkFMOworCisJY29sb3JrZXlfZW4gPSAoKGNvbG9ya2V5ICYgKDEgPDwgMjQpKSAhPSAwKTsKKwlj b2xvcmtleSAmPSB+KDEgPDwgMjQpOworCisJaWYgKGlwdV9wbGFuZS0+Y29sb3JrZXlfZW4gPT0g Y29sb3JrZXlfZW4gJiYKKwkgICAgaXB1X3BsYW5lLT5jb2xvcmtleSA9PSBjb2xvcmtleSkKKwkJ cmV0dXJuIDA7CisKKwlpcHVfcGxhbmUtPmNvbG9ya2V5X2VuID0gY29sb3JrZXlfZW47CisJaXB1 X3BsYW5lLT5jb2xvcmtleSA9IGNvbG9ya2V5OworCisJaWYgKCFpcHVfcGxhbmUtPmVuYWJsZWQp CisJCXJldHVybiAwOworCisJcmV0dXJuIGlwdV9kcF9zZXRfY2hyb21hX2tleShpcHVfcGxhbmUt PmRwLAorCQkJCSAgICAgaXB1X3BsYW5lLT5jb2xvcmtleV9lbiwKKwkJCQkgICAgIGlwdV9wbGFu ZS0+Y29sb3JrZXkpOworfQorCitzdGF0aWMgaW50IGlwdV9wbGFuZV9zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJICBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0 eSwKKwkJCQkgIHVpbnQ2NF90IHZhbHVlKQoreworCXN0cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFu ZSA9IHRvX2lwdV9wbGFuZShwbGFuZSk7CisJaW50IHJldDsKKworCURSTV9ERUJVR19LTVMoIlsl ZF0gJXNcbiIsIF9fTElORV9fLCBfX2Z1bmNfXyk7CisKKwlpZiAocHJvcGVydHkgPT0gaXB1X3Bs YW5lLT5nbG9iYWxfYWxwaGFfcHJvcCkKKwkJcmV0ID0gaXB1X3BsYW5lX3NldF9nbG9iYWxfYWxw aGEoaXB1X3BsYW5lLCB2YWx1ZSk7CisJZWxzZSBpZiAocHJvcGVydHkgPT0gaXB1X3BsYW5lLT5j b2xvcmtleV9wcm9wKQorCQlyZXQgPSBpcHVfcGxhbmVfc2V0X2NvbG9ya2V5KGlwdV9wbGFuZSwg dmFsdWUpOworCWVsc2UKKwkJcmV0ID0gLUVJTlZBTDsKKworCXJldHVybiByZXQ7Cit9CisKIHN0 YXRpYyBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIGlwdV9wbGFuZV9mdW5jcyA9IHsKIAkudXBkYXRl X3BsYW5lCT0gaXB1X3VwZGF0ZV9wbGFuZSwKIAkuZGlzYWJsZV9wbGFuZQk9IGlwdV9kaXNhYmxl X3BsYW5lLAogCS5kZXN0cm95CT0gaXB1X3BsYW5lX2Rlc3Ryb3ksCisJLnNldF9wcm9wZXJ0eQk9 IGlwdV9wbGFuZV9zZXRfcHJvcGVydHksCiB9OwogCi1zdHJ1Y3QgaXB1X3BsYW5lICppcHVfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaXB1X3NvYyAqaXB1LAorc3Ry dWN0IGlwdV9wbGFuZSAqaXB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3Ry dWN0IGlwdV9zb2MgKmlwdSwKIAkJCQkgaW50IGRtYSwgaW50IGRwLCB1bnNpZ25lZCBpbnQgcG9z c2libGVfY3J0Y3MsCiAJCQkJIGJvb2wgcHJpdikKIHsKQEAgLTM1NSwxNSArNDQ2LDU4IEBAIHN0 cnVjdCBpcHVfcGxhbmUgKmlwdV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBpcHVfc29jICppcHUsCiAJaXB1X3BsYW5lLT5kbWEgPSBkbWE7CiAJaXB1X3BsYW5lLT5k cF9mbG93ID0gZHA7CiAKLQlyZXQgPSBkcm1fcGxhbmVfaW5pdChkZXYsICZpcHVfcGxhbmUtPmJh c2UsIHBvc3NpYmxlX2NydGNzLAorCXJldCA9IGRybV9wbGFuZV9pbml0KGRybSwgJmlwdV9wbGFu ZS0+YmFzZSwgcG9zc2libGVfY3J0Y3MsCiAJCQkgICAgICZpcHVfcGxhbmVfZnVuY3MsIGlwdV9w bGFuZV9mb3JtYXRzLAogCQkJICAgICBBUlJBWV9TSVpFKGlwdV9wbGFuZV9mb3JtYXRzKSwKIAkJ CSAgICAgcHJpdik7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoImZhaWxlZCB0byBpbml0aWFs aXplIHBsYW5lXG4iKTsKLQkJa2ZyZWUoaXB1X3BsYW5lKTsKLQkJcmV0dXJuIEVSUl9QVFIocmV0 KTsKKwkJZ290byBlcnJfZnJlZTsKIAl9CiAKKwkvKiBkZWZhdWx0IGdsb2JhbCBhbHBoYSBpcyBl bmFibGVkIGFuZCBjb21wbGV0ZWx5IG9wYXF1ZSAqLworCWlwdV9wbGFuZS0+Z2xvYmFsX2FscGhh X2VuID0gdHJ1ZTsKKwlpcHVfcGxhbmUtPmdsb2JhbF9hbHBoYSA9IDI1NTsKKworCS8qIGZvciBw cml2YXRlIHBsYW5lcywgc2tpcCBzZXR0aW5nIHVwIHByb3BlcnRpZXMgKi8KKwlpZiAocHJpdikK KwkJcmV0dXJuIGlwdV9wbGFuZTsKKworCS8qCisJICogZ2xvYmFsIGFscGhhIHJhbmdlIGlzIDAg LSAyNTUuIEJpdCA4IGlzIHVzZWQgYXMgYQorCSAqIGZsYWcgdG8gZGlzYWJsZSBvciBlbmFibGUg Z2xvYmFsIGFscGhhLgorCSAqLworCWlwdV9wbGFuZS0+Z2xvYmFsX2FscGhhX3Byb3AgPSBkcm1f cHJvcGVydHlfY3JlYXRlX3JhbmdlKGRybSwgMCwKKwkJCQkJCQkJICJhbHBoYSIsCisJCQkJCQkJ CSAwLCAweDFmZik7CisJaWYgKCFpcHVfcGxhbmUtPmdsb2JhbF9hbHBoYV9wcm9wKSB7CisJCURS TV9FUlJPUigiZmFpbGVkIHRvIGNyZWF0ZSBnbG9iYWwgYWxwaGEgcHJvcGVydHlcbiIpOworCQly ZXQgPSAtRU5PTUVNOworCQlnb3RvIGVycl9mcmVlOworCX0KKworCS8qCisJICogVGhlIGNvbG9y IGtleSBpcyBhbiBSR0IyNCB2YWx1ZS4gQml0IDI0IGlzIHVzZWQgYXMgYQorCSAqIGZsYWcgdG8g ZGlzYWJsZSBvciBlbmFibGUgY29sb3Iga2V5aW5nLgorCSAqLworCWlwdV9wbGFuZS0+Y29sb3Jr ZXlfcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UoZHJtLCAwLAorCQkJCQkJCSAgICAg ImNvbG9ya2V5IiwKKwkJCQkJCQkgICAgIDAsIDB4MDFmZmZmZmYpOworCWlmICghaXB1X3BsYW5l LT5jb2xvcmtleV9wcm9wKSB7CisJCURSTV9FUlJPUigiZmFpbGVkIHRvIGNyZWF0ZSBjb2xvcmtl eSBwcm9wZXJ0eVxuIik7CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2ZyZWU7CisJfQor CisJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkoJmlwdV9wbGFuZS0+YmFzZS5iYXNlLAorCQkJ CSAgIGlwdV9wbGFuZS0+Z2xvYmFsX2FscGhhX3Byb3AsCisJCQkJICAgMHgxZmYpOworCWRybV9v YmplY3RfYXR0YWNoX3Byb3BlcnR5KCZpcHVfcGxhbmUtPmJhc2UuYmFzZSwKKwkJCQkgICBpcHVf cGxhbmUtPmNvbG9ya2V5X3Byb3AsCisJCQkJICAgMCk7CiAJcmV0dXJuIGlwdV9wbGFuZTsKKwor ZXJyX2ZyZWU6CisJa2ZyZWUoaXB1X3BsYW5lKTsKKwlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2lteC1kcm0vaXB1djMtcGxhbmUuaCBiL2RyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLXBsYW5lLmgKaW5kZXggYzBhYWU1Yi4uYjRkYWVlNSAx MDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2lteC1kcm0vaXB1djMtcGxhbmUuaAorKysgYi9k cml2ZXJzL3N0YWdpbmcvaW14LWRybS9pcHV2My1wbGFuZS5oCkBAIC0yNyw2ICsyNywxMyBAQCBz dHJ1Y3QgaXB1X3BsYW5lIHsKIAlpbnQJCQl4OwogCWludAkJCXk7CiAKKwlzdHJ1Y3QgZHJtX3By b3BlcnR5CSpnbG9iYWxfYWxwaGFfcHJvcDsKKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5CSpjb2xvcmtl eV9wcm9wOworCWJvb2wJCQlnbG9iYWxfYWxwaGFfZW47CisJdTMyCQkJZ2xvYmFsX2FscGhhOwor CWJvb2wJCQljb2xvcmtleV9lbjsKKwl1MzIJCQljb2xvcmtleTsKKwogCWJvb2wJCQllbmFibGVk OwogfTsKIAotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK