From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2] drm/i915: Nonblocking request submission Date: Tue, 30 Aug 2016 12:18:23 +0100 Message-ID: <20160830111823.27128-1-chris@chris-wilson.co.uk> References: <20160828204624.21193-15-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 73B2E6E431 for ; Tue, 30 Aug 2016 11:18:33 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id i138so2660753wmf.3 for ; Tue, 30 Aug 2016 04:18:33 -0700 (PDT) In-Reply-To: <20160828204624.21193-15-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 List-Id: intel-gfx@lists.freedesktop.org Tm93IHRoYXQgd2UgaGF2ZSBmZW5jZXMgaW4gcGxhY2UgdG8gZHJpdmUgcmVxdWVzdCBzdWJtaXNz aW9uLCB3ZSBjYW4KZW1wbG95IHRob3NlIHRvIHF1ZXVlIHJlcXVlc3RzIGFmdGVyIHRoZWlyIGRl cGVuZGVuY2llcyBhcyBvcHBvc2VkIHRvCnN0YWxsaW5nIGluIHRoZSBtaWRkbGUgb2YgYW4gZXhl Y2J1ZiBpb2N0bC4gKEhvd2V2ZXIsIHdlIHN0aWxsIGNob29zZSB0bwpzcGluIGJlZm9yZSBlbmFi bGluZyB0aGUgSVJRIGFzIHRoYXQgaXMgZmFzdGVyIC0gdGhvdWdoIGNvbnRlbnRpb3VzLikKCnYy OiBEbyB0aGUgZmVuY2Ugb3JkZXJpbmcgZmlyc3QsIHdoZXJlIHdlIGNhbiBzdGlsbCBmYWlsLgoK U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgMTMgKysrKysr LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyAgICB8IDM2ICsr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRp b25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKaW5kZXggZWY2NDVkODllNzYwLi5jNzY3ZWI3YmM4OTMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTExMzYsMTIgKzExMzYsMTMg QEAgZWJfYXdhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnRvLAogCiAJ dHJhY2VfaTkxNV9nZW1fcmluZ19zeW5jX3RvKHRvLCBmcm9tKTsKIAlpZiAoIWk5MTUuc2VtYXBo b3JlcykgewotCQlyZXQgPSBpOTE1X3dhaXRfcmVxdWVzdChmcm9tLAotCQkJCQlJOTE1X1dBSVRf SU5URVJSVVBUSUJMRSB8Ci0JCQkJCUk5MTVfV0FJVF9MT0NLRUQsCi0JCQkJCU5VTEwsIE5PX1dB SVRCT09TVCk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0OworCQlpZiAoIWk5MTVfc3Bpbl9y ZXF1ZXN0KGZyb20sIFRBU0tfSU5URVJSVVBUSUJMRSwgMikpIHsKKwkJCXJldCA9IGk5MTVfc3df ZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZ0by0+c3VibWl0LAorCQkJCQkJCSAgICAmZnJvbS0+ZmVu Y2UsCisJCQkJCQkJICAgIEdGUF9LRVJORUwpOworCQkJaWYgKHJldCA8IDApCisJCQkJcmV0dXJu IHJldDsKKwkJfQogCX0gZWxzZSB7CiAJCXJldCA9IHRvLT5lbmdpbmUtPnNlbWFwaG9yZS5zeW5j X3RvKHRvLCBmcm9tKTsKIAkJaWYgKHJldCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYwppbmRleCAzOWY4OGU3MjMxMGIuLmUwNjUxOTcwZWU5ZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpAQCAtMzUyLDcgKzM1Miw3IEBAIGk5MTVfZ2VtX3Jl cXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQkgICAgICAgc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXE7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsICpwcmV2OwogCXUzMiBzZXFu bzsKIAlpbnQgcmV0OwogCkBAIC0zNjIsNyArMzYyLDcgQEAgaTkxNV9nZW1fcmVxdWVzdF9hbGxv YyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJICovCiAJcmV0ID0gaTkxNV9nZW1f Y2hlY2tfd2VkZ2UoZGV2X3ByaXYpOwogCWlmIChyZXQpCi0JCXJldHVybiBFUlJfUFRSKHJldCk7 CisJCWdvdG8gZXJyOwogCiAJLyogTW92ZSB0aGUgb2xkZXN0IHJlcXVlc3QgdG8gdGhlIHNsYWIt Y2FjaGUgKGlmIG5vdCBpbiB1c2UhKSAqLwogCXJlcSA9IGxpc3RfZmlyc3RfZW50cnlfb3JfbnVs bCgmZW5naW5lLT5yZXF1ZXN0X2xpc3QsCkBAIC0zOTksMTIgKzM5OSwxNCBAQCBpOTE1X2dlbV9y ZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkgKiBEbyBub3Qg dXNlIGttZW1fY2FjaGVfemFsbG9jKCkgaGVyZSEKIAkgKi8KIAlyZXEgPSBrbWVtX2NhY2hlX2Fs bG9jKGRldl9wcml2LT5yZXF1ZXN0cywgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFyZXEpCi0JCXJldHVy biBFUlJfUFRSKC1FTk9NRU0pOworCWlmICghcmVxKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdv dG8gZXJyOworCX0KIAogCXJldCA9IGk5MTVfZ2VtX2dldF9zZXFubyhkZXZfcHJpdiwgJnNlcW5v KTsKIAlpZiAocmV0KQotCQlnb3RvIGVycjsKKwkJZ290byBlcnJfcmVxOwogCiAJc3Bpbl9sb2Nr X2luaXQoJnJlcS0+bG9jayk7CiAJZmVuY2VfaW5pdCgmcmVxLT5mZW5jZSwKQEAgLTQzNCwxMiAr NDM2LDIzIEBAIGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAogCiAJaTkxNV9zd19mZW5jZV9pbml0KCZpOTE1X2dlbV9yZXF1ZXN0X2dldChyZXEp LT5zdWJtaXQsIHN1Ym1pdF9ub3RpZnkpOwogCisJcHJldiA9IGk5MTVfZ2VtX2FjdGl2ZV9wZWVr KCZlbmdpbmUtPmxhc3RfcmVxdWVzdCwKKwkJCQkgICAgJnJlcS0+aTkxNS0+ZHJtLnN0cnVjdF9t dXRleCk7CisJaWYgKHByZXYpIHsKKwkJcmV0ID0gaTkxNV9zd19mZW5jZV9hd2FpdF9zd19mZW5j ZSgmcmVxLT5zdWJtaXQsCisJCQkJCQkgICAmcHJldi0+c3VibWl0LAorCQkJCQkJICAgR0ZQX0tF Uk5FTCk7CisJCWlmIChyZXQgPCAwKQorCQkJZ290byBlcnJfY3R4OworCX0KKworCS8qIEFmdGVy IHRoaXMgcG9pbnQgd2UgYXJlIGNvbW1pdHRlZCB0byB0aGUgc3VibWl0dGluZyB0aGUgcmVxdWVz dAorCSAqIGFzIHRoZSBiYWNrZW5kIGNhbGxiYWNrIG1heSB0cmFjayB0aGUgcmVxdWVzdCBmb3Ig Z2xvYmFsIHN0YXRlLgorCSAqLwogCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCiAJCXJldCA9 IGludGVsX2xvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhyZXEpOwogCWVsc2UKIAkJ cmV0ID0gaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0X2V4dHJhcyhyZXEpOwotCWlmIChyZXQpCi0J CWdvdG8gZXJyX2N0eDsKIAogCS8qIFJlY29yZCB0aGUgcG9zaXRpb24gb2YgdGhlIHN0YXJ0IG9m IHRoZSByZXF1ZXN0IHNvIHRoYXQKIAkgKiBzaG91bGQgd2UgZGV0ZWN0IHRoZSB1cGRhdGVkIHNl cW5vIHBhcnQtd2F5IHRocm91Z2ggdGhlCkBAIC00NDgsMTIgKzQ2MSwxOSBAQCBpOTE1X2dlbV9y ZXF1ZXN0X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkgKi8KIAlyZXEt PmhlYWQgPSByZXEtPnJpbmctPnRhaWw7CiAKKwkvKiBTdWJtaXQgdGhlIHBhcnRpYWwgc3RhdGUg aW4gY2FzZSB3ZSBhcmUgdHJhY2tpbmcgdGhpcyByZXF1ZXN0ICovCisJaWYgKHJldCkgeworCQlf X2k5MTVfYWRkX3JlcXVlc3QocmVxLCBmYWxzZSk7CisJCWdvdG8gZXJyOworCX0KKwogCXJldHVy biByZXE7CiAKIGVycl9jdHg6CiAJaTkxNV9nZW1fY29udGV4dF9wdXQoY3R4KTsKLWVycjoKK2Vy cl9yZXE6CiAJa21lbV9jYWNoZV9mcmVlKGRldl9wcml2LT5yZXF1ZXN0cywgcmVxKTsKK2VycjoK IAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQogCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==