From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 5/5] drm/i915: Make wait_for_flips interruptible. Date: Thu, 16 Jul 2015 14:57:51 +0200 Message-ID: <1437051471-15397-6-git-send-email-maarten.lankhorst@linux.intel.com> References: <1437051471-15397-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id EA4466E520 for ; Thu, 16 Jul 2015 05:57:57 -0700 (PDT) In-Reply-To: <1437051471-15397-1-git-send-email-maarten.lankhorst@linux.intel.com> 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 TW92ZSBpdCBmcm9tIGludGVsX2NydGNfYXRvbWljX2NvbW1pdCB0byBwcmVwYXJlX3BsYW5lX2Zi LgpXYWl0aW5nIGlzIGRvbmUgYmVmb3JlIGNvbW1pdHRpbmcsIG90aGVyd2lzZSBpdCdzIHRvbyBs YXRlCnRvIHVuZG8gdGhlIGNoYW5nZXMuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3Jz dCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICAyIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyB8IDcyICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDIgLQogMyBmaWxlcyBjaGFuZ2Vk LCAzMyBpbnNlcnRpb25zKCspLCA0MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F0b21pYy5jCmluZGV4IGUyNTMxY2Y1OTI2Ni4uMDlhMGFkNjExMDAyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdG9taWMuYwpAQCAtMjE0LDggKzIxNCw2IEBAIGludCBpbnRlbF9hdG9taWNf c2V0dXBfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAqIGJ1dCBzaW5jZSB0 aGlzIHBsYW5lIGlzIHVuY2hhbmdlZCBqdXN0IGRvIHRoZQogCQkJCSAqIG1pbmltdW0gcmVxdWly ZWQgdmFsaWRhdGlvbi4KIAkJCQkgKi8KLQkJCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5F X1RZUEVfUFJJTUFSWSkKLQkJCQkJaW50ZWxfY3J0Yy0+YXRvbWljLndhaXRfZm9yX2ZsaXBzID0g dHJ1ZTsKIAkJCQljcnRjX3N0YXRlLT5iYXNlLnBsYW5lc19jaGFuZ2VkID0gdHJ1ZTsKIAkJCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDVhNDYyZTlhNGQxNC4uOGVm MGRiYjMzYWZkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0zMjUwLDMy ICszMjUwLDYgQEAgdm9pZCBpbnRlbF9maW5pc2hfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7CiB9CiAKLXN0YXRpYyB2b2lkCi1pbnRl bF9maW5pc2hfZmIoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiKQotewotCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBpbnRlbF9mYl9vYmoob2xkX2ZiKTsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOwotCWJv b2wgd2FzX2ludGVycnVwdGlibGUgPSBkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZTsKLQlpbnQg cmV0OwotCi0JLyogQmlnIEhhbW1lciwgd2UgYWxzbyBuZWVkIHRvIGVuc3VyZSB0aGF0IGFueSBw ZW5kaW5nCi0JICogTUlfV0FJVF9GT1JfRVZFTlQgaW5zaWRlIGEgdXNlciBiYXRjaCBidWZmZXIg b24gdGhlCi0JICogY3VycmVudCBzY2Fub3V0IGlzIHJldGlyZWQgYmVmb3JlIHVucGlubmluZyB0 aGUgb2xkCi0JICogZnJhbWVidWZmZXIuIE5vdGUgdGhhdCB3ZSByZWx5IG9uIHVzZXJzcGFjZSBy ZW5kZXJpbmcKLQkgKiBpbnRvIHRoZSBidWZmZXIgYXR0YWNoZWQgdG8gdGhlIHBpcGUgdGhleSBh cmUgd2FpdGluZwotCSAqIG9uLiBJZiBub3QsIHVzZXJzcGFjZSBnZW5lcmF0ZXMgYSBHUFUgaGFu ZyB3aXRoIElQRUhSCi0JICogcG9pbnQgdG8gdGhlIE1JX1dBSVRfRk9SX0VWRU5ULgotCSAqCi0J ICogVGhpcyBzaG91bGQgb25seSBmYWlsIHVwb24gYSBodW5nIEdQVSwgaW4gd2hpY2ggY2FzZSB3 ZQotCSAqIGNhbiBzYWZlbHkgY29udGludWUuCi0JICovCi0JZGV2X3ByaXYtPm1tLmludGVycnVw dGlibGUgPSBmYWxzZTsKLQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmcob2Jq LCB0cnVlKTsKLQlkZXZfcHJpdi0+bW0uaW50ZXJydXB0aWJsZSA9IHdhc19pbnRlcnJ1cHRpYmxl OwotCi0JV0FSTl9PTihyZXQpOwotfQotCiBzdGF0aWMgYm9vbCBpbnRlbF9jcnRjX2hhc19wZW5k aW5nX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7CkBAIC0zODkwLDE1ICszODY0LDIzIEBAIHN0YXRpYyB2b2lkIHBhZ2Vf ZmxpcF9jb21wbGV0ZWQoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiAJCQkJIHdvcmst PnBlbmRpbmdfZmxpcF9vYmopOwogfQogCi12b2lkIGludGVsX2NydGNfd2FpdF9mb3JfcGVuZGlu Z19mbGlwcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCitzdGF0aWMgaW50IGludGVsX2NydGNfd2Fp dF9mb3JfcGVuZGluZ19mbGlwcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCWxvbmcgcmV0OwogCiAJV0FSTl9PTih3YWl0cXVl dWVfYWN0aXZlKCZkZXZfcHJpdi0+cGVuZGluZ19mbGlwX3F1ZXVlKSk7Ci0JaWYgKFdBUk5fT04o d2FpdF9ldmVudF90aW1lb3V0KGRldl9wcml2LT5wZW5kaW5nX2ZsaXBfcXVldWUsCi0JCQkJICAg ICAgICFpbnRlbF9jcnRjX2hhc19wZW5kaW5nX2ZsaXAoY3J0YyksCi0JCQkJICAgICAgIDYwKkha KSA9PSAwKSkgeworCisJcmV0ID0gd2FpdF9ldmVudF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoCisJ CQkJCWRldl9wcml2LT5wZW5kaW5nX2ZsaXBfcXVldWUsCisJCQkJCSFpbnRlbF9jcnRjX2hhc19w ZW5kaW5nX2ZsaXAoY3J0YyksCisJCQkJCTYwKkhaKTsKKworCWlmIChyZXQgPCAwKQorCQlyZXR1 cm4gcmV0OworCisJaWYgKHJldCA9PSAwKSB7CiAJCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9j cnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAogCQlzcGluX2xvY2tfaXJxKCZkZXYtPmV2ZW50 X2xvY2spOwpAQCAtMzkwOSwxMSArMzg5MSw3IEBAIHZvaWQgaW50ZWxfY3J0Y193YWl0X2Zvcl9w ZW5kaW5nX2ZsaXBzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJc3Bpbl91bmxvY2tfaXJxKCZk ZXYtPmV2ZW50X2xvY2spOwogCX0KIAotCWlmIChjcnRjLT5wcmltYXJ5LT5mYikgewotCQltdXRl eF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JCWludGVsX2ZpbmlzaF9mYihjcnRjLT5wcmlt YXJ5LT5mYik7Ci0JCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCX0KKwlyZXR1 cm4gMDsKIH0KIAogLyogUHJvZ3JhbSBpQ0xLSVAgY2xvY2sgdG8gdGhlIGRlc2lyZWQgZnJlcXVl bmN5ICovCkBAIC00NzczLDkgKzQ3NTEsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVf dXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2NydGNfYXRvbWlj X2NvbW1pdCAqYXRvbWljID0gJmNydGMtPmF0b21pYzsKIAotCWlmIChhdG9taWMtPndhaXRfZm9y X2ZsaXBzKQotCQlpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMoJmNydGMtPmJhc2Up OwotCiAJaWYgKGF0b21pYy0+ZGlzYWJsZV9mYmMpCiAJCWludGVsX2ZiY19kaXNhYmxlX2NydGMo Y3J0Yyk7CiAKQEAgLTExNzAxLDcgKzExNjc2LDYgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19j YWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCiAJc3dpdGNo IChwbGFuZS0+dHlwZSkgewogCWNhc2UgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWToKLQkJaW50ZWxf Y3J0Yy0+YXRvbWljLndhaXRfZm9yX2ZsaXBzID0gdHJ1ZTsKIAkJaW50ZWxfY3J0Yy0+YXRvbWlj LnByZV9kaXNhYmxlX3ByaW1hcnkgPSB0dXJuX29mZjsKIAkJaW50ZWxfY3J0Yy0+YXRvbWljLnBv c3RfZW5hYmxlX3ByaW1hcnkgPSB0dXJuX29uOwogCkBAIC0xMzQ3Myw2ICsxMzQ0NywxMiBAQCBp bnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvbGRfb2JqID0gaW50ZWxfZmJfb2JqKHBsYW5lLT5zdGF0ZS0+ ZmIpOwogCWludCByZXQgPSAwOwogCisJaWYgKHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBF X1BSSU1BUlkgJiYgb2xkX29iaikgeworCQlyZXQgPSBpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRp bmdfZmxpcHMocGxhbmUtPnN0YXRlLT5jcnRjKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7 CisJfQorCiAJaWYgKG9iaiA9PSBvbGRfb2JqKQogCQlyZXR1cm4gMDsKIApAQCAtMTM0OTIsNiAr MTM0NzIsMjAgQEAgaW50ZWxfcHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFu ZSwKIAkJcmV0ID0gaW50ZWxfcGluX2FuZF9mZW5jZV9mYl9vYmoocGxhbmUsIGZiLCBuZXdfc3Rh dGUsIE5VTEwsIE5VTEwpOwogCX0KIAorCS8qIEJpZyBIYW1tZXIsIHdlIGFsc28gbmVlZCB0byBl bnN1cmUgdGhhdCBhbnkgcGVuZGluZworCSAqIE1JX1dBSVRfRk9SX0VWRU5UIGluc2lkZSBhIHVz ZXIgYmF0Y2ggYnVmZmVyIG9uIHRoZQorCSAqIGN1cnJlbnQgc2Nhbm91dCBpcyByZXRpcmVkIGJl Zm9yZSB1bnBpbm5pbmcgdGhlIG9sZAorCSAqIGZyYW1lYnVmZmVyLiBOb3RlIHRoYXQgd2UgcmVs eSBvbiB1c2Vyc3BhY2UgcmVuZGVyaW5nCisJICogaW50byB0aGUgYnVmZmVyIGF0dGFjaGVkIHRv IHRoZSBwaXBlIHRoZXkgYXJlIHdhaXRpbmcKKwkgKiBvbi4gSWYgbm90LCB1c2Vyc3BhY2UgZ2Vu ZXJhdGVzIGEgR1BVIGhhbmcgd2l0aCBJUEVIUgorCSAqIHBvaW50IHRvIHRoZSBNSV9XQUlUX0ZP Ul9FVkVOVC4KKwkgKgorCSAqIFRoaXMgc2hvdWxkIG9ubHkgZmFpbCB1cG9uIGEgaHVuZyBHUFUs IGluIHdoaWNoIGNhc2Ugd2UKKwkgKiBjYW4gc2FmZWx5IGNvbnRpbnVlLgorCSAqLworCWlmICgh cmV0ICYmIHBsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgJiYgb2xkX29iaikK KwkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3dhaXRfcmVuZGVyaW5nKG9sZF9vYmosIHRydWUpOwor CiAJaWYgKHJldCA9PSAwKQogCQlpOTE1X2dlbV90cmFja19mYihvbGRfb2JqLCBvYmosIGludGVs X3BsYW5lLT5mcm9udGJ1ZmZlcl9iaXQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4 IGU2YjA0OTQxZjljYS4uMDkyMGE2ZmM0NTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApA QCAtNDg5LDcgKzQ4OSw2IEBAIHN0cnVjdCBza2xfcGlwZV93bSB7CiAgKi8KIHN0cnVjdCBpbnRl bF9jcnRjX2F0b21pY19jb21taXQgewogCS8qIFNsZWVwYWJsZSBvcGVyYXRpb25zIHRvIHBlcmZv cm0gYmVmb3JlIGNvbW1pdCAqLwotCWJvb2wgd2FpdF9mb3JfZmxpcHM7CiAJYm9vbCBkaXNhYmxl X2ZiYzsKIAlib29sIGRpc2FibGVfaXBzOwogCWJvb2wgZGlzYWJsZV9jeHNyOwpAQCAtMTEyNiw3 ICsxMTI1LDYgQEAgZW51bSBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbgogaW50ZWxfZGlzcGxh eV9wb3J0X3Bvd2VyX2RvbWFpbihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7 CiB2b2lkIGludGVsX21vZGVfZnJvbV9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKIAkJCQkgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKLXZv aWQgaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKHN0cnVjdCBkcm1fY3J0YyAqY3J0 Yyk7CiB2b2lkIGludGVsX21vZGVzZXRfcHJlY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9maWxlICpmaWxlKTsKIAogaW50IHNrbF91cGRhdGVfc2NhbGVyX2NydGMoc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwotLSAKMi4xLjAKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==