From mboxrd@z Thu Jan 1 00:00:00 1970 From: keithp@keithp.com Subject: [PATCH libdrm 1/2] Add drm mode lease ioctl wrappers [v3] Date: Wed, 2 Aug 2017 03:03:59 -0700 Message-ID: <20170802100400.21463-2-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 82A0E6F039 for ; Wed, 2 Aug 2017 10:04:08 +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+Cgpkcm1Nb2RlQ3JlYXRlTGVh c2UKZHJtTW9kZUxpc3RMZXNzZWVzCmRybU1vZGVHZXRMZWFzZQpkcm1Nb2RlUmV2b2tlTGVhc2UK CkNoYW5nZXMgZm9yIHYyOgoKUmVtb3ZlIGxlc3NlZSBpZCBmcm9tIEdldExlYXNlClJlbW92ZSBs ZXNzb3JfaWQgZnJvbSBMaXN0TGVhc2VzCkFkZCByZXZva2UKUmVudW1iZXIgdG8gdHJhY2sga2Vy bmVsIHJlYmFzZSBvbiBkcm0tbmV4dAoKU2lnbmVkLW9mZi1ieTogS2VpdGggUGFja2FyZCA8a2Vp dGhwQGtlaXRocC5jb20+Ci0tLQogaW5jbHVkZS9kcm0vZHJtLmggICAgICB8ICA0ICsrKwogaW5j bHVkZS9kcm0vZHJtX21vZGUuaCB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogeGY4NmRybU1vZGUuYyAgICAgICAgICB8IDkxICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4Zjg2ZHJtTW9kZS5oICAgICAgICAgIHwgMjMg KysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2luY2x1ZGUvZHJtL2RybS5oIGIvaW5jbHVkZS9kcm0vZHJtLmgKaW5kZXggYmYzNjc0 YWUuLjdjNzM2NzY1IDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm0uaAorKysgYi9pbmNsdWRl L2RybS9kcm0uaApAQCAtODI5LDYgKzgyOSwxMCBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJN X0lPQ1RMX01PREVfQVRPTUlDCQlEUk1fSU9XUigweEJDLCBzdHJ1Y3QgZHJtX21vZGVfYXRvbWlj KQogI2RlZmluZSBEUk1fSU9DVExfTU9ERV9DUkVBVEVQUk9QQkxPQglEUk1fSU9XUigweEJELCBz dHJ1Y3QgZHJtX21vZGVfY3JlYXRlX2Jsb2IpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0RFU1RS T1lQUk9QQkxPQglEUk1fSU9XUigweEJFLCBzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9ibG9iKQor I2RlZmluZSBEUk1fSU9DVExfTU9ERV9DUkVBVEVfTEVBU0UJRFJNX0lPV1IoMHhDMywgc3RydWN0 IGRybV9tb2RlX2NyZWF0ZV9sZWFzZSkKKyNkZWZpbmUgRFJNX0lPQ1RMX01PREVfTElTVF9MRVNT RUVTCURSTV9JT1dSKDB4QzQsIHN0cnVjdCBkcm1fbW9kZV9saXN0X2xlc3NlZXMpCisjZGVmaW5l IERSTV9JT0NUTF9NT0RFX0dFVF9MRUFTRQlEUk1fSU9XUigweEM1LCBzdHJ1Y3QgZHJtX21vZGVf Z2V0X2xlYXNlKQorI2RlZmluZSBEUk1fSU9DVExfTU9ERV9SRVZPS0VfTEVBU0UJRFJNX0lPV1Io MHhDNiwgc3RydWN0IGRybV9tb2RlX3Jldm9rZV9sZWFzZSkKIAogI2RlZmluZSBEUk1fSU9DVExf U1lOQ09CSl9DUkVBVEUJRFJNX0lPV1IoMHhCRiwgc3RydWN0IGRybV9zeW5jb2JqX2NyZWF0ZSkK ICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfREVTVFJPWQlEUk1fSU9XUigweEMwLCBzdHJ1Y3Qg ZHJtX3N5bmNvYmpfZGVzdHJveSkKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9tb2RlLmgg Yi9pbmNsdWRlL2RybS9kcm1fbW9kZS5oCmluZGV4IDcwNTcxYWY2Li5hMmI3MTYxNCAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX21vZGUuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZS5o CkBAIC02NzcsNiArNjc3LDcyIEBAIHN0cnVjdCBkcm1fbW9kZV9kZXN0cm95X2Jsb2IgewogCV9f dTMyIGJsb2JfaWQ7CiB9OwogCisvKioKKyAqIExlYXNlIG1vZGUgcmVzb3VyY2VzIHRvIGFub3Ro ZXIgdXNlci4KKyAqLworc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9sZWFzZSB7CisJLyoqIFBvaW50 ZXIgdG8gYXJyYXkgb2Ygb2JqZWN0IGlkcyAoX191MzIpICovCisJX191NjQgb2JqZWN0X2lkczsK KwkvKiogTnVtYmVyIG9mIG9iamVjdCBpZHMgKi8KKwlfX3UzMiBvYmplY3RfY291bnQ7CisJLyoq IGZsYWdzIGZvciBuZXcgRkQgKE9fQ0xPRVhFQywgZXRjKSAqLworCV9fdTMyIGZsYWdzOworCisJ LyoqIFJldHVybjogdW5pcXVlIGlkZW50aWZpZXIgZm9yIGxlc3NlZS4gKi8KKwlfX3UzMiBsZXNz ZWVfaWQ7CisJLyoqIFJldHVybjogZmlsZSBkZXNjcmlwdG9yIHRvIG5ldyBkcm1fbWFzdGVyIGZp bGUgKi8KKwlfX3UzMiBmZDsKK307CisKKy8qKgorICogTGlzdCBsZXNzZXMgZnJvbSBhIGRybV9t YXN0ZXIKKyAqLworc3RydWN0IGRybV9tb2RlX2xpc3RfbGVzc2VlcyB7CisJLyoqIE51bWJlciBv ZiBsZXNzZWVzLgorCSAqIE9uIGlucHV0LCBwcm92aWRlcyBsZW5ndGggb2YgdGhlIGFycmF5Lgor CSAqIE9uIG91dHB1dCwgcHJvdmlkZXMgdG90YWwgbnVtYmVyLiBObworCSAqIG1vcmUgdGhhbiB0 aGUgaW5wdXQgbnVtYmVyIHdpbGwgYmUgd3JpdHRlbgorCSAqIGJhY2ssIHNvIHR3byBjYWxscyBj YW4gYmUgdXNlZCB0byBnZXQKKwkgKiB0aGUgc2l6ZSBhbmQgdGhlbiB0aGUgZGF0YS4KKwkgKi8K KwlfX3UzMiBjb3VudF9sZXNzZWVzOworCV9fdTMyIHBhZDsKKworCS8qKiBQb2ludGVyIHRvIGxl c3NlZXMuCisJICogcG9pbnRlciB0byBfX3U2NCBhcnJheSBvZiBsZXNzZWUgaWRzCisJICovCisJ X191NjQgbGVzc2Vlc19wdHI7Cit9OworCisvKioKKyAqIEdldCBsZWFzZWQgb2JqZWN0cyBmb3Ig YSBsZXNzZWUKKyAqLworc3RydWN0IGRybV9tb2RlX2dldF9sZWFzZSB7CisJLyoqIE51bWJlciBv ZiBsZWFzZWQgb2JqZWN0cy4KKwkgKiBPbiBpbnB1dCwgcHJvdmlkZXMgbGVuZ3RoIG9mIHRoZSBh cnJheS4KKwkgKiBPbiBvdXRwdXQsIHByb3ZpZGVzIHRvdGFsIG51bWJlci4gTm8KKwkgKiBtb3Jl IHRoYW4gdGhlIGlucHV0IG51bWJlciB3aWxsIGJlIHdyaXR0ZW4KKwkgKiBiYWNrLCBzbyB0d28g Y2FsbHMgY2FuIGJlIHVzZWQgdG8gZ2V0CisJICogdGhlIHNpemUgYW5kIHRoZW4gdGhlIGRhdGEu CisJICovCisJX191MzIgY291bnRfb2JqZWN0czsKKwlfX3UzMiBwYWQ7CisKKwkvKiogUG9pbnRl ciB0byBvYmplY3RzLgorCSAqIHBvaW50ZXIgdG8gX191MzIgYXJyYXkgb2Ygb2JqZWN0IGlkcwor CSAqLworCV9fdTY0IG9iamVjdHNfcHRyOworfTsKKworLyoqCisgKiBSZXZva2UgbGVhc2UKKyAq Lworc3RydWN0IGRybV9tb2RlX3Jldm9rZV9sZWFzZSB7CisJLyoqIFVuaXF1ZSBJRCBvZiBsZXNz ZWUKKwkgKi8KKwlfX3UzMiBsZXNzZWVfaWQ7Cit9OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1 cykKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEveGY4NmRybU1vZGUuYyBiL3hmODZkcm1Nb2RlLmMK aW5kZXggZDNiYzIwZWEuLmFmZmQzZmI3IDEwMDY0NAotLS0gYS94Zjg2ZHJtTW9kZS5jCisrKyBi L3hmODZkcm1Nb2RlLmMKQEAgLTE0ODUsMyArMTQ4NSw5NCBAQCBkcm1Nb2RlRGVzdHJveVByb3Bl cnR5QmxvYihpbnQgZmQsIHVpbnQzMl90IGlkKQogCWRlc3Ryb3kuYmxvYl9pZCA9IGlkOwogCXJl dHVybiBEUk1fSU9DVEwoZmQsIERSTV9JT0NUTF9NT0RFX0RFU1RST1lQUk9QQkxPQiwgJmRlc3Ry b3kpOwogfQorCitpbnQKK2RybU1vZGVDcmVhdGVMZWFzZShpbnQgZmQsIGNvbnN0IHVpbnQzMl90 ICpvYmplY3RzLCBpbnQgbnVtX29iamVjdHMsIGludCBmbGFncywgdWludDMyX3QgKmxlc3NlZV9p ZCkKK3sKKyAgICAgICAgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9sZWFzZSBjcmVhdGU7CisgICAg ICAgIGludCByZXQ7CisKKyAgICAgICAgbWVtY2xlYXIoY3JlYXRlKTsKKyAgICAgICAgY3JlYXRl Lm9iamVjdF9pZHMgPSAodWludHB0cl90KSBvYmplY3RzOworICAgICAgICBjcmVhdGUub2JqZWN0 X2NvdW50ID0gbnVtX29iamVjdHM7CisgICAgICAgIGNyZWF0ZS5mbGFncyA9IGZsYWdzOworCisg ICAgICAgIHJldCA9IERSTV9JT0NUTChmZCwgRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0xFQVNFLCAm Y3JlYXRlKTsKKyAgICAgICAgaWYgKHJldCA9PSAwKSB7CisgICAgICAgICAgICAgICAgKmxlc3Nl ZV9pZCA9IGNyZWF0ZS5sZXNzZWVfaWQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZS5m ZDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gLWVycm5vOworfQorCitkcm1Nb2RlTGVzc2Vl TGlzdFB0cgorZHJtTW9kZUxpc3RMZXNzZWVzKGludCBmZCkKK3sKKyAgICAgICAgc3RydWN0IGRy bV9tb2RlX2xpc3RfbGVzc2VlcyBsaXN0OworICAgICAgICB1aW50MzJfdCBjb3VudDsKKyAgICAg ICAgZHJtTW9kZUxlc3NlZUxpc3RQdHIgcmV0OworCisgICAgICAgIG1lbWNsZWFyKGxpc3QpOwor CisgICAgICAgIGlmIChEUk1fSU9DVEwoZmQsIERSTV9JT0NUTF9NT0RFX0xJU1RfTEVTU0VFUywg Jmxpc3QpKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGNvdW50ID0g bGlzdC5jb3VudF9sZXNzZWVzOworICAgICAgICByZXQgPSBkcm1NYWxsb2Moc2l6ZW9mIChkcm1N b2RlTGVzc2VlTGlzdFJlcykgKyBjb3VudCAqIHNpemVvZiAocmV0LT5sZXNzZWVzWzBdKSk7Cisg ICAgICAgIGlmICghcmV0KQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAg IGxpc3QubGVzc2Vlc19wdHIgPSBWT0lEMlU2NCgmcmV0LT5sZXNzZWVzWzBdKTsKKyAgICAgICAg aWYgKERSTV9JT0NUTChmZCwgRFJNX0lPQ1RMX01PREVfTElTVF9MRVNTRUVTLCAmbGlzdCkpIHsK KyAgICAgICAgICAgICAgICBkcm1GcmVlKHJldCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5V TEw7CisgICAgICAgIH0KKworICAgICAgICByZXQtPmNvdW50ID0gY291bnQ7CisgICAgICAgIHJl dHVybiByZXQ7Cit9CisKK2RybU1vZGVPYmplY3RMaXN0UHRyCitkcm1Nb2RlR2V0TGVhc2UoaW50 IGZkKQoreworICAgICAgICBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2xlYXNlIGdldDsKKyAgICAgICAg dWludDMyX3QgY291bnQ7CisgICAgICAgIGRybU1vZGVPYmplY3RMaXN0UHRyIHJldDsKKworICAg ICAgICBtZW1jbGVhcihnZXQpOworCisgICAgICAgIGlmIChEUk1fSU9DVEwoZmQsIERSTV9JT0NU TF9NT0RFX0dFVF9MRUFTRSwgJmdldCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisK KyAgICAgICAgY291bnQgPSBnZXQuY291bnRfb2JqZWN0czsKKyAgICAgICAgcmV0ID0gZHJtTWFs bG9jKHNpemVvZiAoZHJtTW9kZU9iamVjdExpc3RSZXMpICsgY291bnQgKiBzaXplb2YgKHJldC0+ b2JqZWN0c1swXSkpOworICAgICAgICBpZiAoIXJldCkKKyAgICAgICAgICAgICAgICByZXR1cm4g TlVMTDsKKworICAgICAgICBnZXQub2JqZWN0c19wdHIgPSBWT0lEMlU2NCgmcmV0LT5vYmplY3Rz WzBdKTsKKyAgICAgICAgaWYgKERSTV9JT0NUTChmZCwgRFJNX0lPQ1RMX01PREVfR0VUX0xFQVNF LCAmZ2V0KSkgeworICAgICAgICAgICAgICAgIGRybUZyZWUocmV0KTsKKyAgICAgICAgICAgICAg ICByZXR1cm4gTlVMTDsKKyAgICAgICAgfQorCisgICAgICAgIHJldC0+Y291bnQgPSBjb3VudDsK KyAgICAgICAgcmV0dXJuIHJldDsKK30KKworaW50Citkcm1Nb2RlUmV2b2tlTGVhc2UoaW50IGZk LCB1aW50MzJfdCBsZXNzZWVfaWQpCit7CisgICAgICAgIHN0cnVjdCBkcm1fbW9kZV9yZXZva2Vf bGVhc2UgcmV2b2tlOworICAgICAgICBpbnQgcmV0OworCisgICAgICAgIG1lbWNsZWFyKHJldm9r ZSk7CisKKyAgICAgICAgcmV2b2tlLmxlc3NlZV9pZCA9IGxlc3NlZV9pZDsKKworICAgICAgICBy ZXQgPSBEUk1fSU9DVEwoZmQsIERSTV9JT0NUTF9NT0RFX1JFVk9LRV9MRUFTRSwgJnJldm9rZSk7 CisgICAgICAgIGlmIChyZXQgPT0gMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg ICAgcmV0dXJuIC1lcnJubzsKK30KKworCmRpZmYgLS1naXQgYS94Zjg2ZHJtTW9kZS5oIGIveGY4 NmRybU1vZGUuaAppbmRleCA1YjM5MGQ5Zi4uYjVlMjI3MjAgMTAwNjQ0Ci0tLSBhL3hmODZkcm1N b2RlLmgKKysrIGIveGY4NmRybU1vZGUuaApAQCAtNTIxLDYgKzUyMSwyOSBAQCBleHRlcm4gaW50 IGRybU1vZGVDcmVhdGVQcm9wZXJ0eUJsb2IoaW50IGZkLCBjb25zdCB2b2lkICpkYXRhLCBzaXpl X3Qgc2l6ZSwKIGV4dGVybiBpbnQgZHJtTW9kZURlc3Ryb3lQcm9wZXJ0eUJsb2IoaW50IGZkLCB1 aW50MzJfdCBpZCk7CiAKIAorLyoKKyAqIERSTSBtb2RlIGxlYXNlIEFQSXMuIFRoZXNlIGNyZWF0 ZSBhbmQgbWFuYWdlIG5ldyBkcm1fbWFzdGVycyB3aXRoCisgKiBhY2Nlc3MgdG8gYSBzdWJzZXQg b2YgdGhlIGF2YWlsYWJsZSBEUk0gcmVzb3VyY2VzCisgKi8KKworZXh0ZXJuIGludCBkcm1Nb2Rl Q3JlYXRlTGVhc2UoaW50IGZkLCBjb25zdCB1aW50MzJfdCAqb2JqZWN0cywgaW50IG51bV9vYmpl Y3RzLCBpbnQgZmxhZ3MsIHVpbnQzMl90ICpsZXNzZWVfaWQpOworCit0eXBlZGVmIHN0cnVjdCBk cm1Nb2RlTGVzc2VlTGlzdCB7CisgICAgICAgIHVpbnQzMl90IGNvdW50OworICAgICAgICB1aW50 MzJfdCBsZXNzZWVzWzBdOworfSBkcm1Nb2RlTGVzc2VlTGlzdFJlcywgKmRybU1vZGVMZXNzZWVM aXN0UHRyOworCitleHRlcm4gZHJtTW9kZUxlc3NlZUxpc3RQdHIgZHJtTW9kZUxpc3RMZXNzZWVz KGludCBmZCk7CisKK3R5cGVkZWYgc3RydWN0IGRybU1vZGVPYmplY3RMaXN0IHsKKyAgICAgICAg dWludDMyX3QgY291bnQ7CisgICAgICAgIHVpbnQzMl90IG9iamVjdHNbMF07Cit9IGRybU1vZGVP YmplY3RMaXN0UmVzLCAqZHJtTW9kZU9iamVjdExpc3RQdHI7CisKK2V4dGVybiBkcm1Nb2RlT2Jq ZWN0TGlzdFB0ciBkcm1Nb2RlR2V0TGVhc2UoaW50IGZkKTsKKworZXh0ZXJuIGludCBkcm1Nb2Rl UmV2b2tlTGVhc2UoaW50IGZkLCB1aW50MzJfdCBsZXNzZWVfaWQpOworCiAjaWYgZGVmaW5lZChf X2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK