From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5058889A1A for ; Wed, 6 Feb 2019 09:18:59 +0000 (UTC) From: Andi Shyti Date: Wed, 6 Feb 2019 11:18:48 +0200 Message-Id: <20190206091850.2078-3-andi.shyti@intel.com> In-Reply-To: <20190206091850.2078-1-andi.shyti@intel.com> References: <20190206091850.2078-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC PATCH v6 2/4] 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 dCB0byBkZWZpbmUgaXRzIHNldCBvZiBlbmdpbmVzIikKCmltcGxlbWVudCBhIG5ldyB1YXBpIGZv ciBlbmdpbmUgZGlzY292ZXJ5IHRoYXQgY29uc2lzdCBpbiBmaXJzdApxdWVyeWluZyB0aGUgZHJp dmVyIGFib3V0IHRoZSBlbmdpbmVzIGluIHRoZSBncHUgWzFdIGFuZCB0aGVuCmJpbmRpbmcgYSBj b250ZXh0IHRvIHRoZSBzZXQgb2YgZW5naW5lcyB0aGF0IGl0IGNhbiBhY2Nlc3MgWzJdLgoKSW4g aWd0IHRoZSBjbGFzc2ljIHdheSBmb3IgZGlzY292ZXJpbmcgZW5naW5lcyBpcyBkb25lIHRocm91 Z2gKdGhlIGZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZSgpIG1hY3JvLCB0aGF0IHdvdWxkIGJlIHJl cGxhY2VkIGJ5CnRoZSBuZXcgZm9yX2VhY2hfZW5naW5lX2N0eCgpLgoKQSBuZXcgZnVuY3Rpb24g Z2VtX2luaXRfZW5naW5lX2xpc3QoKSBpcyBhZGRlZHRoYXQgaXMgY2FsbGVkCmluIGlndF9yZXF1 aXJlX2dlbSgpIHRvIHNldCB0aGUgaTkxNSByZXF1aXJlbWVudC4gQSBsaXN0IG9mCmV4aXN0aW5n IGVuZ2luZXMgaXMgY3JlYXRlZCBhbmQgc3RvcmVkIGluIHRoZQppbnRlbF9leGVjdXRpb25fZW5n aW5lczIgdGhhdCByZXBsYWNlcyB0aGUgY3VycmVudCBhcnJheSB3aGljaApoYXMgbW9yZSBhIHJl ZmVyZW5jZSBtZWFuaW5nLiBOb3cgdGhlIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMgpzdG9yZXMg dGhlIGVuZ2luZXMgY3VycmVudGx5IHByZXNlbnQgaW4gdGhlIEdQVS4KClNpZ25lZC1vZmYtYnk6 IEFuZGkgU2h5dGkgPGFuZGkuc2h5dGlAaW50ZWwuY29tPgotLS0KIGxpYi9pZ3RfZ3QuYyAgICAg ICAgIHwgMTEwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGxp Yi9pZ3RfZ3QuaCAgICAgICAgIHwgIDE0ICsrKysrLQogbGliL2lvY3RsX3dyYXBwZXJzLmMgfCAg IDMgKysKIDMgZmlsZXMgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5jIGIvbGliL2lndF9ndC5jCmluZGV4IDY0NjY5Njcy N2VlNC4uN2Q5MzNlNjRlYzU5IDEwMDY0NAotLS0gYS9saWIvaWd0X2d0LmMKKysrIGIvbGliL2ln dF9ndC5jCkBAIC01NzcsNyArNTc3LDcgQEAgYm9vbCBnZW1fY2FuX3N0b3JlX2R3b3JkKGludCBm ZCwgdW5zaWduZWQgaW50IGVuZ2luZSkKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotY29uc3Qgc3RydWN0 IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyIGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltdID0gewor c3RhdGljIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiBpbnRlbF9leGVjX2VuZ2luZXMy X3JlZmxpc3RbXSA9IHsKIAl7ICJyY3MwIiwgSTkxNV9FTkdJTkVfQ0xBU1NfUkVOREVSLCAwIH0s CiAJeyAiYmNzMCIsIEk5MTVfRU5HSU5FX0NMQVNTX0NPUFksIDAgfSwKIAl7ICJ2Y3MwIiwgSTkx NV9FTkdJTkVfQ0xBU1NfVklERU8sIDAgfSwKQEAgLTU4Niw2ICs1ODYsOCBAQCBjb25zdCBzdHJ1 Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyW10gPSB7 CiAJeyB9CiB9OwogCitzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmludGVsX2V4ZWN1 dGlvbl9lbmdpbmVzMjsKKwogdW5zaWduZWQgaW50CiBnZW1fY2xhc3NfaW5zdGFuY2VfdG9fZWJf ZmxhZ3MoaW50IGdlbV9mZCwKIAkJCSAgICAgICBlbnVtIGRybV9pOTE1X2dlbV9lbmdpbmVfY2xh c3MgY2xhc3MsCkBAIC02NTAsMyArNjUyLDEwOSBAQCBib29sIGdlbV9yaW5nX2hhc19waHlzaWNh bF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCByaW5nKQogCiAJcmV0dXJuIGdlbV9oYXNfcmluZyhm ZCwgcmluZyk7CiB9CisKK3N0YXRpYyBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8g KnF1ZXJ5X2VuZ2luZXMoaW50IGZkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeSBxdWVyeSA9 IHsgfTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0geyB9OworCXN0cnVjdCBk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyAqcXVlcnlfZW5naW5lczsKKworCWl0ZW0ucXVlcnlf aWQgPSBEUk1fSTkxNV9RVUVSWV9FTkdJTkVfSU5GTzsKKwlxdWVyeS5pdGVtc19wdHIgPSB0b191 c2VyX3BvaW50ZXIoJml0ZW0pOworCXF1ZXJ5Lm51bV9pdGVtcyA9IDE7CisJaXRlbS5sZW5ndGgg PSBzaXplb2YoKnF1ZXJ5X2VuZ2luZXMpICsKKwkJICAgICAgNjQgKiBzaXplb2Yoc3RydWN0IGRy bV9pOTE1X2VuZ2luZV9pbmZvKTsKKworCWlndF9hc3NlcnQoKHF1ZXJ5X2VuZ2luZXMgPSBjYWxs b2MoMSwgaXRlbS5sZW5ndGgpKSk7CisJaXRlbS5kYXRhX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihx dWVyeV9lbmdpbmVzKTsKKworCWlndF9hc3NlcnQoIWlndF9pb2N0bChmZCwgRFJNX0lPQ1RMX0k5 MTVfUVVFUlksICZxdWVyeSkpOworCisJcmV0dXJuIHF1ZXJ5X2VuZ2luZXM7Cit9CisKK2Jvb2wg Z2VtX2lzX25ld19nZXRfc2V0X3BhcmFtKHZvaWQpCit7CisJcmV0dXJuIGludGVsX2V4ZWN1dGlv bl9lbmdpbmVzMiAhPSBpbnRlbF9leGVjX2VuZ2luZXMyX3JlZmxpc3Q7Cit9CisKK3ZvaWQgX19z ZXRfY3R4X2VuZ2luZV9tYXAoaW50IGZkLCB1aW50MzJfdCBjdHhfaWQpCit7CisJaW50IGk7CisJ c3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplMjsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X2NvbnRleHRfcGFyYW0gY3R4X3BhcmFtOworCXN0cnVjdCBpOTE1X2NvbnRleHRfcGFyYW1fZW5n aW5lcyAqY3R4X2VuZ2luZTsKKworCWlmICghZ2VtX2lzX25ld19nZXRfc2V0X3BhcmFtKCkpCisJ CXJldHVybjsKKworCWN0eF9wYXJhbS5jdHhfaWQgPSBjdHhfaWQ7CisJY3R4X3BhcmFtLnBhcmFt ID0gSTkxNV9DT05URVhUX1BBUkFNX0VOR0lORVM7CisJY3R4X3BhcmFtLnNpemUgPSBzaXplb2Yo KmN0eF9lbmdpbmUpICsKKwkJCSAoSTkxNV9FWEVDX1JJTkdfTUFTSyAtIDEpICoKKwkJCSBzaXpl b2YoKmN0eF9lbmdpbmUtPmNsYXNzX2luc3RhbmNlKTsKKworCWlndF9hc3NlcnQoKGN0eF9lbmdp bmUgPSBjYWxsb2MoMSwgY3R4X3BhcmFtLnNpemUpKSk7CisKKwljdHhfZW5naW5lLT5leHRlbnNp b25zID0gMDsKKwlmb3IgKGkgPSAwLCBlMiA9IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMjsgZTIt Pm5hbWU7IGkrKywgZTIrKykgeworCQljdHhfZW5naW5lLT5jbGFzc19pbnN0YW5jZVtpXS5lbmdp bmVfY2xhc3MgPSBlMi0+Y2xhc3M7CisJCWN0eF9lbmdpbmUtPmNsYXNzX2luc3RhbmNlW2ldLmVu Z2luZV9pbnN0YW5jZSA9IGUyLT5pbnN0YW5jZTsKKwl9CisKKwljdHhfcGFyYW0udmFsdWUgPSB0 b191c2VyX3BvaW50ZXIoY3R4X2VuZ2luZSk7CisKKwlpZ3RfYXNzZXJ0KCFpZ3RfaW9jdGwoZmQs CisJCQkgICAgICBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9TRVRQQVJBTSwgJmN0eF9wYXJh bSkpOworCisJZnJlZShjdHhfZW5naW5lKTsKK30KKwordm9pZCBnZW1faW5pdF9lbmdpbmVfbGlz dChpbnQgZmQpCit7CisJaW50IGksIHJldDsKKwlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5l X2luZm8gKnF1ZXJ5X2VuZ2luZSA9IHF1ZXJ5X2VuZ2luZXMoZmQpOworCWNvbnN0IGNoYXIgKmVu Z2luZV9uYW1lc1tdID0geyAicmNzIiwgImJjcyIsICJ2Y3MiLCAidmVjcyIgfTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2NvbnRleHRfcGFyYW0gY3R4X3BhcmFtID0geworCQkucGFyYW0gPSBJOTE1 X0NPTlRFWFRfUEFSQU1fRU5HSU5FUywKKwl9OworCisJaWYgKGludGVsX2V4ZWN1dGlvbl9lbmdp bmVzMikKKwkJcmV0dXJuOworCisJLyoKKwkgKiB3ZSBjaGVjayBmaXJzdCB3aGV0aGVyIHRoZSBu ZXcgZW5naW5lIGRpc2NvdmVyeSB1YXBpCisJICogaXMgaW4gdGhlIGN1cnJlbnQga2VybmVsLCBp ZiBub3QsIHRoZQorCSAqIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0dFVFBBUkFNIHdpbGwg ZmFpbCB3aXRoCisJICogZXJybm8gPSBFSU5WQUwuIEluIHRoaXMgY2FzZSwgd2UgZmFsbCBiYWNr IHRvIHVzaW5nCisJICogdGhlIHByZXZpb3VzIGVuZ2luZSBkaXNjb3Zlcnkgd2F5CisJICovCisJ cmV0ID0gaWd0X2lvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRU1fQ09OVEVYVF9HRVRQQVJBTSwg JmN0eF9wYXJhbSk7CisJaWYgKGVycm5vID09IEVJTlZBTCkgeworCQlpbnRlbF9leGVjdXRpb25f ZW5naW5lczIgPSBpbnRlbF9leGVjX2VuZ2luZXMyX3JlZmxpc3Q7CisJCXJldHVybjsKKwl9CisK KwlpZ3RfcmVxdWlyZV9mKCFyZXQsICJmYWlsZWQgRFJNX0lPQ1RMX0k5MTVfR0VNX0NPTlRFWFRf R0VUUEFSQU0gaW9jdGwiKTsKKworCWlndF9hc3NlcnQoKGludGVsX2V4ZWN1dGlvbl9lbmdpbmVz MiA9CisJCSAgICBjYWxsb2MoNjQsIHNpemVvZigqaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyKSkp KTsKKworCWZvciAoaSA9IDA7IGkgPCBxdWVyeV9lbmdpbmUtPm51bV9lbmdpbmVzOyBpKyspIHsK KwkJY2hhciAqbmFtZTsKKwkJaW50IGNsYXNzID0gcXVlcnlfZW5naW5lLT5lbmdpbmVzW2ldLmNs YXNzOworCQlpbnQgaW5zdGFuY2UgPSBxdWVyeV9lbmdpbmUtPmVuZ2luZXNbaV0uaW5zdGFuY2U7 CisKKwkJaWd0X3JlcXVpcmUoY2xhc3MgPCBBUlJBWV9TSVpFKGVuZ2luZV9uYW1lcykgJiYgY2xh c3MgPj0gMCk7CisJCWlndF9yZXF1aXJlKGVuZ2luZV9uYW1lc1tjbGFzc10pOworCisJCWludGVs X2V4ZWN1dGlvbl9lbmdpbmVzMltpXS5jbGFzcyA9IGNsYXNzOworCQlpbnRlbF9leGVjdXRpb25f ZW5naW5lczJbaV0uaW5zdGFuY2UgPSBpbnN0YW5jZTsKKworCQlpZ3RfYXNzZXJ0KGFzcHJpbnRm KCZuYW1lLCAiJXMlZCIsCisJCQkJICAgIGVuZ2luZV9uYW1lc1tjbGFzc10sIGluc3RhbmNlKSA+ IDApOworCQlpbnRlbF9leGVjdXRpb25fZW5naW5lczJbaV0ubmFtZSA9IG5hbWU7CisJfQorCisJ ZnJlZShxdWVyeV9lbmdpbmUpOworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5oIGIvbGliL2ln dF9ndC5oCmluZGV4IDU0ZTk1ZGE5ODA4NC4uZmRlNjdhNmViMGVlIDEwMDY0NAotLS0gYS9saWIv aWd0X2d0LmgKKysrIGIvbGliL2lndF9ndC5oCkBAIC04NiwxNiArODYsMjYgQEAgZXh0ZXJuIGNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lIHsKIAkgICAgIGVfXysrKSBcCiAJCWZv cl9pZiAoZ2VtX3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShmZF9fLCBmbGFnc19fID0gZV9fLT5l eGVjX2lkIHwgZV9fLT5mbGFncykpCiAKKyNkZWZpbmUgZm9yX2VhY2hfZW5naW5lX2N0eChmZCwg Y3R4LCBlKSBcCisJCWZvciAoX19zZXRfY3R4X2VuZ2luZV9tYXAoZmQsIGN0eF9pZCksIFwKKwkJ ICAgICBlID0gaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXMyOyBlLT5uYW1lOyBlKyspIFwKKwkJCWZv cl9pZiAoZ2VtX2lzX25ld19nZXRfc2V0X3BhcmFtKCkgfHwgXAorCQkJCWdlbV9oYXNfZW5naW5l KGZkLCBlLT5jbGFzcywgZS0+aW5zdGFuY2UpKQorCiBib29sIGdlbV9yaW5nX2lzX3BoeXNpY2Fs X2VuZ2luZShpbnQgZmQsIHVuc2lnbmVkIGludCByaW5nKTsKIGJvb2wgZ2VtX3JpbmdfaGFzX3Bo eXNpY2FsX2VuZ2luZShpbnQgZmQsIHVuc2lnbmVkIGludCByaW5nKTsKIAogYm9vbCBnZW1fY2Fu X3N0b3JlX2R3b3JkKGludCBmZCwgdW5zaWduZWQgaW50IGVuZ2luZSk7CiAKLWV4dGVybiBjb25z dCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgeworZXh0ZXJuIHN0cnVjdCBpbnRlbF9l eGVjdXRpb25fZW5naW5lMiB7CiAJY29uc3QgY2hhciAqbmFtZTsKIAlpbnQgY2xhc3M7CiAJaW50 IGluc3RhbmNlOwotfSBpbnRlbF9leGVjdXRpb25fZW5naW5lczJbXTsKK30gKmludGVsX2V4ZWN1 dGlvbl9lbmdpbmVzMjsKKworYm9vbCBnZW1faXNfbmV3X2dldF9zZXRfcGFyYW0odm9pZCk7Cit2 b2lkIGdlbV9pbml0X2VuZ2luZV9saXN0KGludCBmZCk7Cit2b2lkIF9fc2V0X2N0eF9lbmdpbmVf bWFwKGludCBmZCwgdWludDMyX3QgY3R4X2lkKTsKIAogdW5zaWduZWQgaW50CiBnZW1fY2xhc3Nf aW5zdGFuY2VfdG9fZWJfZmxhZ3MoaW50IGdlbV9mZCwKZGlmZiAtLWdpdCBhL2xpYi9pb2N0bF93 cmFwcGVycy5jIGIvbGliL2lvY3RsX3dyYXBwZXJzLmMKaW5kZXggNDA0YzJmYmY5MzU1Li41N2Vk OGM1MWJlYTUgMTAwNjQ0Ci0tLSBhL2xpYi9pb2N0bF93cmFwcGVycy5jCisrKyBiL2xpYi9pb2N0 bF93cmFwcGVycy5jCkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiaWd0X2RlYnVnZnMuaCIK ICNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJp Z3RfZ3QuaCIKIAogI2lmZGVmIEhBVkVfVkFMR1JJTkQKICNpbmNsdWRlIDx2YWxncmluZC92YWxn cmluZC5oPgpAQCAtMTQ1OSw2ICsxNDYwLDggQEAgdm9pZCBpZ3RfcmVxdWlyZV9nZW0oaW50IGZk KQogCWVyciA9IDA7CiAJaWYgKGlvY3RsKGZkLCBEUk1fSU9DVExfSTkxNV9HRU1fVEhST1RUTEUp KQogCQllcnIgPSAtZXJybm87CisJZWxzZQorCQlnZW1faW5pdF9lbmdpbmVfbGlzdChmZCk7CiAK IAljbG9zZShmZCk7CiAKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pZ3QtZGV2Cg==