From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v7] drm/i915: Engine discovery query Date: Thu, 4 Oct 2018 12:32:48 +0100 Message-ID: <20181004113248.11986-1-tvrtko.ursulin@linux.intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by gabe.freedesktop.org (Postfix) with ESMTPS id 673D88996E for ; Thu, 4 Oct 2018 11:32:55 +0000 (UTC) Received: by mail-wr1-x441.google.com with SMTP id w5-v6so9534901wrt.2 for ; Thu, 04 Oct 2018 04:32:55 -0700 (PDT) In-Reply-To: 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 YWdzIGFmdGVyIGNsYXNzL2luc3RhbmNlLgoKdjY6CiAqIERvIG5vdCBjaGVjayBlbmdpbmUgaW5m byBhcnJheSB3YXMgemVyb2VkIGJ5IHVzZXJzcGFjZSBidXQgemVybyB0aGUKICAgdW51c2VkIGZp ZWxkcyBmb3IgdGhlbSBpbnN0ZWFkLgoKdjc6CiAqIFNpbXBsaWZ5IGxlbmd0aCBjYWxjdWxhdGlv biBsb29wLiAoTGlvbmVsIExhbmR3ZXJsaW4pCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxp biA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+CkNjOiBKb24gQmxvb21maWVsZCA8am9uLmJsb29tZmllbGRAaW50ZWwu Y29tPgpDYzogRG1pdHJ5IFJvZ296aGtpbiA8ZG1pdHJ5LnYucm9nb3poa2luQGludGVsLmNvbT4K Q2M6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNvbT4KQ2M6 IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFRv bnkgWWUgPHRvbnkueWVAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cXVlcnkuYyAgICAgICB8IDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICB8IDEyICsrKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDMgKysKIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9k cm0uaCAgICAgICAgICAgICB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFu Z2VkLCAxMTYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcXVlcnkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwppbmRleCA1 ODIxMDAyY2FkNDIuLmMzNzQwNzU4NTBhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9xdWVyeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYwpA QCAtODQsOSArODQsNjMgQEAgc3RhdGljIGludCBxdWVyeV90b3BvbG9neV9pbmZvKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gdG90YWxfbGVuZ3RoOwogfQogCitz dGF0aWMgaW50CitxdWVyeV9lbmdpbmVfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkJICBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlfaXRlbSkKK3sKKwlzdHJ1 Y3QgZHJtX2k5MTVfcXVlcnlfZW5naW5lX2luZm8gX191c2VyICpxdWVyeV9wdHIgPQorCQkJCXU2 NF90b191c2VyX3B0cihxdWVyeV9pdGVtLT5kYXRhX3B0cik7CisJc3RydWN0IGRybV9pOTE1X2Vu Z2luZV9pbmZvIF9fdXNlciAqaW5mb19wdHIgPSAmcXVlcnlfcHRyLT5lbmdpbmVzWzBdOworCXN0 cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyBxdWVyeTsKKwlzdHJ1Y3QgZHJtX2k5MTVf ZW5naW5lX2luZm8gaW5mbyA9IHsgfTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7 CisJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CisJaW50IGxlbjsKKworCWlmIChxdWVyeV9pdGVt LT5mbGFncykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsZW4gPSBzaXplb2Yoc3RydWN0IGRybV9p OTE1X3F1ZXJ5X2VuZ2luZV9pbmZvKTsKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBp ZCkKKwkJbGVuICs9IHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8pOworCisJaWYg KCFxdWVyeV9pdGVtLT5sZW5ndGgpCisJCXJldHVybiBsZW47CisJZWxzZSBpZiAocXVlcnlfaXRl bS0+bGVuZ3RoIDwgbGVuKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjb3B5X2Zyb21fdXNl cigmcXVlcnksIHF1ZXJ5X3B0ciwgc2l6ZW9mKHF1ZXJ5KSkpCisJCXJldHVybiAtRUZBVUxUOwor CisJaWYgKHF1ZXJ5Lm51bV9lbmdpbmVzIHx8IHF1ZXJ5LnJzdmRbMF0gfHwgcXVlcnkucnN2ZFsx XSB8fAorCSAgICBxdWVyeS5yc3ZkWzJdKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghYWNj ZXNzX29rKFZFUklGWV9XUklURSwgcXVlcnlfcHRyLCBxdWVyeV9pdGVtLT5sZW5ndGgpKQorCQly ZXR1cm4gLUVGQVVMVDsKKworCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGk5MTUsIGlkKSB7CisJ CWluZm8uY2xhc3MgPSBlbmdpbmUtPnVhYmlfY2xhc3M7CisJCWluZm8uaW5zdGFuY2UgPSBlbmdp bmUtPmluc3RhbmNlOworCQlpbmZvLmNhcGFiaWxpdGllcyA9IGVuZ2luZS0+dWFiaV9jYXBhYmls aXRpZXM7CisKKwkJaWYgKF9fY29weV90b191c2VyKGluZm9fcHRyLCAmaW5mbywgc2l6ZW9mKGlu Zm8pKSkKKwkJCXJldHVybiAtRUZBVUxUOworCisJCXF1ZXJ5Lm51bV9lbmdpbmVzKys7CisJCWlu Zm9fcHRyKys7CisJfQorCisJaWYgKF9fY29weV90b191c2VyKHF1ZXJ5X3B0ciwgJnF1ZXJ5LCBz aXplb2YocXVlcnkpKSkKKwkJcmV0dXJuIC1FRkFVTFQ7CisKKwlyZXR1cm4gbGVuOworfQorCiBz dGF0aWMgaW50ICgqIGNvbnN0IGk5MTVfcXVlcnlfZnVuY3NbXSkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAogCQkJCQlzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfaXRlbSAqcXVlcnlf aXRlbSkgPSB7CiAJcXVlcnlfdG9wb2xvZ3lfaW5mbywKKwlxdWVyeV9lbmdpbmVfaW5mbywKIH07 CiAKIGludCBpOTE1X3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5l X2NzLmMKaW5kZXggMWM2MTQzYmRmNWE0Li4xMzRmMGNlYzcyNGMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0yOTgsNiArMjk4LDE4IEBAIGludGVsX2VuZ2luZV9z ZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZW5naW5lLT51YWJpX2lk ID0gaW5mby0+dWFiaV9pZDsKIAllbmdpbmUtPnVhYmlfY2xhc3MgPSBpbnRlbF9lbmdpbmVfY2xh c3Nlc1tpbmZvLT5jbGFzc10udWFiaV9jbGFzczsKIAorCWlmIChlbmdpbmUtPmNsYXNzID09IFZJ REVPX0RFQ09ERV9DTEFTUykgeworCQkvKiBIRVZDIHN1cHBvcnQgaXMgcHJlc2VudCBvbmx5IG9u IHZjczAuICovCisJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggJiYgaW5mby0+aW5zdGFu Y2UgPT0gMCkKKwkJCWVuZ2luZS0+dWFiaV9jYXBhYmlsaXRpZXMgPQorCQkJCUk5MTVfVkNTX0NM QVNTX0NBUEFCSUxJVFlfSEVWQzsKKworCQkvKiBTRkMgc3VwcG9ydCBpcyB3aXJlZCBvbmx5IHRv IGV2ZW4gVkNTIGluc3RhbmNlcy4gKi8KKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSAm JiAhKGluZm8tPmluc3RhbmNlICYgMSkpCisJCQllbmdpbmUtPnVhYmlfY2FwYWJpbGl0aWVzIHw9 CisJCQkJSTkxNV9WQ1NfQ0xBU1NfQ0FQQUJJTElUWV9TRkM7CisJfQorCiAJZW5naW5lLT5jb250 ZXh0X3NpemUgPSBfX2ludGVsX2VuZ2luZV9jb250ZXh0X3NpemUoZGV2X3ByaXYsCiAJCQkJCQkJ ICAgZW5naW5lLT5jbGFzcyk7CiAJaWYgKFdBUk5fT04oZW5naW5lLT5jb250ZXh0X3NpemUgPiBC SVQoMjApKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCBmNmVj NDhhNzVhNjkuLjlkYzczOGYxYjE3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuaApAQCAtMzcwLDYgKzM3MCw5IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCiAJ dTggY2xhc3M7CiAJdTggaW5zdGFuY2U7CisKKwl1MzIgdWFiaV9jYXBhYmlsaXRpZXM7CisKIAl1 MzIgY29udGV4dF9zaXplOwogCXUzMiBtbWlvX2Jhc2U7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUv dWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAppbmRleCAy OThiMmUxOTc3NDQuLjNiMDM3M2ZiMGE5MyAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaApAQCAtMTY1MCw2ICsx NjUwLDcgQEAgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIHN0cnVjdCBkcm1faTkx NV9xdWVyeV9pdGVtIHsKIAlfX3U2NCBxdWVyeV9pZDsKICNkZWZpbmUgRFJNX0k5MTVfUVVFUllf VE9QT0xPR1lfSU5GTyAgICAxCisjZGVmaW5lIERSTV9JOTE1X1FVRVJZX0VOR0lORV9JTkZPCTIK IAogCS8qCiAJICogV2hlbiBzZXQgdG8gemVybyBieSB1c2Vyc3BhY2UsIHRoaXMgaXMgZmlsbGVk IHdpdGggdGhlIHNpemUgb2YgdGhlCkBAIC0xNzQ3LDYgKzE3NDgsNTIgQEAgc3RydWN0IGRybV9p OTE1X3F1ZXJ5X3RvcG9sb2d5X2luZm8gewogCV9fdTggZGF0YVtdOwogfTsKIAorLyoqCisgKiBz dHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8KKyAqCisgKiBEZXNjcmliZXMgb25lIGVuZ2luZSBr bm93biB0byB0aGUgZHJpdmVyLCB3aGV0aGVyIG9yIG5vdCBpdCBpcyBhbiB1c2VyLQorICogYWNj ZXNzaWJsZSBvciBoYXJkd2FyZSBvbmx5IGVuZ2luZSwgYW5kIHdoYXQgYXJlIGl0J3MgY2FwYWJp bGl0aWVzIHdoZXJlCisgKiBhcHBsaWNhYmxlLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfZW5naW5l X2luZm8geworCS8qKiBFbmdpbmUgY2xhc3MgYXMgaW4gZW51bSBkcm1faTkxNV9nZW1fZW5naW5l X2NsYXNzLiAqLworCV9fdTE2IGNsYXNzOworCisJLyoqIEVuZ2luZSBpbnN0YW5jZSBudW1iZXIu ICovCisJX191MTYgaW5zdGFuY2U7CisKKwkvKiogUmVzZXJ2ZWQgZmllbGQgbXVzdCBiZSBjbGVh cmVkIHRvIHplcm8uICovCisJX191MzIgcnN2ZDA7CisKKwkvKiogRW5naW5lIGZsYWdzLiAqLwor CV9fdTY0IGZsYWdzOworCisJLyoqIENhcGFiaWxpdGllcyBvZiB0aGlzIGVuZ2luZS4gKi8KKwlf X3U2NCBjYXBhYmlsaXRpZXM7CisjZGVmaW5lIEk5MTVfVkNTX0NMQVNTX0NBUEFCSUxJVFlfSEVW QwkoMSA8PCAwKQorI2RlZmluZSBJOTE1X1ZDU19DTEFTU19DQVBBQklMSVRZX1NGQwkoMSA8PCAx KQorCisJLyoqIFJlc2VydmVkIGZpZWxkcyBtdXN0IGJlIGNsZWFyZWQgdG8gemVyby4gKi8KKwlf X3U2NCByc3ZkMVs0XTsKK307CisKKy8qKgorICogc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2VuZ2lu ZV9pbmZvCisgKgorICogRW5naW5lIGluZm8gcXVlcnkgZW51bWVyYXRlcyBhbGwgZW5naW5lcyBr bm93biB0byB0aGUgZHJpdmVyIGJ5IGZpbGxpbmcgaW4KKyAqIGFuIGFycmF5IG9mIHN0cnVjdCBk cm1faTkxNV9lbmdpbmVfaW5mbyBzdHJ1Y3R1cmVzLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfcXVl cnlfZW5naW5lX2luZm8geworCS8qKiBOdW1iZXIgb2Ygc3RydWN0IGRybV9pOTE1X2VuZ2luZV9p bmZvIHN0cnVjdHMgZm9sbG93aW5nLiAqLworCV9fdTMyIG51bV9lbmdpbmVzOworCisJLyoqIE1C WiAqLworCV9fdTMyIHJzdmRbM107CisKKwkvKiogTWFya2VyIGZvciBkcm1faTkxNV9lbmdpbmVf aW5mbyBzdHJ1Y3R1cmVzLiAqLworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBlbmdpbmVz W107Cit9OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK