From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 09/10] drm/i915: Trivial virtual engine implementation Date: Thu, 25 Jan 2018 13:33:32 +0000 Message-ID: <20180125133333.13425-10-tvrtko.ursulin@linux.intel.com> References: <20180125133333.13425-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-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB9876E73B for ; Thu, 25 Jan 2018 13:33:50 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id v31so2316981wrc.11 for ; Thu, 25 Jan 2018 05:33:50 -0800 (PST) In-Reply-To: <20180125133333.13425-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkNvbnRleHRz IG1hcmtlZCBhcyB2aXJ0dWFsIGNhbiBiZSBsb2FkIGJhbGFuY2VkIGJldHdlZW4gYXZhaWxhYmxl IGVuZ2luZQppbnN0YWNlcy4gSW4gdGhpcyB0cml2aWFsIGltcGxlbWVudGF0aW9uIHRoZXJlIGFy ZSB0d28gaW1wb3J0YW50IHBvaW50cyB0bwprZXBwIGluIG1pbmQ6CgoxLiBCZXN0IGVuZ2luZSBp cyBjaG9zZW4gYnkgcm91bmQtcm9iaW4gb24gZXZlcnkgc3VibWlzc2lvbi4KCkV2ZXJ5IHRpbWUg Y29udGV4dCBpcyB0cmFuc2ZlcnJlZCBiZXR3ZWVuIGVuZ2luZXMgYW4gaW1wbGljaXQKc3luY2hy b25pemF0aW9uIHBvaW50IGlzIGNyZWF0ZWQsIHdoZXJlIHRoZSBleGVjdXRpb24gb24gdGhlIG5l dyBlbmdpbmUKY2FuIG9ubHkgY29udGludWUgb25jZSB0aGUgZXhlY3V0aW9uIG9uIHRoZSBjdXJy ZW50IGVuZ2luZSBoYXMgc3RvcHBlZAooZm9yIGVhY2ggY29udGV4dCkuCgpUaGUgcm91bmQtcm9i aW4gb24gZXZlcnkgc3VibWlzc2lvbiBpcyBhbHNvIGZhciBmcm9tIGlkZWFsLiBJZiBkZXNpcmVk IGl0CmNvdWxkIGxhdGVyIGJlIGltcHJvdmVkIHdpdGggYW4gZW5naW5lIGJ1c3luZXNzIG9yIHF1 ZXUtZGVwdGggYmFzZWQKYXBwcm9hY2hlcyB3aGljaCB3ZXJlIGRlbW9uc3RyYXRlZCB0byB3b3Jr IHdlbGwgd2hlbiB1c2VkIGZvciB1c2Vyc3BhY2UKYmFzZWQgYmFsYW5jaW5nLgoKMi4gVGhlIGVu Z2luZSBpcyBzZWxlY3RlZCBhdCB0aGUgZXhlY2J1ZiBsZXZlbCB3aGljaCBtYXkgYmUgcXVpdGUg ZGlzdGFudAppbiB0aW1lIGZyb20gd2hlbiB0aGUgR1BVIGFjdHVhbGx5IGJlY29tZXMgYXZhaWxh YmxlIHRvIHJ1biB0aGluZ3MuCgpJTVBPUlRBTlQgQ0FWRUFUOgpUaGlzIHByb3RvdHlwZSBpbXBs ZW1lbnRhdGlvbiBkb2VzIG5vdCBndWFyYW50ZWUgY29udGV4dCBzdGF0ZS4KClRvIHByb3ZpZGUg Y29udGV4dCBzdGF0ZSBpbiB0aGlzIHByb3RvdHlwZSBhIG11Y2ggbW9yZSAicmVhbCIgdmlydHVh bAplbmdpbmUgd291bGQgaGF2ZSB0byBiZSBjcmVhdGVkIHdoaWNoIHdvdWxkIGluY2x1ZGUgaW52 b2x2ZWQgcmVmYWN0b3JpbmcuCgpVc2Vyc3BhY2Ugd2hpY2ggdXNlcyBzcGVjaWZpYyBlbmdpbmUg ZmVhdHVyZXMsIG5vdCBwcmVzZW50IG9uIGFsbCBlbmdpbmUKaW5zdGFuY2VzLCBuZWVkcyB0byBz aWduYWwgdGhpcyBmYWN0IHZpYSB0aGUgZW5naW5lcyBjYXBhYmlsaXRpZXMgdUFQSS4KaTkxNSB3 aWxsIHRoZW4gbWFrZSBzdXJlIG9ubHkgY29tcGF0aWJsZSBlbmdpbmVzIGFyZSB1c2VkIGZvciBl eGVjdXRpbmcKdGhlIHN1Ym1pc3Npb24uCgp2MjoKICogRml4IEdUMiBjb25maWdzIGFuZCBubyBW Q1MgZW5naW5lLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGlu QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVy LmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA0 MiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBmYTE4MDZlZDliZTYuLmY4OWE3YmU2ODEzMyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMjA0LDYgKzIw NCw4IEBAIHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgewogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdDsgLyoqIG91ciByZXF1ZXN0IHRvIGJ1aWxkICovCiAJc3RydWN0IGk5MTVf dm1hICpiYXRjaDsgLyoqIGlkZW50aXR5IG9mIHRoZSBiYXRjaCBvYmovdm1hICovCiAKKwlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnByZXZfcmVxdWVzdDsgLyoqIHJlcXVlc3QgdG8gZGVw ZW5kIG9uICovCisKIAkvKiogYWN0dWFsIHNpemUgb2YgZXhlY29ialtdIGFzIHdlIG1heSBleHRl bmQgaXQgZm9yIHRoZSBjbWRwYXJzZXIgKi8KIAl1bnNpZ25lZCBpbnQgYnVmZmVyX2NvdW50Owog CkBAIC0yMDE4LDIzICsyMDIwLDUxIEBAIGdlbjhfZGlzcGF0Y2hfYnNkX2VuZ2luZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIHN0YXRpYyBpbnQgZWJfc2VsZWN0X2VuZ2lu ZV9jbGFzc19pbnN0YW5jZShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIHsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGViLT5pOTE1OwogCXU2NCBlYl9mbGFncyA9IGViLT5h cmdzLT5mbGFnczsKIAl1OCBjbGFzcyA9IGViX2ZsYWdzICYgSTkxNV9FWEVDX1JJTkdfTUFTSzsK IAl1OCBpbnN0YW5jZSA9IChlYl9mbGFncyAmIEk5MTVfRVhFQ19JTlNUQU5DRV9NQVNLKSA+Pgog CQkgICAgICBJOTE1X0VYRUNfSU5TVEFOQ0VfU0hJRlQ7CiAJdTggY2FwcyA9IChlYl9mbGFncyAm IEk5MTVfRVhFQ19FTkdJTkVfQ0FQX01BU0spID4+CiAJCSAgSTkxNV9FWEVDX0VOR0lORV9DQVBf U0hJRlQ7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpwcmV2X3JlcSA9IE5VTEw7CiAJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCi0JaWYgKGluc3RhbmNlICYmIGViLT5j dHgtPnZpcnR1YWwpCisJaWYgKGViLT5jdHgtPnZpcnR1YWwgJiYgaW5zdGFuY2UpIHsKIAkJcmV0 dXJuIC1FSU5WQUw7CisJfSBlbHNlIGlmICgoSEFTX0JTRChpOTE1KSAmJiBIQVNfQlNEMihpOTE1 KSkgJiYgZWItPmN0eC0+dmlydHVhbCAmJgorCQkgICBjbGFzcyA9PSBJOTE1X0VOR0lORV9DTEFT U19WSURFTykgeworCQl1bnNpZ25lZCBpbnQgdmNzX2luc3RhbmNlcyA9IDI7CisJCXN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGltZWxpbmU7CiAKLQllbmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3Vw X3VzZXIoZWItPmk5MTUsIGNsYXNzLCBpbnN0YW5jZSk7CisJCWluc3RhbmNlID0gYXRvbWljX2Zl dGNoX3hvcigxLAorCQkJCQkgICAgJmk5MTUtPm1tLmJzZF9lbmdpbmVfZGlzcGF0Y2hfaW5kZXgp OwogCi0JaWYgKGVuZ2luZSAmJiAoKGNhcHMgJiBlbmdpbmUtPmNhcHMpICE9IGNhcHMpKQotCQly ZXR1cm4gLUVJTlZBTDsKKwkJZG8geworCQkJZW5naW5lID0gaTkxNS0+ZW5naW5lW19WQ1MoaW5z dGFuY2UpXTsKKwkJCWluc3RhbmNlIF49IDE7CisJCQl2Y3NfaW5zdGFuY2VzLS07CisJCX0gd2hp bGUgKChjYXBzICYgZW5naW5lLT5jYXBzKSAhPSBjYXBzICYmIHZjc19pbnN0YW5jZXMgPiAwKTsK KworCQlpZiAoKGNhcHMgJiBlbmdpbmUtPmNhcHMpICE9IGNhcHMpCisJCQlyZXR1cm4gLUVJTlZB TDsKKworCQl0aW1lbGluZSA9IGk5MTVfZ2VtX2NvbnRleHRfbG9va3VwX3RpbWVsaW5lX2NsYXNz KGViLT5jdHgsCisJCQkJCQkJCSAgVklERU9fREVDT0RFX0NMQVNTKTsKKwkJc3Bpbl9sb2NrX2ly cSgmdGltZWxpbmUtPmxvY2spOworCQlwcmV2X3JlcSA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVs bCgmdGltZWxpbmUtPnJlcXVlc3RzLAorCQkJCQkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCwKKwkJCQkJCSAgICBjdHhfbGluayk7CisJCXNwaW5fdW5sb2NrX2lycSgmdGltZWxpbmUt PmxvY2spOworCX0gZWxzZSB7CisJCWVuZ2luZSA9IGludGVsX2VuZ2luZV9sb29rdXBfdXNlcihp OTE1LCBjbGFzcywgaW5zdGFuY2UpOworCisJCWlmIChlbmdpbmUgJiYgKChjYXBzICYgZW5naW5l LT5jYXBzKSAhPSBjYXBzKSkKKwkJCXJldHVybiAtRUlOVkFMOworCX0KIAogCWViLT5lbmdpbmUg PSBlbmdpbmU7CisJZWItPnByZXZfcmVxdWVzdCA9IHByZXZfcmVxOwogCiAJcmV0dXJuIDA7CiB9 CkBAIC0yMTAwLDYgKzIxMzAsNyBAQCBzdGF0aWMgaW50IGViX3NlbGVjdF9lbmdpbmUoc3RydWN0 IGk5MTVfZXhlY2J1ZmZlciAqZWIsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIAl9CiAKIAllYi0+ ZW5naW5lID0gZW5naW5lOworCWViLT5wcmV2X3JlcXVlc3QgPSBOVUxMOwogCiAJcmV0dXJuIDA7 CiB9CkBAIC0yNDI3LDYgKzI0NTgsMTMgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCQlnb3RvIGVycl9iYXRjaF91bnBpbjsKIAl9CiAKKwlpZiAoZWIu cHJldl9yZXF1ZXN0KSB7CisJCWVyciA9IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNl KGViLnJlcXVlc3QsCisJCQkJCQkgICAgICAgJmViLnByZXZfcmVxdWVzdC0+ZmVuY2UpOworCQlp ZiAoZXJyKQorCQkJZ290byBlcnJfcmVxdWVzdDsKKwl9CisKIAlpZiAoaW5fZmVuY2UpIHsKIAkJ ZXJyID0gaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2UoZWIucmVxdWVzdCwgaW5fZmVu Y2UpOwogCQlpZiAoZXJyIDwgMCkKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==