From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E7236E0C1 for ; Mon, 19 Nov 2018 15:56:01 +0000 (UTC) From: Andi Shyti Date: Mon, 19 Nov 2018 17:55:41 +0200 Message-Id: <20181119155541.3242-3-andi.shyti@intel.com> In-Reply-To: <20181119155541.3242-1-andi.shyti@intel.com> References: <20181119155541.3242-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC 2/2] 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: Tvrtko Ursulin , Andi Shyti List-ID: S2VybmVsIGNvbW1pdHM6CgpbMV0gYWU4ZjQ1NDRkZDhmICgiZHJtL2k5MTU6IEVuZ2luZSBkaXNj b3ZlcnkgcXVlcnkiKQpbMl0gMzFlN2QzNTY2N2EwICgiZHJtL2k5MTU6IEFsbG93IGEgY29udGV4 dCB0byBkZWZpbmUgaXRzIHNldCBvZiBlbmdpbmVzIikKCmZyb20gWypdIHJlcG9zaXRvcnksIGlt cGxlbWVudCBhIG5ldyB3YXkgdWFwaSBmb3IgZW5naW5lCmRpc2NvdmVyeSB0aGF0IGNvbnNpc3Qg aW4gZmlyc3QgY291cGxpbmcgY29udGV4dCB3aXRoIGVuZ2luZSBbMl0KYW5kIHRoZW4gcXVlcnkg dGhlIGVuZ2luZXMgdGhyb3VnaCBhIHNwZWNpZmljIHN0cnVjdHVyZSBbMV0uCgpJbiBpZ3QgdGhl IGNsYXNzaWMgd2F5IGZvciBkaXNjb3ZlcmluZyBlbmdpbmVzIGlzIGRvbmUgdHJob3VnaAp0aGUg Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKCkgbWFjcm8sIHRoYXQgaXMgcmVwbGFjZWQgYnkgdGhl Cm5ldyBmb3JfZWFjaF9lbmdpbmVfY3R4KCkuCgpUaGUgbmV3IGVuZ2luZSBkaXNjb3ZlcnkgbWFj cm8gcmVxdWlyZXMsIHRob3VnaCwgdG8gZmlyc3QgYmluZCBhCmNvbnRleHQgdG8gdGhlIGVuZ2lu ZXMgYW5kIHRoZSB1bmJpbmQgaXQ6CgpIZXJlJ3MgYW4gZXhhbXBsZSBvZiB1c2FnZToKCiAgaW50 IG1haW4odm9pZCkKICB7CiAgICAgaW50IGZkOwogICAgIHVpbnQzMl90IG4sIGN0eF9pZCwgZTsK CiAgICAgZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKCiAgICAgaWYoYmluZF9j dHhfdG9fZW5naW5lKGZkLCAmbiwgJmN0eF9pZCkpCiAgICAgICAgZ290byBvdXQ7CgogICAgIGZv cl9lYWNoX2VuZ2luZV9jdHgoZmQsIG4sIGN0eF9pZCwgZSkKICAgICAgICBwcmludGYoIiVkIE9L OlxuIiwgZSsxKTsKCiAgICAgdW5iaW5kX2N0eF9mcm9tX2VuZ2luZShmZCwgY3R4X2lkKTsKCiAg b3V0OgogICAgIGNsb3NlKGZkKTsKCiAgICAgcmV0dXJuIDA7CiAgfQoKWypdIGdpdDovL3Blb3Bs ZS5mcmVlZGVza3RvcC5vcmcvfnR1cnN1bGluL2RybS1pbnRlbAoKU2lnbmVkLW9mZi1ieTogQW5k aSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Ci0tLQogbGliL2lndF9ndC5jICAgICAgICAg fCA4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2ln dF9ndC5oICAgICAgICAgfCAgNiArKysKIGxpYi9pb2N0bF93cmFwcGVycy5jIHwgMjUgKysrKysr KysrKysrKwogbGliL2lvY3RsX3dyYXBwZXJzLmggfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDEy MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5jIGIvbGliL2lndF9ndC5j CmluZGV4IGEyMDYxOTI0Li5iYWZlMWY4NiAxMDA2NDQKLS0tIGEvbGliL2lndF9ndC5jCisrKyBi L2xpYi9pZ3RfZ3QuYwpAQCAtNjUwLDMgKzY1MCw5MiBAQCBib29sIGdlbV9yaW5nX2hhc19waHlz aWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCByaW5nKQogCiAJcmV0dXJuIGdlbV9oYXNfcmlu ZyhmZCwgcmluZyk7CiB9CisKK3N0YXRpYyBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2lu Zm8gKl9fcXVlcnlfZW5naW5lcyhpbnQgZmQpCit7CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5IHF1 ZXJ5OworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIGl0ZW07CisJc3RydWN0IGRybV9pOTE1 X3F1ZXJ5X2VuZ2luZV9pbmZvICpxdWVyeV9lbmdpbmVzOworCXNzaXplX3Qgc2l6ZSA9IHNpemVv ZigqcXVlcnlfZW5naW5lcykgKyAxMCAqIHNpemVvZigqcXVlcnlfZW5naW5lcy0+ZW5naW5lcyk7 CisJaW50IGVycjsKKworCXF1ZXJ5X2VuZ2luZXMgPSBtYWxsb2Moc2l6ZSk7CisJaWYgKCFxdWVy eV9lbmdpbmVzKQorCQlyZXR1cm4gTlVMTDsKKworCW1lbXNldCgmcXVlcnksIDAsIHNpemVvZihx dWVyeSkpOworCW1lbXNldCgmaXRlbSwgMCwgc2l6ZW9mKGl0ZW0pKTsKKwltZW1zZXQocXVlcnlf ZW5naW5lcywgMCwgc2l6ZW9mKCpxdWVyeV9lbmdpbmVzKSk7CisKKwlpdGVtLnF1ZXJ5X2lkID0g RFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87CisJaXRlbS5sZW5ndGggPSBzaXplOworCWl0ZW0u ZmxhZ3MgPSAwOworCWl0ZW0uZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIocXVlcnlfZW5naW5l cyk7CisKKwlxdWVyeS5pdGVtc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJml0ZW0pOworCXF1ZXJ5 Lm51bV9pdGVtcyA9IDE7CisKKwllcnIgPSBpZ3RfaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X1FV RVJZLCAmcXVlcnkpOworCWlmIChlcnIpIHsKKwkJZnJlZShxdWVyeV9lbmdpbmVzKTsKKwkJcmV0 dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIHF1ZXJ5X2VuZ2luZXM7Cit9CisKK3N0YXRpYyBpbnQg X19iaW5kX2N0eF90b19lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCBjdHhfaWQsCisJCXN0cnVjdCBk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyAqcXVlcnlfZW5naW5lKQoreworCWludCBpLCByZXQ7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGN0eF9wYXJhbTsKKwlzdHJ1Y3Qg aTkxNV9jb250ZXh0X3BhcmFtX2VuZ2luZXMgKmN0eF9lbmdpbmU7CisJc2l6ZV90IHNpemUgPSBz aXplb2Yoc3RydWN0IGk5MTVfY29udGV4dF9wYXJhbV9lbmdpbmVzKSArCisJCSAgICAgIHF1ZXJ5 X2VuZ2luZS0+bnVtX2VuZ2luZXMgKgorCQkgICAgICBzaXplb2YoKmN0eF9lbmdpbmUtPmNsYXNz X2luc3RhbmNlKTsKKworCWN0eF9lbmdpbmUgPSBtYWxsb2Moc2l6ZSk7CisJaWYgKCFjdHhfZW5n aW5lKQorCQlyZXR1cm4gZXJybm87CisKKwljdHhfZW5naW5lLT5leHRlbnNpb25zID0gMDsKKwlm b3IgKGkgPSAwOyBpIDwgcXVlcnlfZW5naW5lLT5udW1fZW5naW5lczsgaSsrKSB7CisJCWN0eF9l bmdpbmUtPmNsYXNzX2luc3RhbmNlW2ldLmNsYXNzID0gcXVlcnlfZW5naW5lLT5lbmdpbmVzW2ld LmNsYXNzOworCQljdHhfZW5naW5lLT5jbGFzc19pbnN0YW5jZVtpXS5pbnN0YW5jZSA9IHF1ZXJ5 X2VuZ2luZS0+ZW5naW5lc1tpXS5pbnN0YW5jZTsKKwl9CisKKwljdHhfcGFyYW0uY3R4X2lkID0g Y3R4X2lkOworCWN0eF9wYXJhbS5zaXplID0gc2l6ZTsKKwljdHhfcGFyYW0ucGFyYW0gPSBJOTE1 X0NPTlRFWFRfUEFSQU1fRU5HSU5FUzsKKwljdHhfcGFyYW0udmFsdWUgPSB0b191c2VyX3BvaW50 ZXIoY3R4X2VuZ2luZSk7CisKKwlyZXQgPSBpZ3RfaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X0dF TV9DT05URVhUX1NFVFBBUkFNLCAmY3R4X3BhcmFtKTsKKwlmcmVlKGN0eF9lbmdpbmUpOworCisJ cmV0dXJuIHJldDsKK30KKworaW50IGJpbmRfY3R4X3RvX2VuZ2luZShpbnQgZmQsIHVpbnQzMl90 ICpuLCB1aW50MzJfdCAqY3R4X2lkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVf aW5mbyAqcXVlcnlfZW5naW5lOworCWludCByZXQ7CisKKwlxdWVyeV9lbmdpbmUgPSBfX3F1ZXJ5 X2VuZ2luZXMoZmQpOworCWlmICghcXVlcnlfZW5naW5lKQorCQlyZXR1cm4gLTE7CisKKwkqY3R4 X2lkID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKKwlyZXQgPSBfX2JpbmRfY3R4X3RvX2VuZ2lu ZShmZCwgKmN0eF9pZCwgcXVlcnlfZW5naW5lKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0Owor CisJKm4gPSBxdWVyeV9lbmdpbmUtPm51bV9lbmdpbmVzOworCWZyZWUocXVlcnlfZW5naW5lKTsK KworCXJldHVybiAwOworfQorCit2b2lkIHVuYmluZF9jdHhfZnJvbV9lbmdpbmUoaW50IGZkLCB1 aW50MzJfdCBjdHhfaWQpCit7CisJZ2VtX2NvbnRleHRfZGVzdHJveShmZCwgY3R4X2lkKTsKK30K ZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZ3QuaCBiL2xpYi9pZ3RfZ3QuaAppbmRleCA1NGU5NWRhOS4u ZDg5MzczMTggMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZ3QuaAorKysgYi9saWIvaWd0X2d0LmgKQEAg LTg2LDggKzg2LDE0IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZSB7CiAJICAgICBlX18rKykgXAogCQlmb3JfaWYgKGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdp bmUoZmRfXywgZmxhZ3NfXyA9IGVfXy0+ZXhlY19pZCB8IGVfXy0+ZmxhZ3MpKQogCisjZGVmaW5l IGZvcl9lYWNoX2VuZ2luZV9jdHgoZmQsIG4sIGlkLCBlKSBcCisJZm9yIChlID0gMDsgZSA8IG47 IGUrKykgXAorCQlmb3JfaWYoZ2VtX2hhc19yaW5nX2N0eChmZCwgZSArIDEsIGlkKSkKKwogYm9v bCBnZW1fcmluZ19pc19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCBpbnQgcmluZyk7 CiBib29sIGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25lZCBpbnQg cmluZyk7CitpbnQgYmluZF9jdHhfdG9fZW5naW5lKGludCBmZCwgdWludDMyX3QgKm4sIHVpbnQz Ml90ICpjdHhfaWQpOwordm9pZCB1bmJpbmRfY3R4X2Zyb21fZW5naW5lKGludCBmZCwgdWludDMy X3QgY3R4X2lkKTsKIAogYm9vbCBnZW1fY2FuX3N0b3JlX2R3b3JkKGludCBmZCwgdW5zaWduZWQg aW50IGVuZ2luZSk7CiAKZGlmZiAtLWdpdCBhL2xpYi9pb2N0bF93cmFwcGVycy5jIGIvbGliL2lv Y3RsX3dyYXBwZXJzLmMKaW5kZXggOWYyNTU1MDguLjIxMTViYWQxIDEwMDY0NAotLS0gYS9saWIv aW9jdGxfd3JhcHBlcnMuYworKysgYi9saWIvaW9jdGxfd3JhcHBlcnMuYwpAQCAtMTQ3Miw2ICsx NDcyLDMxIEBAIGJvb2wgZ2VtX2hhc19yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZykKIAlyZXR1 cm4gX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpID09IC1FTk9FTlQ7CiB9CiAKK2Jvb2wgZ2Vt X2hhc19yaW5nX2N0eChpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIHVuc2lnbmVkIGN0eF9pZCkKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7CisJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjX29iamVjdDIgZXhlYzsKKwl1aW50MzJfdCBiYmVuZCA9IE1JX0JBVENIX0JV RkZFUl9FTkQ7CisJaW50IHJldDsKKworCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNi dWYpKTsKKwltZW1zZXQoJmV4ZWMsIDAsIHNpemVvZihleGVjKSk7CisKKwlleGVjLmhhbmRsZSA9 IGdlbV9jcmVhdGUoZmQsIDQwOTYpOworCWdlbV93cml0ZShmZCwgZXhlYy5oYW5kbGUsIDAsICZi YmVuZCwgc2l6ZW9mKGJiZW5kKSk7CisKKwlleGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9w b2ludGVyKCZleGVjKTsKKwlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7CisJZXhlY2J1Zi5mbGFn cyA9IHJpbmc7CisJaTkxNV9leGVjYnVmZmVyMl9zZXRfY29udGV4dF9pZChleGVjYnVmLCBjdHhf aWQpOworCisJcmV0ID0gX19nZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOworCisJZ2VtX2Nsb3Nl KGZkLCBleGVjLmhhbmRsZSk7CisKKwlyZXR1cm4gIXJldDsKK30KKwogLyoqCiAgKiBnZW1fcmVx dWlyZV9yaW5nOgogICogQGZkOiBvcGVuIGk5MTUgZHJtIGZpbGUgZGVzY3JpcHRvcgpkaWZmIC0t Z2l0IGEvbGliL2lvY3RsX3dyYXBwZXJzLmggYi9saWIvaW9jdGxfd3JhcHBlcnMuaAppbmRleCBi MjJiMzZiMC4uZDRhZGY5MTIgMTAwNjQ0Ci0tLSBhL2xpYi9pb2N0bF93cmFwcGVycy5oCisrKyBi L2xpYi9pb2N0bF93cmFwcGVycy5oCkBAIC0xNjUsNiArMTY1LDcgQEAgYm9vbCBnZW1faGFzX2V4 ZWNfZmVuY2UoaW50IGZkKTsKIC8qIGNoZWNrIGZ1bmN0aW9ucyB3aGljaCBhdXRvLXNraXAgdGVz dHMgYnkgY2FsbGluZyBpZ3Rfc2tpcCgpICovCiB2b2lkIGdlbV9yZXF1aXJlX2NhY2hpbmcoaW50 IGZkKTsKIGJvb2wgZ2VtX2hhc19yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZyk7Citib29sIGdl bV9oYXNfcmluZ19jdHgoaW50IGZkLCB1bnNpZ25lZCByaW5nLCB1bnNpZ25lZCBjdHhfaWQpOwog dm9pZCBnZW1fcmVxdWlyZV9yaW5nKGludCBmZCwgdW5zaWduZWQgcmluZyk7CiBib29sIGdlbV9o YXNfbW9jc19yZWdpc3RlcnMoaW50IGZkKTsKIHZvaWQgZ2VtX3JlcXVpcmVfbW9jc19yZWdpc3Rl cnMoaW50IGZkKTsKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p Z3QtZGV2Cg==