From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 27/41] drm/i915: Restore nonblocking awaits for modesetting Date: Thu, 20 Oct 2016 16:04:09 +0100 Message-ID: <20161020150423.4560-28-chris@chris-wilson.co.uk> References: <20161020150423.4560-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-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C9E56EBAE for ; Thu, 20 Oct 2016 15:05:00 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id x79so462776lff.2 for ; Thu, 20 Oct 2016 08:05:00 -0700 (PDT) In-Reply-To: <20161020150423.4560-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 List-Id: intel-gfx@lists.freedesktop.org QWZ0ZXIgY29tYmluaW5nIHRoZSBkbWEtYnVmIHJlc2VydmF0aW9uIG9iamVjdCBhbmQgdGhlIEdF TSByZXNlcnZhdGlvbgpvYmplY3QsIHdlIGxvc3QgdGhlIGFiaWxpdHkgdG8gZG8gYSBub25ibG9j a2luZyB3YWl0IG9uIHRoZSBpOTE1IHJlcXVlc3QKKGFzIHdlIGJsb2NrZWQgdXBvbiB0aGUgcmVz ZXJ2YXRpb24gb2JqZWN0IGR1cmluZyBwcmVwYXJlX2ZiKS4gV2UgY2FuCmluc3RlYWQgY29udmVy dCB0aGUgcmVzZXJ2YXRpb24gb2JqZWN0IGludG8gYSBmZW5jZSB1cG9uIHdoaWNoIHdlIGNhbgph c3luY2hyb25vdXNseSB3YWl0IChpbmNsdWRpbmcgYSBmb3JjZWQgdGltZW91dCBpbiBjYXNlIHRo ZSBETUEgZmVuY2UgaXMKbmV2ZXIgc2lnbmFsZWQpLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFodGlu ZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgODIgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArCiAyIGZp bGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAxMzUyMjkwM2VjNGUuLmM3Yzk3M2IyNGViYSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTQ1MDksMTIgKzE0NTA5LDMz IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSAqc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfd29yayhz dHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlID0gY29udGFpbmVyX29mKHdvcmssCi0JCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSwKLQkJCQkJCSAgICAgIGNvbW1pdF93b3JrKTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUs IGNvbW1pdF93b3JrKTsKKwogCWludGVsX2F0b21pY19jb21taXRfdGFpbChzdGF0ZSk7CiB9CiAK K3N0YXRpYyBpbnQgX19pOTE1X3N3X2ZlbmNlX2NhbGwKK2ludGVsX2F0b21pY19jb21taXRfcmVh ZHkoc3RydWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlLAorCQkJICBlbnVtIGk5MTVfc3dfZmVuY2Vf bm90aWZ5IG5vdGlmeSkKK3sKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9CisJ CWNvbnRhaW5lcl9vZihmZW5jZSwgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSwgY29tbWl0X3Jl YWR5KTsKKworCXN3aXRjaCAobm90aWZ5KSB7CisJY2FzZSBGRU5DRV9DT01QTEVURToKKwkJaWYg KHN0YXRlLT5iYXNlLmNvbW1pdF93b3JrLmZ1bmMpCisJCQlxdWV1ZV93b3JrKHN5c3RlbV91bmJv dW5kX3dxLCAmc3RhdGUtPmJhc2UuY29tbWl0X3dvcmspOworCQlicmVhazsKKworCWNhc2UgRkVO Q0VfRlJFRToKKwkJZHJtX2F0b21pY19zdGF0ZV9wdXQoJnN0YXRlLT5iYXNlKTsKKwkJYnJlYWs7 CisJfQorCisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9hdG9t aWNfdHJhY2tfZmJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7CkBAIC0xNDU2MCwxMSArMTQ1ODEsMTQg QEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCUlOSVRfV09SSygmc3RhdGUtPmNvbW1pdF93 b3JrLCBpbnRlbF9hdG9taWNfY29tbWl0X3dvcmspOworCWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0 YXRlKTsKKwlpOTE1X3N3X2ZlbmNlX2luaXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHksCisJ CQkgICBpbnRlbF9hdG9taWNfY29tbWl0X3JlYWR5KTsKIAogCXJldCA9IGludGVsX2F0b21pY19w cmVwYXJlX2NvbW1pdChkZXYsIHN0YXRlKTsKIAlpZiAocmV0KSB7CiAJCURSTV9ERUJVR19BVE9N SUMoIlByZXBhcmluZyBzdGF0ZSBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKKwkJaTkxNV9zd19m ZW5jZV9jb21taXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHkpOwogCQlyZXR1cm4gcmV0Owog CX0KIApAQCAtMTQ1NzUsMTAgKzE0NTk5LDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2Nv bW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX2F0b21pY190cmFja19mYnMoc3Rh dGUpOwogCiAJZHJtX2F0b21pY19zdGF0ZV9nZXQoc3RhdGUpOwotCWlmIChub25ibG9jaykKLQkJ cXVldWVfd29yayhzeXN0ZW1fdW5ib3VuZF93cSwgJnN0YXRlLT5jb21taXRfd29yayk7Ci0JZWxz ZQorCUlOSVRfV09SSygmc3RhdGUtPmNvbW1pdF93b3JrLAorCQkgIG5vbmJsb2NrID8gaW50ZWxf YXRvbWljX2NvbW1pdF93b3JrIDogTlVMTCk7CisKKwlpOTE1X3N3X2ZlbmNlX2NvbW1pdCgmaW50 ZWxfc3RhdGUtPmNvbW1pdF9yZWFkeSk7CisJaWYgKCFub25ibG9jaykgeworCQlpOTE1X3N3X2Zl bmNlX3dhaXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHkpOwogCQlpbnRlbF9hdG9taWNfY29t bWl0X3RhaWwoc3RhdGUpOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtMTQ2OTAsMjAgKzE0NzE4 LDIyIEBAIGludAogaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkJICAgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSkKIHsKKwlzdHJ1 Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9CisJCXRvX2ludGVsX2F0b21pY19z dGF0ZShuZXdfc3RhdGUtPnN0YXRlKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUt PmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBuZXdfc3RhdGUtPmZiOwogCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmooZmIpOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfZmJfb2JqKHBsYW5lLT5zdGF0ZS0+ZmIp OwotCWxvbmcgbHJldDsKLQlpbnQgcmV0ID0gMDsKKwlpbnQgcmV0OwogCiAJaWYgKCFvYmogJiYg IW9sZF9vYmopCiAJCXJldHVybiAwOwogCiAJaWYgKG9sZF9vYmopIHsKIAkJc3RydWN0IGRybV9j cnRjX3N0YXRlICpjcnRjX3N0YXRlID0KLQkJCWRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX2NydGNf c3RhdGUobmV3X3N0YXRlLT5zdGF0ZSwgcGxhbmUtPnN0YXRlLT5jcnRjKTsKKwkJCWRybV9hdG9t aWNfZ2V0X2V4aXN0aW5nX2NydGNfc3RhdGUobmV3X3N0YXRlLT5zdGF0ZSwKKwkJCQkJCQkgICBw bGFuZS0+c3RhdGUtPmNydGMpOwogCiAJCS8qIEJpZyBIYW1tZXIsIHdlIGFsc28gbmVlZCB0byBl bnN1cmUgdGhhdCBhbnkgcGVuZGluZwogCQkgKiBNSV9XQUlUX0ZPUl9FVkVOVCBpbnNpZGUgYSB1 c2VyIGJhdGNoIGJ1ZmZlciBvbiB0aGUKQEAgLTE0NzE2LDMxICsxNDc0NiwyNSBAQCBpbnRlbF9w cmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkgKiBUaGlzIHNob3Vs ZCBvbmx5IGZhaWwgdXBvbiBhIGh1bmcgR1BVLCBpbiB3aGljaCBjYXNlIHdlCiAJCSAqIGNhbiBz YWZlbHkgY29udGludWUuCiAJCSAqLwotCQlpZiAobmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkK LQkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF93YWl0KG9sZF9vYmosCi0JCQkJCQkgICBJOTE1X1dB SVRfSU5URVJSVVBUSUJMRSB8Ci0JCQkJCQkgICBJOTE1X1dBSVRfTE9DS0VELAotCQkJCQkJICAg TUFYX1NDSEVEVUxFX1RJTUVPVVQsCi0JCQkJCQkgICBOVUxMKTsKLQkJaWYgKHJldCkgewotCQkJ LyogR1BVIGhhbmdzIHNob3VsZCBoYXZlIGJlZW4gc3dhbGxvd2VkIGJ5IHRoZSB3YWl0ICovCi0J CQlXQVJOX09OKHJldCA9PSAtRUlPKTsKLQkJCXJldHVybiByZXQ7CisJCWlmIChuZWVkc19tb2Rl c2V0KGNydGNfc3RhdGUpKSB7CisJCQlyZXQgPSBpOTE1X3N3X2ZlbmNlX2F3YWl0X3Jlc2VydmF0 aW9uKCZpbnRlbF9zdGF0ZS0+Y29tbWl0X3JlYWR5LAorCQkJCQkJCSAgICAgIG9sZF9vYmotPnJl c3YsIE5VTEwsCisJCQkJCQkJICAgICAgZmFsc2UsIDAsCisJCQkJCQkJICAgICAgR0ZQX0tFUk5F TCk7CisJCQlpZiAocmV0IDwgMCkKKwkJCQlyZXR1cm4gcmV0OwogCQl9CiAJfQogCiAJaWYgKCFv YmopCiAJCXJldHVybiAwOwogCi0JLyogRm9yIGZyYW1lYnVmZmVyIGJhY2tlZCBieSBkbWFidWYs IHdhaXQgZm9yIGZlbmNlICovCi0JbHJldCA9IGk5MTVfZ2VtX29iamVjdF93YWl0KG9iaiwKLQkJ CQkgICAgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUgfCBJOTE1X1dBSVRfTE9DS0VELAotCQkJCSAg ICBNQVhfU0NIRURVTEVfVElNRU9VVCwKLQkJCQkgICAgTlVMTCk7Ci0JaWYgKGxyZXQgPT0gLUVS RVNUQVJUU1lTKQotCQlyZXR1cm4gbHJldDsKLQotCVdBUk4obHJldCA8IDAsICJ3YWl0aW5nIHJl dHVybnMgJWxpXG4iLCBscmV0KTsKKwlyZXQgPSBpOTE1X3N3X2ZlbmNlX2F3YWl0X3Jlc2VydmF0 aW9uKCZpbnRlbF9zdGF0ZS0+Y29tbWl0X3JlYWR5LAorCQkJCQkgICAgICBvYmotPnJlc3YsIE5V TEwsCisJCQkJCSAgICAgIGZhbHNlLCBJOTE1X0ZFTkNFX1RJTUVPVVQsCisJCQkJCSAgICAgIEdG UF9LRVJORUwpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OwogCiAJaWYgKHBsYW5lLT50 eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUiAmJgogCSAgICBJTlRFTF9JTkZPKGRldiktPmN1 cnNvcl9uZWVkc19waHlzaWNhbCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA0NTg1 OGI3MmU5NWMuLjNiZjFlODA5NWViYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTM2 NSw2ICszNjUsOCBAQCBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlIHsKIAogCS8qIEdlbjkrIG9u bHkgKi8KIAlzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyB3bV9yZXN1bHRzOworCisJc3RydWN0IGk5MTVf c3dfZmVuY2UgY29tbWl0X3JlYWR5OwogfTsKIAogc3RydWN0IGludGVsX3BsYW5lX3N0YXRlIHsK LS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK