From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: [PATCH libdrm 4/5] xf86drm: introduce drmGetDevice[s]2 Date: Wed, 30 Nov 2016 20:35:10 +0000 Message-ID: <20161130203511.18910-4-emil.l.velikov@gmail.com> References: <20161130203511.18910-1-emil.l.velikov@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wj0-x242.google.com (mail-wj0-x242.google.com [IPv6:2a00:1450:400c:c01::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 98CD36E522 for ; Wed, 30 Nov 2016 20:35:36 +0000 (UTC) Received: by mail-wj0-x242.google.com with SMTP id kp2so23890056wjc.0 for ; Wed, 30 Nov 2016 12:35:36 -0800 (PST) In-Reply-To: <20161130203511.18910-1-emil.l.velikov@gmail.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: Mauro Santos , =?UTF-8?q?Michel=20D=C3=A4nzer?= , emil.l.velikov@gmail.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogRW1pbCBWZWxpa292IDxlbWlsLnZlbGlrb3ZAY29sbGFib3JhLmNvbT4KClJlbGF0aXZl IHRvIHRoZSBvcmlnaW5hbCB2ZXJzaW9uLCBoZXJlIG9uZSBjYW4gcHJvdmlkZSBhIGZsYWdzIGJp dG1hc2suCkN1cnJlbnRseSBvbmx5IERSTV9ERVZJQ0VfSUdOT1JFX1BDSV9SRVZJU0lPTiBpcyBz dXBwb3J0ZWQuCgpJbXBsZW1lbnRhdGlvbiBkZXRhaWw6CklmIGl0J3Mgc2V0LCB3ZSB3aWxsIG9u bHkgcGFyc2UgdGhlIHNlcGFyYXRlIHN5c2ZzIGZpbGVzIGFuZCB3ZSB3b24ndAp0b3VjaCB0aGUg Y29uZmlnIG9uZS4gVGhlIGxhdHRlciBhd2FrZXMgdGhlIGRldmljZSAoY2F1c2luZyBkZWxheXMp CndoaWNoIGlzIHRoZSBjb3JlIHJlYXNvbiB3aHkgdGhpcyBBUEkgd2FzIGludHJvZHVjZWQuCgpD YzogTWljaGVsIETDpG56ZXIgPG1pY2hlbEBkYWVuemVyLm5ldD4KQ2M6IE5pY29sYWkgSMOkaG5s ZSA8bmhhZWhubGVAZ21haWwuY29tPgpDYzogTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxsaW5n QGdtYWlsLmNvbT4KQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19i dWcuY2dpP2lkPTk4NTAyClNpZ25lZC1vZmYtYnk6IEVtaWwgVmVsaWtvdiA8ZW1pbC52ZWxpa292 QGNvbGxhYm9yYS5jb20+Ci0tLQpNaWNoZWwsIE5pY29sYWkgYW55IG5hbWluZyBzdWdnZXN0aW9u cyBvciBpbnB1dCBpbiBnZW5lcmFsIHdpbGwgYmUKYXBwcmVjaWF0ZWQuCi0tLQogeGY4NmRybS5j IHwgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tCiB4Zjg2ZHJtLmggfCAgNCArKysrCiAyIGZpbGVzIGNoYW5nZWQsIDYwIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGY4NmRybS5jIGIveGY4 NmRybS5jCmluZGV4IDcwMWNmMjkuLmYxMTc3MTYgMTAwNjQ0Ci0tLSBhL3hmODZkcm0uYworKysg Yi94Zjg2ZHJtLmMKQEAgLTI5NDgsNyArMjk0OCw4IEBAIHN0YXRpYyBpbnQgZHJtR2V0TWF4Tm9k ZU5hbWUodm9pZCkKIAogI2lmZGVmIF9fbGludXhfXwogc3RhdGljIGludCBwYXJzZV9zZXBhcmF0 ZV9zeXNmc19maWxlcyhpbnQgbWFqLCBpbnQgbWluLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkcm1QY2lEZXZpY2VJbmZvUHRyIGRldmljZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZHJtUGNpRGV2aWNlSW5mb1B0ciBkZXZpY2UsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaWdub3JlX3JldmlzaW9uKQog ewogI2RlZmluZSBBUlJBWV9TSVpFKGEpIChzaXplb2YoYSkgLyBzaXplb2YoKGEpWzBdKSkKICAg ICBzdGF0aWMgY29uc3QgY2hhciAqYXR0cnNbXSA9IHsKQEAgLTI5NjMsNyArMjk2NCw3IEBAIHN0 YXRpYyBpbnQgcGFyc2Vfc2VwYXJhdGVfc3lzZnNfZmlsZXMoaW50IG1haiwgaW50IG1pbiwKICAg ICBGSUxFICpmcDsKICAgICBpbnQgcmV0OwogCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8 IEFSUkFZX1NJWkUoYXR0cnMpOyBpKyspIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAoMCArICEh aWdub3JlX3JldmlzaW9uKTsgaSA8IEFSUkFZX1NJWkUoYXR0cnMpOyBpKyspIHsKICAgICAgICAg c25wcmludGYocGF0aCwgUEFUSF9NQVgsICIvc3lzL2Rldi9jaGFyLyVkOiVkL2RldmljZS8lcyIs IG1haiwgbWluLAogICAgICAgICAgICAgICAgICBhdHRyc1tpXSk7CiAgICAgICAgIGZwID0gZm9w ZW4ocGF0aCwgInIiKTsKQEAgLTI5NzcsNyArMjk3OCw3IEBAIHN0YXRpYyBpbnQgcGFyc2Vfc2Vw YXJhdGVfc3lzZnNfZmlsZXMoaW50IG1haiwgaW50IG1pbiwKIAogICAgIH0KIAotICAgIGRldmlj ZS0+cmV2aXNpb25faWQgPSBkYXRhWzBdICYgMHhmZjsKKyAgICBkZXZpY2UtPnJldmlzaW9uX2lk ID0gaWdub3JlX3JldmlzaW9uID8gMCA6IGRhdGFbMF0gJiAweGZmOwogICAgIGRldmljZS0+dmVu ZG9yX2lkID0gZGF0YVsxXSAmIDB4ZmZmZjsKICAgICBkZXZpY2UtPmRldmljZV9pZCA9IGRhdGFb Ml0gJiAweGZmZmY7CiAgICAgZGV2aWNlLT5zdWJ2ZW5kb3JfaWQgPSBkYXRhWzNdICYgMHhmZmZm OwpAQCAtMzAxOCw3ICszMDE5LDEwIEBAIHN0YXRpYyBpbnQgZHJtUGFyc2VQY2lEZXZpY2VJbmZv KGludCBtYWosIGludCBtaW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBmbGFncykKIHsKICNpZmRlZiBfX2xpbnV4X18KLSAgICBpZiAocGFyc2Vfc2VwYXJhdGVf c3lzZnNfZmlsZXMobWFqLCBtaW4sIGRldmljZSkpCisgICAgaWYgKGZsYWdzICYgRFJNX0RFVklD RV9JR05PUkVfUENJX1JFVklTSU9OKQorICAgICAgICByZXR1cm4gcGFyc2Vfc2VwYXJhdGVfc3lz ZnNfZmlsZXMobWFqLCBtaW4sIGRldmljZSwgdHJ1ZSk7CisKKyAgICBpZiAocGFyc2Vfc2VwYXJh dGVfc3lzZnNfZmlsZXMobWFqLCBtaW4sIGRldmljZSwgZmFsc2UpKQogICAgICAgICByZXR1cm4g cGFyc2VfY29uZmlnX3N5c2ZzX2ZpbGUobWFqLCBtaW4sIGRldmljZSk7CiAKICAgICByZXR1cm4g MDsKQEAgLTMxMjUsMTYgKzMxMjksMjQgQEAgc3RhdGljIHZvaWQgZHJtRm9sZER1cGxpY2F0ZWRE ZXZpY2VzKGRybURldmljZVB0ciBsb2NhbF9kZXZpY2VzW10sIGludCBjb3VudCkKICAgICB9CiB9 CiAKKy8qIENoZWNrIHRoYXQgdGhlIGdpdmVuIGZsYWdzIGFyZSB2YWxpZCByZXR1cm5pbmcgMCBv biBzdWNjZXNzICovCitzdGF0aWMgaW50Citkcm1fZGV2aWNlX3ZhbGlkYXRlX2ZsYWdzKHVpbnQz Ml90IGZsYWdzKQoreworICAgICAgICByZXR1cm4gKGZsYWdzICYgfkRSTV9ERVZJQ0VfSUdOT1JF X1BDSV9SRVZJU0lPTik7Cit9CisKIC8qKgogICogR2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBv cGVuZWQgZHJtIGRldmljZQogICoKICAqIFxwYXJhbSBmZCBmaWxlIGRlc2NyaXB0b3Igb2YgdGhl IGRybSBkZXZpY2UKKyAqIFxwYXJhbSBmbGFncyBmZWF0dXJlL2JlaGF2aW91ciBiaXRtYXNrCiAg KiBccGFyYW0gZGV2aWNlIHRoZSBhZGRyZXNzIG9mIGEgZHJtRGV2aWNlUHRyIHdoZXJlIHRoZSBp bmZvcm1hdGlvbgogICogICAgICAgICAgICAgICB3aWxsIGJlIGFsbG9jYXRlZCBpbiBzdG9yZWQK ICAqCiAgKiBccmV0dXJuIHplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvdGhl cndpc2UuCiAgKi8KLWludCBkcm1HZXREZXZpY2UoaW50IGZkLCBkcm1EZXZpY2VQdHIgKmRldmlj ZSkKK2ludCBkcm1HZXREZXZpY2UyKGludCBmZCwgdWludDMyX3QgZmxhZ3MsIGRybURldmljZVB0 ciAqZGV2aWNlKQogewogICAgIGRybURldmljZVB0ciAqbG9jYWxfZGV2aWNlczsKICAgICBkcm1E ZXZpY2VQdHIgZDsKQEAgLTMxNDcsNyArMzE1OSw5IEBAIGludCBkcm1HZXREZXZpY2UoaW50IGZk LCBkcm1EZXZpY2VQdHIgKmRldmljZSkKICAgICBpbnQgcmV0LCBpLCBub2RlX2NvdW50OwogICAg IGludCBtYXhfY291bnQgPSAxNjsKICAgICBkZXZfdCBmaW5kX3JkZXY7Ci0gICAgdWludDMyX3Qg ZmxhZ3MgPSAwOworCisgICAgaWYgKGRybV9kZXZpY2VfdmFsaWRhdGVfZmxhZ3MoZmxhZ3MpKQor ICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAgIGlmIChmZCA9PSAtMSB8fCBkZXZpY2UgPT0g TlVMTCkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CkBAIC0zMjQ2LDggKzMyNjAsMjMgQEAgZnJl ZV9sb2NhbHM6CiB9CiAKIC8qKgorICogR2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBvcGVuZWQg ZHJtIGRldmljZQorICoKKyAqIFxwYXJhbSBmZCBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGRybSBk ZXZpY2UKKyAqIFxwYXJhbSBkZXZpY2UgdGhlIGFkZHJlc3Mgb2YgYSBkcm1EZXZpY2VQdHIgd2hl cmUgdGhlIGluZm9ybWF0aW9uCisgKiAgICAgICAgICAgICAgIHdpbGwgYmUgYWxsb2NhdGVkIGlu IHN0b3JlZAorICoKKyAqIFxyZXR1cm4gemVybyBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBj b2RlIG90aGVyd2lzZS4KKyAqLworaW50IGRybUdldERldmljZShpbnQgZmQsIGRybURldmljZVB0 ciAqZGV2aWNlKQoreworICAgIHJldHVybiBkcm1HZXREZXZpY2UyKGZkLCAwLCBkZXZpY2UpOwor fQorCisvKioKICAqIEdldCBkcm0gZGV2aWNlcyBvbiB0aGUgc3lzdGVtCiAgKgorICogXHBhcmFt IGZsYWdzIGZlYXR1cmUvYmVoYXZpb3VyIGJpdG1hc2sKICAqIFxwYXJhbSBkZXZpY2VzIHRoZSBh cnJheSBvZiBkZXZpY2VzIHdpdGggZHJtRGV2aWNlUHRyIGVsZW1lbnRzCiAgKiAgICAgICAgICAg ICAgICBjYW4gYmUgTlVMTCB0byBnZXQgdGhlIGRldmljZSBudW1iZXIgZmlyc3QKICAqIFxwYXJh bSBtYXhfZGV2aWNlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlcyBmb3IgdGhlIGFycmF5 CkBAIC0zMjU3LDcgKzMyODYsNyBAQCBmcmVlX2xvY2FsczoKICAqICAgICAgICAgYWx0ZXJuYXRp dmVseSB0aGUgbnVtYmVyIG9mIGRldmljZXMgc3RvcmVkIGluIGRldmljZXNbXSwgd2hpY2ggaXMK ICAqICAgICAgICAgY2FwcGVkIGJ5IHRoZSBtYXhfZGV2aWNlcy4KICAqLwotaW50IGRybUdldERl dmljZXMoZHJtRGV2aWNlUHRyIGRldmljZXNbXSwgaW50IG1heF9kZXZpY2VzKQoraW50IGRybUdl dERldmljZXMyKHVpbnQzMl90IGZsYWdzLCBkcm1EZXZpY2VQdHIgZGV2aWNlc1tdLCBpbnQgbWF4 X2RldmljZXMpCiB7CiAgICAgZHJtRGV2aWNlUHRyICpsb2NhbF9kZXZpY2VzOwogICAgIGRybURl dmljZVB0ciBkZXZpY2U7CkBAIC0zMjY5LDcgKzMyOTgsOSBAQCBpbnQgZHJtR2V0RGV2aWNlcyhk cm1EZXZpY2VQdHIgZGV2aWNlc1tdLCBpbnQgbWF4X2RldmljZXMpCiAgICAgaW50IG1haiwgbWlu OwogICAgIGludCByZXQsIGksIG5vZGVfY291bnQsIGRldmljZV9jb3VudDsKICAgICBpbnQgbWF4 X2NvdW50ID0gMTY7Ci0gICAgdWludDMyX3QgZmxhZ3MgPSAwOworCisgICAgaWYgKGRybV9kZXZp Y2VfdmFsaWRhdGVfZmxhZ3MoZmxhZ3MpKQorICAgICAgICByZXR1cm4gLUVJTlZBTDsKIAogICAg IGxvY2FsX2RldmljZXMgPSBjYWxsb2MobWF4X2NvdW50LCBzaXplb2YoZHJtRGV2aWNlUHRyKSk7 CiAgICAgaWYgKGxvY2FsX2RldmljZXMgPT0gTlVMTCkKQEAgLTMzNTcsNiArMzM4OCwyMyBAQCBm cmVlX2xvY2FsczoKICAgICByZXR1cm4gcmV0OwogfQogCisvKioKKyAqIEdldCBkcm0gZGV2aWNl cyBvbiB0aGUgc3lzdGVtCisgKgorICogXHBhcmFtIGRldmljZXMgdGhlIGFycmF5IG9mIGRldmlj ZXMgd2l0aCBkcm1EZXZpY2VQdHIgZWxlbWVudHMKKyAqICAgICAgICAgICAgICAgIGNhbiBiZSBO VUxMIHRvIGdldCB0aGUgZGV2aWNlIG51bWJlciBmaXJzdAorICogXHBhcmFtIG1heF9kZXZpY2Vz IHRoZSBtYXhpbXVtIG51bWJlciBvZiBkZXZpY2VzIGZvciB0aGUgYXJyYXkKKyAqCisgKiBccmV0 dXJuIG9uIGVycm9yIC0gbmVnYXRpdmUgZXJyb3IgY29kZSwKKyAqICAgICAgICAgaWYgZGV2aWNl cyBpcyBOVUxMIC0gdG90YWwgbnVtYmVyIG9mIGRldmljZXMgYXZhaWxhYmxlIG9uIHRoZSBzeXN0 ZW0sCisgKiAgICAgICAgIGFsdGVybmF0aXZlbHkgdGhlIG51bWJlciBvZiBkZXZpY2VzIHN0b3Jl ZCBpbiBkZXZpY2VzW10sIHdoaWNoIGlzCisgKiAgICAgICAgIGNhcHBlZCBieSB0aGUgbWF4X2Rl dmljZXMuCisgKi8KK2ludCBkcm1HZXREZXZpY2VzKGRybURldmljZVB0ciBkZXZpY2VzW10sIGlu dCBtYXhfZGV2aWNlcykKK3sKKyAgICByZXR1cm4gZHJtR2V0RGV2aWNlczIoMCwgZGV2aWNlcywg bWF4X2RldmljZXMpOworfQorCiBjaGFyICpkcm1HZXREZXZpY2VOYW1lRnJvbUZkMihpbnQgZmQp CiB7CiAjaWZkZWYgX19saW51eF9fCmRpZmYgLS1naXQgYS94Zjg2ZHJtLmggYi94Zjg2ZHJtLmgK aW5kZXggNGRhNmJkMy4uMWM2ZWQzNiAxMDA2NDQKLS0tIGEveGY4NmRybS5oCisrKyBiL3hmODZk cm0uaApAQCAtODAxLDYgKzgwMSwxMCBAQCBleHRlcm4gdm9pZCBkcm1GcmVlRGV2aWNlKGRybURl dmljZVB0ciAqZGV2aWNlKTsKIGV4dGVybiBpbnQgZHJtR2V0RGV2aWNlcyhkcm1EZXZpY2VQdHIg ZGV2aWNlc1tdLCBpbnQgbWF4X2RldmljZXMpOwogZXh0ZXJuIHZvaWQgZHJtRnJlZURldmljZXMo ZHJtRGV2aWNlUHRyIGRldmljZXNbXSwgaW50IGNvdW50KTsKIAorI2RlZmluZSBEUk1fREVWSUNF X0lHTk9SRV9QQ0lfUkVWSVNJT04gMHgwMDAxCitleHRlcm4gaW50IGRybUdldERldmljZTIoaW50 IGZkLCB1aW50MzJfdCBmbGFncywgZHJtRGV2aWNlUHRyICpkZXZpY2UpOworZXh0ZXJuIGludCBk cm1HZXREZXZpY2VzMih1aW50MzJfdCBmbGFncywgZHJtRGV2aWNlUHRyIGRldmljZXNbXSwgaW50 IG1heF9kZXZpY2VzKTsKKwogI2lmIGRlZmluZWQoX19jcGx1c3BsdXMpCiB9CiAjZW5kaWYKLS0g CjIuMTAuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==