From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kristian H. Kristensen" Subject: [PATCH 1/2] Add DRM_IOCTL_MODE_GETPLANE2 ioctl wrapper Date: Tue, 20 Dec 2016 16:13:32 -0800 Message-ID: <20161221001333.21941-1-hoegsberg@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x243.google.com (mail-pg0-x243.google.com [IPv6:2607:f8b0:400e:c05::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 802B46EF5C for ; Wed, 21 Dec 2016 00:13:41 +0000 (UTC) Received: by mail-pg0-x243.google.com with SMTP id w68so7997629pgw.3 for ; Tue, 20 Dec 2016 16:13:41 -0800 (PST) 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 Cc: ben@bwidawsk.net, "Kristian H. Kristensen" List-Id: dri-devel@lists.freedesktop.org RnJvbTogIktyaXN0aWFuIEguIEtyaXN0ZW5zZW4iIDxob2Vnc2JlcmdAY2hyb21pdW0ub3JnPgoK VGhpcyBhZGRzIHN1cHBvcnQgZm9yIHRoZSBuZXcgRFJNX0lPQ1RMX01PREVfR0VUUExBTkUyIGlv Y3RsLiBGb3Igb2xkZXIKa2VybmVscyBkcm1Nb2RlR2V0UGxhbmUyKCkgZmFsbHMgYmFjayB0byBE Uk1fSU9DVExfTU9ERV9HRVRQTEFORSBhbmQKcmV0dXJuIHRoZSBuZXcsIGJpZ2dlciBkcm1Nb2Rl UGxhbmVSZWMsIHJlcG9ydGluZyAwIG1vZGlmaWVycy4KCkJVRz1jaHJvbWUtb3MtcGFydG5lcjo1 NjQwNwpURVNUPW1vZGV0ZXN0IHdpdGggbmV4dCBjb21taXQgcmVwb3J0cyBtb2RpZmllcnMKCkNo YW5nZS1JZDogSTljZjk5NzljMGI3MjkzM2JhZDY2MWZkMDNiOWJlZWJiMzYxMjBkZmQKLS0tCiBp bmNsdWRlL2RybS9kcm0uaCAgICAgIHwgIDEgKwogaW5jbHVkZS9kcm0vZHJtX21vZGUuaCB8IDI3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGY4NmRybU1vZGUuYyAgICAgICAgICB8IDQ5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIHhmODZk cm1Nb2RlLmggICAgICAgICAgfCAgNCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtLmggYi9p bmNsdWRlL2RybS9kcm0uaAppbmRleCBmNmZkNWMyLi4wOWQ0MjYyIDEwMDY0NAotLS0gYS9pbmNs dWRlL2RybS9kcm0uaAorKysgYi9pbmNsdWRlL2RybS9kcm0uaApAQCAtNzk5LDYgKzc5OSw3IEBA IGV4dGVybiAiQyIgewogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9ERVNUUk9ZX0RVTUIgICAgRFJN X0lPV1IoMHhCNCwgc3RydWN0IGRybV9tb2RlX2Rlc3Ryb3lfZHVtYikKICNkZWZpbmUgRFJNX0lP Q1RMX01PREVfR0VUUExBTkVSRVNPVVJDRVMgRFJNX0lPV1IoMHhCNSwgc3RydWN0IGRybV9tb2Rl X2dldF9wbGFuZV9yZXMpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0dFVFBMQU5FCURSTV9JT1dS KDB4QjYsIHN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUpCisjZGVmaW5lIERSTV9JT0NUTF9NT0RF X0dFVFBMQU5FMglEUk1fSU9XUigweEI2LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lMikKICNk ZWZpbmUgRFJNX0lPQ1RMX01PREVfU0VUUExBTkUJRFJNX0lPV1IoMHhCNywgc3RydWN0IGRybV9t b2RlX3NldF9wbGFuZSkKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfQURERkIyCQlEUk1fSU9XUigw eEI4LCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMikKICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfT0JK X0dFVFBST1BFUlRJRVMJRFJNX0lPV1IoMHhCOSwgc3RydWN0IGRybV9tb2RlX29ial9nZXRfcHJv cGVydGllcykKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlLmggYi9pbmNsdWRlL2Ry bS9kcm1fbW9kZS5oCmluZGV4IGRmMGUzNTAuLmNlNzczZmEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUv ZHJtL2RybV9tb2RlLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGUuaApAQCAtMTkzLDYgKzE5 MywzMyBAQCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lIHsKIAlfX3U2NCBmb3JtYXRfdHlwZV9w dHI7CiB9OwogCitzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllciB7CisJLyogQml0bWFzayBvZiBm b3JtYXRzIGluIGdldF9wbGFuZSBmb3JtYXQgbGlzdCB0aGlzIGluZm8KKwkgKiBhcHBsaWVzIHRv LiAqLworCV9fdTY0IGZvcm1hdHM7CisKKwkvKiBUaGlzIG1vZGlmaWVyIGNhbiBiZSB1c2VkIHdp dGggdGhlIGZvcm1hdCBmb3IgdGhpcyBwbGFuZS4gKi8KKwlfX3U2NCBtb2RpZmllcjsKK307CisK K3N0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmUyIHsKKwlfX3UzMiBwbGFuZV9pZDsKKworCV9fdTMy IGNydGNfaWQ7CisJX191MzIgZmJfaWQ7CisKKwlfX3UzMiBwb3NzaWJsZV9jcnRjczsKKwlfX3Uz MiBnYW1tYV9zaXplOworCisJX191MzIgY291bnRfZm9ybWF0X3R5cGVzOworCV9fdTY0IGZvcm1h dF90eXBlX3B0cjsKKworCS8qIE5ldyBpbiB2MiAqLworCV9fdTMyIGNvdW50X2Zvcm1hdF9tb2Rp ZmllcnM7CisJX191MzIgZmxhZ3M7CisJX191NjQgZm9ybWF0X21vZGlmaWVyX3B0cjsKK307CisK IHN0cnVjdCBkcm1fbW9kZV9nZXRfcGxhbmVfcmVzIHsKIAlfX3U2NCBwbGFuZV9pZF9wdHI7CiAJ X191MzIgY291bnRfcGxhbmVzOwpkaWZmIC0tZ2l0IGEveGY4NmRybU1vZGUuYyBiL3hmODZkcm1N b2RlLmMKaW5kZXggZmIyMmY2OC4uMjk4ZDUwMiAxMDA2NDQKLS0tIGEveGY4NmRybU1vZGUuYwor KysgYi94Zjg2ZHJtTW9kZS5jCkBAIC05OTAsMTUgKzk5MCwxNSBAQCBpbnQgZHJtTW9kZVNldFBs YW5lKGludCBmZCwgdWludDMyX3QgcGxhbmVfaWQsIHVpbnQzMl90IGNydGNfaWQsCiAJcmV0dXJu IERSTV9JT0NUTChmZCwgRFJNX0lPQ1RMX01PREVfU0VUUExBTkUsICZzKTsKIH0KIAotZHJtTW9k ZVBsYW5lUHRyIGRybU1vZGVHZXRQbGFuZShpbnQgZmQsIHVpbnQzMl90IHBsYW5lX2lkKQorc3Rh dGljIGRybU1vZGVQbGFuZVB0ciBnZXRfcGxhbmUodW5zaWduZWQgbG9uZyBjbWQsIGludCBmZCwg dWludDMyX3QgcGxhbmVfaWQpCiB7Ci0Jc3RydWN0IGRybV9tb2RlX2dldF9wbGFuZSBvdnIsIGNv dW50czsKKwlzdHJ1Y3QgZHJtX21vZGVfZ2V0X3BsYW5lMiBvdnIsIGNvdW50czsKIAlkcm1Nb2Rl UGxhbmVQdHIgciA9IDA7CiAKIHJldHJ5OgogCW1lbWNsZWFyKG92cik7CiAJb3ZyLnBsYW5lX2lk ID0gcGxhbmVfaWQ7Ci0JaWYgKGRybUlvY3RsKGZkLCBEUk1fSU9DVExfTU9ERV9HRVRQTEFORSwg Jm92cikpCisJaWYgKGRybUlvY3RsKGZkLCBjbWQsICZvdnIpKQogCQlyZXR1cm4gMDsKIAogCWNv dW50cyA9IG92cjsKQEAgLTEwMTAsMTEgKzEwMTAsMjEgQEAgcmV0cnk6CiAJCQlnb3RvIGVycl9h bGxvY3M7CiAJfQogCi0JaWYgKGRybUlvY3RsKGZkLCBEUk1fSU9DVExfTU9ERV9HRVRQTEFORSwg Jm92cikpCisJaWYgKG92ci5jb3VudF9mb3JtYXRfbW9kaWZpZXJzKSB7CisJCW92ci5mb3JtYXRf bW9kaWZpZXJfcHRyID0KKwkJCVZPSUQyVTY0KGRybU1hbGxvYyhvdnIuY291bnRfZm9ybWF0X21v ZGlmaWVycyAqCisJCQkJCSAgIHNpemVvZihzdHJ1Y3QgZHJtX2Zvcm1hdF9tb2RpZmllcikpKTsK KwkJaWYgKCFvdnIuZm9ybWF0X21vZGlmaWVyX3B0cikKKwkJCWdvdG8gZXJyX2FsbG9jczsKKwl9 CisKKwlpZiAoZHJtSW9jdGwoZmQsIGNtZCwgJm92cikpCiAJCWdvdG8gZXJyX2FsbG9jczsKIAot CWlmIChjb3VudHMuY291bnRfZm9ybWF0X3R5cGVzIDwgb3ZyLmNvdW50X2Zvcm1hdF90eXBlcykg eworCWlmIChjb3VudHMuY291bnRfZm9ybWF0X3R5cGVzIDwgb3ZyLmNvdW50X2Zvcm1hdF90eXBl cyB8fAorCSAgICBjb3VudHMuY291bnRfZm9ybWF0X21vZGlmaWVycyA8IG92ci5jb3VudF9mb3Jt YXRfbW9kaWZpZXJzKSB7CiAJCWRybUZyZWUoVTY0MlZPSUQob3ZyLmZvcm1hdF90eXBlX3B0cikp OworCQlkcm1GcmVlKFU2NDJWT0lEKG92ci5mb3JtYXRfbW9kaWZpZXJfcHRyKSk7CiAJCWdvdG8g cmV0cnk7CiAJfQogCkBAIC0xMDIyLDYgKzEwMzIsNyBAQCByZXRyeToKIAkJZ290byBlcnJfYWxs b2NzOwogCiAJci0+Y291bnRfZm9ybWF0cyA9IG92ci5jb3VudF9mb3JtYXRfdHlwZXM7CisJci0+ Y291bnRfZm9ybWF0X21vZGlmaWVycyA9IG92ci5jb3VudF9mb3JtYXRfbW9kaWZpZXJzOwogCXIt PnBsYW5lX2lkID0gb3ZyLnBsYW5lX2lkOwogCXItPmNydGNfaWQgPSBvdnIuY3J0Y19pZDsKIAly LT5mYl9pZCA9IG92ci5mYl9pZDsKQEAgLTEwMzMsMjAgKzEwNDQsNDggQEAgcmV0cnk6CiAJCWRy bUZyZWUoci0+Zm9ybWF0cyk7CiAJCWRybUZyZWUocik7CiAJCXIgPSAwOworCQlnb3RvIGVycl9h bGxvY3M7CisJfQorCisJci0+Zm9ybWF0X21vZGlmaWVycyA9CisJCWRybUFsbG9jQ3B5KFU2NDJW T0lEKG92ci5mb3JtYXRfbW9kaWZpZXJfcHRyKSwKKwkJCSAgICBvdnIuY291bnRfZm9ybWF0X21v ZGlmaWVycywKKwkJCSAgICBzaXplb2Yoc3RydWN0IGRybV9mb3JtYXRfbW9kaWZpZXIpKTsKKwlp ZiAob3ZyLmNvdW50X2Zvcm1hdF9tb2RpZmllcnMgJiYgIXItPmZvcm1hdF9tb2RpZmllcnMpIHsK KwkJZHJtRnJlZShyLT5mb3JtYXRzKTsKKwkJZHJtRnJlZShyKTsKKwkJciA9IDA7CiAJfQogCiBl cnJfYWxsb2NzOgogCWRybUZyZWUoVTY0MlZPSUQob3ZyLmZvcm1hdF90eXBlX3B0cikpOworCWRy bUZyZWUoVTY0MlZPSUQob3ZyLmZvcm1hdF9tb2RpZmllcl9wdHIpKTsKIAogCXJldHVybiByOwog fQogCitkcm1Nb2RlUGxhbmVQdHIgZHJtTW9kZUdldFBsYW5lMihpbnQgZmQsIHVpbnQzMl90IHBs YW5lX2lkKQoreworCWRybU1vZGVQbGFuZVB0ciByID0gZ2V0X3BsYW5lKERSTV9JT0NUTF9NT0RF X0dFVFBMQU5FMiwgZmQsIHBsYW5lX2lkKTsKKworCWlmIChyIHx8IGVycm5vICE9IEVJTlZBTCkK KwkJcmV0dXJuIHI7CisKKwlyZXR1cm4gZ2V0X3BsYW5lKERSTV9JT0NUTF9NT0RFX0dFVFBMQU5F LCBmZCwgcGxhbmVfaWQpOworfQorCitkcm1Nb2RlUGxhbmVQdHIgZHJtTW9kZUdldFBsYW5lKGlu dCBmZCwgdWludDMyX3QgcGxhbmVfaWQpCit7CisJcmV0dXJuIGdldF9wbGFuZShEUk1fSU9DVExf TU9ERV9HRVRQTEFORSwgZmQsIHBsYW5lX2lkKTsKK30KKwogdm9pZCBkcm1Nb2RlRnJlZVBsYW5l KGRybU1vZGVQbGFuZVB0ciBwdHIpCiB7CiAJaWYgKCFwdHIpCiAJCXJldHVybjsKIAogCWRybUZy ZWUocHRyLT5mb3JtYXRzKTsKKwlkcm1GcmVlKHB0ci0+Zm9ybWF0X21vZGlmaWVycyk7CiAJZHJt RnJlZShwdHIpOwogfQogCmRpZmYgLS1naXQgYS94Zjg2ZHJtTW9kZS5oIGIveGY4NmRybU1vZGUu aAppbmRleCBiNjg0OTY3Li4wNDRmMzhlIDEwMDY0NAotLS0gYS94Zjg2ZHJtTW9kZS5oCisrKyBi L3hmODZkcm1Nb2RlLmgKQEAgLTMyOCw2ICszMjgsOSBAQCB0eXBlZGVmIHN0cnVjdCBfZHJtTW9k ZVBsYW5lIHsKIAogCXVpbnQzMl90IHBvc3NpYmxlX2NydGNzOwogCXVpbnQzMl90IGdhbW1hX3Np emU7CisKKwl1aW50MzJfdCBjb3VudF9mb3JtYXRfbW9kaWZpZXJzOworCXN0cnVjdCBkcm1fZm9y bWF0X21vZGlmaWVyICpmb3JtYXRfbW9kaWZpZXJzOwogfSBkcm1Nb2RlUGxhbmUsICpkcm1Nb2Rl UGxhbmVQdHI7CiAKIHR5cGVkZWYgc3RydWN0IF9kcm1Nb2RlUGxhbmVSZXMgewpAQCAtNDc5LDYg KzQ4Miw3IEBAIGV4dGVybiBpbnQgZHJtTW9kZVBhZ2VGbGlwVGFyZ2V0KGludCBmZCwgdWludDMy X3QgY3J0Y19pZCwgdWludDMyX3QgZmJfaWQsCiAKIGV4dGVybiBkcm1Nb2RlUGxhbmVSZXNQdHIg ZHJtTW9kZUdldFBsYW5lUmVzb3VyY2VzKGludCBmZCk7CiBleHRlcm4gZHJtTW9kZVBsYW5lUHRy IGRybU1vZGVHZXRQbGFuZShpbnQgZmQsIHVpbnQzMl90IHBsYW5lX2lkKTsKK2V4dGVybiBkcm1N b2RlUGxhbmVQdHIgZHJtTW9kZUdldFBsYW5lMihpbnQgZmQsIHVpbnQzMl90IHBsYW5lX2lkKTsK IGV4dGVybiBpbnQgZHJtTW9kZVNldFBsYW5lKGludCBmZCwgdWludDMyX3QgcGxhbmVfaWQsIHVp bnQzMl90IGNydGNfaWQsCiAJCQkgICB1aW50MzJfdCBmYl9pZCwgdWludDMyX3QgZmxhZ3MsCiAJ CQkgICBpbnQzMl90IGNydGNfeCwgaW50MzJfdCBjcnRjX3ksCi0tIAoyLjkuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==