From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC v2] drm/i915: Engine discovery query Date: Wed, 11 Apr 2018 10:46:31 +0100 Message-ID: <20180411094631.14959-1-tvrtko.ursulin@linux.intel.com> References: <20180314140539.9287-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-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 702726E595 for ; Wed, 11 Apr 2018 09:46:46 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id u11so1104587wri.12 for ; Wed, 11 Apr 2018 02:46:46 -0700 (PDT) In-Reply-To: <20180314140539.9287-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 IGl0IGVuZ2luZSBieSBlbmdpbmUuCiAgIChMaW9uZWwpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBKb24gQmxvb21maWVsZCA8am9uLmJsb29tZmllbGRA aW50ZWwuY29tPgpDYzogRG1pdHJ5IFJvZ296aGtpbiA8ZG1pdHJ5LnYucm9nb3poa2luQGludGVs LmNvbT4KQ2M6IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVsLmNv bT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4K LS0tClRoaXMgaXMgUkZDIGZvciBub3cgc2luY2UgaXQgaXMgbm90IHZlcnkgdXNhYmxlIGJlZm9y ZSB0aGUgbmV3IGV4ZWNidWYgQVBJCm9yIHZpcnR1YWwgZW5naW5lIHF1ZXVlIHN1Ym1pc3Npb24g Z2V0cyBjbG9zZXIuCgpJbiB0aGlzIHZlcnNpb24gSSBoYXZlIGFkZGVkIGNhcGFiaWxpdHkgb2Yg ZGlzdGluZ3Vpc2hpbmcgYmV0d2VlbiBoYXJkd2FyZQplbmdpbmVzIGFuZCBBQkkgZW5naW5lcy4g VGhpcyBpcyB0byBhY2NvdW50IGZvciBwcm9iYWJsZSBmdXR1cmUgdXNlIGNhc2VzCmxpa2Ugdmly dHVhbGl6YXRpb24sIHdoZXJlIGd1ZXN0IG1pZ2h0IG9ubHkgc2VlIG9uZSBlbmdpbmUgaW5zdGFu Y2UsIGJ1dAp3aWxsIHdhbnQgdG8ga25vdyBvdmVyYWxsIGhhcmR3YXJlIGNhcGFiaWxpdGllcyBp biBvcmRlciB0byB0dW5lIGl0cwpiZWhhdmlvdXIuCgpJbiBnZW5lcmFsIEkgdGhpbmsgd2Ugd2ls bCBoYXZlIHRvIHdhaXQgYSBiaXQgYmVmb3JlIGRlZmluaW5nIHRoZSBmaW5hbApsb29rIG9mIHRo ZSB1QVBJLCBidXQgaW4gdGhlIG1lYW50aW1lIEkgdGhvdWdodCBpdCB1c2VmdWwgdG8gc2hhcmUg YXMgUkZDLgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVlcnkuYyAgICAgICB8IDYz ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZW5naW5lX2NzLmMgIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaCB8ICAzICsrCiBpbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAg ICAgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTE0IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKaW5kZXggM2FjZTkyOWRkOTBm Li5hMWMwZTNhY2M4ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcXVl cnkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3F1ZXJ5LmMKQEAgLTgyLDkgKzgy LDcyIEBAIHN0YXRpYyBpbnQgcXVlcnlfdG9wb2xvZ3lfaW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIHRvdGFsX2xlbmd0aDsKIH0KIAorc3RhdGljIGludAor cXVlcnlfZW5naW5lX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgc3Ry dWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gKnF1ZXJ5X2l0ZW0pCit7CisJc3RydWN0IGRybV9pOTE1 X3F1ZXJ5X2VuZ2luZV9pbmZvIF9fdXNlciAqcXVlcnlfcHRyID0KKwkJCQl1NjRfdG9fdXNlcl9w dHIocXVlcnlfaXRlbS0+ZGF0YV9wdHIpOworCXN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbyBf X3VzZXIgKmluZm9fcHRyID0gJnF1ZXJ5X3B0ci0+ZW5naW5lc1swXTsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcXVlcnlfZW5naW5lX2luZm8gcXVlcnk7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCWludCBsZW47CisKKwlpZiAocXVlcnlf aXRlbS0+ZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOworCisJbGVuID0gc2l6ZW9mKHN0cnVjdCBk cm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbykgKworCSAgICAgIEk5MTVfTlVNX0VOR0lORVMgKiBz aXplb2Yoc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvKTsKKworCWlmICghcXVlcnlfaXRlbS0+ bGVuZ3RoKQorCQlyZXR1cm4gbGVuOworCWVsc2UgaWYgKHF1ZXJ5X2l0ZW0tPmxlbmd0aCA8IGxl bikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoY29weV9mcm9tX3VzZXIoJnF1ZXJ5LCBxdWVy eV9wdHIsIHNpemVvZihxdWVyeSkpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWlmIChxdWVyeS5u dW1fZW5naW5lcyB8fCBxdWVyeS5yc3ZkWzBdIHx8IHF1ZXJ5LnJzdmRbMV0gfHwKKwkgICAgcXVl cnkucnN2ZFsyXSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIWFjY2Vzc19vayhWRVJJRllf V1JJVEUsIHF1ZXJ5X3B0ciwgcXVlcnlfaXRlbS0+bGVuZ3RoKSkKKwkJcmV0dXJuIC1FRkFVTFQ7 CisKKwlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkgeworCQlzdHJ1Y3QgZHJtX2k5 MTVfZW5naW5lX2luZm8gaW5mbzsKKworCQlpZiAoX19jb3B5X2Zyb21fdXNlcigmaW5mbywgaW5m b19wdHIsIHNpemVvZihpbmZvKSkpCisJCQlyZXR1cm4gLUVGQVVMVDsKKworCQlpZiAoaW5mby5m bGFncyB8fCBpbmZvLmNsYXNzIHx8IGluZm8uaW5zdGFuY2UgfHwKKwkJICAgIGluZm8uY2FwYWJp bGl0aWVzIHx8IGluZm8ucnN2ZDAgfHwgaW5mby5yc3ZkMVswXSB8fAorCQkgICAgaW5mby5yc3Zk MVsxXSkKKwkJCXJldHVybiAtRUlOVkFMOworCisJCWluZm8uY2xhc3MgPSBlbmdpbmUtPnVhYmlf Y2xhc3M7CisJCWluZm8uaW5zdGFuY2UgPSBlbmdpbmUtPmluc3RhbmNlOworCQlpbmZvLmZsYWdz ID0gSTkxNV9FTkdJTkVfRkxBR19QSFlTSUNBTCB8IEk5MTVfRU5HSU5FX0ZMQUdfQUJJOworCQlp bmZvLmNhcGFiaWxpdGllcyA9IGVuZ2luZS0+Y2FwYWJpbGl0aWVzOworCisJCWlmIChfX2NvcHlf dG9fdXNlcihpbmZvX3B0ciwgJmluZm8sIHNpemVvZihpbmZvKSkpCisJCQlyZXR1cm4gLUVGQVVM VDsKKworCQlxdWVyeS5udW1fZW5naW5lcysrOworCQlpbmZvX3B0cisrOworCX0KKworCWlmIChf X2NvcHlfdG9fdXNlcihxdWVyeV9wdHIsICZxdWVyeSwgc2l6ZW9mKHF1ZXJ5KSkpCisJCXJldHVy biAtRUZBVUxUOworCisJcmV0dXJuIGxlbjsKK30KKwogc3RhdGljIGludCAoKiBjb25zdCBpOTE1 X3F1ZXJ5X2Z1bmNzW10pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJ c3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gKnF1ZXJ5X2l0ZW0pID0gewogCXF1ZXJ5X3RvcG9s b2d5X2luZm8sCisJcXVlcnlfZW5naW5lX2luZm8sCiB9OwogCiBpbnQgaTkxNV9xdWVyeV9pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDEyNDg2ZDhmNTM0 Yi4uOWQyNmMzNGRmZWM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwpA QCAtMjk0LDYgKzI5NCw4IEBAIGludGVsX2VuZ2luZV9zZXR1cChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJZW5naW5lLT5tbWlvX2Jhc2UgPSBfX2VuZ2luZV9tbWlvX2Jhc2Uo ZGV2X3ByaXYsIGluZm8tPm1taW9fYmFzZXMpOwogCWVuZ2luZS0+Y2xhc3MgPSBpbmZvLT5jbGFz czsKIAllbmdpbmUtPmluc3RhbmNlID0gaW5mby0+aW5zdGFuY2U7CisJaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gOCAmJiBpbmZvLT5pbnN0YW5jZSA9PSAwKQorCQllbmdpbmUtPmNhcGFiaWxp dGllcyA9IEk5MTVfVkNTX0NMQVNTX0NBUEFCSUxJVFlfSEVWQzsKIAogCWVuZ2luZS0+dWFiaV9p ZCA9IGluZm8tPnVhYmlfaWQ7CiAJZW5naW5lLT51YWJpX2NsYXNzID0gaW50ZWxfZW5naW5lX2Ns YXNzZXNbaW5mby0+Y2xhc3NdLnVhYmlfY2xhc3M7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmgKaW5kZXggMjU2ZDU4NDg3NTU5Li5iMjNiZTUyZmM4ODIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTMzMCw2ICszMzAsOSBAQCBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzIHsKIAogCXU4IGNsYXNzOwogCXU4IGluc3RhbmNlOworCisJdTMyIGNh cGFiaWxpdGllczsKKwogCXUzMiBjb250ZXh0X3NpemU7CiAJdTMyIG1taW9fYmFzZTsKIApkaWZm IC0tZ2l0IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS9p OTE1X2RybS5oCmluZGV4IDdmNTYzNGNlOGU4OC4uMmVhZmI2NzdjZDQwIDEwMDY0NAotLS0gYS9p bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKKysrIGIvaW5jbHVkZS91YXBpL2RybS9pOTE1X2Ry bS5oCkBAIC0xNjIwLDYgKzE2MjAsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9vYV9jb25maWcg ewogc3RydWN0IGRybV9pOTE1X3F1ZXJ5X2l0ZW0gewogCV9fdTY0IHF1ZXJ5X2lkOwogI2RlZmlu ZSBEUk1fSTkxNV9RVUVSWV9UT1BPTE9HWV9JTkZPICAgIDEKKyNkZWZpbmUgRFJNX0k5MTVfUVVF UllfRU5HSU5FX0lORk8JMgogCiAJLyoKIAkgKiBXaGVuIHNldCB0byB6ZXJvIGJ5IHVzZXJzcGFj ZSwgdGhpcyBpcyBmaWxsZWQgd2l0aCB0aGUgc2l6ZSBvZiB0aGUKQEAgLTE3MTcsNiArMTcxOCw1 MSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcXVlcnlfdG9wb2xvZ3lfaW5mbyB7CiAJX191OCBkYXRhW107 CiB9OwogCisvKioKKyAqIHN0cnVjdCBkcm1faTkxNV9lbmdpbmVfaW5mbworICoKKyAqIERlc2Ny aWJlcyBvbmUgZW5naW5lIGtub3duIHRvIHRoZSBkcml2ZXIsIHdoZXRoZXIgb3Igbm90IGlzIHBo eXNpY2FsIGVuZ2luZQorICogb25seSwgb3IgaXQgY2FuIGFsc28gYmUgdGFyZ2V0dGVkIGZyb20g dXNlcnNwYWNlLCBhbmQgd2hhdCBhcmUgaXRzCisgKiBjYXBhYmlsaXRpZXMgd2hlcmUgYXBwbGlj YWJsZS4KKyAqLworc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHsKKwkvKiogRW5naW5lIGZs YWdzLiAqLworCV9fdTY0IGZsYWdzOworI2RlZmluZSBJOTE1X0VOR0lORV9GTEFHX1BIWVNJQ0FM CSgxIDw8IDApCisjZGVmaW5lIEk5MTVfRU5HSU5FX0ZMQUdfQUJJCQkoMSA8PCAxKQorCisJLyoq IEVuZ2luZSBjbGFzcyBhcyBpbiBlbnVtIGRybV9pOTE1X2dlbV9lbmdpbmVfY2xhc3MuICovCisJ X191MTYgY2xhc3M7CisKKwkvKiogRW5naW5lIGluc3RhbmNlIG51bWJlci4gKi8KKwlfX3UxNiBp bnN0YW5jZTsKKworCV9fdTMyIHJzdmQwOworCisJLyoqIENhcGFiaWxpdGllcyBvZiB0aGlzIGVu Z2luZS4gKi8KKwlfX3U2NCBjYXBhYmlsaXRpZXM7CisjZGVmaW5lIEk5MTVfVkNTX0NMQVNTX0NB UEFCSUxJVFlfSEVWQwkoMSA8PCAwKQorCisJX191NjQgcnN2ZDFbMl07Cit9OworCisvKioKKyAq IHN0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbworICoKKyAqIEVuZ2luZSBpbmZvIHF1 ZXJ5IGVudW1lcmF0ZXMgYWxsIHRoZSBlbmdpbmVzIGtub3duIHRvIHRoZSBkcml2ZXIgcmV0dXJu aW5nCisgKiB0aGUgYXJyYXkgb2Ygc3RydWN0IGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHVy ZXMuCisgKi8KK3N0cnVjdCBkcm1faTkxNV9xdWVyeV9lbmdpbmVfaW5mbyB7CisJLyoqIE51bWJl ciBvZiBzdHJ1Y3QgZHJtX2k5MTVfZW5naW5lX2luZm8gc3RydWN0cyBmb2xsb3dpbmcuICovCisJ X191MzIgbnVtX2VuZ2luZXM7CisKKwkvKiogTUJaICovCisJX191MzIgcnN2ZFszXTsKKworCS8q KiBNYXJrZXIgZm9yIGRybV9pOTE1X2VuZ2luZV9pbmZvIHN0cnVjdHVyZXMuICovCisJc3RydWN0 IGRybV9pOTE1X2VuZ2luZV9pbmZvIGVuZ2luZXNbXTsKK307CisKICNpZiBkZWZpbmVkKF9fY3Bs dXNwbHVzKQogfQogI2VuZGlmCi0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=