From mboxrd@z Thu Jan 1 00:00:00 1970 From: keithp@keithp.com Subject: [PATCH libdrm 2/2] Add CrtcGetSequence and CrtcQueueSequence IOCTLs Date: Wed, 2 Aug 2017 03:04:00 -0700 Message-ID: <20170802100400.21463-3-keithp@keithp.com> References: <20170802100400.21463-1-keithp@keithp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from elaine.keithp.com (home.keithp.com [63.227.221.253]) by gabe.freedesktop.org (Postfix) with ESMTP id E9A3E6F03A for ; Wed, 2 Aug 2017 10:04:07 +0000 (UTC) In-Reply-To: <20170802100400.21463-1-keithp@keithp.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 Cc: airlied@redhat.com, keithp@keithp.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogS2VpdGggUGFja2FyZCA8a2VpdGhwQGtlaXRocC5jb20+CgpUaGVzZSBwcm92aWRlIGEg Y3J0Yy1pZCBiYXNlZCBpbnRlcmZhY2UgdG8gZ2V0IHRoZSBjdXJyZW50IHNlcXVlbmNlCihmcmFt ZSkgbnVtYmVyIGFuZCB0byBxdWV1ZSBhbiBldmVudCB0byBiZSBkZWxpdmVyZWQgYXQgYSBzcGVj aWZpYyBzZXF1ZW5jZS4KClNpZ25lZC1vZmYtYnk6IEtlaXRoIFBhY2thcmQgPGtlaXRocEBrZWl0 aHAuY29tPgotLS0KIGluY2x1ZGUvZHJtL2RybS5oIHwgMzIgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKIHhmODZkcm0uYyAgICAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiB4Zjg2ZHJtLmggICAgICAgICB8IDExICsrKysrKysrKystCiB4Zjg2ZHJt TW9kZS5jICAgICB8ICA5ICsrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA4NCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtLmggYi9pbmNs dWRlL2RybS9kcm0uaAppbmRleCA3YzczNjc2NS4uMDc2MDQwZDQgMTAwNjQ0Ci0tLSBhL2luY2x1 ZGUvZHJtL2RybS5oCisrKyBiL2luY2x1ZGUvZHJtL2RybS5oCkBAIC03MTIsNiArNzEyLDI3IEBA IHN0cnVjdCBkcm1fc3luY29ial9oYW5kbGUgewogCV9fdTMyIHBhZDsKIH07CiAKKy8qIFF1ZXJ5 IGN1cnJlbnQgc2Nhbm91dCBzZXF1ZW5jZSBudW1iZXIgKi8KK3N0cnVjdCBkcm1fY3J0Y19nZXRf c2VxdWVuY2UgeworCV9fdTMyIGNydGNfaWQ7CisJX191MzIgYWN0aXZlOworCV9fdTY0IHNlcXVl bmNlOworCV9fczY0IHNlcXVlbmNlX25zOworfTsKKworLyogUXVldWUgZXZlbnQgdG8gYmUgZGVs aXZlcmVkIGF0IHNwZWNpZmllZCBzZXF1ZW5jZSAqLworCisjZGVmaW5lIERSTV9DUlRDX1NFUVVF TkNFX1JFTEFUSVZFCQkweDAwMDAwMDAxCS8qIHNlcXVlbmNlIGlzIHJlbGF0aXZlIHRvIGN1cnJl bnQgKi8KKyNkZWZpbmUgRFJNX0NSVENfU0VRVUVOQ0VfTkVYVF9PTl9NSVNTCQkweDAwMDAwMDAy CS8qIFVzZSBuZXh0IHNlcXVlbmNlIGlmIHdlJ3ZlIG1pc3NlZCAqLworI2RlZmluZSBEUk1fQ1JU Q19TRVFVRU5DRV9GSVJTVF9QSVhFTF9PVVQJMHgwMDAwMDAwNAkvKiBTaWduYWwgd2hlbiBmaXJz dCBwaXhlbCBpcyBkaXNwbGF5ZWQgKi8KKworc3RydWN0IGRybV9jcnRjX3F1ZXVlX3NlcXVlbmNl IHsKKwlfX3UzMiBjcnRjX2lkOworCV9fdTMyIGZsYWdzOworCV9fdTY0IHNlcXVlbmNlOwkJLyog b24gaW5wdXQsIHRhcmdldCBzZXF1ZW5jZS4gb24gb3V0cHV0LCBhY3R1YWwgc2VxdWVuY2UgKi8K KwlfX3U2NCB1c2VyX2RhdGE7CS8qIHVzZXIgZGF0YSBwYXNzZWQgdG8gZXZlbnQgKi8KK307CisK ICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCkBAIC03OTQsNiArODE1LDkgQEAg ZXh0ZXJuICJDIiB7CiAKICNkZWZpbmUgRFJNX0lPQ1RMX1dBSVRfVkJMQU5LCQlEUk1fSU9XUigw eDNhLCB1bmlvbiBkcm1fd2FpdF92YmxhbmspCiAKKyNkZWZpbmUgRFJNX0lPQ1RMX0NSVENfR0VU X1NFUVVFTkNFCURSTV9JT1dSKDB4M2IsIHN0cnVjdCBkcm1fY3J0Y19nZXRfc2VxdWVuY2UpCisj ZGVmaW5lIERSTV9JT0NUTF9DUlRDX1FVRVVFX1NFUVVFTkNFCURSTV9JT1dSKDB4M2MsIHN0cnVj dCBkcm1fY3J0Y19xdWV1ZV9zZXF1ZW5jZSkKKwogI2RlZmluZSBEUk1fSU9DVExfVVBEQVRFX0RS QVcJCURSTV9JT1coMHgzZiwgc3RydWN0IGRybV91cGRhdGVfZHJhdykKIAogI2RlZmluZSBEUk1f SU9DVExfTU9ERV9HRVRSRVNPVVJDRVMJRFJNX0lPV1IoMHhBMCwgc3RydWN0IGRybV9tb2RlX2Nh cmRfcmVzKQpAQCAtODY5LDYgKzg5Myw3IEBAIHN0cnVjdCBkcm1fZXZlbnQgewogCiAjZGVmaW5l IERSTV9FVkVOVF9WQkxBTksgMHgwMQogI2RlZmluZSBEUk1fRVZFTlRfRkxJUF9DT01QTEVURSAw eDAyCisjZGVmaW5lIERSTV9FVkVOVF9DUlRDX1NFUVVFTkNFCTB4MDMKIAogc3RydWN0IGRybV9l dmVudF92YmxhbmsgewogCXN0cnVjdCBkcm1fZXZlbnQgYmFzZTsKQEAgLTg3OSw2ICs5MDQsMTMg QEAgc3RydWN0IGRybV9ldmVudF92YmxhbmsgewogCV9fdTMyIGNydGNfaWQ7IC8qIDAgb24gb2xk ZXIga2VybmVscyB0aGF0IGRvIG5vdCBzdXBwb3J0IHRoaXMgKi8KIH07CiAKK3N0cnVjdCBkcm1f ZXZlbnRfY3J0Y19zZXF1ZW5jZSB7CisJc3RydWN0IGRybV9ldmVudAliYXNlOworCV9fdTY0CQkJ dXNlcl9kYXRhOworCV9fczY0CQkJdGltZV9uczsKKwlfX3U2NAkJCXNlcXVlbmNlOworfTsKKwog LyogdHlwZWRlZiBhcmVhICovCiB0eXBlZGVmIHN0cnVjdCBkcm1fY2xpcF9yZWN0IGRybV9jbGlw X3JlY3RfdDsKIHR5cGVkZWYgc3RydWN0IGRybV9kcmF3YWJsZV9pbmZvIGRybV9kcmF3YWJsZV9p bmZvX3Q7CmRpZmYgLS1naXQgYS94Zjg2ZHJtLmMgYi94Zjg2ZHJtLmMKaW5kZXggNmVhMDExMjku LmJmZmNkN2U1IDEwMDY0NAotLS0gYS94Zjg2ZHJtLmMKKysrIGIveGY4NmRybS5jCkBAIC0xNjk1 LDYgKzE2OTUsMzkgQEAgaW50IGRybVVwZGF0ZURyYXdhYmxlSW5mbyhpbnQgZmQsIGRybV9kcmF3 YWJsZV90IGhhbmRsZSwKICAgICByZXR1cm4gMDsKIH0KIAoraW50IGRybUNydGNHZXRTZXF1ZW5j ZShpbnQgZmQsIHVpbnQzMl90IGNydGNJZCwgdWludDY0X3QgKnNlcXVlbmNlLCB1aW50NjRfdCAq bnMpCit7CisgICAgc3RydWN0IGRybV9jcnRjX2dldF9zZXF1ZW5jZSBnZXRfc2VxOworICAgIGlu dCByZXQ7CisKKyAgICBtZW1jbGVhcihnZXRfc2VxKTsKKyAgICBnZXRfc2VxLmNydGNfaWQgPSBj cnRjSWQ7CisgICAgcmV0ID0gZHJtSW9jdGwoZmQsIERSTV9JT0NUTF9DUlRDX0dFVF9TRVFVRU5D RSwgJmdldF9zZXEpOworICAgIGlmIChyZXQpCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICBp ZiAoc2VxdWVuY2UpCisgICAgICAgICpzZXF1ZW5jZSA9IGdldF9zZXEuc2VxdWVuY2U7CisgICAg aWYgKG5zKQorICAgICAgICAqbnMgPSBnZXRfc2VxLnNlcXVlbmNlX25zOworICAgIHJldHVybiAw OworfQorCitpbnQgZHJtQ3J0Y1F1ZXVlU2VxdWVuY2UoaW50IGZkLCB1aW50MzJfdCBjcnRjSWQs IHVpbnQzMl90IGZsYWdzLCB1aW50NjRfdCBzZXF1ZW5jZSwgdWludDY0X3QgdXNlcl9kYXRhKQor eworICAgIHN0cnVjdCBkcm1fY3J0Y19xdWV1ZV9zZXF1ZW5jZSBxdWV1ZV9zZXE7CisgICAgaW50 IHJldDsKKworICAgIG1lbWNsZWFyKHF1ZXVlX3NlcSk7CisgICAgcXVldWVfc2VxLmNydGNfaWQg PSBjcnRjSWQ7CisgICAgcXVldWVfc2VxLmZsYWdzID0gZmxhZ3M7CisgICAgcXVldWVfc2VxLnNl cXVlbmNlID0gc2VxdWVuY2U7CisgICAgcXVldWVfc2VxLnVzZXJfZGF0YSA9IHVzZXJfZGF0YTsK KworICAgIHJldCA9IGRybUlvY3RsKGZkLCBEUk1fSU9DVExfQ1JUQ19RVUVVRV9TRVFVRU5DRSwg JnF1ZXVlX3NlcSk7CisgICAgcmV0dXJuIHJldDsKK30KKwogLyoqCiAgKiBBY3F1aXJlIHRoZSBB R1AgZGV2aWNlLgogICoKZGlmZiAtLWdpdCBhL3hmODZkcm0uaCBiL3hmODZkcm0uaAppbmRleCAy ODU1YTNlZS4uZWQxY2FjZGEgMTAwNjQ0Ci0tLSBhL3hmODZkcm0uaAorKysgYi94Zjg2ZHJtLmgK QEAgLTYzNiw2ICs2MzYsMTEgQEAgZXh0ZXJuIGludCAgICAgICAgICAgZHJtQ3RsVW5pbnN0SGFu ZGxlcihpbnQgZmQpOwogZXh0ZXJuIGludCAgICAgICAgICAgZHJtU2V0Q2xpZW50Q2FwKGludCBm ZCwgdWludDY0X3QgY2FwYWJpbGl0eSwKIAkJCQkgICAgIHVpbnQ2NF90IHZhbHVlKTsKIAorZXh0 ZXJuIGludCAgICAgICAgICAgZHJtQ3J0Y0dldFNlcXVlbmNlKGludCBmZCwgdWludDMyX3QgY3J0 Y0lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpz ZXF1ZW5jZSwgdWludDY0X3QgKm5zKTsKK2V4dGVybiBpbnQgICAgICAgICAgIGRybUNydGNRdWV1 ZVNlcXVlbmNlKGludCBmZCwgdWludDMyX3QgY3J0Y0lkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZmxhZ3MsIHVpbnQ2NF90IHNlcXVlbmNlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgdXNlcl9k YXRhKTsKIC8qIEdlbmVyYWwgdXNlci1sZXZlbCBwcm9ncmFtbWVyJ3MgQVBJOiBhdXRoZW50aWNh dGVkIGNsaWVudCBhbmQvb3IgWCAqLwogZXh0ZXJuIGludCAgICAgICAgICAgZHJtTWFwKGludCBm ZCwKIAkJCSAgICBkcm1faGFuZGxlX3QgaGFuZGxlLApAQCAtNzI4LDcgKzczMyw3IEBAIGV4dGVy biB2b2lkIGRybU1zZyhjb25zdCBjaGFyICpmb3JtYXQsIC4uLikgRFJNX1BSSU5URkxJS0UoMSwg Mik7CiBleHRlcm4gaW50IGRybVNldE1hc3RlcihpbnQgZmQpOwogZXh0ZXJuIGludCBkcm1Ecm9w TWFzdGVyKGludCBmZCk7CiAKLSNkZWZpbmUgRFJNX0VWRU5UX0NPTlRFWFRfVkVSU0lPTiAzCisj ZGVmaW5lIERSTV9FVkVOVF9DT05URVhUX1ZFUlNJT04gNAogCiB0eXBlZGVmIHN0cnVjdCBfZHJt RXZlbnRDb250ZXh0IHsKIApAQCAtNzU1LDYgKzc2MCwxMCBAQCB0eXBlZGVmIHN0cnVjdCBfZHJt RXZlbnRDb250ZXh0IHsKIAkJCQkgICB1bnNpZ25lZCBpbnQgY3J0Y19pZCwKIAkJCQkgICB2b2lk ICp1c2VyX2RhdGEpOwogCisJdm9pZCAoKnNlcXVlbmNlX2hhbmRsZXIpKGludCBmZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNlcXVlbmNlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgbnMsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCB1c2VyX2RhdGEpOwogfSBkcm1FdmVudENvbnRleHQsICpk cm1FdmVudENvbnRleHRQdHI7CiAKIGV4dGVybiBpbnQgZHJtSGFuZGxlRXZlbnQoaW50IGZkLCBk cm1FdmVudENvbnRleHRQdHIgZXZjdHgpOwpkaWZmIC0tZ2l0IGEveGY4NmRybU1vZGUuYyBiL3hm ODZkcm1Nb2RlLmMKaW5kZXggYWZmZDNmYjcuLjA3ODAxOThlIDEwMDY0NAotLS0gYS94Zjg2ZHJt TW9kZS5jCisrKyBiL3hmODZkcm1Nb2RlLmMKQEAgLTg4OSw2ICs4ODksNyBAQCBpbnQgZHJtSGFu ZGxlRXZlbnQoaW50IGZkLCBkcm1FdmVudENvbnRleHRQdHIgZXZjdHgpCiAJaW50IGxlbiwgaTsK IAlzdHJ1Y3QgZHJtX2V2ZW50ICplOwogCXN0cnVjdCBkcm1fZXZlbnRfdmJsYW5rICp2Ymxhbms7 CisgICAgICAgIHN0cnVjdCBkcm1fZXZlbnRfY3J0Y19zZXF1ZW5jZSAqc2VxOwogCXZvaWQgKnVz ZXJfZGF0YTsKIAogCS8qIFRoZSBEUk0gcmVhZCBzZW1hbnRpY3MgZ3VhcmFudGVlcyB0aGF0IHdl IGFsd2F5cyBnZXQgb25seQpAQCAtOTMzLDYgKzkzNCwxNCBAQCBpbnQgZHJtSGFuZGxlRXZlbnQo aW50IGZkLCBkcm1FdmVudENvbnRleHRQdHIgZXZjdHgpCiAJCQkJCQkJIHZibGFuay0+dHZfdXNl YywKIAkJCQkJCQkgdXNlcl9kYXRhKTsKIAkJCWJyZWFrOworICAgICAgICAgICAgICAgIGNhc2Ug RFJNX0VWRU5UX0NSVENfU0VRVUVOQ0U6CisgICAgICAgICAgICAgICAgICAgICAgICBzZXEgPSAo c3RydWN0IGRybV9ldmVudF9jcnRjX3NlcXVlbmNlICopIGU7CisgICAgICAgICAgICAgICAgICAg ICAgICBpZiAoZXZjdHgtPnZlcnNpb24gPj0gNCAmJiBldmN0eC0+c2VxdWVuY2VfaGFuZGxlcikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZjdHgtPnNlcXVlbmNlX2hhbmRsZXIo ZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlcS0+c2VxdWVuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlcS0+dGltZV9ucywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxLT51c2VyX2RhdGEpOworICAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQlicmVhazsKIAkJfQotLSAK Mi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK