From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 12/18] drm/i915: Drive request submission through fence callbacks Date: Tue, 30 Aug 2016 09:18:06 +0100 Message-ID: <20160830081812.4110-13-chris@chris-wilson.co.uk> References: <20160830081812.4110-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 528AF6E5E9 for ; Tue, 30 Aug 2016 08:18:34 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id q128so2032667wma.1 for ; Tue, 30 Aug 2016 01:18:34 -0700 (PDT) In-Reply-To: <20160830081812.4110-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 cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgfCAgMyArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuYyAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKystCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggICAgfCAgMyArKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8ICAzICsrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYyAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAgNSArKystLQogNiBmaWxlcyBjaGFuZ2Vk LCAzOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CmluZGV4IGU1YTVhNzY5NWNmMi4uNGY1ZDEyZTkzNjgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKQEAgLTI1NDgsNiArMjU0OCw5IEBAIGk5MTVfZ2VtX2ZpbmRfYWN0aXZlX3JlcXVlc3Qoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQlpZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21w bGV0ZWQocmVxdWVzdCkpCiAJCQljb250aW51ZTsKIAorCQlpZiAoIWk5MTVfc3dfZmVuY2VfZG9u ZSgmcmVxdWVzdC0+c3VibWl0KSkKKwkJCWJyZWFrOworCiAJCXJldHVybiByZXF1ZXN0OwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IGYzMTI0NmNmNGY2 ZS4uODllZDY2Mjc1ZDk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5j CkBAIC0zMTYsNiArMzE2LDI1IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW1fZ2V0X3NlcW5vKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyICpzZXFubykKIAlyZXR1cm4gMDsKIH0K IAorc3RhdGljIGludCBfX2k5MTVfc3dfZmVuY2VfY2FsbAorc3VibWl0X25vdGlmeShzdHJ1Y3Qg aTkxNV9zd19mZW5jZSAqZmVuY2UsIGVudW0gaTkxNV9zd19mZW5jZV9ub3RpZnkgc3RhdGUpCit7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0ID0KKwkJY29udGFpbmVyX29m KGZlbmNlLCB0eXBlb2YoKnJlcXVlc3QpLCBzdWJtaXQpOworCisJc3dpdGNoIChzdGF0ZSkgewor CWNhc2UgRkVOQ0VfQ09NUExFVEU6CisJCXJlcXVlc3QtPmVuZ2luZS0+c3VibWl0X3JlcXVlc3Qo cmVxdWVzdCk7CisJCWJyZWFrOworCisJY2FzZSBGRU5DRV9GUkVFOgorCQlpOTE1X2dlbV9yZXF1 ZXN0X3B1dChyZXF1ZXN0KTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIE5PVElGWV9ET05FOwor fQorCiAvKioKICAqIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MgLSBhbGxvY2F0ZSBhIHJlcXVlc3Qg c3RydWN0dXJlCiAgKgpAQCAtNDEzLDYgKzQzMiw4IEBAIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Mo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCSAqLwogCXJlcS0+cmVzZXJ2ZWRfc3Bh Y2UgPSBNSU5fU1BBQ0VfRk9SX0FERF9SRVFVRVNUOwogCisJaTkxNV9zd19mZW5jZV9pbml0KCZp OTE1X2dlbV9yZXF1ZXN0X2dldChyZXEpLT5zdWJtaXQsIHN1Ym1pdF9ub3RpZnkpOworCiAJaWYg KGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9j X3JlcXVlc3RfZXh0cmFzKHJlcSk7CiAJZWxzZQpAQCAtNTI4LDcgKzU0OSwxMCBAQCB2b2lkIF9f aTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsIGJv b2wgZmx1c2hfY2FjaGVzKQogCQkgIHJlc2VydmVkX3RhaWwsIHJldCk7CiAKIAlpOTE1X2dlbV9t YXJrX2J1c3koZW5naW5lKTsKLQllbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0KHJlcXVlc3QpOworCisJ bG9jYWxfYmhfZGlzYWJsZSgpOworCWk5MTVfc3dfZmVuY2VfY29tbWl0KCZyZXF1ZXN0LT5zdWJt aXQpOworCWxvY2FsX2JoX2VuYWJsZSgpOyAvKiBLaWNrIHRoZSBleGVjbGlzdHMgdGFza2xldCBp ZiBqdXN0IHNjaGVkdWxlZCAqLwogfQogCiBzdGF0aWMgdW5zaWduZWQgbG9uZyBsb2NhbF9jbG9j a191cyh1bnNpZ25lZCBpbnQgKmNwdSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVl c3QuaAppbmRleCA0OWMzYzAwNmVjMTcuLjUwZWFjMzE3NGU2MyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlcXVlc3QuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPGxpbnV4 L2ZlbmNlLmg+CiAKICNpbmNsdWRlICJpOTE1X2dlbS5oIgorI2luY2x1ZGUgImk5MTVfc3dfZmVu Y2UuaCIKIAogc3RydWN0IGludGVsX3dhaXQgewogCXN0cnVjdCByYl9ub2RlIG5vZGU7CkBAIC04 Miw2ICs4Myw4IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJc3RydWN0IGludGVs X3JpbmcgKnJpbmc7CiAJc3RydWN0IGludGVsX3NpZ25hbF9ub2RlIHNpZ25hbGluZzsKIAorCXN0 cnVjdCBpOTE1X3N3X2ZlbmNlIHN1Ym1pdDsKKwogCS8qKiBHRU0gc2VxdWVuY2UgbnVtYmVyIGFz c29jaWF0ZWQgd2l0aCB0aGUgcHJldmlvdXMgcmVxdWVzdCwKIAkgKiB3aGVuIHRoZSBIV1MgYnJl YWRjcnVtYiBpcyBlcXVhbCB0byB0aGlzIHRoZSBHUFUgaXMgcHJvY2Vzc2luZwogCSAqIHRoaXMg cmVxdWVzdC4KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1p c3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwppbmRl eCBlNTFmY2U4YzExY2EuLjIzMzJmOWM5OGJkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtMTAyMCw3ICsxMDIwLDggQEAgaW50IGk5MTVfZ3VjX3N1 Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCQkv KiBSZXBsYXkgdGhlIGN1cnJlbnQgc2V0IG9mIHByZXZpb3VzbHkgc3VibWl0dGVkIHJlcXVlc3Rz ICovCiAJCWxpc3RfZm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJmVuZ2luZS0+cmVxdWVzdF9saXN0 LCBsaW5rKQotCQkJaTkxNV9ndWNfc3VibWl0KHJlcXVlc3QpOworCQkJaWYgKGk5MTVfc3dfZmVu Y2VfZG9uZSgmcmVxdWVzdC0+c3VibWl0KSkKKwkJCQlpOTE1X2d1Y19zdWJtaXQocmVxdWVzdCk7 CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9icmVhZGNydW1icy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMu YwppbmRleCAyNDkxZTRjMWVhZjAuLjliYWQxNGQyMmM5NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfYnJlYWRjcnVtYnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9icmVhZGNydW1icy5jCkBAIC00NjIsNyArNDYyLDEwIEBAIHN0YXRpYyBpbnQgaW50 ZWxfYnJlYWRjcnVtYnNfc2lnbmFsZXIodm9pZCAqYXJnKQogCQkJICovCiAJCQlpbnRlbF9lbmdp bmVfcmVtb3ZlX3dhaXQoZW5naW5lLAogCQkJCQkJICZyZXF1ZXN0LT5zaWduYWxpbmcud2FpdCk7 CisKKwkJCWxvY2FsX2JoX2Rpc2FibGUoKTsKIAkJCWZlbmNlX3NpZ25hbCgmcmVxdWVzdC0+ZmVu Y2UpOworCQkJbG9jYWxfYmhfZW5hYmxlKCk7IC8qIGtpY2sgc3RhcnQgdGhlIHRhc2tsZXRzICov CiAKIAkJCS8qIEZpbmQgdGhlIG5leHQgb2xkZXN0IHNpZ25hbC4gTm90ZSB0aGF0IGFzIHdlIGhh dmUKIAkJCSAqIG5vdCBiZWVuIGhvbGRpbmcgdGhlIGxvY2ssIGFub3RoZXIgY2xpZW50IG1heQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBlMmU3MGVjZDA3N2YuLmMyM2IxNTFkNjYyZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTU5MCwxNCArNTkwLDE1IEBAIHN0YXRpYyB2 b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcih1bnNpZ25lZCBsb25nIGRhdGEpCiBzdGF0aWMgdm9p ZCBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVu Z2luZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwogCi0Jc3Bpbl9sb2NrX2JoKCZlbmdpbmUtPmV4 ZWNsaXN0X2xvY2spOworCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2ss IGZsYWdzKTsKIAogCWxpc3RfYWRkX3RhaWwoJnJlcXVlc3QtPmV4ZWNsaXN0X2xpbmssICZlbmdp bmUtPmV4ZWNsaXN0X3F1ZXVlKTsKIAlpZiAoZXhlY2xpc3RzX2Vsc3BfaWRsZShlbmdpbmUpKQog CQl0YXNrbGV0X2hpX3NjaGVkdWxlKCZlbmdpbmUtPmlycV90YXNrbGV0KTsKIAotCXNwaW5fdW5s b2NrX2JoKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2spOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUo JmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOwogfQogCiBpbnQgaW50ZWxfbG9naWNhbF9y aW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFzKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx dWVzdCkKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK