From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/18] drm/i915: Restore nonblocking awaits for modesetting Date: Wed, 14 Sep 2016 07:52:39 +0100 Message-ID: <20160914065250.15482-8-chris@chris-wilson.co.uk> References: <20160914065250.15482-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 AB1A66E68E for ; Wed, 14 Sep 2016 06:53:07 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id b184so1016356wma.3 for ; Tue, 13 Sep 2016 23:53:07 -0700 (PDT) In-Reply-To: <20160914065250.15482-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgNzggKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAgMiArCiAyIGZpbGVzIGNo YW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwppbmRleCA1YzBlYTA4ZGRkYjMuLjI5NGRmMTIyZjdjNiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTQzODMsMTIgKzE0MzgzLDMzIEBAIHN0 YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCiAKIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfd29yayhzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCiB7Ci0Jc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlID0g Y29udGFpbmVyX29mKHdvcmssCi0JCQkJCQkgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSwK LQkJCQkJCSAgICAgIGNvbW1pdF93b3JrKTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUgPQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUsIGNvbW1p dF93b3JrKTsKKwogCWludGVsX2F0b21pY19jb21taXRfdGFpbChzdGF0ZSk7CiB9CiAKK3N0YXRp YyBpbnQgX19pOTE1X3N3X2ZlbmNlX2NhbGwKK2ludGVsX2F0b21pY19jb21taXRfcmVhZHkoc3Ry dWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlLAorCQkJICBlbnVtIGk5MTVfc3dfZmVuY2Vfbm90aWZ5 IG5vdGlmeSkKK3sKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSA9CisJCWNvbnRh aW5lcl9vZihmZW5jZSwgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSwgY29tbWl0X3JlYWR5KTsK KworCXN3aXRjaCAobm90aWZ5KSB7CisJY2FzZSBGRU5DRV9DT01QTEVURToKKwkJaWYgKHN0YXRl LT5iYXNlLmNvbW1pdF93b3JrLmZ1bmMpCisJCQlxdWV1ZV93b3JrKHN5c3RlbV91bmJvdW5kX3dx LCAmc3RhdGUtPmJhc2UuY29tbWl0X3dvcmspOworCQlicmVhazsKKworCWNhc2UgRkVOQ0VfRlJF RToKKwkJZHJtX2F0b21pY19zdGF0ZV9wdXQoJnN0YXRlLT5iYXNlKTsKKwkJYnJlYWs7CisJfQor CisJcmV0dXJuIE5PVElGWV9ET05FOworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfdHJh Y2tfZmJzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGU7CkBAIC0xNDQzNCwxMSArMTQ0NTUsMTQgQEAgc3Rh dGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYg KHJldCkKIAkJcmV0dXJuIHJldDsKIAotCUlOSVRfV09SSygmc3RhdGUtPmNvbW1pdF93b3JrLCBp bnRlbF9hdG9taWNfY29tbWl0X3dvcmspOworCWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRlKTsK KwlpOTE1X3N3X2ZlbmNlX2luaXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHksCisJCQkgICBp bnRlbF9hdG9taWNfY29tbWl0X3JlYWR5KTsKIAogCXJldCA9IGludGVsX2F0b21pY19wcmVwYXJl X2NvbW1pdChkZXYsIHN0YXRlKTsKIAlpZiAocmV0KSB7CiAJCURSTV9ERUJVR19BVE9NSUMoIlBy ZXBhcmluZyBzdGF0ZSBmYWlsZWQgd2l0aCAlaVxuIiwgcmV0KTsKKwkJaTkxNV9zd19mZW5jZV9j b21taXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHkpOwogCQlyZXR1cm4gcmV0OwogCX0KIApA QCAtMTQ0NDksMTAgKzE0NDczLDE0IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NvbW1pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX2F0b21pY190cmFja19mYnMoc3RhdGUpOwog CiAJZHJtX2F0b21pY19zdGF0ZV9nZXQoc3RhdGUpOwotCWlmIChub25ibG9jaykKLQkJcXVldWVf d29yayhzeXN0ZW1fdW5ib3VuZF93cSwgJnN0YXRlLT5jb21taXRfd29yayk7Ci0JZWxzZQorCUlO SVRfV09SSygmc3RhdGUtPmNvbW1pdF93b3JrLAorCQkgIG5vbmJsb2NrID8gaW50ZWxfYXRvbWlj X2NvbW1pdF93b3JrIDogTlVMTCk7CisKKwlpOTE1X3N3X2ZlbmNlX2NvbW1pdCgmaW50ZWxfc3Rh dGUtPmNvbW1pdF9yZWFkeSk7CisJaWYgKCFub25ibG9jaykgeworCQlpOTE1X3N3X2ZlbmNlX3dh aXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHkpOwogCQlpbnRlbF9hdG9taWNfY29tbWl0X3Rh aWwoc3RhdGUpOworCX0KIAogCXJldHVybiAwOwogfQpAQCAtMTQ1NjgsOCArMTQ1OTYsNyBAQCBp bnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gbmV3X3N0YXRlLT5mYjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2xkX29iaiA9IGludGVsX2ZiX29iaihwbGFuZS0+c3RhdGUtPmZiKTsKLQlsb25nIGxy ZXQ7Ci0JaW50IHJldCA9IDA7CisJaW50IHJldDsKIAogCWlmICghb2JqICYmICFvbGRfb2JqKQog CQlyZXR1cm4gMDsKQEAgLTE0NTc3LDcgKzE0NjA0LDYgQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9m YihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAob2xkX29iaikgewogCQlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQogCQkJZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0 Y19zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLCBwbGFuZS0+c3RhdGUtPmNydGMpOwotCQlsb25nIHRp bWVvdXQgPSAwOwogCiAJCS8qIEJpZyBIYW1tZXIsIHdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhh dCBhbnkgcGVuZGluZwogCQkgKiBNSV9XQUlUX0ZPUl9FVkVOVCBpbnNpZGUgYSB1c2VyIGJhdGNo IGJ1ZmZlciBvbiB0aGUKQEAgLTE0NTkwLDMxICsxNDYxNiwyNSBAQCBpbnRlbF9wcmVwYXJlX3Bs YW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkgKiBUaGlzIHNob3VsZCBvbmx5IGZh aWwgdXBvbiBhIGh1bmcgR1BVLCBpbiB3aGljaCBjYXNlIHdlCiAJCSAqIGNhbiBzYWZlbHkgY29u dGludWUuCiAJCSAqLwotCQlpZiAobmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkKLQkJCXRpbWVv dXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdChvbGRfb2JqLAotCQkJCQkJICAgICAgIEk5MTVfV0FJ VF9JTlRFUlJVUFRJQkxFIHwKLQkJCQkJCSAgICAgICBJOTE1X1dBSVRfTE9DS0VELAotCQkJCQkJ ICAgICAgIE1BWF9TQ0hFRFVMRV9USU1FT1VULAotCQkJCQkJICAgICAgIE5VTEwpOwotCQlpZiAo dGltZW91dCA8IDApIHsKLQkJCS8qIEdQVSBoYW5ncyBzaG91bGQgaGF2ZSBiZWVuIHN3YWxsb3dl ZCBieSB0aGUgd2FpdCAqLwotCQkJV0FSTl9PTih0aW1lb3V0ID09IC1FSU8pOwotCQkJcmV0dXJu IHRpbWVvdXQ7CisJCWlmIChuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKSB7CisJCQlyZXQgPSBp OTE1X3N3X2ZlbmNlX2F3YWl0X3Jlc2VydmF0aW9uKCZ0b19pbnRlbF9hdG9taWNfc3RhdGUobmV3 X3N0YXRlLT5zdGF0ZSktPmNvbW1pdF9yZWFkeSwKKwkJCQkJCQkgICAgICBvbGRfb2JqLT5yZXN2 LCBOVUxMLAorCQkJCQkJCSAgICAgIGZhbHNlLCAwLAorCQkJCQkJCSAgICAgIEdGUF9LRVJORUwp OworCQkJaWYgKHJldCA8IDApCisJCQkJcmV0dXJuIHJldDsKIAkJfQogCX0KIAogCWlmICghb2Jq KQogCQlyZXR1cm4gMDsKIAotCS8qIEZvciBmcmFtZWJ1ZmZlciBiYWNrZWQgYnkgZG1hYnVmLCB3 YWl0IGZvciBmZW5jZSAqLwotCWxyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdChvYmosCi0JCQkJ ICAgIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFIHwgSTkxNV9XQUlUX0xPQ0tFRCwKLQkJCQkgICAg TUFYX1NDSEVEVUxFX1RJTUVPVVQsCi0JCQkJICAgIE5VTEwpOwotCWlmIChscmV0ID09IC1FUkVT VEFSVFNZUykKLQkJcmV0dXJuIGxyZXQ7Ci0KLQlXQVJOKGxyZXQgPCAwLCAid2FpdGluZyByZXR1 cm5zICVsaVxuIiwgbHJldCk7CisJcmV0ID0gaTkxNV9zd19mZW5jZV9hd2FpdF9yZXNlcnZhdGlv bigmdG9faW50ZWxfYXRvbWljX3N0YXRlKG5ld19zdGF0ZS0+c3RhdGUpLT5jb21taXRfcmVhZHks CisJCQkJCSAgICAgIG9iai0+cmVzdiwgTlVMTCwKKwkJCQkJICAgICAgZmFsc2UsIDEwKkhaLAor CQkJCQkgICAgICBHRlBfS0VSTkVMKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIHJldDsKIAog CWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IgJiYKIAkgICAgSU5URUxf SU5GTyhkZXYpLT5jdXJzb3JfbmVlZHNfcGh5c2ljYWwpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKaW5kZXggMTVlMzA1MGVkZWI5Li5jYjk5YTI1NDA4NjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCkBAIC0zNTcsNiArMzU3LDggQEAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSB7CiAK IAkvKiBHZW45KyBvbmx5ICovCiAJc3RydWN0IHNrbF93bV92YWx1ZXMgd21fcmVzdWx0czsKKwor CXN0cnVjdCBpOTE1X3N3X2ZlbmNlIGNvbW1pdF9yZWFkeTsKIH07CiAKIHN0cnVjdCBpbnRlbF9w bGFuZV9zdGF0ZSB7Ci0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==