From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id E49FE6E633 for ; Wed, 21 Nov 2018 16:10:41 +0000 (UTC) From: Andi Shyti Date: Wed, 21 Nov 2018 18:10:22 +0200 Message-Id: <20181121161023.1603-3-andi.shyti@intel.com> In-Reply-To: <20181121161023.1603-1-andi.shyti@intel.com> References: <20181121161023.1603-1-andi.shyti@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC v2 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: Tvrtko Ursulin , Andi Shyti List-ID: S2VybmVsIGNvbW1pdHM6CgpbMV0gYWU4ZjQ1NDRkZDhmICgiZHJtL2k5MTU6IEVuZ2luZSBkaXNj b3ZlcnkgcXVlcnkiKQpbMl0gMzFlN2QzNTY2N2EwICgiZHJtL2k5MTU6IEFsbG93IGEgY29udGV4 dCB0byBkZWZpbmUgaXRzIHNldCBvZiBlbmdpbmVzIikKCmZyb20gWypdIHJlcG9zaXRvcnksIGlt cGxlbWVudCBhIG5ldyB3YXkgdWFwaSBmb3IgZW5naW5lCmRpc2NvdmVyeSB0aGF0IGNvbnNpc3Qg aW4gZmlyc3QgY291cGxpbmcgY29udGV4dCB3aXRoIGVuZ2luZSBbMl0KYW5kIHRoZW4gcXVlcnkg dGhlIGVuZ2luZXMgdGhyb3VnaCBhIHNwZWNpZmljIHN0cnVjdHVyZSBbMV0uCgpJbiBpZ3QgdGhl IGNsYXNzaWMgd2F5IGZvciBkaXNjb3ZlcmluZyBlbmdpbmVzIGlzIGRvbmUgdHJob3VnaAp0aGUg Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKCkgbWFjcm8sIHRoYXQgd291bGQgYmUgcmVwbGFjZWQg YnkKdGhlIG5ldyBmb3JfZWFjaF9lbmdpbmVfY3R4KCkuCgpbKl0gZ2l0Oi8vcGVvcGxlLmZyZWVk ZXNrdG9wLm9yZy9+dHVyc3VsaW4vZHJtLWludGVsCgpTaWduZWQtb2ZmLWJ5OiBBbmRpIFNoeXRp IDxhbmRpLnNoeXRpQGludGVsLmNvbT4KLS0tCiBsaWIvaWd0X2d0LmMgfCA4MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvaWd0X2d0Lmgg fCAgOCArKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA5MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvbGliL2lndF9ndC5jIGIvbGliL2lndF9ndC5jCmluZGV4IGEyMDYxOTI0Li40YTdiODY3MSAx MDA2NDQKLS0tIGEvbGliL2lndF9ndC5jCisrKyBiL2xpYi9pZ3RfZ3QuYwpAQCAtNjUwLDMgKzY1 MCw4NiBAQCBib29sIGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoaW50IGZkLCB1bnNpZ25l ZCByaW5nKQogCiAJcmV0dXJuIGdlbV9oYXNfcmluZyhmZCwgcmluZyk7CiB9CisKK3N0YXRpYyBz dHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gKl9fcXVlcnlfZW5naW5lcyhpbnQgZmQp Cit7CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5IHF1ZXJ5OworCXN0cnVjdCBkcm1faTkxNV9xdWVy eV9pdGVtIGl0ZW07CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvICpxdWVyeV9l bmdpbmVzOworCXNzaXplX3Qgc2l6ZSA9IHNpemVvZigqcXVlcnlfZW5naW5lcykgKyAxMCAqIHNp emVvZigqcXVlcnlfZW5naW5lcy0+ZW5naW5lcyk7CisJaW50IGVycjsKKworCXF1ZXJ5X2VuZ2lu ZXMgPSBtYWxsb2Moc2l6ZSk7CisJaWYgKCFxdWVyeV9lbmdpbmVzKQorCQlyZXR1cm4gTlVMTDsK KworCW1lbXNldCgmcXVlcnksIDAsIHNpemVvZihxdWVyeSkpOworCW1lbXNldCgmaXRlbSwgMCwg c2l6ZW9mKGl0ZW0pKTsKKwltZW1zZXQocXVlcnlfZW5naW5lcywgMCwgc2l6ZW9mKCpxdWVyeV9l bmdpbmVzKSk7CisKKwlpdGVtLnF1ZXJ5X2lkID0gRFJNX0k5MTVfUVVFUllfRU5HSU5FX0lORk87 CisJaXRlbS5sZW5ndGggPSBzaXplOworCWl0ZW0uZmxhZ3MgPSAwOworCWl0ZW0uZGF0YV9wdHIg PSB0b191c2VyX3BvaW50ZXIocXVlcnlfZW5naW5lcyk7CisKKwlxdWVyeS5pdGVtc19wdHIgPSB0 b191c2VyX3BvaW50ZXIoJml0ZW0pOworCXF1ZXJ5Lm51bV9pdGVtcyA9IDE7CisKKwllcnIgPSBp Z3RfaW9jdGwoZmQsIERSTV9JT0NUTF9JOTE1X1FVRVJZLCAmcXVlcnkpOworCWlmIChlcnIpIHsK KwkJZnJlZShxdWVyeV9lbmdpbmVzKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIHF1 ZXJ5X2VuZ2luZXM7Cit9CisKK3N0YXRpYyBpbnQgX19zZXRfcGFyYW0oaW50IGZkLCB1bnNpZ25l ZCBjdHhfaWQsCisJCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyAqcXVlcnlfZW5n aW5lKQoreworCWludCBpLCByZXQ7CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFt IGN0eF9wYXJhbTsKKwlzdHJ1Y3QgaTkxNV9jb250ZXh0X3BhcmFtX2VuZ2luZXMgKmN0eF9lbmdp bmU7CisJc2l6ZV90IHNpemUgPSBzaXplb2Yoc3RydWN0IGk5MTVfY29udGV4dF9wYXJhbV9lbmdp bmVzKSArCisJCSAgICAgIHF1ZXJ5X2VuZ2luZS0+bnVtX2VuZ2luZXMgKgorCQkgICAgICBzaXpl b2YoKmN0eF9lbmdpbmUtPmNsYXNzX2luc3RhbmNlKTsKKworCWN0eF9lbmdpbmUgPSBtYWxsb2Mo c2l6ZSk7CisJaWYgKCFjdHhfZW5naW5lKQorCQlyZXR1cm4gZXJybm87CisKKwljdHhfZW5naW5l LT5leHRlbnNpb25zID0gMDsKKwlmb3IgKGkgPSAwOyBpIDwgcXVlcnlfZW5naW5lLT5udW1fZW5n aW5lczsgaSsrKSB7CisJCWN0eF9lbmdpbmUtPmNsYXNzX2luc3RhbmNlW2ldLmNsYXNzID0gcXVl cnlfZW5naW5lLT5lbmdpbmVzW2ldLmNsYXNzOworCQljdHhfZW5naW5lLT5jbGFzc19pbnN0YW5j ZVtpXS5pbnN0YW5jZSA9IHF1ZXJ5X2VuZ2luZS0+ZW5naW5lc1tpXS5pbnN0YW5jZTsKKwl9CisK KwljdHhfcGFyYW0uY3R4X2lkID0gY3R4X2lkOworCWN0eF9wYXJhbS5zaXplID0gc2l6ZTsKKwlj dHhfcGFyYW0ucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fRU5HSU5FUzsKKwljdHhfcGFyYW0u dmFsdWUgPSB0b191c2VyX3BvaW50ZXIoY3R4X2VuZ2luZSk7CisKKwlyZXQgPSBpZ3RfaW9jdGwo ZmQsIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX1NFVFBBUkFNLCAmY3R4X3BhcmFtKTsKKwlm cmVlKGN0eF9lbmdpbmUpOworCisJcmV0dXJuIHJldDsKK30KKworaW50IGdldF9lbmdpbmVzKGlu dCBmZCwgdWludDMyX3QgY3R4X2lkKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVf aW5mbyAqcXVlcnlfZW5naW5lOworCWludCBuOworCisJcXVlcnlfZW5naW5lID0gX19xdWVyeV9l bmdpbmVzKGZkKTsKKwlpZiAoIXF1ZXJ5X2VuZ2luZSkKKwkJcmV0dXJuIC0xOworCisJbiA9IF9f c2V0X3BhcmFtKGZkLCBjdHhfaWQsIHF1ZXJ5X2VuZ2luZSk7CisJaWYgKG4gPCAwKQorCQlyZXR1 cm4gbjsKKworCW4gPSBxdWVyeV9lbmdpbmUtPm51bV9lbmdpbmVzOworCWZyZWUocXVlcnlfZW5n aW5lKTsKKworCXJldHVybiBuOworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5oIGIvbGliL2ln dF9ndC5oCmluZGV4IDU0ZTk1ZGE5Li43ZTI5OWMzMSAxMDA2NDQKLS0tIGEvbGliL2lndF9ndC5o CisrKyBiL2xpYi9pZ3RfZ3QuaApAQCAtODYsOCArODYsMTYgQEAgZXh0ZXJuIGNvbnN0IHN0cnVj dCBpbnRlbF9leGVjdXRpb25fZW5naW5lIHsKIAkgICAgIGVfXysrKSBcCiAJCWZvcl9pZiAoZ2Vt X3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShmZF9fLCBmbGFnc19fID0gZV9fLT5leGVjX2lkIHwg ZV9fLT5mbGFncykpCiAKKyNkZWZpbmUgZm9yX2VhY2hfZW5naW5lX2N0eChmZCwgY3R4LCBlKSBc CisJCWZvciAoaW50IF9fbSwgX19lID0gMTsgKF9fbSA9IGdldF9lbmdpbmVzKGZkLCBjdHgpKTsg KSBcCisJCQlpZiAoX19lID4gX19tKSBcCisJCQkJYnJlYWs7IFwKKwkJCWVsc2UgXAorCQkJCWZv cihlID0gX19lIDsgX19lIDw9IF9fbTsgZSA9ICsrX19lKQorCiBib29sIGdlbV9yaW5nX2lzX3Bo eXNpY2FsX2VuZ2luZShpbnQgZmQsIHVuc2lnbmVkIGludCByaW5nKTsKIGJvb2wgZ2VtX3Jpbmdf aGFzX3BoeXNpY2FsX2VuZ2luZShpbnQgZmQsIHVuc2lnbmVkIGludCByaW5nKTsKK2ludCBnZXRf ZW5naW5lcyhpbnQgZmQsIHVpbnQzMl90IGN0eF9pZCk7CiAKIGJvb2wgZ2VtX2Nhbl9zdG9yZV9k d29yZChpbnQgZmQsIHVuc2lnbmVkIGludCBlbmdpbmUpOwogCi0tIAoyLjE5LjEKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=