From: Robert Foss Subject: [PATCH v1] xf86drm: Add drmHandleMatch func Date: Fri, 27 Apr 2018 13:31:17 +0200 Message-ID: <20180427113117.19066-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 278836E8CA for ; Fri, 27 Apr 2018 11:31:50 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel , John Stultz , Emil Velikov , Tomasz Figa , Stefan Schake , Chih-Wei Huang Cc: Robert Foss , Tomeu Vizoso , Daniel Stone List-Id: dri-devel@lists.freedesktop.org ZHJtSGFuZGxlTWF0Y2ggaXMgaW50ZW5kZWQgdG8gYWxsb3cgZm9yIHVzZXJzcGFjZSB0byBmaWx0 ZXIgb3V0CmRldmljZXMgdGhhdCBpdCBkb2VzIG5vdCB3YW50IHRvIG9wZW4uCgpPcGVuaW5nIHNw ZWNpZmljIGRldmljZXMgdXNpbmcgcGF0aHMgYWxvbmUgaXMgbm90IGEgcmVsaWFibGUgZHVlIHRv CnByb2Jpbmcgb3JkZXIuIFRoaXMgZnVuY3Rpb24gaW50ZW5kcyB0byBwcm92aWRlIGEgbWVjaGFu aXNtCmZvciBmaWx0ZXJpbmcgb3V0IGRldmljZXMgdGhhdCBkb24ndCBmaXQgd2hhdCB5b3UgbmVl ZCB1c2luZyBhbgpleHRlbnNpYmxlIHNldCBvZiBmaWx0ZXJzLgoKZHJtX21hdGNoX2tleV90IGlz IGludGVuZGVkIHRvIGJlIGV4dGVuZGVkIHdpdGggd2hhdGV2ZXIKZmlsdGVyIHRoYXQgd291bGQg Y29tZSBpbiBoYW5keSBkb3duIHRoZSBsaW5lLgoKQXMgYSBjYXRjaC1hbGwgZmlsdGVyLCB0aGUg RFJNX01BVENIX0ZVTkNUSU9OIHdhcyBpbmNsdWRlZAp3aGljaCBhbGxvd3MgdGhlIGNhbGxlciB0 byBmaWx0ZXIgYmFzZWQgb24gYW4gYXJiaXRyYXJ5IGZ1bmN0aW9uLgoKQW4gZnVuY3Rpb24gcG9p bnRlciBmaWx0ZXIgY291bGQgb2YgY291cnNlIGZpbHRlciBiYXNlZCBvbgphbnl0aGluZy4gQnV0 IGZvciB0aGUgc2FrZSBvZiBjb252ZW5pZW5jZSBhIGZldyBvdGhlciBzaW1wbGUKZmlsdGVycyBo YXZlIGJlZW4gaW5jbHVkZWQuCgpJZiB0aGUgZnVuY3Rpb24gcG9pbnRlciBmaWx0ZXIgZW5kcyB1 cCBiZWluZyBjYWxsZWQgd2l0aCBhCmJvaWxlcnBsYXRlIGZwIGJ5IG11dGxpcGxlIGxpYmRybSB1 c2VycywgcGVyaGFwcyB0aGF0IGZ1bnRpb24KY291bGQgYmUgbW92ZWQgaW50byBsaWJkcm0gYXQg YSBmdXR1cmUgZGF0ZS4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQuZm9zc0Bj b2xsYWJvcmEuY29tPgotLS0KClRoaXMgcGF0Y2ggaW1wbGVtZW50cyBhIHNpbXBsZSBmdW5jdGlv biBmb3IgbWF0Y2hpbmcgRFJNIGRldmljZSBGRHMKYWdhaW5zdCB0aGUgZGVzaXJlZCBwcm9wZXJ0 aWVzIG9mIGEgZGV2aWNlIHRoYXQgeW91IGFyZSBsb29raW5nIGZvci4KClRoZSBkaXNjdXNzaW9u IHRoYXQgbGVkIHRvIHRoaXMgc2VyaWVzIGNhbiBiZSBmb3VuZCBoZXJlOgpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9tZXNhLWRldi8yMDE4LUphbnVhcnkvMTgzODc4Lmh0 bWwKClRoZSBSRkMgY2FuIGJlIGZvdW5kIGhlcmU6Cmh0dHBzOi8vd3d3LnNwaW5pY3MubmV0L2xp c3RzL2RyaS1kZXZlbC9tc2cxNzIzOTguaHRtbAoKU2luY2UgdGhlIFJGQyBJIG9wdGVkIHRvIHJl d29yayB0aGUgcGF0Y2ggdG8gYmUgbW9yZSBleHRlbnNpYmxlLgpUaGUgcHJldmlvdXMgaW1wbGVt ZW50YXRpb24gd291bGQgaGF2ZSBiZWVuIHByb2JsZW1hdGljIGlmIHRoZQpkcm1WZXJzaW9uIG9y IGRybURldmljZSBzdHJ1Y3RzIGV2ZXIgbmVlZGVkIHRvIGJlIGNoYW5nZWQgb3IKcmVtb3ZlZC4g T3IgaW5kZWVkIGlmIG1vcmUgcHJvcGVydGllcyB3ZXJlIHRvIGJlY29tZSBpbnRlcmVzdGluZy4K CkFzIGl0IGlzIG5vdywgaXQgaXMgYmFzaWFsbHkgaW1wbGVtZW50ZWQgYXMgcGVyIERhbmllbCBT dG9uZXMgc3VnZ2VzdGlvbiBpbgp0aGUgUkZDIGRpc2N1c3Npb24uCgpDaGFuZ2VzIHNpbmNlIFJG QzoKIC0gUmV3b3JrZWQgcHJvcG9zYWwgdG8gYmUgbm90IGJlIGJhc2VkIG9uIHN0cnVjdHMgaW4g b3JkZXIgdG8gYmUgbW9yZQogICBmbGV4aWJsZS4KIC0gTm93IHVzZXMgZmlsdGVycyBvZiBkaWZm ZXJlbnQgdHlwZXMuCiAtIENhbGxlciBjYW4gc3VwcGx5IGFueSBudW1iZXIgb2YgcHJlZGVmaW5l ZCBhbmQgZnVuY3Rpb24gcG9pbnRlcgogICBmaWx0ZXIuCgogeGY4NmRybS5oICAgICB8IDI0ICsr KysrKysrKysrKysrKysrKysrCiB4Zjg2ZHJtTW9kZS5jIHwgNzAgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdl ZCwgOTQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hmODZkcm0uaCBiL3hmODZkcm0uaApp bmRleCA3NzczZDcxYTgwMzAuLjcxYmYzOWJhZjliMiAxMDA2NDQKLS0tIGEveGY4NmRybS5oCisr KyBiL3hmODZkcm0uaApAQCAtODYzLDYgKzg2MywzMCBAQCBleHRlcm4gaW50IGRybUdldERldmlj ZXMyKHVpbnQzMl90IGZsYWdzLCBkcm1EZXZpY2VQdHIgZGV2aWNlc1tdLCBpbnQgbWF4X2Rldmlj ZQogCiBleHRlcm4gaW50IGRybURldmljZXNFcXVhbChkcm1EZXZpY2VQdHIgYSwgZHJtRGV2aWNl UHRyIGIpOwogCit0eXBlZGVmIGVudW0gZHJtX21hdGNoX2tleSB7CisJLyogTWF0Y2ggYWdhaW5z dCBEUk1fTk9ERV97UFJJTUFSWSxSRU5ERVIsLi4ufSB0eXBlICovCisgICAgRFJNX01BVENIX05P REVfVFlQRSA9IDEsCisgICAgRFJNX01BVENIX0RSSVZFUl9OQU1FID0gMiwKKwlEUk1fTUFUQ0hf QlVTX1BDSV9WRU5ET1IgPSAzLAorCURSTV9NQVRDSF9GVU5DVElPTiA9IDQsCit9IGRybV9tYXRj aF9rZXlfdDsKKwordHlwZWRlZiBzdHJ1Y3QgZHJtX21hdGNoX2Z1bmMgeworCXZvaWQgKmRhdGE7 CisJaW50ICgqZnApKGludCwgdm9pZCopOyAvKiBJbnRlbmRlZCBhcmd1bWVudHMgYXJlIGZwKGZk LCBkYXRhKSAqLworfQlkcm1fbWF0Y2hfZnVuY190OworCit0eXBlZGVmIHN0cnVjdCBkcm1fbWF0 Y2ggeworCWRybV9tYXRjaF9rZXlfdCB0eXBlOworCXVuaW9uIHsKKwkJaW50IHM7CisJCXVpbnQx Nl90IHUxNjsKKwkJY2hhciAqc3RyOworCQlkcm1fbWF0Y2hfZnVuY190IGZ1bmM7CisJfTsKK30g ZHJtX21hdGNoX3Q7CitleHRlcm4gaW50IGRybUhhbmRsZU1hdGNoKGludCBmZCwgZHJtX21hdGNo X3QgKmZpbHRlcnMsIGludCBuYnJfZmlsdGVycyk7CisKIGV4dGVybiBpbnQgZHJtU3luY29iakNy ZWF0ZShpbnQgZmQsIHVpbnQzMl90IGZsYWdzLCB1aW50MzJfdCAqaGFuZGxlKTsKIGV4dGVybiBp bnQgZHJtU3luY29iakRlc3Ryb3koaW50IGZkLCB1aW50MzJfdCBoYW5kbGUpOwogZXh0ZXJuIGlu dCBkcm1TeW5jb2JqSGFuZGxlVG9GRChpbnQgZmQsIHVpbnQzMl90IGhhbmRsZSwgaW50ICpvYmpf ZmQpOwpkaWZmIC0tZ2l0IGEveGY4NmRybU1vZGUuYyBiL3hmODZkcm1Nb2RlLmMKaW5kZXggOWEx NWI1ZTc4ZGRhLi4yODQ0NmU3ZDRhYzYgMTAwNjQ0Ci0tLSBhL3hmODZkcm1Nb2RlLmMKKysrIGIv eGY4NmRybU1vZGUuYwpAQCAtOTQ2LDYgKzk0Niw3NiBAQCBpbnQgZHJtSGFuZGxlRXZlbnQoaW50 IGZkLCBkcm1FdmVudENvbnRleHRQdHIgZXZjdHgpCiAJcmV0dXJuIDA7CiB9CiAKK2ludCBkcm1I YW5kbGVNYXRjaChpbnQgZmQsIGRybV9tYXRjaF90ICpmaWx0ZXJzLCBpbnQgbmJyX2ZpbHRlcnMp Cit7CisJaWYgKGZkIDwgMCkKKwkJZ290byBlcnJvcjsKKworCWlmIChuYnJfZmlsdGVycyA+IDAg JiYgZmlsdGVycyA9PSBOVUxMKQorCQlnb3RvIGVycm9yOworCisJZHJtVmVyc2lvblB0ciB2ZXIg PSBkcm1HZXRWZXJzaW9uKGZkKTsKKwlpZiAoIXZlcikKKwkJZ290byBmYWlsOworCisJZHJtRGV2 aWNlUHRyIGRldiA9IE5VTEw7CisgICAgaWYgKGRybUdldERldmljZTIoZmQsIDAsICZkZXYpICE9 IDApIHsKKwkJZ290byBmYWlsOworICAgIH0KKworCWZvciAoaW50IGkgPSAwOyBpIDwgbmJyX2Zp bHRlcnM7IGkrKykgeworCQlkcm1fbWF0Y2hfdCAqZiA9ICZmaWx0ZXJzW2ldOworCQlzd2l0Y2gg KGYtPnR5cGUpIHsKKwkJY2FzZSBEUk1fTUFUQ0hfTk9ERV9UWVBFOgorCQkJaWYgKCEoZGV2LT5h dmFpbGFibGVfbm9kZXMgJiAoMSA8PCBmLT5zKSkpCisJCQkJZ290byBmYWlsOworCQkJYnJlYWs7 CisJCWNhc2UgRFJNX01BVENIX0RSSVZFUl9OQU1FOgorCQkJaWYgKCFmLT5zdHIpCisJCQkJZ290 byBlcnJvcjsKKworCQkJLyogVGhpcyBieXBhc3MgaXMgdXNlZCBieSB3aGVuIHRoZSBkcml2ZXIg bmFtZSBpcyB1c2VkCisJCQkgICBieSB0aGUgQW5kcm9pZCBwcm9wZXJ0eV9nZXQoKSBmdW5jLCB3 aGVuIGl0IGhhc24ndCBmb3VuZAorCQkJICAgdGhlIHByb3BlcnR5IGFuZCB0aGUgc3RyaW5nIGlz IGVtcHR5IGFzIGEgcmVzdWx0LiAqLworCQkJaWYgKHN0cmxlbihmLT5zdHIpID09IDApCisJCQkJ Y29udGludWU7CisKKwkJCWlmIChzdHJuY21wKHZlci0+bmFtZSwgZi0+c3RyLCBzdHJsZW4odmVy LT5uYW1lKSkpCisJCQkJZ290byBmYWlsOworCQkJYnJlYWs7CisJCWNhc2UgRFJNX01BVENIX0JV U19QQ0lfVkVORE9SOgorCQkJaWYgKGRldi0+YnVzdHlwZSAhPSBEUk1fQlVTX1BDSSkKKwkJCQln b3RvIGZhaWw7CisJCQlpZiAoZGV2LT5kZXZpY2VpbmZvLnBjaS0+dmVuZG9yX2lkICE9IGYtPnUx NikKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJY2FzZSBEUk1fTUFUQ0hfRlVOQ1RJT046 CisJCQlpZiAoIWYtPmZ1bmMuZnApCisJCQkJZ290byBlcnJvcjsKKwkJCWludCAoKmZwKShpbnQs IHZvaWQqKSA9IGYtPmZ1bmMuZnA7CisJCQl2b2lkICpkYXRhID0gZi0+ZnVuYy5kYXRhOworCQkJ aWYgKCFmcChmZCwgZGF0YSkpCisJCQkJZ290byBmYWlsOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6 CisJCQlnb3RvIGVycm9yOworCQl9CisJfQorCitzdWNjZXNzOgorCWRybUZyZWVWZXJzaW9uKHZl cik7CisJZHJtRnJlZURldmljZSgmZGV2KTsKKwlyZXR1cm4gMDsKK2Vycm9yOgorCWRybUZyZWVW ZXJzaW9uKHZlcik7CisJZHJtRnJlZURldmljZSgmZGV2KTsKKwlyZXR1cm4gLUVJTlZBTDsKK2Zh aWw6CisJZHJtRnJlZVZlcnNpb24odmVyKTsKKwlkcm1GcmVlRGV2aWNlKCZkZXYpOworCXJldHVy biAxOworfQorCiBpbnQgZHJtTW9kZVBhZ2VGbGlwKGludCBmZCwgdWludDMyX3QgY3J0Y19pZCwg dWludDMyX3QgZmJfaWQsCiAJCSAgICB1aW50MzJfdCBmbGFncywgdm9pZCAqdXNlcl9kYXRhKQog ewotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK