From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v2 2/8] drm/i915: Add more control to wait_for routines Date: Fri, 1 Dec 2017 12:20:24 -0500 Message-ID: <20171201172032.47357-3-seanpaul@chromium.org> References: <20171201172032.47357-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yw0-x241.google.com (mail-yw0-x241.google.com [IPv6:2607:f8b0:4002:c05::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2388E6EDD1 for ; Fri, 1 Dec 2017 17:20:55 +0000 (UTC) Received: by mail-yw0-x241.google.com with SMTP id t204so4300673ywe.9 for ; Fri, 01 Dec 2017 09:20:55 -0800 (PST) In-Reply-To: <20171201172032.47357-1-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: David Airlie , Joonas Lahtinen , linux-kernel@vger.kernel.org, Rodrigo Vivi , daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGEgbGl0dGxlIG1vcmUgY29udHJvbCB0byBhIGNvdXBsZSB3YWl0X2Zv ciByb3V0aW5lcyBzdWNoCnRoYXQgd2UgY2FuIGF2b2lkIG9wZW4tY29kaW5nIHJlYWQvd2FpdC90 aW1lb3V0IHBhdHRlcm5zIHdoaWNoOgogLSBuZWVkIHRoZSB2YWx1ZSBvZiB0aGUgcmVnaXN0ZXIg YWZ0ZXIgdGhlIHdhaXRfZm9yCiAtIHJ1biBhcmJpdHJhcnkgb3BlcmF0aW9uIGZvciB0aGUgcmVh ZCBwb3J0aW9uCgpUaGlzIHBhdGNoIGFsc28gY2hvb3NlcyB0aGUgY29ycmVjdCBzbGVlcCBmdW5j dGlvbiAoYmFzZWQgb24KdGltZXJzLWhvd3RvLnR4dCkgZm9yIHRoZSBwb2xsaW5nIGludGVydmFs IHRoZSBjYWxsZXIgc3BlY2lmaWVzLgoKQ2hhbmdlcyBpbiB2MjoKLSBBZGRlZCB0byB0aGUgc2Vy aWVzCgpTdWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8IDE3ICsrKysrKysrKysrKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDIzICsrKysrKysrKysrKysr KystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaCB8IDE0ICsrKysr KysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggNjlhYWIzMjRhYWExLi4xOTFjODBm YzQzMTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC00MSwxOSArNDEsMjEgQEAKICNp bmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgogCiAvKioKLSAqIF93YWl0X2ZvciAtIG1hZ2ljIChy ZWdpc3Rlcikgd2FpdCBtYWNybworICogX193YWl0X2ZvciAtIG1hZ2ljIHdhaXQgbWFjcm8KICAq Ci0gKiBEb2VzIHRoZSByaWdodCB0aGluZyBmb3IgbW9kZXNldCBwYXRocyB3aGVuIHJ1biB1bmRl ciBrZGdiIG9yIHNpbWlsYXIgYXRvbWljCi0gKiBjb250ZXh0cy4gTm90ZSB0aGF0IGl0J3MgaW1w b3J0YW50IHRoYXQgd2UgY2hlY2sgdGhlIGNvbmRpdGlvbiBhZ2FpbiBhZnRlcgorICogTWFjcm8g dG8gaGVscCBhdm9pZCBvcGVuIGNvZGluZyBjaGVjay93YWl0L3RpbWVvdXQgcGF0dGVybnMsIHdp bGwgZG8gdGhlCisgKiByaWdodCB0aGluayB3cnQgdG8gY2hvb3NpbmcgbXNsZWVwIHZzIHVzbGVl cF9yYW5nZSBiYXNlZCBvbiBob3cgbG9uZyB0aGUgd2FpdAorICogaW50ZXJ2YWwgaXMuIE5vdGUg dGhhdCBpdCdzIGltcG9ydGFudCB0aGF0IHdlIGNoZWNrIHRoZSBjb25kaXRpb24gYWdhaW4gYWZ0 ZXIKICAqIGhhdmluZyB0aW1lZCBvdXQsIHNpbmNlIHRoZSB0aW1lb3V0IGNvdWxkIGJlIGR1ZSB0 byBwcmVlbXB0aW9uIG9yIHNpbWlsYXIgYW5kCiAgKiB3ZSd2ZSBuZXZlciBoYWQgYSBjaGFuY2Ug dG8gY2hlY2sgdGhlIGNvbmRpdGlvbiBiZWZvcmUgdGhlIHRpbWVvdXQuCiAgKi8KLSNkZWZpbmUg X3dhaXRfZm9yKENPTkQsIFVTLCBXKSAoeyBcCisjZGVmaW5lIF9fd2FpdF9mb3IoT1AsIENPTkQs IFVTLCBXKSAoeyBcCiAJdW5zaWduZWQgbG9uZyB0aW1lb3V0X18gPSBqaWZmaWVzICsgdXNlY3Nf dG9famlmZmllcyhVUykgKyAxOwlcCiAJaW50IHJldF9fOwkJCQkJCQlcCiAJbWlnaHRfc2xlZXAo KTsJCQkJCQkJXAogCWZvciAoOzspIHsJCQkJCQkJXAogCQlib29sIGV4cGlyZWRfXyA9IHRpbWVf YWZ0ZXIoamlmZmllcywgdGltZW91dF9fKTsJXAorCQlPUDsJCQkJCQkJXAogCQlpZiAoQ09ORCkg ewkJCQkJCVwKIAkJCXJldF9fID0gMDsJCQkJCVwKIAkJCWJyZWFrOwkJCQkJCVwKQEAgLTYyLDEx ICs2NCwxNiBAQAogCQkJcmV0X18gPSAtRVRJTUVET1VUOwkJCQlcCiAJCQlicmVhazsJCQkJCQlc CiAJCX0JCQkJCQkJXAotCQl1c2xlZXBfcmFuZ2UoKFcpLCAoVykgKiAyKTsJCQkJXAorCQlpZiAo VyA+ICgyMCAqIDEwMDApKQkJCQkJXAorCQkJbXNsZWVwKFcgLyAxMDAwKTsJCQkJXAorCQllbHNl CQkJCQkJCVwKKwkJCXVzbGVlcF9yYW5nZSgoVyksIChXKSAqIDIpOwkJCVwKIAl9CQkJCQkJCQlc CiAJcmV0X187CQkJCQkJCQlcCiB9KQogCisjZGVmaW5lIF93YWl0X2ZvcihDT05ELCBVUywgVykJ CV9fd2FpdF9mb3IoOywoQ09ORCksIFVTLCBXKQorCiAjZGVmaW5lIHdhaXRfZm9yKENPTkQsIE1T KQkgIAlfd2FpdF9mb3IoKENPTkQpLCAoTVMpICogMTAwMCwgMTAwMCkKIAogLyogSWYgQ09ORklH X1BSRUVNUFRfQ09VTlQgaXMgZGlzYWJsZWQsIGluX2F0b21pYygpIGFsd2F5cyByZXBvcnRzIGZh bHNlLiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwppbmRleCBiNDYyMTI3MWU3YTIu LmM4NTFiMGMwNjAyZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5j b3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTE3NzAs MTIgKzE3NzAsMTQgQEAgaW50IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQogCiAvKioKLSAqIGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyIC0gd2FpdCB1bnRpbCByZWdpc3RlciBtYXRjaGVzIGV4cGVjdGVkIHN0YXRlCisgKiBf X2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyIC0gd2FpdCB1bnRpbCByZWdpc3RlciBtYXRjaGVzIGV4 cGVjdGVkIHN0YXRlCiAgKiBAZGV2X3ByaXY6IHRoZSBpOTE1IGRldmljZQogICogQHJlZzogdGhl IHJlZ2lzdGVyIHRvIHJlYWQKICAqIEBtYXNrOiBtYXNrIHRvIGFwcGx5IHRvIHJlZ2lzdGVyIHZh bHVlCiAgKiBAdmFsdWU6IGV4cGVjdGVkIHZhbHVlCi0gKiBAdGltZW91dF9tczogdGltZW91dCBp biBtaWxsaXNlY29uZAorICogQGZhc3RfdGltZW91dF91czogZmFzdCB0aW1lb3V0IGluIG1pY3Jv c2Vjb25kIGZvciBhdG9taWMvdGlnaHQgd2FpdAorICogQHNsb3dfdGltZW91dF9tczogc2xvdyB0 aW1lb3V0IGluIG1pbGxpc2Vjb25kCisgKiBAb3V0X3ZhbHVlOiBvcHRpb25hbCBwbGFjZWhvbGRl ciB0byBob2xkIHJlZ2lzdHJ5IHZhbHVlCiAgKgogICogVGhpcyByb3V0aW5lIHdhaXRzIHVudGls IHRoZSB0YXJnZXQgcmVnaXN0ZXIgQHJlZyBjb250YWlucyB0aGUgZXhwZWN0ZWQKICAqIEB2YWx1 ZSBhZnRlciBhcHBseWluZyB0aGUgQG1hc2ssIGkuZS4gaXQgd2FpdHMgdW50aWwgOjoKQEAgLTE3 ODYsMTUgKzE3ODgsMTggQEAgaW50IF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogICoKICAqIFJldHVybnMgMCBpZiB0aGUgcmVn aXN0ZXIgbWF0Y2hlcyB0aGUgZGVzaXJlZCBjb25kaXRpb24sIG9yIC1FVElNRU9VVC4KICAqLwot aW50IGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKK2ludCBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAkJCSAgICBpOTE1X3JlZ190IHJlZywKIAkJCSAgICB1MzIgbWFzaywK IAkJCSAgICB1MzIgdmFsdWUsCi0JCQkgICAgdW5zaWduZWQgaW50IHRpbWVvdXRfbXMpCisJCQkg ICAgdW5zaWduZWQgaW50IGZhc3RfdGltZW91dF91cywKKwkJCSAgICB1bnNpZ25lZCBpbnQgc2xv d190aW1lb3V0X21zLAorCQkJICAgIHUzMiAqb3V0X3ZhbHVlKQogewogCXVuc2lnbmVkIGZ3ID0K IAkJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9mb3JfcmVnKGRldl9wcml2LCByZWcsIEZXX1JFR19S RUFEKTsKIAlpbnQgcmV0OworCXUzMiByZWdfdmFsdWU7CiAKIAltaWdodF9zbGVlcCgpOwogCkBA IC0xODAzLDE0ICsxODA4LDE4IEBAIGludCBpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAlyZXQgPSBfX2ludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyX2Z3KGRldl9wcml2LAogCQkJCQkgICByZWcsIG1hc2ssIHZhbHVlLAotCQkJCQkgICAy LCAwLCBOVUxMKTsKKwkJCQkJICAgZmFzdF90aW1lb3V0X3VzLCAwLCAmcmVnX3ZhbHVlKTsKIAog CWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0X19sb2NrZWQoZGV2X3ByaXYsIGZ3KTsKIAlzcGlu X3VubG9ja19pcnEoJmRldl9wcml2LT51bmNvcmUubG9jayk7CiAKIAlpZiAocmV0KQotCQlyZXQg PSB3YWl0X2ZvcigoSTkxNV9SRUFEX05PVFJBQ0UocmVnKSAmIG1hc2spID09IHZhbHVlLAotCQkJ ICAgICAgIHRpbWVvdXRfbXMpOworCQlyZXQgPSBfX3dhaXRfZm9yKHJlZ192YWx1ZSA9IEk5MTVf UkVBRF9OT1RSQUNFKHJlZyksCisJCQkgICAgICAgICAocmVnX3ZhbHVlICYgbWFzaykgPT0gdmFs dWUsCisJCQkgICAgICAgICBzbG93X3RpbWVvdXRfbXMgKiAxMDAwLCAxMDAwKTsKKworCWlmIChv dXRfdmFsdWUpCisJCSpvdXRfdmFsdWUgPSByZWdfdmFsdWU7CiAKIAlyZXR1cm4gcmV0OwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuaAppbmRleCA5Y2UwNzliNWRkMGQuLmJlZDAxOWVm MDAwZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmgKQEAgLTE2MywxMSArMTYzLDIz IEBAIHZvaWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXRfX2xvY2tlZChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB2b2lkIGludGVsX3VuY29yZV9mb3JjZXdha2VfdXNlcl9n ZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV91c2VyX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwog CitpbnQgX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCisJCQkgICAgICBpOTE1X3JlZ190IHJlZywKKwkJCSAgICAgIHUzMiBtYXNrLAor CQkJICAgICAgdTMyIHZhbHVlLAorCQkJICAgICAgdW5zaWduZWQgaW50IGZhc3RfdGltZW91dF91 cywKKwkJCSAgICAgIHVuc2lnbmVkIGludCBzbG93X3RpbWVvdXRfbXMsCisJCQkgICAgICB1MzIg Km91dF92YWx1ZSk7CitzdGF0aWMgaW5saW5lCiBpbnQgaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgIGk5MTVfcmVnX3QgcmVn LAogCQkJICAgIHUzMiBtYXNrLAogCQkJICAgIHUzMiB2YWx1ZSwKLQkJCSAgICB1bnNpZ25lZCBp bnQgdGltZW91dF9tcyk7CisJCQkgICAgdW5zaWduZWQgaW50IHRpbWVvdXRfbXMpCit7CisJcmV0 dXJuIF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoZGV2X3ByaXYsIHJlZywgbWFzaywgdmFsdWUs IDIsCisJCQkJCSB0aW1lb3V0X21zLCBOVUxMKTsKK30KIGludCBfX2ludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyX2Z3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgaTkxNV9y ZWdfdCByZWcsCiAJCQkJIHUzMiBtYXNrLAotLSAKMi4xNS4wLjUzMS5nMmNjYjMwMTJjOS1nb29n CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK