From mboxrd@z Thu Jan 1 00:00:00 1970 From: Steve Longerbeam Subject: [PATCH 56/72] imx-drm: Implement custom ioctl to set gamma Date: Fri, 31 Oct 2014 15:54:39 -0700 Message-ID: <1414796095-10107-57-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-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by gabe.freedesktop.org (Postfix) with ESMTP id B37FB6E84B for ; Fri, 31 Oct 2014 15:57:34 -0700 (PDT) Received: by mail-pa0-f42.google.com with SMTP id bj1so8573346pad.15 for ; Fri, 31 Oct 2014 15:57:34 -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 SW1wbGVtZW50IGkuTVggc3BlY2lmaWMgaW9jdGwgdG8gc2V0IGdhbW1hIGRpcmVjdGx5IHVzaW5n IHNsb3BlIGFuZAp5LWludGVyY2VwdCB2YWx1ZXMgdGhhdCBkZWZpbmUgdGhlIHBpZWNld2lzZSBs aW5lYXIgZ2FtbWEgY29ycmVjdGlvbgpjdXJ2ZS4KClNpZ25lZC1vZmYtYnk6IFN0ZXZlIExvbmdl cmJlYW0gPHN0ZXZlX2xvbmdlcmJlYW1AbWVudG9yLmNvbT4KLS0tCiBkcml2ZXJzL3N0YWdpbmcv aW14LWRybS9pbXgtZHJtLWNvcmUuYyB8ICAgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0KIGRyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0uaCAgICAgIHwgICAgMyArLS0K IGRyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLWNydGMuYyAgIHwgICAgOSArKysrKysrCiBp bmNsdWRlL3VhcGkvZHJtL2lteF9kcm0uaCAgICAgICAgICAgICB8ICAgMzAgKysrKysrKysrKysr KysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS91YXBpL2RybS9pbXhfZHJtLmgKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgtZHJtLWNvcmUuYyBiL2RyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jCmluZGV4IDA4NGVkNTMuLjRjODVmZDMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jCisrKyBi L2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0tY29yZS5jCkBAIC0yNCw2ICsyNCw3IEBA CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgogI2luY2x1ZGUgPGRybS9kcm1fZ2Vt X2NtYV9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2ZiX2NtYV9oZWxwZXIuaD4KKyNpbmNs dWRlIDxkcm0vaW14X2RybS5oPgogCiAjaW5jbHVkZSAiaW14LWRybS5oIgogCkBAIC0xMjIsNiAr MTIzLDE4IEBAIHN0YXRpYyBzdHJ1Y3QgaW14X2RybV9jcnRjICppbXhfZHJtX2ZpbmRfY3J0Yyhz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJcmV0dXJuIE5VTEw7CiB9CiAKK3N0YXRpYyBzdHJ1Y3Qg aW14X2RybV9jcnRjICppbXhfZHJtX2ZpbmRfY3J0Y19ieV9pZChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtLAorCQkJCQkJICAgIHUzMiBjcnRjX2lkKQoreworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsK KworCWNydGMgPSBkcm1fY3J0Y19maW5kKGRybSwgY3J0Y19pZCk7CisJaWYgKCFjcnRjKQorCQly ZXR1cm4gTlVMTDsKKworCXJldHVybiBpbXhfZHJtX2ZpbmRfY3J0YyhjcnRjKTsKK30KKwogaW50 IGlteF9kcm1fcGFuZWxfZm9ybWF0X3BpbnMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAog CQl1MzIgaW50ZXJmYWNlX3BpeF9mbXQsIGludCBoc3luY19waW4sIGludCB2c3luY19waW4pCiB7 CkBAIC01MzcsOCArNTUwLDMzIEBAIGludCBpbXhfZHJtX2VuY29kZXJfZ2V0X211eF9pZChzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5vZGUsCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChpbXhfZHJtX2VuY29k ZXJfZ2V0X211eF9pZCk7CiAKK3N0YXRpYyBpbnQgZHJtX2lteF9zZXRfZ2FtbWFfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRybSwgdm9pZCAqZGF0YSwKKwkJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGVfcHJpdikKK3sKKwlzdHJ1Y3QgZHJtX2lteF9nYW1tYSAqZyA9IGRhdGE7CisJc3RydWN0 IGlteF9kcm1fY3J0Y19oZWxwZXJfZnVuY3MgKmhlbHBlcjsKKwlzdHJ1Y3QgaW14X2RybV9jcnRj ICppbXhfY3J0YzsKKwlpbnQgcmV0ID0gLUVJTlZBTDsKKworCWlmICghZHJtX2NvcmVfY2hlY2tf ZmVhdHVyZShkcm0sIERSSVZFUl9NT0RFU0VUKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlkcm1f bW9kZXNldF9sb2NrX2FsbChkcm0pOworCisJaW14X2NydGMgPSBpbXhfZHJtX2ZpbmRfY3J0Y19i eV9pZChkcm0sIGctPmNydGNfaWQpOworCWlmICghaW14X2NydGMpCisJCWdvdG8gb3V0X3VubG9j azsKKworCWhlbHBlciA9ICZpbXhfY3J0Yy0+aW14X2RybV9oZWxwZXJfZnVuY3M7CisJcmV0ID0g aGVscGVyLT5nYW1tYV9zZXQoaW14X2NydGMtPmNydGMsIGctPmVuYWJsZSwgZy0+bSwgZy0+Yik7 CisKK291dF91bmxvY2s6CisJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkcm0pOworCXJldHVybiBy ZXQ7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaW14X2RybV9pb2N0 bHNbXSA9IHsKLQkvKiBub25lIHNvIGZhciAqLworCURSTV9JT0NUTF9ERUZfRFJWKElNWF9TRVRf R0FNTUEsIGRybV9pbXhfc2V0X2dhbW1hX2lvY3RsLCBEUk1fQVVUSCksCiB9OwogCiBzdGF0aWMg c3RydWN0IGRybV9kcml2ZXIgaW14X2RybV9kcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L3N0YWdpbmcvaW14LWRybS9pbXgtZHJtLmggYi9kcml2ZXJzL3N0YWdpbmcvaW14LWRybS9pbXgt ZHJtLmgKaW5kZXggYmY2YjA2Yi4uMGJiNDczNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5n L2lteC1kcm0vaW14LWRybS5oCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9pbXgtZHJtL2lteC1kcm0u aApAQCAtMjEsNiArMjEsNyBAQCBzdHJ1Y3QgaW14X2RybV9jcnRjX2hlbHBlcl9mdW5jcyB7CiAJ dm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGludCBwaXBlKTsK IAlpbnQgKCpzZXRfaW50ZXJmYWNlX3BpeF9mbXQpKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMy IGVuY29kZXJfdHlwZSwKIAkJCXUzMiBwaXhfZm10LCBpbnQgaHN5bmNfcGluLCBpbnQgdnN5bmNf cGluKTsKKwlpbnQgKCpnYW1tYV9zZXQpKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFi bGUsIHUzMiAqbSwgdTMyICpiKTsKIAljb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNz ICpjcnRjX2hlbHBlcl9mdW5jczsKIAljb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgKmNydGNf ZnVuY3M7CiB9OwpAQCAtNTIsNiArNTMsNCBAQCBpbnQgaW14X2RybV9lbmNvZGVyX3BhcnNlX29m KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sCiB2b2lkIGlteF9kcm1fY29ubmVjdG9yX2Rlc3Ryb3ko c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiB2b2lkIGlteF9kcm1fZW5jb2Rlcl9k ZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiAKLSNkZWZpbmUgRFJNX0lNWF9H QU1NQV9TSVpFIDE2Ci0KICNlbmRpZiAvKiBfSU1YX0RSTV9IXyAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9zdGFnaW5nL2lteC1kcm0vaXB1djMtY3J0Yy5jIGIvZHJpdmVycy9zdGFnaW5nL2lteC1k cm0vaXB1djMtY3J0Yy5jCmluZGV4IDRmMmJhNDAuLjhkN2M5OTggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvc3RhZ2luZy9pbXgtZHJtL2lwdXYzLWNydGMuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvaW14 LWRybS9pcHV2My1jcnRjLmMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlIDxsaW51eC9lcnJu by5oPgogI2luY2x1ZGUgPGRybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0v ZHJtX2ZiX2NtYV9oZWxwZXIuaD4KKyNpbmNsdWRlIDxkcm0vaW14X2RybS5oPgogCiAjaW5jbHVk ZSA8dmlkZW8vaW14LWlwdS12My5oPgogI2luY2x1ZGUgImlteC1kcm0uaCIKQEAgLTQwNSwxMCAr NDA2LDE4IEBAIHN0YXRpYyBpbnQgaXB1X3NldF9pbnRlcmZhY2VfcGl4X2ZtdChzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIHUzMiBlbmNvZGVyX3R5cGUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgaXB1X2dhbW1hX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlLCB1MzIg Km0sIHUzMiAqYikKK3sKKwlzdHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjID0gdG9faXB1X2NydGMo Y3J0Yyk7CisKKwlyZXR1cm4gaXB1X3BsYW5lX2dhbW1hX3NldCgmaXB1X2NydGMtPnBsYW5lWzBd LCB0cnVlLCBtLCBiKTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBpbXhfZHJtX2NydGNfaGVs cGVyX2Z1bmNzIGlwdV9jcnRjX2hlbHBlcl9mdW5jcyA9IHsKIAkuZW5hYmxlX3ZibGFuayA9IGlw dV9lbmFibGVfdmJsYW5rLAogCS5kaXNhYmxlX3ZibGFuayA9IGlwdV9kaXNhYmxlX3ZibGFuaywK IAkuc2V0X2ludGVyZmFjZV9waXhfZm10ID0gaXB1X3NldF9pbnRlcmZhY2VfcGl4X2ZtdCwKKwku Z2FtbWFfc2V0ID0gaXB1X2dhbW1hX3NldCwKIAkuY3J0Y19mdW5jcyA9ICZpcHVfY3J0Y19mdW5j cywKIAkuY3J0Y19oZWxwZXJfZnVuY3MgPSAmaXB1X2hlbHBlcl9mdW5jcywKIH07CmRpZmYgLS1n aXQgYS9pbmNsdWRlL3VhcGkvZHJtL2lteF9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaW14X2Ry bS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYTAzZDYKLS0tIC9kZXYv bnVsbAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2lteF9kcm0uaApAQCAtMCwwICsxLDMwIEBACisv KgorICogaW5jbHVkZS91YXBpL2RybS9pbXhfZHJtLmgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIw MTMtMjAxNCBNZW50b3IgR3JhcGhpY3MKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMK KyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqLwor CisjaWZuZGVmIF9fSU1YX0RSTV9IX18KKyNkZWZpbmUgX19JTVhfRFJNX0hfXworCisjaW5jbHVk ZSA8ZHJtL2RybS5oPgorCisjZGVmaW5lIERSTV9JTVhfR0FNTUFfU0laRSAgICAgICAgIDE2Citz dHJ1Y3QgZHJtX2lteF9nYW1tYSB7CisJYm9vbCAgICAgZW5hYmxlOworCXVpbnQzMl90IGNydGNf aWQ7CisJdWludDMyX3QgbVtEUk1fSU1YX0dBTU1BX1NJWkVdOworCXVpbnQzMl90IGJbRFJNX0lN WF9HQU1NQV9TSVpFXTsKK307CisKKyNkZWZpbmUgRFJNX0lNWF9TRVRfR0FNTUEgICAgMHgwMAor CisjZGVmaW5lIERSTV9JT0NUTF9JTVhfU0VUX0dBTU1BICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJNX0lNWF9T RVRfR0FNTUEsIHN0cnVjdCBkcm1faW14X2dhbW1hKQorCisjZW5kaWYgLyogX19JTVhfRFJNX0hf XyAqLwotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK