From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emil Velikov Subject: [PATCH libdrm 4/5] xf86drm: introduce drmGetDevice[s]2 Date: Fri, 2 Dec 2016 16:32:37 +0000 Message-ID: <20161202163238.15849-4-emil.l.velikov@gmail.com> References: <20161202163238.15849-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-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 41E436E976 for ; Fri, 2 Dec 2016 16:33:07 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id u144so3531205wmu.0 for ; Fri, 02 Dec 2016 08:33:07 -0800 (PST) In-Reply-To: <20161202163238.15849-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 CndoaWNoIGlzIHRoZSBjb3JlIHJlYXNvbiB3aHkgdGhpcyBBUEkgd2FzIGludHJvZHVjZWQuCgp2 MjoKIC0gSW5pdGlhbGl6ZSByZXZpc2lvbiB0byAweGZmIGlmIGl0J3MgdW5yZWFkLgogLSBDaGFu Z2UgRFJNX0RFVklDRV9JR05PUkVfUENJX1JFVklTSU9OIHRvIERSTV9ERVZJQ0VfR0VUX1BDSV9S RVZJU0lPTgogLSBBZGQgZXhwbGljaXQgbm90ZSB0aGF0IGRybUdldERldmljZVtzXTIgZG9lcyBu b3QgcmV0cmlldmUgdGhlCnJldmlzaW9uIGJ5IGRlZmF1bHQuCgpDYzogTWljaGVsIETDpG56ZXIg PG1pY2hlbEBkYWVuemVyLm5ldD4KQ2M6IE5pY29sYWkgSMOkaG5sZSA8bmhhZWhubGVAZ21haWwu Y29tPgpDYzogTWF1cm8gU2FudG9zIDxyZWdpc3RvLm1haWxsaW5nQGdtYWlsLmNvbT4KQnVnemls bGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTk4NTAyClNp Z25lZC1vZmYtYnk6IEVtaWwgVmVsaWtvdiA8ZW1pbC52ZWxpa292QGNvbGxhYm9yYS5jb20+ClJl dmlld2VkLWJ5OiBNaWNoZWwgRMOkbnplciA8bWljaGVsLmRhZW56ZXJAYW1kLmNvbT4KLS0tCiB4 Zjg2ZHJtLmMgfCA3MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0KIHhmODZkcm0uaCB8ICA0ICsrKysKIDIgZmlsZXMgY2hhbmdl ZCwgNjYgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94Zjg2ZHJt LmMgYi94Zjg2ZHJtLmMKaW5kZXggNzAxY2YyOS4uNTJlOWI5ZiAxMDA2NDQKLS0tIGEveGY4NmRy bS5jCisrKyBiL3hmODZkcm0uYwpAQCAtMjk0OCw3ICsyOTQ4LDggQEAgc3RhdGljIGludCBkcm1H ZXRNYXhOb2RlTmFtZSh2b2lkKQogCiAjaWZkZWYgX19saW51eF9fCiBzdGF0aWMgaW50IHBhcnNl X3NlcGFyYXRlX3N5c2ZzX2ZpbGVzKGludCBtYWosIGludCBtaW4sCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRybVBjaURldmljZUluZm9QdHIgZGV2aWNlKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm1QY2lEZXZpY2VJbmZvUHRyIGRldmlj ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpZ25vcmVfcmV2 aXNpb24pCiB7CiAjZGVmaW5lIEFSUkFZX1NJWkUoYSkgKHNpemVvZihhKSAvIHNpemVvZigoYSlb MF0pKQogICAgIHN0YXRpYyBjb25zdCBjaGFyICphdHRyc1tdID0gewpAQCAtMjk2Myw3ICsyOTY0 LDcgQEAgc3RhdGljIGludCBwYXJzZV9zZXBhcmF0ZV9zeXNmc19maWxlcyhpbnQgbWFqLCBpbnQg bWluLAogICAgIEZJTEUgKmZwOwogICAgIGludCByZXQ7CiAKLSAgICBmb3IgKHVuc2lnbmVkIGkg PSAwOyBpIDwgQVJSQVlfU0laRShhdHRycyk7IGkrKykgeworICAgIGZvciAodW5zaWduZWQgaSA9 IGlnbm9yZV9yZXZpc2lvbiA/IDEgOiAwOyBpIDwgQVJSQVlfU0laRShhdHRycyk7IGkrKykgewog ICAgICAgICBzbnByaW50ZihwYXRoLCBQQVRIX01BWCwgIi9zeXMvZGV2L2NoYXIvJWQ6JWQvZGV2 aWNlLyVzIiwgbWFqLCBtaW4sCiAgICAgICAgICAgICAgICAgIGF0dHJzW2ldKTsKICAgICAgICAg ZnAgPSBmb3BlbihwYXRoLCAiciIpOwpAQCAtMjk3Nyw3ICsyOTc4LDcgQEAgc3RhdGljIGludCBw YXJzZV9zZXBhcmF0ZV9zeXNmc19maWxlcyhpbnQgbWFqLCBpbnQgbWluLAogCiAgICAgfQogCi0g ICAgZGV2aWNlLT5yZXZpc2lvbl9pZCA9IGRhdGFbMF0gJiAweGZmOworICAgIGRldmljZS0+cmV2 aXNpb25faWQgPSBpZ25vcmVfcmV2aXNpb24gPyAweGZmIDogZGF0YVswXSAmIDB4ZmY7CiAgICAg ZGV2aWNlLT52ZW5kb3JfaWQgPSBkYXRhWzFdICYgMHhmZmZmOwogICAgIGRldmljZS0+ZGV2aWNl X2lkID0gZGF0YVsyXSAmIDB4ZmZmZjsKICAgICBkZXZpY2UtPnN1YnZlbmRvcl9pZCA9IGRhdGFb M10gJiAweGZmZmY7CkBAIC0zMDE4LDcgKzMwMTksMTAgQEAgc3RhdGljIGludCBkcm1QYXJzZVBj aURldmljZUluZm8oaW50IG1haiwgaW50IG1pbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVpbnQzMl90IGZsYWdzKQogewogI2lmZGVmIF9fbGludXhfXwotICAgIGlmIChwYXJz ZV9zZXBhcmF0ZV9zeXNmc19maWxlcyhtYWosIG1pbiwgZGV2aWNlKSkKKyAgICBpZiAoZmxhZ3Mg JiBEUk1fREVWSUNFX0dFVF9QQ0lfUkVWSVNJT04gPT0gMCkKKyAgICAgICAgcmV0dXJuIHBhcnNl X3NlcGFyYXRlX3N5c2ZzX2ZpbGVzKG1haiwgbWluLCBkZXZpY2UsIHRydWUpOworCisgICAgaWYg KHBhcnNlX3NlcGFyYXRlX3N5c2ZzX2ZpbGVzKG1haiwgbWluLCBkZXZpY2UsIGZhbHNlKSkKICAg ICAgICAgcmV0dXJuIHBhcnNlX2NvbmZpZ19zeXNmc19maWxlKG1haiwgbWluLCBkZXZpY2UpOwog CiAgICAgcmV0dXJuIDA7CkBAIC0zMTI1LDE2ICszMTI5LDI3IEBAIHN0YXRpYyB2b2lkIGRybUZv bGREdXBsaWNhdGVkRGV2aWNlcyhkcm1EZXZpY2VQdHIgbG9jYWxfZGV2aWNlc1tdLCBpbnQgY291 bnQpCiAgICAgfQogfQogCisvKiBDaGVjayB0aGF0IHRoZSBnaXZlbiBmbGFncyBhcmUgdmFsaWQg cmV0dXJuaW5nIDAgb24gc3VjY2VzcyAqLworc3RhdGljIGludAorZHJtX2RldmljZV92YWxpZGF0 ZV9mbGFncyh1aW50MzJfdCBmbGFncykKK3sKKyAgICAgICAgcmV0dXJuIChmbGFncyAmIH5EUk1f REVWSUNFX0dFVF9QQ0lfUkVWSVNJT04pOworfQorCiAvKioKICAqIEdldCBpbmZvcm1hdGlvbiBh Ym91dCB0aGUgb3BlbmVkIGRybSBkZXZpY2UKICAqCiAgKiBccGFyYW0gZmQgZmlsZSBkZXNjcmlw dG9yIG9mIHRoZSBkcm0gZGV2aWNlCisgKiBccGFyYW0gZmxhZ3MgZmVhdHVyZS9iZWhhdmlvdXIg Yml0bWFzawogICogXHBhcmFtIGRldmljZSB0aGUgYWRkcmVzcyBvZiBhIGRybURldmljZVB0ciB3 aGVyZSB0aGUgaW5mb3JtYXRpb24KICAqICAgICAgICAgICAgICAgd2lsbCBiZSBhbGxvY2F0ZWQg aW4gc3RvcmVkCiAgKgogICogXHJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm9y IGNvZGUgb3RoZXJ3aXNlLgorICoKKyAqIFxub3RlIFVubGlrZSBkcm1HZXREZXZpY2UgaXQgZG9l cyBub3QgcmV0cmlldmUgdGhlIHBjaSBkZXZpY2UgcmV2aXNpb24gZmllbGQKKyAqIHVubGVzcyB0 aGUgRFJNX0RFVklDRV9HRVRfUENJX1JFVklTSU9OIFxwIGZsYWcgaXMgc2V0LgogICovCi1pbnQg ZHJtR2V0RGV2aWNlKGludCBmZCwgZHJtRGV2aWNlUHRyICpkZXZpY2UpCitpbnQgZHJtR2V0RGV2 aWNlMihpbnQgZmQsIHVpbnQzMl90IGZsYWdzLCBkcm1EZXZpY2VQdHIgKmRldmljZSkKIHsKICAg ICBkcm1EZXZpY2VQdHIgKmxvY2FsX2RldmljZXM7CiAgICAgZHJtRGV2aWNlUHRyIGQ7CkBAIC0z MTQ3LDcgKzMxNjIsOSBAQCBpbnQgZHJtR2V0RGV2aWNlKGludCBmZCwgZHJtRGV2aWNlUHRyICpk ZXZpY2UpCiAgICAgaW50IHJldCwgaSwgbm9kZV9jb3VudDsKICAgICBpbnQgbWF4X2NvdW50ID0g MTY7CiAgICAgZGV2X3QgZmluZF9yZGV2OwotICAgIHVpbnQzMl90IGZsYWdzID0gMDsKKworICAg IGlmIChkcm1fZGV2aWNlX3ZhbGlkYXRlX2ZsYWdzKGZsYWdzKSkKKyAgICAgICAgcmV0dXJuIC1F SU5WQUw7CiAKICAgICBpZiAoZmQgPT0gLTEgfHwgZGV2aWNlID09IE5VTEwpCiAgICAgICAgIHJl dHVybiAtRUlOVkFMOwpAQCAtMzI0Niw4ICszMjYzLDIzIEBAIGZyZWVfbG9jYWxzOgogfQogCiAv KioKKyAqIEdldCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb3BlbmVkIGRybSBkZXZpY2UKKyAqCisg KiBccGFyYW0gZmQgZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBkcm0gZGV2aWNlCisgKiBccGFyYW0g ZGV2aWNlIHRoZSBhZGRyZXNzIG9mIGEgZHJtRGV2aWNlUHRyIHdoZXJlIHRoZSBpbmZvcm1hdGlv bgorICogICAgICAgICAgICAgICB3aWxsIGJlIGFsbG9jYXRlZCBpbiBzdG9yZWQKKyAqCisgKiBc cmV0dXJuIHplcm8gb24gc3VjY2VzcywgbmVnYXRpdmUgZXJyb3IgY29kZSBvdGhlcndpc2UuCisg Ki8KK2ludCBkcm1HZXREZXZpY2UoaW50IGZkLCBkcm1EZXZpY2VQdHIgKmRldmljZSkKK3sKKyAg ICByZXR1cm4gZHJtR2V0RGV2aWNlMihmZCwgRFJNX0RFVklDRV9HRVRfUENJX1JFVklTSU9OLCBk ZXZpY2UpOworfQorCisvKioKICAqIEdldCBkcm0gZGV2aWNlcyBvbiB0aGUgc3lzdGVtCiAgKgor ICogXHBhcmFtIGZsYWdzIGZlYXR1cmUvYmVoYXZpb3VyIGJpdG1hc2sKICAqIFxwYXJhbSBkZXZp Y2VzIHRoZSBhcnJheSBvZiBkZXZpY2VzIHdpdGggZHJtRGV2aWNlUHRyIGVsZW1lbnRzCiAgKiAg ICAgICAgICAgICAgICBjYW4gYmUgTlVMTCB0byBnZXQgdGhlIGRldmljZSBudW1iZXIgZmlyc3QK ICAqIFxwYXJhbSBtYXhfZGV2aWNlcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgZGV2aWNlcyBmb3Ig dGhlIGFycmF5CkBAIC0zMjU2LDggKzMyODgsMTEgQEAgZnJlZV9sb2NhbHM6CiAgKiAgICAgICAg IGlmIGRldmljZXMgaXMgTlVMTCAtIHRvdGFsIG51bWJlciBvZiBkZXZpY2VzIGF2YWlsYWJsZSBv biB0aGUgc3lzdGVtLAogICogICAgICAgICBhbHRlcm5hdGl2ZWx5IHRoZSBudW1iZXIgb2YgZGV2 aWNlcyBzdG9yZWQgaW4gZGV2aWNlc1tdLCB3aGljaCBpcwogICogICAgICAgICBjYXBwZWQgYnkg dGhlIG1heF9kZXZpY2VzLgorICoKKyAqIFxub3RlIFVubGlrZSBkcm1HZXREZXZpY2VzIGl0IGRv ZXMgbm90IHJldHJpZXZlIHRoZSBwY2kgZGV2aWNlIHJldmlzaW9uIGZpZWxkCisgKiB1bmxlc3Mg dGhlIERSTV9ERVZJQ0VfR0VUX1BDSV9SRVZJU0lPTiBccCBmbGFnIGlzIHNldC4KICAqLwotaW50 IGRybUdldERldmljZXMoZHJtRGV2aWNlUHRyIGRldmljZXNbXSwgaW50IG1heF9kZXZpY2VzKQor aW50IGRybUdldERldmljZXMyKHVpbnQzMl90IGZsYWdzLCBkcm1EZXZpY2VQdHIgZGV2aWNlc1td LCBpbnQgbWF4X2RldmljZXMpCiB7CiAgICAgZHJtRGV2aWNlUHRyICpsb2NhbF9kZXZpY2VzOwog ICAgIGRybURldmljZVB0ciBkZXZpY2U7CkBAIC0zMjY5LDcgKzMzMDQsOSBAQCBpbnQgZHJtR2V0 RGV2aWNlcyhkcm1EZXZpY2VQdHIgZGV2aWNlc1tdLCBpbnQgbWF4X2RldmljZXMpCiAgICAgaW50 IG1haiwgbWluOwogICAgIGludCByZXQsIGksIG5vZGVfY291bnQsIGRldmljZV9jb3VudDsKICAg ICBpbnQgbWF4X2NvdW50ID0gMTY7Ci0gICAgdWludDMyX3QgZmxhZ3MgPSAwOworCisgICAgaWYg KGRybV9kZXZpY2VfdmFsaWRhdGVfZmxhZ3MoZmxhZ3MpKQorICAgICAgICByZXR1cm4gLUVJTlZB TDsKIAogICAgIGxvY2FsX2RldmljZXMgPSBjYWxsb2MobWF4X2NvdW50LCBzaXplb2YoZHJtRGV2 aWNlUHRyKSk7CiAgICAgaWYgKGxvY2FsX2RldmljZXMgPT0gTlVMTCkKQEAgLTMzNTcsNiArMzM5 NCwyMyBAQCBmcmVlX2xvY2FsczoKICAgICByZXR1cm4gcmV0OwogfQogCisvKioKKyAqIEdldCBk cm0gZGV2aWNlcyBvbiB0aGUgc3lzdGVtCisgKgorICogXHBhcmFtIGRldmljZXMgdGhlIGFycmF5 IG9mIGRldmljZXMgd2l0aCBkcm1EZXZpY2VQdHIgZWxlbWVudHMKKyAqICAgICAgICAgICAgICAg IGNhbiBiZSBOVUxMIHRvIGdldCB0aGUgZGV2aWNlIG51bWJlciBmaXJzdAorICogXHBhcmFtIG1h eF9kZXZpY2VzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBkZXZpY2VzIGZvciB0aGUgYXJyYXkKKyAq CisgKiBccmV0dXJuIG9uIGVycm9yIC0gbmVnYXRpdmUgZXJyb3IgY29kZSwKKyAqICAgICAgICAg aWYgZGV2aWNlcyBpcyBOVUxMIC0gdG90YWwgbnVtYmVyIG9mIGRldmljZXMgYXZhaWxhYmxlIG9u IHRoZSBzeXN0ZW0sCisgKiAgICAgICAgIGFsdGVybmF0aXZlbHkgdGhlIG51bWJlciBvZiBkZXZp Y2VzIHN0b3JlZCBpbiBkZXZpY2VzW10sIHdoaWNoIGlzCisgKiAgICAgICAgIGNhcHBlZCBieSB0 aGUgbWF4X2RldmljZXMuCisgKi8KK2ludCBkcm1HZXREZXZpY2VzKGRybURldmljZVB0ciBkZXZp Y2VzW10sIGludCBtYXhfZGV2aWNlcykKK3sKKyAgICByZXR1cm4gZHJtR2V0RGV2aWNlczIoRFJN X0RFVklDRV9HRVRfUENJX1JFVklTSU9OLCBkZXZpY2VzLCBtYXhfZGV2aWNlcyk7Cit9CisKIGNo YXIgKmRybUdldERldmljZU5hbWVGcm9tRmQyKGludCBmZCkKIHsKICNpZmRlZiBfX2xpbnV4X18K ZGlmZiAtLWdpdCBhL3hmODZkcm0uaCBiL3hmODZkcm0uaAppbmRleCA0ZGE2YmQzLi5iMzQwZmM0 IDEwMDY0NAotLS0gYS94Zjg2ZHJtLmgKKysrIGIveGY4NmRybS5oCkBAIC04MDEsNiArODAxLDEw IEBAIGV4dGVybiB2b2lkIGRybUZyZWVEZXZpY2UoZHJtRGV2aWNlUHRyICpkZXZpY2UpOwogZXh0 ZXJuIGludCBkcm1HZXREZXZpY2VzKGRybURldmljZVB0ciBkZXZpY2VzW10sIGludCBtYXhfZGV2 aWNlcyk7CiBleHRlcm4gdm9pZCBkcm1GcmVlRGV2aWNlcyhkcm1EZXZpY2VQdHIgZGV2aWNlc1td LCBpbnQgY291bnQpOwogCisjZGVmaW5lIERSTV9ERVZJQ0VfR0VUX1BDSV9SRVZJU0lPTiAoMSA8 PCAwKQorZXh0ZXJuIGludCBkcm1HZXREZXZpY2UyKGludCBmZCwgdWludDMyX3QgZmxhZ3MsIGRy bURldmljZVB0ciAqZGV2aWNlKTsKK2V4dGVybiBpbnQgZHJtR2V0RGV2aWNlczIodWludDMyX3Qg ZmxhZ3MsIGRybURldmljZVB0ciBkZXZpY2VzW10sIGludCBtYXhfZGV2aWNlcyk7CisKICNpZiBk ZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjEwLjIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=