From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 14/21] drm/i915: Drive request submission through fence callbacks Date: Mon, 5 Sep 2016 14:04:31 +0100 Message-ID: <20160905130438.31046-15-chris@chris-wilson.co.uk> References: <20160905130438.31046-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 178386E3B9 for ; Mon, 5 Sep 2016 13:05:02 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id w207so13315005wmw.0 for ; Mon, 05 Sep 2016 06:05:02 -0700 (PDT) In-Reply-To: <20160905130438.31046-1-chris@chris-wilson.co.uk> 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 Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org RHJpdmUgZmluYWwgcmVxdWVzdCBzdWJtaXNzaW9uIGZyb20gYSBjYWxsYmFjayBmcm9tIHRoZSBm ZW5jZS4gVGhpcyB3YXkKdGhlIHJlcXVlc3QgaXMgcXVldWVkIHVudGlsIGFsbCBkZXBlbmRlbmNp ZXMgYXJlIHJlc29sdmVkLCBhdCB3aGljaApwb2ludCBpdCBpcyBoYW5kZWQgdG8gdGhlIGJhY2tl bmQgZm9yIHF1ZXVlaW5nIHRvIGhhcmR3YXJlLiBBdCB0aGlzCnBvaW50LCBubyBkZXBlbmRlbmNp ZXMgYXJlIHNldCBvbiB0aGUgcmVxdWVzdCwgc28gdGhlIGNhbGxiYWNrIGlzCmltbWVkaWF0ZS4K CkEgc2lkZS1lZmZlY3Qgb2YgaW1wb3NpbmcgYSBoZWF2aWVyLWlycXNhZmUgc3BpbmxvY2sgZm9y IGV4ZWNsaXN0CnN1Ym1pc3Npb24gaXMgdGhhdCB3ZSBsb3NlIHRoZSBzb2Z0aXJxIGVuYWJsaW5n IGFmdGVyIHNjaGVkdWxpbmcgdGhlCmV4ZWNsaXN0cyB0YXNrbGV0LiBUbyBjb21wZW5zYXRlLCB3 ZSBtYW51YWxseSBraWNrc3RhcnQgdGhlIHNvZnRpcnEgYnkKZGlzYWJsaW5nIGFuZCBlbmFibGlu ZyB0aGUgYmggYXJvdW5kIHRoZSBmZW5jZSBzaWduYWxpbmcuCgpTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBM YWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEpv aG4gSGFycmlzb24gPGpvaG4uYy5oYXJyaXNvbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKyst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggICAgfCAgMyArKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8ICAzICsrLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyAgIHwgIDMgKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgNSArKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDggKysrKysrKysKIDcgZmlsZXMgY2hh bmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCBlNmU2ZjU1YTBmMmUuLmJkNTUzMzYzNjBkYiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCkBAIC0yNTQ5LDYgKzI1NDksOSBAQCBpOTE1X2dlbV9maW5kX2FjdGl2ZV9yZXF1ZXN0 KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJaWYgKGk5MTVfZ2VtX3JlcXVlc3Rf Y29tcGxldGVkKHJlcXVlc3QpKQogCQkJY29udGludWU7CiAKKwkJaWYgKCFpOTE1X3N3X2ZlbmNl X2RvbmUoJnJlcXVlc3QtPnN1Ym1pdCkpCisJCQlicmVhazsKKwogCQlyZXR1cm4gcmVxdWVzdDsK IAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCBhMmRjYjg1 NTk0MzUuLmM2MGE3Yjc3NGNjNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVl c3QuYwpAQCAtMzE4LDYgKzMxOCwyNCBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX2dldF9zZXFubyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiAqc2Vxbm8pCiAJcmV0dXJuIDA7 CiB9CiAKK3N0YXRpYyBpbnQgX19pOTE1X3N3X2ZlbmNlX2NhbGwKK3N1Ym1pdF9ub3RpZnkoc3Ry dWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlLCBlbnVtIGk5MTVfc3dfZmVuY2Vfbm90aWZ5IHN0YXRl KQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCA9CisJCWNvbnRhaW5l cl9vZihmZW5jZSwgdHlwZW9mKCpyZXF1ZXN0KSwgc3VibWl0KTsKKworCXN3aXRjaCAoc3RhdGUp IHsKKwljYXNlIEZFTkNFX0NPTVBMRVRFOgorCQlyZXF1ZXN0LT5lbmdpbmUtPnN1Ym1pdF9yZXF1 ZXN0KHJlcXVlc3QpOworCQlicmVhazsKKworCWNhc2UgRkVOQ0VfRlJFRToKKwkJYnJlYWs7CisJ fQorCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCiAvKioKICAqIGk5MTVfZ2VtX3JlcXVlc3Rf YWxsb2MgLSBhbGxvY2F0ZSBhIHJlcXVlc3Qgc3RydWN0dXJlCiAgKgpAQCAtNDIyLDYgKzQ0MCw4 IEBAIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LAogCWlmIChyZXQpCiAJCWdvdG8gZXJyX2N0eDsKIAorCWk5MTVfc3dfZmVuY2VfaW5pdCgmcmVx LT5zdWJtaXQsIHN1Ym1pdF9ub3RpZnkpOworCiAJLyogUmVjb3JkIHRoZSBwb3NpdGlvbiBvZiB0 aGUgc3RhcnQgb2YgdGhlIHJlcXVlc3Qgc28gdGhhdAogCSAqIHNob3VsZCB3ZSBkZXRlY3QgdGhl IHVwZGF0ZWQgc2Vxbm8gcGFydC13YXkgdGhyb3VnaCB0aGUKIAkgKiBHUFUgcHJvY2Vzc2luZyB0 aGUgcmVxdWVzdCwgd2UgbmV2ZXIgb3Zlci1lc3RpbWF0ZSB0aGUKQEAgLTUzMCw3ICs1NTAsMTAg QEAgdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0LCBib29sIGZsdXNoX2NhY2hlcykKIAkJICByZXNlcnZlZF90YWlsLCByZXQpOwogCiAJ aTkxNV9nZW1fbWFya19idXN5KGVuZ2luZSk7Ci0JZW5naW5lLT5zdWJtaXRfcmVxdWVzdChyZXF1 ZXN0KTsKKworCWxvY2FsX2JoX2Rpc2FibGUoKTsKKwlpOTE1X3N3X2ZlbmNlX2NvbW1pdCgmcmVx dWVzdC0+c3VibWl0KTsKKwlsb2NhbF9iaF9lbmFibGUoKTsgLyogS2ljayB0aGUgZXhlY2xpc3Rz IHRhc2tsZXQgaWYganVzdCBzY2hlZHVsZWQgKi8KIH0KIAogc3RhdGljIHVuc2lnbmVkIGxvbmcg bG9jYWxfY2xvY2tfdXModW5zaWduZWQgaW50ICpjcHUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZXF1ZXN0LmgKaW5kZXggZGVmMzU3MjFlOWVkLi5lMTQxYjFjY2ExNmEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNs dWRlIDxsaW51eC9mZW5jZS5oPgogCiAjaW5jbHVkZSAiaTkxNV9nZW0uaCIKKyNpbmNsdWRlICJp OTE1X3N3X2ZlbmNlLmgiCiAKIHN0cnVjdCBpbnRlbF93YWl0IHsKIAlzdHJ1Y3QgcmJfbm9kZSBu b2RlOwpAQCAtODIsNiArODMsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgewogCXN0 cnVjdCBpbnRlbF9yaW5nICpyaW5nOwogCXN0cnVjdCBpbnRlbF9zaWduYWxfbm9kZSBzaWduYWxp bmc7CiAKKwlzdHJ1Y3QgaTkxNV9zd19mZW5jZSBzdWJtaXQ7CisKIAkvKiogR0VNIHNlcXVlbmNl IG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIHByZXZpb3VzIHJlcXVlc3QsCiAJICogd2hlbiB0 aGUgSFdTIGJyZWFkY3J1bWIgaXMgZXF1YWwgdG8gdGhpcyB0aGUgR1BVIGlzIHByb2Nlc3NpbmcK IAkgKiB0aGlzIHJlcXVlc3QuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMKaW5kZXggZTUxZmNlOGMxMWNhLi4yMzMyZjljOThiZGQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTEwMjAsNyArMTAyMCw4IEBAIGludCBp OTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAKIAkJLyogUmVwbGF5IHRoZSBjdXJyZW50IHNldCBvZiBwcmV2aW91c2x5IHN1Ym1pdHRl ZCByZXF1ZXN0cyAqLwogCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZlbmdpbmUtPnJl cXVlc3RfbGlzdCwgbGluaykKLQkJCWk5MTVfZ3VjX3N1Ym1pdChyZXF1ZXN0KTsKKwkJCWlmIChp OTE1X3N3X2ZlbmNlX2RvbmUoJnJlcXVlc3QtPnN1Ym1pdCkpCisJCQkJaTkxNV9ndWNfc3VibWl0 KHJlcXVlc3QpOwogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Jy ZWFkY3J1bWJzLmMKaW5kZXggMjQ5MWU0YzFlYWYwLi45YmFkMTRkMjJjOTUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwpAQCAtNDYyLDcgKzQ2MiwxMCBAQCBzdGF0 aWMgaW50IGludGVsX2JyZWFkY3J1bWJzX3NpZ25hbGVyKHZvaWQgKmFyZykKIAkJCSAqLwogCQkJ aW50ZWxfZW5naW5lX3JlbW92ZV93YWl0KGVuZ2luZSwKIAkJCQkJCSAmcmVxdWVzdC0+c2lnbmFs aW5nLndhaXQpOworCisJCQlsb2NhbF9iaF9kaXNhYmxlKCk7CiAJCQlmZW5jZV9zaWduYWwoJnJl cXVlc3QtPmZlbmNlKTsKKwkJCWxvY2FsX2JoX2VuYWJsZSgpOyAvKiBraWNrIHN0YXJ0IHRoZSB0 YXNrbGV0cyAqLwogCiAJCQkvKiBGaW5kIHRoZSBuZXh0IG9sZGVzdCBzaWduYWwuIE5vdGUgdGhh dCBhcyB3ZSBoYXZlCiAJCQkgKiBub3QgYmVlbiBob2xkaW5nIHRoZSBsb2NrLCBhbm90aGVyIGNs aWVudCBtYXkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggNjE1NDlhNjIzZTJjLi4xNmQ3 Y2RkMTEwODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC01OTAsMTQgKzU5MCwxNSBA QCBzdGF0aWMgdm9pZCBpbnRlbF9scmNfaXJxX2hhbmRsZXIodW5zaWduZWQgbG9uZyBkYXRhKQog c3RhdGljIHZvaWQgZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBy ZXF1ZXN0LT5lbmdpbmU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAotCXNwaW5fbG9ja19iaCgm ZW5naW5lLT5leGVjbGlzdF9sb2NrKTsKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT5leGVj bGlzdF9sb2NrLCBmbGFncyk7CiAKIAlsaXN0X2FkZF90YWlsKCZyZXF1ZXN0LT5leGVjbGlzdF9s aW5rLCAmZW5naW5lLT5leGVjbGlzdF9xdWV1ZSk7CiAJaWYgKGV4ZWNsaXN0c19lbHNwX2lkbGUo ZW5naW5lKSkKIAkJdGFza2xldF9oaV9zY2hlZHVsZSgmZW5naW5lLT5pcnFfdGFza2xldCk7CiAK LQlzcGluX3VubG9ja19iaCgmZW5naW5lLT5leGVjbGlzdF9sb2NrKTsKKwlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2ssIGZsYWdzKTsKIH0KIAogaW50IGludGVs X2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcXVlc3QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5k ZXggMzJmNTI3NDQ3MzEwLi43ZjY0ZDYxMTE1OWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKQEAgLTIyNiw3ICsyMjYsMTUgQEAgc3RydWN0IGludGVsX2VuZ2luZV9j cyB7CiAjZGVmaW5lIEk5MTVfRElTUEFUQ0hfUElOTkVEIEJJVCgxKQogI2RlZmluZSBJOTE1X0RJ U1BBVENIX1JTICAgICBCSVQoMikKIAlpbnQJCSgqZW1pdF9yZXF1ZXN0KShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CisKKwkvKiBQYXNzIHRoZSByZXF1ZXN0IHRvIHRoZSBoYXJk d2FyZSBxdWV1ZSAoZS5nLiBkaXJlY3RseSBpbnRvCisJICogdGhlIGxlZ2FjeSByaW5nYnVmZmVy IG9yIHRvIHRoZSBlbmQgb2YgYW4gZXhlY2xpc3QpLgorCSAqCisJICogVGhpcyBpcyBjYWxsZWQg ZnJvbSBhbiBhdG9taWMgY29udGV4dCB3aXRoIGlycXMgZGlzYWJsZWQ7IG11c3QKKwkgKiBiZSBp cnEgc2FmZS4KKwkgKi8KIAl2b2lkCQkoKnN1Ym1pdF9yZXF1ZXN0KShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSk7CisKIAkvKiBTb21lIGNoaXBzZXRzIGFyZSBub3QgcXVpdGUgYXMg Y29oZXJlbnQgYXMgYWR2ZXJ0aXNlZCBhbmQgbmVlZAogCSAqIGFuIGV4cGVuc2l2ZSBraWNrIHRv IGZvcmNlIGEgdHJ1ZSByZWFkIG9mIHRoZSB1cC10by1kYXRlIHNlcW5vLgogCSAqIEhvd2V2ZXIs IHRoZSB1cC10by1kYXRlIHNlcW5vIGlzIG5vdCBhbHdheXMgcmVxdWlyZWQgYW5kIHRoZSBsYXN0 Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==