From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id D1EFC6F580 for ; Fri, 14 Dec 2018 15:34:53 +0000 (UTC) From: Andi Shyti Date: Fri, 14 Dec 2018 17:34:52 +0200 Message-Id: <20181214153452.4845-1-andi.shyti@intel.com> In-Reply-To: <49a265f3-c714-f4ec-7d49-d0eff5be4714@linux.intel.com> References: <49a265f3-c714-f4ec-7d49-d0eff5be4714@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH v3.5 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: Tvrtko Ursulin Cc: IGT dev , Andi Shyti , Tvrtko Ursulin List-ID: SGkgVHZydGtvLAoKd291bGQgdGhlIGZvbGxvd2luZyBwYXRjaCB3b3JrPyB0aGUgImZvcl9lYWNo X2VuZ2luZV9jdHgoKSIgZ2V0cwphbiBhcmd1bWVudCBtb3JlIHRoYXQgaXMgYSBkb3VibGUgcG9p bnRlciB0byBhICJzdHJ1Y3QKaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIiLgoKVGhlIF9fZ2VtX3Nl dHVwX2N0eF9lbmdpbmVzKCkgZnVuY3Rpb24gYWxsb2NhdGVzIGFuIGFycmF5IG9mCmVuZ2luZXMg d2hlcmUgaXQgc3RvcmVzIHRoZSBlbmdpbmVzIHByZXNlbnQgaW4gdGhlIEdQVS4KClRoZSBuZXcg aXRlcmF0b3IgY2FuIGJlIHVzZWQgZWl0aGVyOgoKICAuLi4KICBzdHJ1Y3QgaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZTIgKmVuZ2luZXM7CgogIGZvcl9lYWNoX2VuZ2luZV9jdHgoZmQsIGN0eF9pZCwg ciwgJmVuZ2luZXMpIHsKICAgIHByaW50ZigiZW5naW5lICVkIGlzICVzXG4iLCByLCBlbmdpbmVz W3JdLm5hbWUpOwogIH0KCm9yLCBpZiB0aGUgdXNlciBpcyBub3QgaW50ZXJlc3RlZCBhdCBnZXR0 aW5nIHRoZSBzdHJ1Y3R1cmUsIGNhbgpzZW5kIE5VTEwgaW5zdGVhZCBhbmQgZ2V0IG5vdGhpbmcu CgogIGZvcl9lYWNoX2VuZ2luZV9jdHgoZmQsIGN0eF9pZCwgciwgTlVMTCkgewogICAgLi4uCiAg fQoKSXMgdGhpcyB3aGF0IHlvdSBtZWFudCB0byBnZXQgZnJvbSB0aGUga2VybmVsPwoKVGhhbmtz LApBbmRpCgotLS0KIGxpYi9pZ3RfZ3QuYyB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi9pZ3RfZ3QuaCB8ICA2ICsrKysKIDIgZmls ZXMgY2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvaWd0X2d0LmMg Yi9saWIvaWd0X2d0LmMKaW5kZXggYTIwNjE5MjQ2Mjk2Li44NjE2ZGJhNDRmMTMgMTAwNjQ0Ci0t LSBhL2xpYi9pZ3RfZ3QuYworKysgYi9saWIvaWd0X2d0LmMKQEAgLTY1MCwzICs2NTAsMTAyIEBA IGJvb2wgZ2VtX3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShpbnQgZmQsIHVuc2lnbmVkIHJpbmcp CiAKIAlyZXR1cm4gZ2VtX2hhc19yaW5nKGZkLCByaW5nKTsKIH0KKworc3RhdGljIHN0cnVjdCBk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyAqcXVlcnlfZW5naW5lcyhpbnQgZmQpCit7CisJc3Ry dWN0IGRybV9pOTE1X3F1ZXJ5IHF1ZXJ5ID0geyB9OworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9p dGVtIGl0ZW0gPSB7IH07CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvICpxdWVy eV9lbmdpbmVzOworCisJaXRlbS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZP OworCXF1ZXJ5Lml0ZW1zX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmaXRlbSk7CisJcXVlcnkubnVt X2l0ZW1zID0gMTsKKworCS8qCisJICogVGhlIGZpcnN0IGlvY3RsIGlzIHNlbnQgd2l0aCBpdGVt Lmxlbmd0aCA9IDAKKwkgKiB3aGljaCBhc2tzIHRvIHRoZSBkcml2ZXIgdG8gc3RvcmUgaW4gbGVu Z3RoIHRoZQorCSAqIG1lbW9yeSBuZWVkZWQgZm9yIHRoZSBlbmdpbmVzLiBJbiB0aGUgZHJpdmVy LCBsZW5ndGgKKwkgKiBpcyBlcXVhbCB0bworCSAqCisJICogICBsZW4gPSBzaXplb2Yoc3RydWN0 IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvKSArCisJICogICAgICAgICAgICAgICAgICAgSU5U RUxfSU5GTyhpOTE1KS0+bnVtX3JpbmdzICoKKwkgKiAgICAgICAgICAgICAgICAgICBzaXplb2Yo c3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvKTsKKwkgKi8KKwlpZ3RfcmVxdWlyZSghaW9jdGwo ZmQsIERSTV9JT0NUTF9JOTE1X1FVRVJZLCAmcXVlcnkpKTsKKworCWlndF9hc3NlcnQoKHF1ZXJ5 X2VuZ2luZXMgPSBjYWxsb2MoaXRlbS5sZW5ndGgsIDEpKSk7CisJaXRlbS5kYXRhX3B0ciA9IHRv X3VzZXJfcG9pbnRlcihxdWVyeV9lbmdpbmVzKTsKKworCS8qIFRoZSBzZWNvbmQgaW9jdGwgc3Rv cmVzIHRoZSBlbmdpbmVzIGluIHF1ZXJ5X2VuZ2luZXMgKi8KKwlpZ3RfcmVxdWlyZSghaW9jdGwo ZmQsIERSTV9JT0NUTF9JOTE1X1FVRVJZLCAmcXVlcnkpKTsKKworCXJldHVybiBxdWVyeV9lbmdp bmVzOworfQorCitzdGF0aWMgdm9pZCBzdG9yZV9lbmdpbmUoc3RydWN0IGludGVsX2V4ZWN1dGlv bl9lbmdpbmUyICp0bywKKwkJCSBzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8gKmZyb20pCit7 CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbnRlbF9leGVjdXRpb25f ZW5naW5lczIpOyBpKyspCisJCWlmIChmcm9tLT5jbGFzcyA9PSBpbnRlbF9leGVjdXRpb25fZW5n aW5lczJbaV0uY2xhc3MgJiYKKwkJICAgIGZyb20tPmluc3RhbmNlID09IGludGVsX2V4ZWN1dGlv bl9lbmdpbmVzMltpXS5pbnN0YW5jZSkgeworCQkJdG8tPm5hbWUgPSBpbnRlbF9leGVjdXRpb25f ZW5naW5lczJbaV0ubmFtZTsKKwkJCXRvLT5pbnN0YW5jZSA9IGludGVsX2V4ZWN1dGlvbl9lbmdp bmVzMltpXS5pbnN0YW5jZTsKKwkJCXRvLT5jbGFzcyA9IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVz MltpXS5jbGFzczsKKwkJfQorfQorCitzdGF0aWMgdm9pZCBzZXRfcGFyYW0oaW50IGZkLCB1aW50 MzJfdCBjdHhfaWQsCisJCSAgICAgIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyAq cXVlcnlfZW5naW5lLAorCQkgICAgICBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmVu Z2luZXMpCit7CisJaW50IGk7CisJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIGN0 eF9wYXJhbTsKKwlzdHJ1Y3QgaTkxNV9jb250ZXh0X3BhcmFtX2VuZ2luZXMgKmN0eF9lbmdpbmU7 CisJc2l6ZV90IHNpemUgPSBzaXplb2Yoc3RydWN0IGk5MTVfY29udGV4dF9wYXJhbV9lbmdpbmVz KSArCisJCSAgICAgIHF1ZXJ5X2VuZ2luZS0+bnVtX2VuZ2luZXMgKgorCQkgICAgICBzaXplb2Yo KmN0eF9lbmdpbmUtPmNsYXNzX2luc3RhbmNlKTsKKworCWlndF9hc3NlcnQoKGN0eF9lbmdpbmUg PSBtYWxsb2Moc2l6ZSkpKTsKKworCWN0eF9lbmdpbmUtPmV4dGVuc2lvbnMgPSAwOworCWZvciAo aSA9IDA7IGkgPCBxdWVyeV9lbmdpbmUtPm51bV9lbmdpbmVzOyBpKyspIHsKKworCQljdHhfZW5n aW5lLT5jbGFzc19pbnN0YW5jZVtpXS5jbGFzcyA9IHF1ZXJ5X2VuZ2luZS0+ZW5naW5lc1tpXS5j bGFzczsKKwkJY3R4X2VuZ2luZS0+Y2xhc3NfaW5zdGFuY2VbaV0uaW5zdGFuY2UgPSBxdWVyeV9l bmdpbmUtPmVuZ2luZXNbaV0uaW5zdGFuY2U7CisKKwkJaWYoZW5naW5lcykKKwkJCXN0b3JlX2Vu Z2luZSgmZW5naW5lc1tpXSwgJnF1ZXJ5X2VuZ2luZS0+ZW5naW5lc1tpXSk7CisJfQorCisJY3R4 X3BhcmFtLmN0eF9pZCA9IGN0eF9pZDsKKwljdHhfcGFyYW0uc2l6ZSA9IHNpemU7CisJY3R4X3Bh cmFtLnBhcmFtID0gSTkxNV9DT05URVhUX1BBUkFNX0VOR0lORVM7CisJY3R4X3BhcmFtLnZhbHVl ID0gdG9fdXNlcl9wb2ludGVyKGN0eF9lbmdpbmUpOworCisJLyogY2hlY2sgd2hldGhlciB3ZSBm cmVlIHRoZSBlbmdpbmVzICovCisJaWd0X3JlcXVpcmUoIWlvY3RsKGZkLCBEUk1fSU9DVExfSTkx NV9HRU1fQ09OVEVYVF9TRVRQQVJBTSwgJmN0eF9wYXJhbSkpOworCisJZnJlZShjdHhfZW5naW5l KTsKK30KKworaW50IF9fZ2VtX3NldHVwX2N0eF9lbmdpbmVzKGludCBmZCwgdWludDMyX3QgY3R4 X2lkLAorCQkJICAgIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqKmVuZ2luZXMpCit7 CisJc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvICpxdWVyeV9lbmdpbmU7CisJaW50 IG47CisKKwlxdWVyeV9lbmdpbmUgPSBxdWVyeV9lbmdpbmVzKGZkKTsKKworCW4gPSBxdWVyeV9l bmdpbmUtPm51bV9lbmdpbmVzOworCisJaWYgKGVuZ2luZXMpCisJCWlndF9hc3NlcnQoKmVuZ2lu ZXMgPSBtYWxsb2MobiAqIHNpemVvZigqKmVuZ2luZXMpKSk7CisKKwlzZXRfcGFyYW0oZmQsIGN0 eF9pZCwgcXVlcnlfZW5naW5lLCBlbmdpbmVzID8gKmVuZ2luZXMgOiBOVUxMKTsKKworCWZyZWUo cXVlcnlfZW5naW5lKTsKKworCXJldHVybiBuOworfQpkaWZmIC0tZ2l0IGEvbGliL2lndF9ndC5o IGIvbGliL2lndF9ndC5oCmluZGV4IDU0ZTk1ZGE5ODA4NC4uY2I1MTA4MmIxYmVkIDEwMDY0NAot LS0gYS9saWIvaWd0X2d0LmgKKysrIGIvbGliL2lndF9ndC5oCkBAIC04Niw2ICs4NiwxMCBAQCBl eHRlcm4gY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgewogCSAgICAgZV9fKysp IFwKIAkJZm9yX2lmIChnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkX18sIGZsYWdzX18g PSBlX18tPmV4ZWNfaWQgfCBlX18tPmZsYWdzKSkKIAorI2RlZmluZSBmb3JfZWFjaF9lbmdpbmVf Y3R4KGZkLCBjdHgsIGUsIGVuZ2luZXMpIFwKKwkJZm9yIChpbnQgX19tID0gX19nZW1fc2V0dXBf Y3R4X2VuZ2luZXMoZmQsIGN0eCwgZW5naW5lcyksIF9fZSA9IGUgPSAxOyBcCisJCQkJX19lIDwg X19tOyBlID0gKytfX2UpCisKIGJvb2wgZ2VtX3JpbmdfaXNfcGh5c2ljYWxfZW5naW5lKGludCBm ZCwgdW5zaWduZWQgaW50IHJpbmcpOwogYm9vbCBnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5l KGludCBmZCwgdW5zaWduZWQgaW50IHJpbmcpOwogCkBAIC05Nyw2ICsxMDEsOCBAQCBleHRlcm4g Y29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyIHsKIAlpbnQgaW5zdGFuY2U7CiB9 IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMltdOwogCitpbnQgX19nZW1fc2V0dXBfY3R4X2VuZ2lu ZXMoaW50IGZkLCB1aW50MzJfdCBjdHhfaWQsIHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l MiAqKmVuZ2luZXMpOworCiB1bnNpZ25lZCBpbnQKIGdlbV9jbGFzc19pbnN0YW5jZV90b19lYl9m bGFncyhpbnQgZ2VtX2ZkLAogCQkJICAgICAgIGVudW0gZHJtX2k5MTVfZ2VtX2VuZ2luZV9jbGFz cyBjbGFzcywKLS0gCjIuMjAuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3Qt ZGV2Cg==