From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v5] drm/i915: Engine discovery query Date: Wed, 3 Oct 2018 10:58:55 +0100 Message-ID: <20181003095855.25163-1-tvrtko.ursulin@linux.intel.com> References: <20181001161524.8104-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm1-x341.google.com (mail-wm1-x341.google.com [IPv6:2a00:1450:4864:20::341]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2B4B36E42A for ; Wed, 3 Oct 2018 09:59:03 +0000 (UTC) Received: by mail-wm1-x341.google.com with SMTP id s12-v6so5091998wmc.0 for ; Wed, 03 Oct 2018 02:59:03 -0700 (PDT) In-Reply-To: <20181001161524.8104-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBk aXNjb3ZlcnkgcXVlcnkgYWxsb3dzIHVzZXJzcGFjZSB0byBlbnVtZXJhdGUgZW5naW5lcywgcHJv YmUgdGhlaXIKY29uZmlndXJhdGlvbiBmZWF0dXJlcywgYWxsIHdpdGhvdXQgbmVlZGluZyB0byBt YWludGFpbiB0aGUgaW50ZXJuYWwgUENJCklEIGJhc2VkIGRhdGFiYXNlLgoKQSBuZXcgcXVlcnkg Zm9yIHRoZSBnZW5lcmljIGk5MTUgcXVlcnkgaW9jdGwgaXMgYWRkZWQgbmFtZWQKRFJNX0k5MTVf UVVFUllfRU5HSU5FX0lORk8sIHRvZ2V0aGVyIHdpdGggYWNjb21wYW55aW5nIHN0cnVjdHVyZQpk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mby4gVGhlIGFkZHJlc3Mgb2YgbGF0dGVyIHNob3VsZCBi ZSBwYXNzZWQgdG8gdGhlCmtlcm5lbCBpbiB0aGUgcXVlcnkuZGF0YV9wdHIgZmllbGQsIGFuZCBz aG91bGQgYmUgbGFyZ2UgZW5vdWdoIGZvciB0aGUKa2VybmVsIHRvIGZpbGwgb3V0IGFsbCBrbm93 biBlbmdpbmVzIGFzIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbwplbGVtZW50cyB0cmFpbGlu ZyB0aGUgcXVlcnkuCgpBcyB3aXRoIG90aGVyIHF1ZXJpZXMsIHNldHRpbmcgdGhlIGl0ZW0gcXVl cnkgbGVuZ3RoIHRvIHplcm8gYWxsb3dzCnVzZXJzcGFjZSB0byBxdWVyeSBtaW5pbXVtIHJlcXVp cmVkIGJ1ZmZlciBzaXplLgoKRW51bWVyYXRlZCBlbmdpbmVzIGhhdmUgY29tbW9uIHR5cGUgbWFz ayB3aGljaCBjYW4gYmUgdXNlZCB0byBxdWVyeSBhbGwKaGFyZHdhcmUgZW5naW5lcywgdmVyc3Vz IGVuZ2luZXMgdXNlcnNwYWNlIGNhbiBzdWJtaXQgdG8gdXNpbmcgdGhlIGV4ZWNidWYKdUFQSS4K CkVuZ2luZXMgYWxzbyBoYXZlIGNhcGFiaWxpdGllcyB3aGljaCBhcmUgcGVyIGVuZ2luZSBjbGFz cyBuYW1lc3BhY2Ugb2YKYml0cyBkZXNjcmliaW5nIGZlYXR1cmVzIG5vdCBwcmVzZW50IG9uIGFs bCBlbmdpbmUgaW5zdGFuY2VzLgoKdjI6CiAqIEZpeGVkIEhFVkMgYXNzaWdubWVudC4KICogUmVv cmRlciBzb21lIGZpZWxkcywgcmVuYW1lIHR5cGUgdG8gZmxhZ3MsIGluY3JlYXNlIHdpZHRoLiAo TGlvbmVsKQogKiBObyBuZWVkIHRvIGFsbG9jYXRlIHRlbXBvcmFyeSBzdG9yYWdlIGlmIHdlIGRv IGl0IGVuZ2luZSBieSBlbmdpbmUuCiAgIChMaW9uZWwpCgp2MzoKICogRGVzY3JpYmUgZW5naW5l IGZsYWdzIGFuZCBtYXJrIG1ieiBmaWVsZHMuIChMaW9uZWwpCiAqIEhFVkMgb25seSBhcHBsaWVz IHRvIFZDUy4KCnY0OgogKiBTcXVhc2ggU0ZDIGZsYWcgaW50byBtYWluIHBhdGNoLgogKiBUaWR5 IHNvbWUgY29tbWVudHMuCgp2NToKICogQWRkIHVhYmlfIHByZWZpeCB0byBlbmdpbmUgY2FwYWJp bGl0aWVzLiAoQ2hyaXMgV2lsc29uKQogKiBSZXBvcnQgZXhhY3Qgc2l6ZSBvZiBlbmdpbmUgaW5m byBhcnJheS4gKENocmlzIFdpbHNvbikKICogRHJvcCB0aGUgZW5naW5lIGZsYWdzLiAoSm9vbmFz IExhaHRpbmVuKQogKiBBZGRlZCBzb21lIG1vcmUgcmVzZXJ2ZWQgZmllbGRzLgogKiBNb3ZlIGZs YWdzIGFmdGVyIGNsYXNzL2luc3RhbmNlLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4g PHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMt d2lsc29uLmNvLnVrPgpDYzogSm9uIEJsb29tZmllbGQgPGpvbi5ibG9vbWZpZWxkQGludGVsLmNv bT4KQ2M6IERtaXRyeSBSb2dvemhraW4gPGRtaXRyeS52LnJvZ296aGtpbkBpbnRlbC5jb20+CkNj OiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+CkNjOiBK b29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBUb255 IFllIDx0b255LnllQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1 ZXJ5LmMgICAgICAgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgfCAxMiArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDMgKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aCAgICAgICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAx MjYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwppbmRleCA1ODIxMDAy Y2FkNDIuLmJlYWFiMmI3M2FkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwpAQCAtODQs OSArODQsNzMgQEAgc3RhdGljIGludCBxdWVyeV90b3BvbG9neV9pbmZvKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gdG90YWxfbGVuZ3RoOwogfQogCitzdGF0aWMg aW50CitxdWVyeV9lbmdpbmVfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJ ICBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfcXVlcnlfZW5naW5lX2luZm8gX191c2VyICpxdWVyeV9wdHIgPQorCQkJCXU2NF90b191 c2VyX3B0cihxdWVyeV9pdGVtLT5kYXRhX3B0cik7CisJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9p bmZvIF9fdXNlciAqaW5mb19wdHIgPSAmcXVlcnlfcHRyLT5lbmdpbmVzWzBdOworCWNvbnN0IHN0 cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyB6ZXJvX2luZm8gPSB7IH07CisJc3RydWN0IGRybV9p OTE1X3F1ZXJ5X2VuZ2luZV9pbmZvIHF1ZXJ5OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKKwlpbnQgbGVuOworCisJaWYgKHF1ZXJ5 X2l0ZW0tPmZsYWdzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxlbiA9IDA7CisJZm9yX2VhY2hf ZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpCisJCWxlbisrOworCWxlbiAqPSBzaXplb2Yoc3RydWN0 IGRybV9pOTE1X2VuZ2luZV9pbmZvKTsKKwlsZW4gKz0gc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV9x dWVyeV9lbmdpbmVfaW5mbyk7CisKKwlpZiAoIXF1ZXJ5X2l0ZW0tPmxlbmd0aCkKKwkJcmV0dXJu IGxlbjsKKwllbHNlIGlmIChxdWVyeV9pdGVtLT5sZW5ndGggPCBsZW4pCisJCXJldHVybiAtRUlO VkFMOworCisJaWYgKGNvcHlfZnJvbV91c2VyKCZxdWVyeSwgcXVlcnlfcHRyLCBzaXplb2YocXVl cnkpKSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlpZiAocXVlcnkubnVtX2VuZ2luZXMgfHwgcXVl cnkucnN2ZFswXSB8fCBxdWVyeS5yc3ZkWzFdIHx8CisJICAgIHF1ZXJ5LnJzdmRbMl0pCisJCXJl dHVybiAtRUlOVkFMOworCisJaWYgKCFhY2Nlc3Nfb2soVkVSSUZZX1dSSVRFLCBxdWVyeV9wdHIs IHF1ZXJ5X2l0ZW0tPmxlbmd0aCkpCisJCXJldHVybiAtRUZBVUxUOworCisJZm9yX2VhY2hfZW5n aW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKKwkJc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIGlu Zm87CisKKwkJaWYgKF9fY29weV9mcm9tX3VzZXIoJmluZm8sIGluZm9fcHRyLCBzaXplb2YoaW5m bykpKQorCQkJcmV0dXJuIC1FRkFVTFQ7CisKKwkJaWYgKG1lbWNtcCgmaW5mbywgJnplcm9faW5m bywgc2l6ZW9mKGluZm8pKSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWluZm8uY2xhc3MgPSBl bmdpbmUtPnVhYmlfY2xhc3M7CisJCWluZm8uaW5zdGFuY2UgPSBlbmdpbmUtPmluc3RhbmNlOwor CQlpbmZvLmNhcGFiaWxpdGllcyA9IGVuZ2luZS0+dWFiaV9jYXBhYmlsaXRpZXM7CisKKwkJaWYg KF9fY29weV90b191c2VyKGluZm9fcHRyLCAmaW5mbywgc2l6ZW9mKGluZm8pKSkKKwkJCXJldHVy biAtRUZBVUxUOworCisJCXF1ZXJ5Lm51bV9lbmdpbmVzKys7CisJCWluZm9fcHRyKys7CisJfQor CisJaWYgKF9fY29weV90b191c2VyKHF1ZXJ5X3B0ciwgJnF1ZXJ5LCBzaXplb2YocXVlcnkpKSkK KwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlyZXR1cm4gbGVuOworfQorCiBzdGF0aWMgaW50ICgqIGNv bnN0IGk5MTVfcXVlcnlfZnVuY3NbXSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQkJCQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkgPSB7CiAJcXVl cnlfdG9wb2xvZ3lfaW5mbywKKwlxdWVyeV9lbmdpbmVfaW5mbywKIH07CiAKIGludCBpOTE1X3F1 ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2lu ZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggMWM2 MTQzYmRmNWE0Li4xMzRmMGNlYzcyNGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2lu ZV9jcy5jCkBAIC0yOTgsNiArMjk4LDE4IEBAIGludGVsX2VuZ2luZV9zZXR1cChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZW5naW5lLT51YWJpX2lkID0gaW5mby0+dWFiaV9p ZDsKIAllbmdpbmUtPnVhYmlfY2xhc3MgPSBpbnRlbF9lbmdpbmVfY2xhc3Nlc1tpbmZvLT5jbGFz c10udWFiaV9jbGFzczsKIAorCWlmIChlbmdpbmUtPmNsYXNzID09IFZJREVPX0RFQ09ERV9DTEFT UykgeworCQkvKiBIRVZDIHN1cHBvcnQgaXMgcHJlc2VudCBvbmx5IG9uIHZjczAuICovCisJCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggJiYgaW5mby0+aW5zdGFuY2UgPT0gMCkKKwkJCWVu Z2luZS0+dWFiaV9jYXBhYmlsaXRpZXMgPQorCQkJCUk5MTVfVkNTX0NMQVNTX0NBUEFCSUxJVFlf SEVWQzsKKworCQkvKiBTRkMgc3VwcG9ydCBpcyB3aXJlZCBvbmx5IHRvIGV2ZW4gVkNTIGluc3Rh bmNlcy4gKi8KKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSAmJiAhKGluZm8tPmluc3Rh bmNlICYgMSkpCisJCQllbmdpbmUtPnVhYmlfY2FwYWJpbGl0aWVzIHw9CisJCQkJSTkxNV9WQ1Nf Q0xBU1NfQ0FQQUJJTElUWV9TRkM7CisJfQorCiAJZW5naW5lLT5jb250ZXh0X3NpemUgPSBfX2lu dGVsX2VuZ2luZV9jb250ZXh0X3NpemUoZGV2X3ByaXYsCiAJCQkJCQkJICAgZW5naW5lLT5jbGFz cyk7CiAJaWYgKFdBUk5fT04oZW5naW5lLT5jb250ZXh0X3NpemUgPiBCSVQoMjApKSkKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCBmNmVjNDhhNzVhNjkuLjlkYzcz OGYxYjE3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMzcw LDYgKzM3MCw5IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCiAJdTggY2xhc3M7CiAJdTgg aW5zdGFuY2U7CisKKwl1MzIgdWFiaV9jYXBhYmlsaXRpZXM7CisKIAl1MzIgY29udGV4dF9zaXpl OwogCXUzMiBtbWlvX2Jhc2U7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9k cm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCAyOThiMmUxOTc3NDQuLjNi MDM3M2ZiMGE5MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBi L2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMTY1MCw2ICsxNjUwLDcgQEAgc3RydWN0 IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIHN0cnVjdCBkcm1faTkxNV9xdWVyeV9pdGVtIHsK IAlfX3U2NCBxdWVyeV9pZDsKICNkZWZpbmUgRFJNX0k5MTVfUVVFUllfVE9QT0xPR1lfSU5GTyAg ICAxCisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPCTIKIAogCS8qCiAJICogV2hl biBzZXQgdG8gemVybyBieSB1c2Vyc3BhY2UsIHRoaXMgaXMgZmlsbGVkIHdpdGggdGhlIHNpemUg b2YgdGhlCkBAIC0xNzQ3LDYgKzE3NDgsNTIgQEAgc3RydWN0IGRybV9pOTE1X3F1ZXJ5X3RvcG9s b2d5X2luZm8gewogCV9fdTggZGF0YVtdOwogfTsKIAorLyoqCisgKiBzdHJ1Y3QgZHJtX2k5MTVf ZW5naW5lX2luZm8KKyAqCisgKiBEZXNjcmliZXMgb25lIGVuZ2luZSBrbm93biB0byB0aGUgZHJp dmVyLCB3aGV0aGVyIG9yIG5vdCBpdCBpcyBhbiB1c2VyLQorICogYWNjZXNzaWJsZSBvciBoYXJk d2FyZSBvbmx5IGVuZ2luZSwgYW5kIHdoYXQgYXJlIGl0J3MgY2FwYWJpbGl0aWVzIHdoZXJlCisg KiBhcHBsaWNhYmxlLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8geworCS8qKiBF bmdpbmUgY2xhc3MgYXMgaW4gZW51bSBkcm1faTkxNV9nZW1fZW5naW5lX2NsYXNzLiAqLworCV9f dTE2IGNsYXNzOworCisJLyoqIEVuZ2luZSBpbnN0YW5jZSBudW1iZXIuICovCisJX191MTYgaW5z dGFuY2U7CisKKwkvKiogUmVzZXJ2ZWQgZmllbGQgbXVzdCBiZSBjbGVhcmVkIHRvIHplcm8uICov CisJX191MzIgcnN2ZDA7CisKKwkvKiogRW5naW5lIGZsYWdzLiAqLworCV9fdTY0IGZsYWdzOwor CisJLyoqIENhcGFiaWxpdGllcyBvZiB0aGlzIGVuZ2luZS4gKi8KKwlfX3U2NCBjYXBhYmlsaXRp ZXM7CisjZGVmaW5lIEk5MTVfVkNTX0NMQVNTX0NBUEFCSUxJVFlfSEVWQwkoMSA8PCAwKQorI2Rl ZmluZSBJOTE1X1ZDU19DTEFTU19DQVBBQklMSVRZX1NGQwkoMSA8PCAxKQorCisJLyoqIFJlc2Vy dmVkIGZpZWxkcyBtdXN0IGJlIGNsZWFyZWQgdG8gemVyby4gKi8KKwlfX3U2NCByc3ZkMVs0XTsK K307CisKKy8qKgorICogc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2luZV9pbmZvCisgKgorICog RW5naW5lIGluZm8gcXVlcnkgZW51bWVyYXRlcyBhbGwgZW5naW5lcyBrbm93biB0byB0aGUgZHJp dmVyIGJ5IGZpbGxpbmcgaW4KKyAqIGFuIGFycmF5IG9mIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVf aW5mbyBzdHJ1Y3R1cmVzLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8g eworCS8qKiBOdW1iZXIgb2Ygc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHMgZm9s bG93aW5nLiAqLworCV9fdTMyIG51bV9lbmdpbmVzOworCisJLyoqIE1CWiAqLworCV9fdTMyIHJz dmRbM107CisKKwkvKiogTWFya2VyIGZvciBkcm1faTkxNV9lbmdpbmVfaW5mbyBzdHJ1Y3R1cmVz LiAqLworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBlbmdpbmVzW107Cit9OworCiAjaWYg ZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAKMi4xNy4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK