From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v4 3/5] drm/i915: Add timeline barrier support Date: Fri, 25 Jan 2019 17:06:47 +0000 Message-ID: <20190125170647.11333-1-tvrtko.ursulin@linux.intel.com> References: <20190125152441.5080-4-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4FEBB6F30A for ; Fri, 25 Jan 2019 17:06:48 +0000 (UTC) In-Reply-To: <20190125152441.5080-4-tvrtko.ursulin@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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRpbWVsaW5l IGJhcnJpZXIgYWxsb3dzIHNlcmlhbGl6YXRpb24gYmV0d2VlbiBkaWZmZXJlbnQgdGltZWxpbmVz LgoKQWZ0ZXIgY2FsbGluZyBpOTE1X3RpbWVsaW5lX3NldF9iYXJyaWVyIHdpdGggYSByZXF1ZXN0 LCBhbGwgZm9sbG93aW5nCnN1Ym1pc3Npb25zIG9uIHRoaXMgdGltZWxpbmUgd2lsbCBiZSBzZXQg dXAgYXMgZGVwZW5kaW5nIG9uIHRoaXMgcmVxdWVzdCwKb3IgYmFycmllci4gT25jZSB0aGUgYmFy cmllciBoYXMgYmVlbiBjb21wbGV0ZWQgaXQgYXV0b21hdGljYWxseSBnZXRzCmNsZWFyZWQgYW5k IHRoaW5ncyBjb250aW51ZSBhcyBub3JtYWwuCgpUaGlzIGZhY2lsaXR5IHdpbGwgYmUgdXNlZCBi eSB0aGUgdXBjb21pbmcgY29udGV4dCBTU0VVIGNvZGUuCgp2MjoKICogQXNzZXJ0IGJhcnJpZXIg aGFzIGJlZW4gcmV0aXJlZCBvbiB0aW1lbGluZV9maW5pLiAoQ2hyaXMgV2lsc29uKQogKiBGaXgg bW9ja190aW1lbGluZS4KCnYzOgogKiBJbXByb3ZlZCBjb21tZW50IGxhbmd1YWdlLiAoQ2hyaXMg V2lsc29uKQoKdjQ6CiAqIE1haW50YWluIG9yZGVyaW5nIHdpdGggcHJldmlvdXMgYmFycmllcnMg c2V0IG9uIHRoZSB0aW1lbGluZS4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0 a28udXJzdWxpbkBpbnRlbC5jb20+ClN1Z2dlc3RlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0Bj aHJpcy13aWxzb24uY28udWs+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jICAgICAgICAgICB8IDE3 ICsrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMgICAg ICAgICAgfCAyMSArKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dGltZWxpbmUuaCAgICAgICAgICB8IDIyICsrKysrKysrKysrKysrKysrKysKIC4uLi9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYyAgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdl ZCwgNjEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKaW5kZXgg ZjQyNDFhMTdlMmFkLi44OTRiMzIyNTgzNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVz dC5jCkBAIC01MTcsNiArNTE3LDE5IEBAIGk5MTVfcmVxdWVzdF9hbGxvY19zbG93KHN0cnVjdCBp bnRlbF9jb250ZXh0ICpjZSkKIAlyZXR1cm4ga21lbV9jYWNoZV9hbGxvYyhjZS0+Z2VtX2NvbnRl eHQtPmk5MTUtPnJlcXVlc3RzLCBHRlBfS0VSTkVMKTsKIH0KIAorc3RhdGljIGludCBhZGRfYmFy cmllcihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgc3RydWN0IGk5MTVfZ2VtX2FjdGl2ZSAqYWN0 aXZlKQoreworCXN0cnVjdCBpOTE1X3JlcXVlc3QgKmJhcnJpZXIgPQorCQlpOTE1X2dlbV9hY3Rp dmVfcmF3KGFjdGl2ZSwgJnJxLT5pOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKworCXJldHVybiBi YXJyaWVyID8gaTkxNV9yZXF1ZXN0X2F3YWl0X2RtYV9mZW5jZShycSwgJmJhcnJpZXItPmZlbmNl KSA6IDA7Cit9CisKK3N0YXRpYyBpbnQgYWRkX3RpbWVsaW5lX2JhcnJpZXIoc3RydWN0IGk5MTVf cmVxdWVzdCAqcnEpCit7CisJcmV0dXJuIGFkZF9iYXJyaWVyKHJxLCAmcnEtPnRpbWVsaW5lLT5i YXJyaWVyKTsKK30KKwogLyoqCiAgKiBpOTE1X3JlcXVlc3RfYWxsb2MgLSBhbGxvY2F0ZSBhIHJl cXVlc3Qgc3RydWN0dXJlCiAgKgpAQCAtNjYwLDYgKzY3MywxMCBAQCBpOTE1X3JlcXVlc3RfYWxs b2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4 dCAqY3R4KQogCSAqLwogCXJxLT5oZWFkID0gcnEtPnJpbmctPmVtaXQ7CiAKKwlyZXQgPSBhZGRf dGltZWxpbmVfYmFycmllcihycSk7CisJaWYgKHJldCkKKwkJZ290byBlcnJfdW53aW5kOworCiAJ cmV0ID0gZW5naW5lLT5yZXF1ZXN0X2FsbG9jKHJxKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl91 bndpbmQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMKaW5kZXggNDY2N2NjMDhjNDE2 Li42ZDU3NzRjYjg1MDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGlt ZWxpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMKQEAgLTMz LDYgKzMzLDcgQEAgdm9pZCBpOTE1X3RpbWVsaW5lX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUsCiAKIAlzcGluX2xvY2tfaW5pdCgmdGltZWxpbmUtPmxvY2spOwogCisJaW5pdF9y ZXF1ZXN0X2FjdGl2ZSgmdGltZWxpbmUtPmJhcnJpZXIsIE5VTEwpOwogCWluaXRfcmVxdWVzdF9h Y3RpdmUoJnRpbWVsaW5lLT5sYXN0X3JlcXVlc3QsIE5VTEwpOwogCUlOSVRfTElTVF9IRUFEKCZ0 aW1lbGluZS0+cmVxdWVzdHMpOwogCkBAIC02OSw2ICs3MCw3IEBAIHZvaWQgaTkxNV90aW1lbGlu ZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHZvaWQgaTkxNV90aW1lbGlu ZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSkKIHsKIAlHRU1fQlVHX09OKCFs aXN0X2VtcHR5KCZ0aW1lbGluZS0+cmVxdWVzdHMpKTsKKwlHRU1fQlVHX09OKGk5MTVfZ2VtX2Fj dGl2ZV9pc3NldCgmdGltZWxpbmUtPmJhcnJpZXIpKTsKIAogCWk5MTVfc3luY21hcF9mcmVlKCZ0 aW1lbGluZS0+c3luYyk7CiAKQEAgLTkwLDYgKzkyLDI1IEBAIGk5MTVfdGltZWxpbmVfY3JlYXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBjb25zdCBjaGFyICpuYW1lKQogCXJldHVy biB0aW1lbGluZTsKIH0KIAoraW50IGk5MTVfdGltZWxpbmVfc2V0X2JhcnJpZXIoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRsLCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKK3sKKwlzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpvbGQ7CisJaW50IGVycjsKKworCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJnJxLT5p OTE1LT5kcm0uc3RydWN0X211dGV4KTsKKworCS8qIE11c3QgbWFpbnRhaW4gb3JkZXJpbmcgd3J0 IGV4aXN0aW5nIGJhcnJpZXJzICovCisJb2xkID0gaTkxNV9nZW1fYWN0aXZlX3JhdygmdGwtPmJh cnJpZXIsICZycS0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CisJaWYgKG9sZCkgeworCQllcnIg PSBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHJxLCAmb2xkLT5mZW5jZSk7CisJCWlmIChl cnIpCisJCQlyZXR1cm4gZXJyOworCX0KKworCWk5MTVfZ2VtX2FjdGl2ZV9zZXQoJnRsLT5iYXJy aWVyLCBycSk7CisJcmV0dXJuIDA7Cit9CisKIHZvaWQgX19pOTE1X3RpbWVsaW5lX2ZyZWUoc3Ry dWN0IGtyZWYgKmtyZWYpCiB7CiAJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lID0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAppbmRleCAzOGMxZTE1ZTkyN2EuLmM4ZDcxMTdi YjIwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaApAQCAtNjQsNiArNjQsMTYg QEAgc3RydWN0IGk5MTVfdGltZWxpbmUgewogCSAqLwogCXN0cnVjdCBpOTE1X3N5bmNtYXAgKnN5 bmM7CiAKKwkvKioKKwkgKiBCYXJyaWVyIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIHNlcmlhbGl6 ZSBvcmRlcmluZyBiZXR3ZWVuIGRpZmZlcmVudAorCSAqIHRpbWVsaW5lcy4KKwkgKgorCSAqIFVz ZXJzIGNhbiBjYWxsIGk5MTVfdGltZWxpbmVfc2V0X2JhcnJpZXIgd2hpY2ggd2lsbCBtYWtlIGFs bAorCSAqIHN1YnNlcXVlbnQgc3VibWlzc2lvbnMgdG8gdGhpcyB0aW1lbGluZSBiZSBleGVjdXRl ZCBvbmx5IGFmdGVyIHRoZQorCSAqIGJhcnJpZXIgaGFzIGJlZW4gY29tcGxldGVkLgorCSAqLwor CXN0cnVjdCBpOTE1X2dlbV9hY3RpdmUgYmFycmllcjsKKwogCXN0cnVjdCBsaXN0X2hlYWQgbGlu azsKIAljb25zdCBjaGFyICpuYW1lOwogCkBAIC0xMzYsNCArMTQ2LDE2IEBAIHN0YXRpYyBpbmxp bmUgYm9vbCBpOTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsLAogCiB2b2lkIGk5MTVfdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpOwogCisvKioKKyAqIGk5MTVfdGltZWxpbmVfc2V0X2JhcnJpZXIgLSBvcmRlcnMgc3Vi bWlzc2lvbiBiZXR3ZWVuIGRpZmZlcmVudCB0aW1lbGluZXMKKyAqIEB0aW1lbGluZTogdGltZWxp bmUgdG8gc2V0IHRoZSBiYXJyaWVyIG9uCisgKiBAcnE6IHJlcXVlc3QgYWZ0ZXIgd2hpY2ggbmV3 IHN1Ym1pc3Npb25zIGNhbiBwcm9jZWVkCisgKgorICogU2V0cyB0aGUgcGFzc2VkIGluIHJlcXVl c3QgYXMgdGhlIHNlcmlhbGl6YXRpb24gcG9pbnQgZm9yIGFsbCBzdWJzZXF1ZW50CisgKiBzdWJt aXNzaW9ucyBvbiBAdGltZWxpbmUuIFN1YnNlcXVlbnQgcmVxdWVzdHMgd2lsbCBub3QgYmUgc3Vi bWl0dGVkIHRvIEdQVQorICogdW50aWwgdGhlIGJhcnJpZXIgaGFzIGJlZW4gY29tcGxldGVkLgor ICovCitpbnQgaTkxNV90aW1lbGluZV9zZXRfYmFycmllcihzdHJ1Y3QgaTkxNV90aW1lbGluZSAq dGltZWxpbmUsCisJCQkgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSk7CisKICNlbmRpZgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKaW5kZXgg ZGNmM2IxNmY1YTA3Li40MDgxMTNjMWNjNjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYwpAQCAtMTQsNiArMTQsNyBAQCB2b2lkIG1vY2tfdGlt ZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQog CiAJc3Bpbl9sb2NrX2luaXQoJnRpbWVsaW5lLT5sb2NrKTsKIAorCWluaXRfcmVxdWVzdF9hY3Rp dmUoJnRpbWVsaW5lLT5iYXJyaWVyLCBOVUxMKTsKIAlpbml0X3JlcXVlc3RfYWN0aXZlKCZ0aW1l bGluZS0+bGFzdF9yZXF1ZXN0LCBOVUxMKTsKIAlJTklUX0xJU1RfSEVBRCgmdGltZWxpbmUtPnJl cXVlc3RzKTsKIAotLSAKMi4xOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK