From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Wed, 22 May 2019 16:57:17 +0100 Message-Id: <20190522155720.28723-13-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20190522155720.28723-1-tvrtko.ursulin@linux.intel.com> References: <20190522155720.28723-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 12/15] gem_wsim: Discover engines 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@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluc3RlYWQg b2YgaGFyZGNvZGluZyB0aGUgVkNTIGJhbGFuY2luZyBlbmdpbmVzLCBkaXNjb3ZlciwgYm90aCB3 aXRoIHRoZQpuZXcgZW5naW5lcyBxdWVyeSwgb3Igd2l0aCB0aGUgbGVnYWN5IGdldF9wYXJhbSBp biB0aGUgZmFsbGJhY2sgY2FzZSwgc28KY2xhc3MgYmFzZWQgYWRkcmVzc2luZyBhbHdheXMgd29y a3MuCgp2MjoKICogU2ltcGxpZnkgaGFzX2VuZ2luZV9xdWVyeSBjaGVjay4gKEFuZGkpCiAqIEZp eCBhc3NlcnQgb24gdW5pbml0aWFsaXplZCB2YXJpYWJsZS4gKEFuZGkpCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog QW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Ci0tLQogYmVuY2htYXJrcy9nZW1fd3Np bS5jIHwgMTczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogMSBm aWxlIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2JlbmNobWFya3MvZ2VtX3dzaW0uYyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwppbmRleCAw MmMzZTlkNjU1ZDguLjY0ZDE5ZWQ0NjliMCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9nZW1fd3Np bS5jCisrKyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwpAQCAtMzY1LDM0ICszNjUsMTkxIEBAIHN0 YXRpYyBpbnQgc3RyX3RvX2VuZ2luZShjb25zdCBjaGFyICpzdHIpCiAJcmV0dXJuIC0xOwogfQog CitzdGF0aWMgYm9vbCBfX2VuZ2luZXNfcXVlcmllZDsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgX19u dW1fZW5naW5lczsKK3N0YXRpYyBzdHJ1Y3QgaTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKl9f ZW5naW5lczsKKworc3RhdGljIGludAorX19pOTE1X3F1ZXJ5KGludCBpOTE1LCBzdHJ1Y3QgZHJt X2k5MTVfcXVlcnkgKnEpCit7CisJaWYgKGlndF9pb2N0bChpOTE1LCBEUk1fSU9DVExfSTkxNV9R VUVSWSwgcSkpCisJCXJldHVybiAtZXJybm87CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQK K19faTkxNV9xdWVyeV9pdGVtcyhpbnQgaTkxNSwgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0g Kml0ZW1zLCB1aW50MzJfdCBuX2l0ZW1zKQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeSBxID0g eworCQkubnVtX2l0ZW1zID0gbl9pdGVtcywKKwkJLml0ZW1zX3B0ciA9IHRvX3VzZXJfcG9pbnRl cihpdGVtcyksCisJfTsKKwlyZXR1cm4gX19pOTE1X3F1ZXJ5KGk5MTUsICZxKTsKK30KKworc3Rh dGljIHZvaWQKK2k5MTVfcXVlcnlfaXRlbXMoaW50IGk5MTUsIHN0cnVjdCBkcm1faTkxNV9xdWVy eV9pdGVtICppdGVtcywgdWludDMyX3Qgbl9pdGVtcykKK3sKKwlpZ3RfYXNzZXJ0X2VxKF9faTkx NV9xdWVyeV9pdGVtcyhpOTE1LCBpdGVtcywgbl9pdGVtcyksIDApOworfQorCitzdGF0aWMgYm9v bCBoYXNfZW5naW5lX3F1ZXJ5KGludCBpOTE1KQoreworCXN0cnVjdCBkcm1faTkxNV9xdWVyeV9p dGVtIGl0ZW0gPSB7CisJCS5xdWVyeV9pZCA9IERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPLAor CX07CisKKwlyZXR1cm4gX19pOTE1X3F1ZXJ5X2l0ZW1zKGk5MTUsICZpdGVtLCAxKSA9PSAwICYm IGl0ZW0ubGVuZ3RoID4gMDsKK30KKworc3RhdGljIHZvaWQgcXVlcnlfZW5naW5lcyh2b2lkKQor eworCXN0cnVjdCBpOTE1X2VuZ2luZV9jbGFzc19pbnN0YW5jZSAqZW5naW5lczsKKwl1bnNpZ25l ZCBpbnQgbnVtOworCisJaWYgKF9fZW5naW5lc19xdWVyaWVkKQorCQlyZXR1cm47CisKKwlfX2Vu Z2luZXNfcXVlcmllZCA9IHRydWU7CisKKwlpZiAoIWhhc19lbmdpbmVfcXVlcnkoZmQpKSB7CisJ CXVuc2lnbmVkIGludCBudW1fYnNkID0gZ2VtX2hhc19ic2QoZmQpICsgZ2VtX2hhc19ic2QyKGZk KTsKKwkJdW5zaWduZWQgaW50IGkgPSAwOworCisJCWlndF9hc3NlcnQobnVtX2JzZCk7CisKKwkJ bnVtID0gMSArIG51bV9ic2Q7CisKKwkJaWYgKGdlbV9oYXNfYmx0KGZkKSkKKwkJCW51bSsrOwor CisJCWlmIChnZW1faGFzX3ZlYm94KGZkKSkKKwkJCW51bSsrOworCisJCWVuZ2luZXMgPSBjYWxs b2MobnVtLAorCQkJCSBzaXplb2Yoc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlKSk7 CisJCWlndF9hc3NlcnQoZW5naW5lcyk7CisKKwkJZW5naW5lc1tpXS5lbmdpbmVfY2xhc3MgPSBJ OTE1X0VOR0lORV9DTEFTU19SRU5ERVI7CisJCWVuZ2luZXNbaV0uZW5naW5lX2luc3RhbmNlID0g MDsKKwkJaSsrOworCisJCWlmIChnZW1faGFzX2JsdChmZCkpIHsKKwkJCWVuZ2luZXNbaV0uZW5n aW5lX2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWTsKKwkJCWVuZ2luZXNbaV0uZW5naW5l X2luc3RhbmNlID0gMDsKKwkJCWkrKzsKKwkJfQorCisJCWlmIChnZW1faGFzX2JzZChmZCkpIHsK KwkJCWVuZ2luZXNbaV0uZW5naW5lX2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU87CisJ CQllbmdpbmVzW2ldLmVuZ2luZV9pbnN0YW5jZSA9IDA7CisJCQlpKys7CisJCX0KKworCQlpZiAo Z2VtX2hhc19ic2QyKGZkKSkgeworCQkJZW5naW5lc1tpXS5lbmdpbmVfY2xhc3MgPSBJOTE1X0VO R0lORV9DTEFTU19WSURFTzsKKwkJCWVuZ2luZXNbaV0uZW5naW5lX2luc3RhbmNlID0gMTsKKwkJ CWkrKzsKKwkJfQorCisJCWlmIChnZW1faGFzX3ZlYm94KGZkKSkgeworCQkJZW5naW5lc1tpXS5l bmdpbmVfY2xhc3MgPQorCQkJCUk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPX0VOSEFOQ0U7CisJCQll bmdpbmVzW2ldLmVuZ2luZV9pbnN0YW5jZSA9IDA7CisJCQlpKys7CisJCX0KKwl9IGVsc2Ugewor CQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gKmVuZ2luZV9pbmZvOworCQlzdHJ1 Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSBpdGVtID0geworCQkJLnF1ZXJ5X2lkID0gRFJNX0k5MTVf UVVFUllfRU5HSU5FX0lORk8sCisJCX07CisJCWNvbnN0IHVuc2lnbmVkIGludCBzeiA9IDQwOTY7 CisJCXVuc2lnbmVkIGludCBpOworCisJCWVuZ2luZV9pbmZvID0gbWFsbG9jKHN6KTsKKwkJaWd0 X2Fzc2VydChlbmdpbmVfaW5mbyk7CisJCW1lbXNldChlbmdpbmVfaW5mbywgMCwgc3opOworCisJ CWl0ZW0uZGF0YV9wdHIgPSB0b191c2VyX3BvaW50ZXIoZW5naW5lX2luZm8pOworCQlpdGVtLmxl bmd0aCA9IHN6OworCisJCWk5MTVfcXVlcnlfaXRlbXMoZmQsICZpdGVtLCAxKTsKKwkJaWd0X2Fz c2VydChpdGVtLmxlbmd0aCA+IDApOworCQlpZ3RfYXNzZXJ0KGl0ZW0ubGVuZ3RoIDw9IHN6KTsK KworCQludW0gPSBlbmdpbmVfaW5mby0+bnVtX2VuZ2luZXM7CisKKwkJZW5naW5lcyA9IGNhbGxv YyhudW0sCisJCQkJIHNpemVvZihzdHJ1Y3QgaTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UpKTsK KwkJaWd0X2Fzc2VydChlbmdpbmVzKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsK KwkJCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyAqZW5naW5lID0KKwkJCQkoc3RydWN0IGRy bV9pOTE1X2VuZ2luZV9pbmZvICopJmVuZ2luZV9pbmZvLT5lbmdpbmVzW2ldOworCisJCQllbmdp bmVzW2ldID0gZW5naW5lLT5lbmdpbmU7CisJCX0KKwl9CisKKwlfX2VuZ2luZXMgPSBlbmdpbmVz OworCV9fbnVtX2VuZ2luZXMgPSBudW07Cit9CisKIHN0YXRpYyB1bnNpZ25lZCBpbnQgbnVtX2Vu Z2luZXNfaW5fY2xhc3MoZW51bSBpbnRlbF9lbmdpbmVfaWQgY2xhc3MpCiB7CisJdW5zaWduZWQg aW50IGksIGNvdW50ID0gMDsKKwogCWlndF9hc3NlcnQoY2xhc3MgPT0gVkNTKTsKIAotCXJldHVy biAyOworCXF1ZXJ5X2VuZ2luZXMoKTsKKworCWZvciAoaSA9IDA7IGkgPCBfX251bV9lbmdpbmVz OyBpKyspIHsKKwkJaWYgKF9fZW5naW5lc1tpXS5lbmdpbmVfY2xhc3MgPT0gSTkxNV9FTkdJTkVf Q0xBU1NfVklERU8pCisJCQljb3VudCsrOworCX0KKworCWlndF9hc3NlcnQoY291bnQpOworCXJl dHVybiBjb3VudDsKIH0KIAogc3RhdGljIHZvaWQKIGZpbGxfZW5naW5lc19jbGFzcyhzdHJ1Y3Qg aTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgKmNpLAogCQkgICBlbnVtIGludGVsX2VuZ2luZV9p ZCBjbGFzcykKIHsKKwl1bnNpZ25lZCBpbnQgaSwgaiA9IDA7CisKIAlpZ3RfYXNzZXJ0KGNsYXNz ID09IFZDUyk7CiAKLQljaVswXS5lbmdpbmVfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFTU19WSURF TzsKLQljaVswXS5lbmdpbmVfaW5zdGFuY2UgPSAwOworCXF1ZXJ5X2VuZ2luZXMoKTsKKworCWZv ciAoaSA9IDA7IGkgPCBfX251bV9lbmdpbmVzOyBpKyspIHsKKwkJaWYgKF9fZW5naW5lc1tpXS5l bmdpbmVfY2xhc3MgIT0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8pCisJCQljb250aW51ZTsKIAot CWNpWzFdLmVuZ2luZV9jbGFzcyA9IEk5MTVfRU5HSU5FX0NMQVNTX1ZJREVPOwotCWNpWzFdLmVu Z2luZV9pbnN0YW5jZSA9IDE7CisJCWNpW2pdLmVuZ2luZV9jbGFzcyA9IF9fZW5naW5lc1tpXS5l bmdpbmVfY2xhc3M7CisJCWNpW2pdLmVuZ2luZV9pbnN0YW5jZSA9IF9fZW5naW5lc1tpXS5lbmdp bmVfaW5zdGFuY2U7CisJCWorKzsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkCiBmaWxsX2VuZ2luZXNf aWRfY2xhc3MoZW51bSBpbnRlbF9lbmdpbmVfaWQgKmxpc3QsCiAJCSAgICAgIGVudW0gaW50ZWxf ZW5naW5lX2lkIGNsYXNzKQogeworCWVudW0gaW50ZWxfZW5naW5lX2lkIGVuZ2luZSA9IFZDUzE7 CisJdW5zaWduZWQgaW50IGksIGogPSAwOworCiAJaWd0X2Fzc2VydChjbGFzcyA9PSBWQ1MpOwor CWlndF9hc3NlcnQobnVtX2VuZ2luZXNfaW5fY2xhc3MoVkNTKSA8PSAyKTsKKworCXF1ZXJ5X2Vu Z2luZXMoKTsKIAotCWxpc3RbMF0gPSBWQ1MxOwotCWxpc3RbMV0gPSBWQ1MyOworCWZvciAoaSA9 IDA7IGkgPCBfX251bV9lbmdpbmVzOyBpKyspIHsKKwkJaWYgKF9fZW5naW5lc1tpXS5lbmdpbmVf Y2xhc3MgIT0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8pCisJCQljb250aW51ZTsKKworCQlsaXN0 W2orK10gPSBlbmdpbmUrKzsKKwl9CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV9lbmdpbmVfY2xh c3NfaW5zdGFuY2UKQEAgLTQwMCw2ICs1NTcsOCBAQCBnZXRfZW5naW5lKGVudW0gaW50ZWxfZW5n aW5lX2lkIGVuZ2luZSkKIHsKIAlzdHJ1Y3QgaTkxNV9lbmdpbmVfY2xhc3NfaW5zdGFuY2UgY2k7 CiAKKwlxdWVyeV9lbmdpbmVzKCk7CisKIAlzd2l0Y2ggKGVuZ2luZSkgewogCWNhc2UgUkNTOgog CQljaS5lbmdpbmVfY2xhc3MgPSBJOTE1X0VOR0lORV9DTEFTU19SRU5ERVI7Ci0tIAoyLjIwLjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYg bWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==