From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [RFC PATCH 1/3] drm/i915: Make wait_for_flips interruptible. Date: Mon, 14 Sep 2015 13:18:15 +0200 Message-ID: <1442229497-26311-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1442229497-26311-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 2D34C6E832 for ; Mon, 14 Sep 2015 04:18:22 -0700 (PDT) In-Reply-To: <1442229497-26311-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 bS9pOTE1L2ludGVsX2F0b21pYy5jICB8ICAgMiAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCAxMDcgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiAtCiAzIGZpbGVzIGNoYW5n ZWQsIDYyIGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfYXRvbWljLmMKaW5kZXggZjE5NzVmMjY3NzEwLi4yNWE4OTFhYTM4MjQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2F0b21pYy5jCkBAIC0yMDUsOCArMjA1LDYgQEAgaW50IGludGVsX2F0b21p Y19zZXR1cF9zY2FsZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICogYnV0IHNpbmNl IHRoaXMgcGxhbmUgaXMgdW5jaGFuZ2VkIGp1c3QgZG8gdGhlCiAJCQkJICogbWluaW11bSByZXF1 aXJlZCB2YWxpZGF0aW9uLgogCQkJCSAqLwotCQkJCWlmIChwbGFuZS0+dHlwZSA9PSBEUk1fUExB TkVfVFlQRV9QUklNQVJZKQotCQkJCQlpbnRlbF9jcnRjLT5hdG9taWMud2FpdF9mb3JfZmxpcHMg PSB0cnVlOwogCQkJCWNydGNfc3RhdGUtPmJhc2UucGxhbmVzX2NoYW5nZWQgPSB0cnVlOwogCQkJ fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMWQwMDM3N2IyZmE3Li4w NzMwYzcxYWEyNzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTMyMjAs MzIgKzMyMjAsNiBAQCB2b2lkIGludGVsX2ZpbmlzaF9yZXNldChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKIH0KIAotc3RhdGljIHZvaWQKLWlu dGVsX2ZpbmlzaF9mYihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmIpCi17Ci0Jc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihvbGRfZmIpOwotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7Ci0J Ym9vbCB3YXNfaW50ZXJydXB0aWJsZSA9IGRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlOwotCWlu dCByZXQ7Ci0KLQkvKiBCaWcgSGFtbWVyLCB3ZSBhbHNvIG5lZWQgdG8gZW5zdXJlIHRoYXQgYW55 IHBlbmRpbmcKLQkgKiBNSV9XQUlUX0ZPUl9FVkVOVCBpbnNpZGUgYSB1c2VyIGJhdGNoIGJ1ZmZl ciBvbiB0aGUKLQkgKiBjdXJyZW50IHNjYW5vdXQgaXMgcmV0aXJlZCBiZWZvcmUgdW5waW5uaW5n IHRoZSBvbGQKLQkgKiBmcmFtZWJ1ZmZlci4gTm90ZSB0aGF0IHdlIHJlbHkgb24gdXNlcnNwYWNl IHJlbmRlcmluZwotCSAqIGludG8gdGhlIGJ1ZmZlciBhdHRhY2hlZCB0byB0aGUgcGlwZSB0aGV5 IGFyZSB3YWl0aW5nCi0JICogb24uIElmIG5vdCwgdXNlcnNwYWNlIGdlbmVyYXRlcyBhIEdQVSBo YW5nIHdpdGggSVBFSFIKLQkgKiBwb2ludCB0byB0aGUgTUlfV0FJVF9GT1JfRVZFTlQuCi0JICoK LQkgKiBUaGlzIHNob3VsZCBvbmx5IGZhaWwgdXBvbiBhIGh1bmcgR1BVLCBpbiB3aGljaCBjYXNl IHdlCi0JICogY2FuIHNhZmVseSBjb250aW51ZS4KLQkgKi8KLQlkZXZfcHJpdi0+bW0uaW50ZXJy dXB0aWJsZSA9IGZhbHNlOwotCXJldCA9IGk5MTVfZ2VtX29iamVjdF93YWl0X3JlbmRlcmluZyhv YmosIHRydWUpOwotCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gd2FzX2ludGVycnVwdGli bGU7Ci0KLQlXQVJOX09OKHJldCk7Ci19Ci0KIHN0YXRpYyBib29sIGludGVsX2NydGNfaGFzX3Bl bmRpbmdfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKQEAgLTM4NjYsMTUgKzM4NDAsMjMgQEAgc3RhdGljIHZvaWQgcGFn ZV9mbGlwX2NvbXBsZXRlZChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKIAkJCQkgd29y ay0+cGVuZGluZ19mbGlwX29iaik7CiB9CiAKLXZvaWQgaW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5k aW5nX2ZsaXBzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3N0YXRpYyBpbnQgaW50ZWxfY3J0Y193 YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJbG9uZyByZXQ7CiAKIAlXQVJOX09OKHdhaXRx dWV1ZV9hY3RpdmUoJmRldl9wcml2LT5wZW5kaW5nX2ZsaXBfcXVldWUpKTsKLQlpZiAoV0FSTl9P Tih3YWl0X2V2ZW50X3RpbWVvdXQoZGV2X3ByaXYtPnBlbmRpbmdfZmxpcF9xdWV1ZSwKLQkJCQkg ICAgICAgIWludGVsX2NydGNfaGFzX3BlbmRpbmdfZmxpcChjcnRjKSwKLQkJCQkgICAgICAgNjAq SFopID09IDApKSB7CisKKwlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dCgK KwkJCQkJZGV2X3ByaXYtPnBlbmRpbmdfZmxpcF9xdWV1ZSwKKwkJCQkJIWludGVsX2NydGNfaGFz X3BlbmRpbmdfZmxpcChjcnRjKSwKKwkJCQkJNjAqSFopOworCisJaWYgKHJldCA8IDApCisJCXJl dHVybiByZXQ7CisKKwlpZiAocmV0ID09IDApIHsKIAkJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCiAJCXNwaW5fbG9ja19pcnEoJmRldi0+ZXZl bnRfbG9jayk7CkBAIC0zODg1LDExICszODY3LDcgQEAgdm9pZCBpbnRlbF9jcnRjX3dhaXRfZm9y X3BlbmRpbmdfZmxpcHMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlzcGluX3VubG9ja19pcnEo JmRldi0+ZXZlbnRfbG9jayk7CiAJfQogCi0JaWYgKGNydGMtPnByaW1hcnktPmZiKSB7Ci0JCW11 dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQkJaW50ZWxfZmluaXNoX2ZiKGNydGMtPnBy aW1hcnktPmZiKTsKLQkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JfQorCXJl dHVybiAwOwogfQogCiAvKiBQcm9ncmFtIGlDTEtJUCBjbG9jayB0byB0aGUgZGVzaXJlZCBmcmVx dWVuY3kgKi8KQEAgLTQ3NDksOSArNDcyNyw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFu ZV91cGRhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19hdG9t aWNfY29tbWl0ICphdG9taWMgPSAmY3J0Yy0+YXRvbWljOwogCi0JaWYgKGF0b21pYy0+d2FpdF9m b3JfZmxpcHMpCi0JCWludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcygmY3J0Yy0+YmFz ZSk7Ci0KIAlpZiAoYXRvbWljLT5kaXNhYmxlX2ZiYykKIAkJaW50ZWxfZmJjX2Rpc2FibGVfY3J0 YyhjcnRjKTsKIApAQCAtMTE1NzMsNyArMTE1NDgsNiBAQCBpbnQgaW50ZWxfcGxhbmVfYXRvbWlj X2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAKIAlzd2l0 Y2ggKHBsYW5lX3R5cGUpIHsKIAljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Ci0JCWludGVs X2NydGMtPmF0b21pYy53YWl0X2Zvcl9mbGlwcyA9IHRydWU7CiAJCWludGVsX2NydGMtPmF0b21p Yy5wcmVfZGlzYWJsZV9wcmltYXJ5ID0gdHVybl9vZmY7CiAJCWludGVsX2NydGMtPmF0b21pYy5w b3N0X2VuYWJsZV9wcmltYXJ5ID0gdHVybl9vbjsKIApAQCAtMTMwMTEsNiArMTI5ODUsMzAgQEAg c3RhdGljIGludCBpbnRlbF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAly ZXR1cm4gZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVzKHN0YXRlLT5kZXYsIHN0YXRlKTsK IH0KIAorc3RhdGljIGludCBpbnRlbF9hdG9taWNfcHJlcGFyZV9jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKKwkJCQkgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAor CQkJCSAgICAgICBib29sIGFzeW5jKQoreworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisJaW50IGksIHJldDsKKworCWlmIChhc3lu YykgeworCQlEUk1fREVCVUdfS01TKCJpOTE1IGRvZXMgbm90IHlldCBzdXBwb3J0IGFzeW5jIGNv bW1pdFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWZvcl9lYWNoX2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsKKwkJcmV0ID0gaW50ZWxfY3J0Y193YWl0 X2Zvcl9wZW5kaW5nX2ZsaXBzKGNydGMpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9 CisKKwlyZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9wcmVwYXJlX3BsYW5lcyhkZXYsIHN0YXRlKTsK KworCXJldHVybiByZXQ7Cit9CisKIC8qKgogICogaW50ZWxfYXRvbWljX2NvbW1pdCAtIGNvbW1p dCB2YWxpZGF0ZWQgc3RhdGUgb2JqZWN0CiAgKiBAZGV2OiBEUk0gZGV2aWNlCkBAIC0xMzAzOCwx MiArMTMwMzYsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAlpbnQgaTsKIAlib29sIGFueV9tcyA9IGZhbHNlOwogCi0JaWYgKGFzeW5j KSB7Ci0JCURSTV9ERUJVR19LTVMoImk5MTUgZG9lcyBub3QgeWV0IHN1cHBvcnQgYXN5bmMgY29t bWl0XG4iKTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JcmV0ID0gZHJtX2F0b21pY19oZWxw ZXJfcHJlcGFyZV9wbGFuZXMoZGV2LCBzdGF0ZSk7CisJcmV0ID0gaW50ZWxfYXRvbWljX3ByZXBh cmVfY29tbWl0KGRldiwgc3RhdGUsIGFzeW5jKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0Owog CkBAIC0xMzMwNCw2ICsxMzI5NywyOSBAQCBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKKwlpZiAob2xkX29i aikgeworCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQorCQkJZHJtX2F0b21p Y19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLCBwbGFuZS0+c3RhdGUt PmNydGMpOworCisJCS8qIEJpZyBIYW1tZXIsIHdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhhdCBh bnkgcGVuZGluZworCQkgKiBNSV9XQUlUX0ZPUl9FVkVOVCBpbnNpZGUgYSB1c2VyIGJhdGNoIGJ1 ZmZlciBvbiB0aGUKKwkJICogY3VycmVudCBzY2Fub3V0IGlzIHJldGlyZWQgYmVmb3JlIHVucGlu bmluZyB0aGUgb2xkCisJCSAqIGZyYW1lYnVmZmVyLiBOb3RlIHRoYXQgd2UgcmVseSBvbiB1c2Vy c3BhY2UgcmVuZGVyaW5nCisJCSAqIGludG8gdGhlIGJ1ZmZlciBhdHRhY2hlZCB0byB0aGUgcGlw ZSB0aGV5IGFyZSB3YWl0aW5nCisJCSAqIG9uLiBJZiBub3QsIHVzZXJzcGFjZSBnZW5lcmF0ZXMg YSBHUFUgaGFuZyB3aXRoIElQRUhSCisJCSAqIHBvaW50IHRvIHRoZSBNSV9XQUlUX0ZPUl9FVkVO VC4KKwkJICoKKwkJICogVGhpcyBzaG91bGQgb25seSBmYWlsIHVwb24gYSBodW5nIEdQVSwgaW4g d2hpY2ggY2FzZSB3ZQorCQkgKiBjYW4gc2FmZWx5IGNvbnRpbnVlLgorCQkgKi8KKwkJaWYgKG5l ZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpCisJCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9y ZW5kZXJpbmcob2xkX29iaiwgdHJ1ZSk7CisKKwkJLyogU3dhbGxvdyAtRUlPIGVycm9ycyB0byBh bGxvdyB1cGRhdGVzIGR1cmluZyBodyBsb2NrdXAuICovCisJCWlmIChyZXQgJiYgcmV0ICE9IC1F SU8pCisJCQlnb3RvIG91dDsKKwl9CisKIAlpZiAoIW9iaikgewogCQlyZXQgPSAwOwogCX0gZWxz ZSBpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SICYmCkBAIC0xMzMxOSw2 ICsxMzMzNSw3IEBAIGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJaWYgKHJldCA9PSAwKQogCQlpOTE1X2dlbV90cmFja19mYihvbGRfb2JqLCBvYmosIGlu dGVsX3BsYW5lLT5mcm9udGJ1ZmZlcl9iaXQpOwogCitvdXQ6CiAJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCA0ZmMzMDFhZTFiNGIuLmU0MjU0YjkxMjg4NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKQEAgLTQ5OSw3ICs0OTksNiBAQCBzdHJ1Y3Qgc2tsX3BpcGVfd20gewogICovCiBzdHJ1Y3Qg aW50ZWxfY3J0Y19hdG9taWNfY29tbWl0IHsKIAkvKiBTbGVlcGFibGUgb3BlcmF0aW9ucyB0byBw ZXJmb3JtIGJlZm9yZSBjb21taXQgKi8KLQlib29sIHdhaXRfZm9yX2ZsaXBzOwogCWJvb2wgZGlz YWJsZV9mYmM7CiAJYm9vbCBkaXNhYmxlX2lwczsKIAlib29sIGRpc2FibGVfY3hzcjsKQEAgLTEx NTUsNyArMTE1NCw2IEBAIGVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW4KIGludGVsX2Rp c3BsYXlfcG9ydF9wb3dlcl9kb21haW4oc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXIpOwogdm9pZCBpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUsCiAJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyk7 Ci12b2lkIGludGVsX2NydGNfd2FpdF9mb3JfcGVuZGluZ19mbGlwcyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwogdm9pZCBpbnRlbF9tb2Rlc2V0X3ByZWNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiAKIGludCBza2xfdXBkYXRlX3NjYWxlcl9jcnRj KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKLS0gCjIuMS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=