From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id E96B06ECD8 for ; Tue, 15 Jan 2019 12:35:26 +0000 (UTC) From: Andi Shyti Date: Tue, 15 Jan 2019 14:35:10 +0200 Message-Id: <20190115123511.11474-3-andi.shyti@intel.com> In-Reply-To: <20190115123511.11474-1-andi.shyti@intel.com> References: <20190115123511.11474-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC PATCH v4 2/3] lib: implement new engine discovery interface List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: IGT dev Cc: Andi Shyti List-ID: S2VybmVsIGNvbW1pdHM6CgpbMV0gYWU4ZjQ1NDRkZDhmICgiZHJtL2k5MTU6IEVuZ2luZSBkaXNj b3ZlcnkgcXVlcnkiKQpbMl0gMzFlN2QzNTY2N2EwICgiZHJtL2k5MTU6IEFsbG93IGEgY29udGV4 dCB0byBkZWZpbmUgaXRzIHNldCBvZiBlbmdpbmVzIikKCmZyb20gWypdIHJlcG9zaXRvcnksIGlt cGxlbWVudCBhIG5ldyB1YXBpIGZvciBlbmdpbmUgZGlzY292ZXJ5CnRoYXQgY29uc2lzdCBpbiBm aXJzdCBxdWVyeWluZyB0aGUgZHJpdmVyIGFib3V0IHRoZSBlbmdpbmVzIGluCnRoZSBncHUgWzFd IGFuZCB0aGVuIGJpbmRpbmcgYSBjb250ZXh0IHRvIHRoZSBzZXQgb2YgZW5naW5lcyB0aGF0Cml0 IGNhbiBhY2Nlc3MgWzJdLgoKSW4gaWd0IHRoZSBjbGFzc2ljIHdheSBmb3IgZGlzY292ZXJpbmcg ZW5naW5lcyBpcyBkb25lIHRocm91Z2gKdGhlIGZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZSgpIG1h Y3JvLCB0aGF0IHdvdWxkIGJlIHJlcGxhY2VkIGJ5CnRoZSBuZXcgZm9yX2VhY2hfZW5naW5lX2N0 eCgpLgoKQSBuZXcgZnVuY3Rpb24gaXMgYWRkZWQgZ2VtX2luaXRfZW5naW5lX2xpc3QoKSB0aGF0 IGlzIGNhbGxlZApkdXJpbmcgZGV2aWNlIG9wZW4gd2hpY2ggY3JlYXRlcyB0aGUgbGlzdCBvZiBl bmdpbmVzLiBUaGF0IGxpc3QKaXMgc3RvcmVkIGluIHRoZSBpbnRlbF9leGVjdXRpb25fZW5naW5l czIgdGhhdCByZXBsYWNlcyB0aGUKY3VycmVudCBhcnJheSB3aGljaCBoYXMgbW9yZSBhIHJlZmVy ZW5jZSBtZWFuaW5nLiBOb3cgdGhlCmludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMiBzdG9yZXMgdGhl IGVuZ2luZXMgY3VycmVudGx5IHByZXNlbnQgaW4KdGhlIEdQVS4KClsqXSBnaXQ6Ly9wZW9wbGUu ZnJlZWRlc2t0b3Aub3JnL350dXJzdWxpbi9kcm0taW50ZWwKClNpZ25lZC1vZmYtYnk6IEFuZGkg U2h5dGkgPGFuZGkuc2h5dGlAaW50ZWwuY29tPgotLS0KIGxpYi9kcm10ZXN0LmMgfCAxMiArKysr Ky0tCiBsaWIvaWd0X2d0LmMgIHwgOTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tCiBsaWIvaWd0X2d0LmggIHwgMTAgKysrKystCiAzIGZpbGVzIGNo YW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWIvZHJtdGVzdC5jIGIvbGliL2RybXRlc3QuYwppbmRleCA3YzEyNGFjNjY2ZWMuLjJkMTU1ZWVh OGExMyAxMDA2NDQKLS0tIGEvbGliL2RybXRlc3QuYworKysgYi9saWIvZHJtdGVzdC5jCkBAIC0z MDEsNyArMzAxLDcgQEAgc3RhdGljIGludCBfX29wZW5fZHJpdmVyKGNvbnN0IGNoYXIgKmJhc2Us IGludCBvZmZzZXQsIHVuc2lnbmVkIGludCBjaGlwc2V0KQogCiAJZmQgPSBfX3NlYXJjaF9hbmRf b3BlbihiYXNlLCBvZmZzZXQsIGNoaXBzZXQpOwogCWlmIChmZCAhPSAtMSkKLQkJcmV0dXJuIGZk OworCQlnb3RvIHNldF9lbmdpbmVzX2FuZF9yZXR1cm47CiAKIAlwdGhyZWFkX211dGV4X2xvY2so Jm11dGV4KTsKIAlmb3IgKGNvbnN0IHN0cnVjdCBtb2R1bGUgKm0gPSBtb2R1bGVzOyBtLT5tb2R1 bGU7IG0rKykgewpAQCAtMzE0LDcgKzMxNCwxNSBAQCBzdGF0aWMgaW50IF9fb3Blbl9kcml2ZXIo Y29uc3QgY2hhciAqYmFzZSwgaW50IG9mZnNldCwgdW5zaWduZWQgaW50IGNoaXBzZXQpCiAJfQog CXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7CiAKLQlyZXR1cm4gX19zZWFyY2hfYW5kX29w ZW4oYmFzZSwgb2Zmc2V0LCBjaGlwc2V0KTsKKwlmZCA9IF9fc2VhcmNoX2FuZF9vcGVuKGJhc2Us IG9mZnNldCwgY2hpcHNldCk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIGZkOworCitzZXRfZW5n aW5lc19hbmRfcmV0dXJuOgorCWlmIChpc19pOTE1X2RldmljZShmZCkpCisJCWdlbV9pbml0X2Vu Z2luZV9saXN0KGZkKTsKKworCXJldHVybiBmZDsKIH0KIAogLyoqCmRpZmYgLS1naXQgYS9saWIv aWd0X2d0LmMgYi9saWIvaWd0X2d0LmMKaW5kZXggYTIwNjE5MjQ2Mjk2Li5hYjczZDRiNDUwODcg MTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZ3QuYworKysgYi9saWIvaWd0X2d0LmMKQEAgLTU3NywxNCAr NTc3LDcgQEAgYm9vbCBnZW1fY2FuX3N0b3JlX2R3b3JkKGludCBmZCwgdW5zaWduZWQgaW50IGVu Z2luZSkKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9l bmdpbmUyIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltdID0gewotCXsgInJjczAiLCBJOTE1X0VO R0lORV9DTEFTU19SRU5ERVIsIDAgfSwKLQl7ICJiY3MwIiwgSTkxNV9FTkdJTkVfQ0xBU1NfQ09Q WSwgMCB9LAotCXsgInZjczAiLCBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMCB9LAotCXsgInZj czEiLCBJOTE1X0VOR0lORV9DTEFTU19WSURFTywgMSB9LAotCXsgInZlY3MwIiwgSTkxNV9FTkdJ TkVfQ0xBU1NfVklERU9fRU5IQU5DRSwgMCB9LAotCXsgfQotfTsKK3N0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lMiBpbnRlbF9leGVjdXRpb25fZW5naW5lczJbMzJdID0geyB9OwogCiB1bnNp Z25lZCBpbnQKIGdlbV9jbGFzc19pbnN0YW5jZV90b19lYl9mbGFncyhpbnQgZ2VtX2ZkLApAQCAt NjUwLDMgKzY0Myw5MyBAQCBib29sIGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoaW50IGZk LCB1bnNpZ25lZCByaW5nKQogCiAJcmV0dXJuIGdlbV9oYXNfcmluZyhmZCwgcmluZyk7CiB9CisK K3N0YXRpYyBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gKnF1ZXJ5X2VuZ2luZXMo aW50IGZkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeSBxdWVyeSA9IHsgfTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0geyB9OworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9l bmdpbmVfaW5mbyAqcXVlcnlfZW5naW5lczsKKworCWl0ZW0ucXVlcnlfaWQgPSBEUk1fSTkxNV9R VUVSWV9FTkdJTkVfSU5GTzsKKwlxdWVyeS5pdGVtc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJml0 ZW0pOworCXF1ZXJ5Lm51bV9pdGVtcyA9IDE7CisKKwkvKgorCSAqIFRoZSBmaXJzdCBpb2N0bCBp cyBzZW50IHdpdGggaXRlbS5sZW5ndGggPSAwCisJICogd2hpY2ggYXNrcyB0byB0aGUgZHJpdmVy IHRvIHN0b3JlIGluIGxlbmd0aCB0aGUKKwkgKiBtZW1vcnkgbmVlZGVkIGZvciB0aGUgZW5naW5l cy4gSW4gdGhlIGRyaXZlciwgbGVuZ3RoCisJICogaXMgZXF1YWwgdG8KKwkgKgorCSAqICAgbGVu ID0gc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbykgKworCSAqICAgICAg ICAgICAgICAgICAgIElOVEVMX0lORk8oaTkxNSktPm51bV9yaW5ncyAqCisJICogICAgICAgICAg ICAgICAgICAgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyk7CisJICovCisJaWd0 X2Fzc2VydCghaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X1FVRVJZLCAmcXVlcnkpKTsKKworCWln dF9hc3NlcnQoKHF1ZXJ5X2VuZ2luZXMgPSBjYWxsb2MoaXRlbS5sZW5ndGgsIDEpKSk7CisJaXRl bS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihxdWVyeV9lbmdpbmVzKTsKKworCS8qIFRoZSBz ZWNvbmQgaW9jdGwgc3RvcmVzIHRoZSBlbmdpbmVzIGluIHF1ZXJ5X2VuZ2luZXMgKi8KKwlpZ3Rf YXNzZXJ0KCFpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfUVVFUlksICZxdWVyeSkpOworCisJcmV0 dXJuIHF1ZXJ5X2VuZ2luZXM7Cit9CisKK3ZvaWQgX19zZXRfY3R4X2VuZ2luZV9tYXAoaW50IGZk LCB1aW50MzJfdCBjdHhfaWQpCit7CisJaW50IGk7CisJdW5zaWduZWQgY2hhciBuOworCXN0cnVj dCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBjdHhfcGFyYW07CisJc3RydWN0IGk5MTVfY29u dGV4dF9wYXJhbV9lbmdpbmVzICpjdHhfZW5naW5lOworCXNpemVfdCBzaXplOworCisJZm9yIChu ID0gMDsgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyW25dLm5hbWU7IG4rKyk7CisKKwlzaXplID0g c2l6ZW9mKHN0cnVjdCBpOTE1X2NvbnRleHRfcGFyYW1fZW5naW5lcykgKworCQkgICAgICAobiAr IDEpICogc2l6ZW9mKCpjdHhfZW5naW5lLT5jbGFzc19pbnN0YW5jZSk7CisKKwlpZ3RfYXNzZXJ0 KChjdHhfZW5naW5lID0gbWFsbG9jKHNpemUpKSk7CisKKwljdHhfZW5naW5lLT5leHRlbnNpb25z ID0gMDsKKwlmb3IgKGkgPSAwOyBpIDw9IG47IGkrKykgeworCQljdHhfZW5naW5lLT5jbGFzc19p bnN0YW5jZVtpXS5jbGFzcyA9CisJCQkJCWludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltpXS5jbGFz czsKKwkJY3R4X2VuZ2luZS0+Y2xhc3NfaW5zdGFuY2VbaV0uaW5zdGFuY2UgPQorCQkJCQlpbnRl bF9leGVjdXRpb25fZW5naW5lczJbaV0uaW5zdGFuY2U7CisJfQorCisJY3R4X3BhcmFtLmN0eF9p ZCA9IGN0eF9pZDsKKwljdHhfcGFyYW0uc2l6ZSA9IHNpemU7CisJY3R4X3BhcmFtLnBhcmFtID0g STkxNV9DT05URVhUX1BBUkFNX0VOR0lORVM7CisJY3R4X3BhcmFtLnZhbHVlID0gdG9fdXNlcl9w b2ludGVyKGN0eF9lbmdpbmUpOworCisJaWd0X2Fzc2VydCghaW9jdGwoZmQsIERSTV9JT0NUTF9J OTE1X0dFTV9DT05URVhUX1NFVFBBUkFNLCAmY3R4X3BhcmFtKSk7CisKKwlmcmVlKGN0eF9lbmdp bmUpOworfQorCit2b2lkIGdlbV9pbml0X2VuZ2luZV9saXN0KGludCBmZCkKK3sKKwlpbnQgaTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gKnF1ZXJ5X2VuZ2luZSA9IHF1ZXJ5 X2VuZ2luZXMoZmQpOworCWNvbnN0IGNoYXIgKmVuZ2luZV9uYW1lc1tdID0geyAicmNzIiwgImJj cyIsICJ2Y3MiLCAidmVjcyIgfTsKKworCWZvciAoaSA9IDA7IGkgPCBxdWVyeV9lbmdpbmUtPm51 bV9lbmdpbmVzOyBpKyspIHsKKwkJY2hhciAqbmFtZTsKKwkJaW50IGNsYXNzID0gcXVlcnlfZW5n aW5lLT5lbmdpbmVzW2ldLmNsYXNzOworCQlpbnQgaW5zdGFuY2UgPSBxdWVyeV9lbmdpbmUtPmVu Z2luZXNbaV0uaW5zdGFuY2U7CisKKwkJaWd0X3JlcXVpcmUoY2xhc3MgPCBBUlJBWV9TSVpFKGVu Z2luZV9uYW1lcykgJiYgY2xhc3MgPj0gMCk7CisJCWlndF9yZXF1aXJlKGVuZ2luZV9uYW1lc1tj bGFzc10pOworCisJCWludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltpXS5jbGFzcyA9IGNsYXNzOwor CQlpbnRlbF9leGVjdXRpb25fZW5naW5lczJbaV0uaW5zdGFuY2UgPSBpbnN0YW5jZTsKKwkJaW50 ZWxfZXhlY3V0aW9uX2VuZ2luZXMyW2ldLm1hcF9pbmRleCA9IGkgKyAxOworCisJCWlndF9hc3Nl cnQoYXNwcmludGYoJm5hbWUsICIlcyVkIiwKKwkJCQkgICAgZW5naW5lX25hbWVzW2NsYXNzXSwg aW5zdGFuY2UpID4gMCk7CisJCWludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltpXS5uYW1lID0gbmFt ZTsKKwl9CisKKwlmcmVlKHF1ZXJ5X2VuZ2luZSk7Cit9CmRpZmYgLS1naXQgYS9saWIvaWd0X2d0 LmggYi9saWIvaWd0X2d0LmgKaW5kZXggNTRlOTVkYTk4MDg0Li41NTVjMDRlYTk4YzMgMTAwNjQ0 Ci0tLSBhL2xpYi9pZ3RfZ3QuaAorKysgYi9saWIvaWd0X2d0LmgKQEAgLTg2LDE3ICs4NiwyNSBA QCBleHRlcm4gY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgewogCSAgICAgZV9f KyspIFwKIAkJZm9yX2lmIChnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkX18sIGZsYWdz X18gPSBlX18tPmV4ZWNfaWQgfCBlX18tPmZsYWdzKSkKIAorI2RlZmluZSBmb3JfZWFjaF9lbmdp bmVfY3R4KGZkLCBjdHgsIGUpIFwKKwkJZm9yIChfX3NldF9jdHhfZW5naW5lX21hcChmZCwgY3R4 X2lkKSwgXAorCQkJCWUgPSBpbnRlbF9leGVjdXRpb25fZW5naW5lczI7IGUtPm5hbWU7IGUrKykK KwogYm9vbCBnZW1fcmluZ19pc19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCBpbnQg cmluZyk7CiBib29sIGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25l ZCBpbnQgcmluZyk7CiAKIGJvb2wgZ2VtX2Nhbl9zdG9yZV9kd29yZChpbnQgZmQsIHVuc2lnbmVk IGludCBlbmdpbmUpOwogCi1leHRlcm4gY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdp bmUyIHsKK2V4dGVybiBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgewogCWNvbnN0IGNo YXIgKm5hbWU7CiAJaW50IGNsYXNzOwogCWludCBpbnN0YW5jZTsKKwlpbnQgbWFwX2luZGV4Owog fSBpbnRlbF9leGVjdXRpb25fZW5naW5lczJbXTsKIAordm9pZCBnZW1faW5pdF9lbmdpbmVfbGlz dChpbnQgZmQpOwordm9pZCBfX3NldF9jdHhfZW5naW5lX21hcChpbnQgZmQsIHVpbnQzMl90IGN0 eF9pZCk7CisKIHVuc2lnbmVkIGludAogZ2VtX2NsYXNzX2luc3RhbmNlX3RvX2ViX2ZsYWdzKGlu dCBnZW1fZmQsCiAJCQkgICAgICAgZW51bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzIGNsYXNz LAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK