From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 2/3] drm: add support of syncobj timeline point wait v2 Date: Thu, 6 Sep 2018 16:57:33 +0800 Message-ID: <20180906085734.7320-2-david1.zhou@amd.com> References: <20180906085734.7320-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180906085734.7320-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: dri-devel@lists.freedesktop.org cG9pbnRzIGFycmF5IGlzIG9uZS10by1vbmUgbWF0Y2ggd2l0aCBzeW5jb2JqcyBhcnJheS4KdjI6 CmFkZCBzZXBlcmF0ZSBpb2N0bCBmb3IgdGltZWxpbmUgcG9pbnQgd2FpdCwgb3RoZXJ3aXNlIGJy ZWFrIHVhcGkuCgpTaWduZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaCB8ICAyICsKIGRyaXZlcnMv Z3B1L2RybS9kcm1faW9jdGwuYyAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29i ai5jICB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIGluY2x1ZGUvdWFw aS9kcm0vZHJtLmggICAgICAgICB8IDE0ICsrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNl cnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1faW50ZXJuYWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaAppbmRleCA0MDE3 OWM1ZmM2YjguLjFiZGJmMjI3M2I0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9p bnRlcm5hbC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaApAQCAtMTc4LDYg KzE3OCw4IEBAIGludCBkcm1fc3luY29ial9mZF90b19oYW5kbGVfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCQkgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dmF0ZSk7CiBpbnQgZHJtX3N5bmNvYmpfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOworaW50 IGRybV9zeW5jb2JqX3RpbWVsaW5lX3dhaXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKKwkJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50 IGRybV9zeW5jb2JqX3Jlc2V0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCiAJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50IGRybV9zeW5j b2JqX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9pb2N0bC5jCmluZGV4IGVhMTBlOWEyNmFhZC4uOTJkOTQ4Njc3NDZiIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0 bC5jCkBAIC02NjksNiArNjY5LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVz YyBkcm1faW9jdGxzW10gPSB7CiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9X KSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1dBSVQsIGRybV9zeW5jb2JqX3dh aXRfaW9jdGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1dBSVQsIGRybV9zeW5jb2JqX3Rp bWVsaW5lX3dhaXRfaW9jdGwsCisJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9X KSwKIAlEUk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1JFU0VULCBkcm1fc3luY29ial9y ZXNldF9pb2N0bCwKIAkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogCURS TV9JT0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCBkcm1fc3luY29ial9zaWduYWxf aW9jdGwsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fc3luY29iai5jCmluZGV4IDk0YjMxZGUyMzg1OC4uOTY0M2IzOTU0M2U2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYworKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX3N5bmNvYmouYwpAQCAtMTAwMCw2ICsxMDAwLDcgQEAgc3RhdGljIHZvaWQg c3luY29ial93YWl0X2ZlbmNlX2Z1bmMoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsCiB9CiAKIHN0 YXRpYyBzaWduZWQgbG9uZyBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3RydWN0IGRy bV9zeW5jb2JqICoqc3luY29ianMsCisJCQkJCQkgIHZvaWQgX191c2VyICp1c2VyX3BvaW50cywK IAkJCQkJCSAgdWludDMyX3QgY291bnQsCiAJCQkJCQkgIHVpbnQzMl90IGZsYWdzLAogCQkJCQkJ ICBzaWduZWQgbG9uZyB0aW1lb3V0LApAQCAtMTAwNywxMyArMTAwOCwyNyBAQCBzdGF0aWMgc2ln bmVkIGxvbmcgZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN0cnVjdCBkcm1fc3luY29i aiAqKnN5bmNvYmpzLAogewogCXN0cnVjdCBzeW5jb2JqX3dhaXRfZW50cnkgKmVudHJpZXM7CiAJ c3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJdWludDY0X3QgKnBvaW50czsKIAlzaWduZWQgbG9u ZyByZXQ7CiAJdWludDMyX3Qgc2lnbmFsZWRfY291bnQsIGk7CiAKLQllbnRyaWVzID0ga2NhbGxv Yyhjb3VudCwgc2l6ZW9mKCplbnRyaWVzKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFlbnRyaWVzKQor CXBvaW50cyA9IGttYWxsb2NfYXJyYXkoY291bnQsIHNpemVvZigqcG9pbnRzKSwgR0ZQX0tFUk5F TCk7CisJaWYgKHBvaW50cyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWlmICghdXNl cl9wb2ludHMpIHsKKwkJbWVtc2V0KHBvaW50cywgMCwgY291bnQgKiBzaXplb2YodWludDY0X3Qp KTsKKwl9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKHBvaW50cywgdXNlcl9wb2ludHMsIHNpemVv Zih1aW50NjRfdCkgKiBjb3VudCkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBlcnJfZnJl ZV9wb2ludHM7CisJfQorCisKKwllbnRyaWVzID0ga2NhbGxvYyhjb3VudCwgc2l6ZW9mKCplbnRy aWVzKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFlbnRyaWVzKSB7CisJCXJldCA9IC1FTk9NRU07CisJ CWdvdG8gZXJyX2ZyZWVfcG9pbnRzOworCX0KIAkvKiBXYWxrIHRoZSBsaXN0IG9mIHN5bmMgb2Jq ZWN0cyBhbmQgaW5pdGlhbGl6ZSBlbnRyaWVzLiAgV2UgZG8KIAkgKiB0aGlzIHVwLWZyb250IHNv IHRoYXQgd2UgY2FuIHByb3Blcmx5IHJldHVybiAtRUlOVkFMIGlmIHRoZXJlIGlzCiAJICogYSBz eW5jb2JqIHdpdGggYSBtaXNzaW5nIGZlbmNlIGFuZCB0aGVuIG5ldmVyIGhhdmUgdGhlIGNoYW5j ZSBvZgpAQCAtMTAyMiw3ICsxMDM3LDcgQEAgc3RhdGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2Jq X2FycmF5X3dhaXRfdGltZW91dChzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKIAlzaWdu YWxlZF9jb3VudCA9IDA7CiAJZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKIAkJZW50cmll c1tpXS50YXNrID0gY3VycmVudDsKLQkJcmV0ID0gZHJtX3N5bmNvYmpfc2VhcmNoX2ZlbmNlKHN5 bmNvYmpzW2ldLCAwLCAwLAorCQlyZXQgPSBkcm1fc3luY29ial9zZWFyY2hfZmVuY2Uoc3luY29i anNbaV0sIHBvaW50c1tpXSwgMCwKIAkJCQkJICAgICAgICZlbnRyaWVzW2ldLmZlbmNlKTsKIAkJ aWYgKCFlbnRyaWVzW2ldLmZlbmNlKSB7CiAJCQlyZXQgPSAtRUlOVkFMOwpAQCAtMTEwOCw2ICsx MTIzLDkgQEAgc3RhdGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dhaXRfdGltZW91 dChzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcywKIAl9CiAJa2ZyZWUoZW50cmllcyk7CiAK K2Vycl9mcmVlX3BvaW50czoKKwlrZnJlZShwb2ludHMpOworCiAJcmV0dXJuIHJldDsKIH0KIApA QCAtMTE0NiwxNiArMTE2NCwyNSBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3RpbWVvdXRfYWJz X3RvX2ppZmZpZXMoaW50NjRfdCB0aW1lb3V0X25zZWMpCiBzdGF0aWMgaW50IGRybV9zeW5jb2Jq X2FycmF5X3dhaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2YXRlLAogCQkJCSAgc3RydWN0IGRybV9zeW5jb2JqX3dhaXQgKndhaXQsCi0J CQkJICBzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2JqcykKKwkJCQkgIHN0cnVjdCBkcm1fc3lu Y29ial90aW1lbGluZV93YWl0ICp0aW1lbGluZV93YWl0LAorCQkJCSAgc3RydWN0IGRybV9zeW5j b2JqICoqc3luY29ianMsIGJvb2wgdGltZWxpbmUpCiB7CiAJc2lnbmVkIGxvbmcgdGltZW91dCA9 IGRybV90aW1lb3V0X2Fic190b19qaWZmaWVzKHdhaXQtPnRpbWVvdXRfbnNlYyk7CiAJc2lnbmVk IGxvbmcgcmV0ID0gMDsKIAl1aW50MzJfdCBmaXJzdCA9IH4wOwogCi0JcmV0ID0gZHJtX3N5bmNv YmpfYXJyYXlfd2FpdF90aW1lb3V0KHN5bmNvYmpzLAotCQkJCQkgICAgIHdhaXQtPmNvdW50X2hh bmRsZXMsCi0JCQkJCSAgICAgd2FpdC0+ZmxhZ3MsCi0JCQkJCSAgICAgdGltZW91dCwgJmZpcnN0 KTsKKwlpZiAoIXRpbWVsaW5lKQorCQlyZXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVv dXQoc3luY29ianMsCisJCQkJCQkgICAgIE5VTEwsCisJCQkJCQkgICAgIHdhaXQtPmNvdW50X2hh bmRsZXMsCisJCQkJCQkgICAgIHdhaXQtPmZsYWdzLAorCQkJCQkJICAgICB0aW1lb3V0LCAmZmly c3QpOworCWVsc2UKKwkJcmV0ID0gZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN5bmNv YmpzLAorCQkJCQkJICAgICB1NjRfdG9fdXNlcl9wdHIodGltZWxpbmVfd2FpdC0+cG9pbnRzKSwK KwkJCQkJCSAgICAgdGltZWxpbmVfd2FpdC0+Y291bnRfaGFuZGxlcywKKwkJCQkJCSAgICAgdGlt ZWxpbmVfd2FpdC0+ZmxhZ3MsCisJCQkJCQkgICAgIHRpbWVvdXQsICZmaXJzdCk7CiAJaWYgKHJl dCA8IDApCiAJCXJldHVybiByZXQ7CiAKQEAgLTEyNDcsMTMgKzEyNzQsNDcgQEAgZHJtX3N5bmNv Ympfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlyZXR1 cm4gcmV0OwogCiAJcmV0ID0gZHJtX3N5bmNvYmpfYXJyYXlfd2FpdChkZXYsIGZpbGVfcHJpdmF0 ZSwKLQkJCQkgICAgIGFyZ3MsIHN5bmNvYmpzKTsKKwkJCQkgICAgIGFyZ3MsIE5VTEwsIHN5bmNv YmpzLCBmYWxzZSk7CisKKwlkcm1fc3luY29ial9hcnJheV9mcmVlKHN5bmNvYmpzLCBhcmdzLT5j b3VudF9oYW5kbGVzKTsKKworCXJldHVybiByZXQ7Cit9CisKK2ludAorZHJtX3N5bmNvYmpfdGlt ZWxpbmVfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJ CXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQoreworCXN0cnVjdCBkcm1fc3luY29ial90 aW1lbGluZV93YWl0ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2Jq czsKKwlpbnQgcmV0ID0gMDsKKworCWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERS SVZFUl9TWU5DT0JKKSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlpZiAoYXJncy0+ZmxhZ3MgJiB+ KERSTV9TWU5DT0JKX1dBSVRfRkxBR1NfV0FJVF9BTEwgfAorCQkJICAgIERSTV9TWU5DT0JKX1dB SVRfRkxBR1NfV0FJVF9GT1JfU1VCTUlUKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoYXJn cy0+Y291bnRfaGFuZGxlcyA9PSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IGRybV9z eW5jb2JqX2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAorCQkJCSAgICAgdTY0X3RvX3VzZXJfcHRy KGFyZ3MtPmhhbmRsZXMpLAorCQkJCSAgICAgYXJncy0+Y291bnRfaGFuZGxlcywKKwkJCQkgICAg ICZzeW5jb2Jqcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlyZXQgPSBkcm1f c3luY29ial9hcnJheV93YWl0KGRldiwgZmlsZV9wcml2YXRlLAorCQkJCSAgICAgTlVMTCwgYXJn cywgc3luY29ianMsIHRydWUpOwogCiAJZHJtX3N5bmNvYmpfYXJyYXlfZnJlZShzeW5jb2Jqcywg YXJncy0+Y291bnRfaGFuZGxlcyk7CiAKIAlyZXR1cm4gcmV0OwogfQogCisKIGludAogZHJtX3N5 bmNvYmpfcmVzZXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJ CXN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2RybS9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKaW5kZXggY2ViZGIyNTQxZWI3Li41 MDFlODZkODFmNDcgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKKysrIGIvaW5j bHVkZS91YXBpL2RybS9kcm0uaApAQCAtNzQ4LDYgKzc0OCwxOSBAQCBzdHJ1Y3QgZHJtX3N5bmNv Ympfd2FpdCB7CiAJX191MzIgcGFkOwogfTsKIAorc3RydWN0IGRybV9zeW5jb2JqX3RpbWVsaW5l X3dhaXQgeworCV9fdTY0IGhhbmRsZXM7CisJLyogd2FpdCBvbiBzcGVjaWZpYyB0aW1lbGluZSBw b2ludCBmb3IgZXZlcnkgaGFuZGxlcyovCisJX191NjQgcG9pbnRzOworCS8qIGFic29sdXRlIHRp bWVvdXQgKi8KKwlfX3M2NCB0aW1lb3V0X25zZWM7CisJX191MzIgY291bnRfaGFuZGxlczsKKwlf X3UzMiBmbGFnczsKKwlfX3UzMiBmaXJzdF9zaWduYWxlZDsgLyogb25seSB2YWxpZCB3aGVuIG5v dCB3YWl0aW5nIGFsbCAqLworCV9fdTMyIHBhZDsKK307CisKKwogc3RydWN0IGRybV9zeW5jb2Jq X2FycmF5IHsKIAlfX3U2NCBoYW5kbGVzOwogCV9fdTMyIGNvdW50X2hhbmRsZXM7CkBAIC05MTAs NiArOTIzLDcgQEAgZXh0ZXJuICJDIiB7CiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX0dFVF9MRUFT RQlEUk1fSU9XUigweEM4LCBzdHJ1Y3QgZHJtX21vZGVfZ2V0X2xlYXNlKQogI2RlZmluZSBEUk1f SU9DVExfTU9ERV9SRVZPS0VfTEVBU0UJRFJNX0lPV1IoMHhDOSwgc3RydWN0IGRybV9tb2RlX3Jl dm9rZV9sZWFzZSkKIAorI2RlZmluZSBEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlUCURS TV9JT1dSKDB4Q0EsIHN0cnVjdCBkcm1fc3luY29ial90aW1lbGluZV93YWl0KQogLyoqCiAgKiBE ZXZpY2Ugc3BlY2lmaWMgaW9jdGxzIHNob3VsZCBvbmx5IGJlIGluIHRoZWlyIHJlc3BlY3RpdmUg aGVhZGVycwogICogVGhlIGRldmljZSBzcGVjaWZpYyBpb2N0bCByYW5nZSBpcyBmcm9tIDB4NDAg dG8gMHg5Zi4KLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==