From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 6/9] drm: add support of syncobj timeline point wait v2 Date: Wed, 12 Sep 2018 17:48:48 +0800 Message-ID: <20180912094851.824-6-david1.zhou@amd.com> References: <20180912094851.824-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: <20180912094851.824-1-david1.zhou@amd.com> 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 Cc: amd-gfx@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org cG9pbnRzIGFycmF5IGlzIG9uZS10by1vbmUgbWF0Y2ggd2l0aCBzeW5jb2JqcyBhcnJheS4KdjI6 CmFkZCBzZXBlcmF0ZSBpb2N0bCBmb3IgdGltZWxpbmUgcG9pbnQgd2FpdCwgb3RoZXJ3aXNlIGJy ZWFrIHVhcGkuCgpTaWduZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1faW50ZXJuYWwuaCB8ICAyICsKIGRyaXZlcnMv Z3B1L2RybS9kcm1faW9jdGwuYyAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29i ai5jICB8IDg3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIGluY2x1ZGUvdWFw aS9kcm0vZHJtLmggICAgICAgICB8IDE0ICsrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2ludGVybmFsLmggYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKaW5kZXggNDAx NzljNWZjNmI4Li4xYmRiZjIyNzNiNDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f aW50ZXJuYWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVybmFsLmgKQEAgLTE3OCw2 ICsxNzgsOCBAQCBpbnQgZHJtX3N5bmNvYmpfZmRfdG9faGFuZGxlX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpOwogaW50IGRybV9zeW5jb2JqX3dhaXRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgdm9pZCAqZGF0YSwKIAkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKK2lu dCBkcm1fc3luY29ial90aW1lbGluZV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCisJCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKIGlu dCBkcm1fc3luY29ial9yZXNldF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2YXRlKTsKIGludCBkcm1fc3lu Y29ial9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1faW9jdGwuYwppbmRleCBlYTEwZTlhMjZhYWQuLjkyZDk0ODY3NzQ2YiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9j dGwuYwpAQCAtNjY5LDYgKzY2OSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rl c2MgZHJtX2lvY3Rsc1tdID0gewogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExP VyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9XQUlULCBkcm1fc3luY29ial93 YWl0X2lvY3RsLAogCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyksCisJRFJN X0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9XQUlULCBkcm1fc3luY29ial90 aW1lbGluZV93YWl0X2lvY3RsLAorCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExP VyksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9SRVNFVCwgZHJtX3N5bmNvYmpf cmVzZXRfaW9jdGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlE Uk1fSU9DVExfREVGKERSTV9JT0NUTF9TWU5DT0JKX1NJR05BTCwgZHJtX3N5bmNvYmpfc2lnbmFs X2lvY3RsLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCA1MDJjZGYzMTNhZWEuLmJjYjNiYTAwMjk4 NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTk3Niw2ICs5NzYsNyBAQCBzdGF0aWMgdm9pZCBz eW5jb2JqX3dhaXRfZmVuY2VfZnVuYyhzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwKIH0KIAogc3Rh dGljIHNpZ25lZCBsb25nIGRybV9zeW5jb2JqX2FycmF5X3dhaXRfdGltZW91dChzdHJ1Y3QgZHJt X3N5bmNvYmogKipzeW5jb2JqcywKKwkJCQkJCSAgdm9pZCBfX3VzZXIgKnVzZXJfcG9pbnRzLAog CQkJCQkJICB1aW50MzJfdCBjb3VudCwKIAkJCQkJCSAgdWludDMyX3QgZmxhZ3MsCiAJCQkJCQkg IHNpZ25lZCBsb25nIHRpbWVvdXQsCkBAIC05ODMsMTMgKzk4NCwyNyBAQCBzdGF0aWMgc2lnbmVk IGxvbmcgZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN0cnVjdCBkcm1fc3luY29iaiAq KnN5bmNvYmpzLAogewogCXN0cnVjdCBzeW5jb2JqX3dhaXRfZW50cnkgKmVudHJpZXM7CiAJc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJdWludDY0X3QgKnBvaW50czsKIAlzaWduZWQgbG9uZyBy ZXQ7CiAJdWludDMyX3Qgc2lnbmFsZWRfY291bnQsIGk7CiAKLQllbnRyaWVzID0ga2NhbGxvYyhj b3VudCwgc2l6ZW9mKCplbnRyaWVzKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFlbnRyaWVzKQorCXBv aW50cyA9IGttYWxsb2NfYXJyYXkoY291bnQsIHNpemVvZigqcG9pbnRzKSwgR0ZQX0tFUk5FTCk7 CisJaWYgKHBvaW50cyA9PSBOVUxMKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCWlmICghdXNlcl9w b2ludHMpIHsKKwkJbWVtc2V0KHBvaW50cywgMCwgY291bnQgKiBzaXplb2YodWludDY0X3QpKTsK Kwl9IGVsc2UgaWYgKGNvcHlfZnJvbV91c2VyKHBvaW50cywgdXNlcl9wb2ludHMsIHNpemVvZih1 aW50NjRfdCkgKiBjb3VudCkpIHsKKwkJcmV0ID0gLUVGQVVMVDsKKwkJZ290byBlcnJfZnJlZV9w b2ludHM7CisJfQorCisKKwllbnRyaWVzID0ga2NhbGxvYyhjb3VudCwgc2l6ZW9mKCplbnRyaWVz KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFlbnRyaWVzKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdv dG8gZXJyX2ZyZWVfcG9pbnRzOworCX0KIAkvKiBXYWxrIHRoZSBsaXN0IG9mIHN5bmMgb2JqZWN0 cyBhbmQgaW5pdGlhbGl6ZSBlbnRyaWVzLiAgV2UgZG8KIAkgKiB0aGlzIHVwLWZyb250IHNvIHRo YXQgd2UgY2FuIHByb3Blcmx5IHJldHVybiAtRUlOVkFMIGlmIHRoZXJlIGlzCiAJICogYSBzeW5j b2JqIHdpdGggYSBtaXNzaW5nIGZlbmNlIGFuZCB0aGVuIG5ldmVyIGhhdmUgdGhlIGNoYW5jZSBv ZgpAQCAtOTk4LDcgKzEwMTMsNyBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3N5bmNvYmpfYXJy YXlfd2FpdF90aW1lb3V0KHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzLAogCXNpZ25hbGVk X2NvdW50ID0gMDsKIAlmb3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewogCQllbnRyaWVzW2ld LnRhc2sgPSBjdXJyZW50OwotCQlyZXQgPSBkcm1fc3luY29ial9zZWFyY2hfZmVuY2Uoc3luY29i anNbaV0sIDAsIDAsCisJCXJldCA9IGRybV9zeW5jb2JqX3NlYXJjaF9mZW5jZShzeW5jb2Jqc1tp XSwgcG9pbnRzW2ldLCAwLAogCQkJCQkgICAgICAgJmVudHJpZXNbaV0uZmVuY2UpOwogCQlpZiAo IWVudHJpZXNbaV0uZmVuY2UpIHsKIAkJCXJldCA9IC1FSU5WQUw7CkBAIC0xMDg0LDYgKzEwOTks OSBAQCBzdGF0aWMgc2lnbmVkIGxvbmcgZHJtX3N5bmNvYmpfYXJyYXlfd2FpdF90aW1lb3V0KHN0 cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzLAogCX0KIAlrZnJlZShlbnRyaWVzKTsKIAorZXJy X2ZyZWVfcG9pbnRzOgorCWtmcmVlKHBvaW50cyk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0x MTIyLDIwICsxMTQwLDMzIEBAIHN0YXRpYyBzaWduZWQgbG9uZyBkcm1fdGltZW91dF9hYnNfdG9f amlmZmllcyhpbnQ2NF90IHRpbWVvdXRfbnNlYykKIHN0YXRpYyBpbnQgZHJtX3N5bmNvYmpfYXJy YXlfd2FpdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXZhdGUsCiAJCQkJICBzdHJ1Y3QgZHJtX3N5bmNvYmpfd2FpdCAqd2FpdCwKLQkJCQkg IHN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzKQorCQkJCSAgc3RydWN0IGRybV9zeW5jb2Jq X3RpbWVsaW5lX3dhaXQgKnRpbWVsaW5lX3dhaXQsCisJCQkJICBzdHJ1Y3QgZHJtX3N5bmNvYmog KipzeW5jb2JqcywgYm9vbCB0aW1lbGluZSkKIHsKLQlzaWduZWQgbG9uZyB0aW1lb3V0ID0gZHJt X3RpbWVvdXRfYWJzX3RvX2ppZmZpZXMod2FpdC0+dGltZW91dF9uc2VjKTsKKwlzaWduZWQgbG9u ZyB0aW1lb3V0ID0gMDsKIAlzaWduZWQgbG9uZyByZXQgPSAwOwogCXVpbnQzMl90IGZpcnN0ID0g fjA7CiAKLQlyZXQgPSBkcm1fc3luY29ial9hcnJheV93YWl0X3RpbWVvdXQoc3luY29ianMsCi0J CQkJCSAgICAgd2FpdC0+Y291bnRfaGFuZGxlcywKLQkJCQkJICAgICB3YWl0LT5mbGFncywKLQkJ CQkJICAgICB0aW1lb3V0LCAmZmlyc3QpOworCWlmICghdGltZWxpbmUpIHsKKwkJdGltZW91dCA9 IGRybV90aW1lb3V0X2Fic190b19qaWZmaWVzKHdhaXQtPnRpbWVvdXRfbnNlYyk7CisJCXJldCA9 IGRybV9zeW5jb2JqX2FycmF5X3dhaXRfdGltZW91dChzeW5jb2JqcywKKwkJCQkJCSAgICAgTlVM TCwKKwkJCQkJCSAgICAgd2FpdC0+Y291bnRfaGFuZGxlcywKKwkJCQkJCSAgICAgd2FpdC0+Zmxh Z3MsCisJCQkJCQkgICAgIHRpbWVvdXQsICZmaXJzdCk7CisJCXdhaXQtPmZpcnN0X3NpZ25hbGVk ID0gZmlyc3Q7CisJfSBlbHNlIHsKKwkJdGltZW91dCA9IGRybV90aW1lb3V0X2Fic190b19qaWZm aWVzKHRpbWVsaW5lX3dhaXQtPnRpbWVvdXRfbnNlYyk7CisJCXJldCA9IGRybV9zeW5jb2JqX2Fy cmF5X3dhaXRfdGltZW91dChzeW5jb2JqcywKKwkJCQkJCSAgICAgdTY0X3RvX3VzZXJfcHRyKHRp bWVsaW5lX3dhaXQtPnBvaW50cyksCisJCQkJCQkgICAgIHRpbWVsaW5lX3dhaXQtPmNvdW50X2hh bmRsZXMsCisJCQkJCQkgICAgIHRpbWVsaW5lX3dhaXQtPmZsYWdzLAorCQkJCQkJICAgICB0aW1l b3V0LCAmZmlyc3QpOworCQl0aW1lbGluZV93YWl0LT5maXJzdF9zaWduYWxlZCA9IGZpcnN0Owor CX0KIAlpZiAocmV0IDwgMCkKIAkJcmV0dXJuIHJldDsKIAotCXdhaXQtPmZpcnN0X3NpZ25hbGVk ID0gZmlyc3Q7CiAJaWYgKHJldCA9PSAwKQogCQlyZXR1cm4gLUVUSU1FOwogCXJldHVybiAwOwpA QCAtMTIyMywxMyArMTI1NCw0NyBAQCBkcm1fc3luY29ial93YWl0X2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXJldHVybiByZXQ7CiAKIAlyZXQgPSBkcm1fc3lu Y29ial9hcnJheV93YWl0KGRldiwgZmlsZV9wcml2YXRlLAotCQkJCSAgICAgYXJncywgc3luY29i anMpOworCQkJCSAgICAgYXJncywgTlVMTCwgc3luY29ianMsIGZhbHNlKTsKIAogCWRybV9zeW5j b2JqX2FycmF5X2ZyZWUoc3luY29ianMsIGFyZ3MtPmNvdW50X2hhbmRsZXMpOwogCiAJcmV0dXJu IHJldDsKIH0KIAoraW50Citkcm1fc3luY29ial90aW1lbGluZV93YWl0X2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpCit7CisJc3RydWN0IGRybV9zeW5jb2JqX3RpbWVsaW5lX3dhaXQgKmFyZ3MgPSBkYXRh OworCXN0cnVjdCBkcm1fc3luY29iaiAqKnN5bmNvYmpzOworCWludCByZXQgPSAwOworCisJaWYg KCFkcm1fY29yZV9jaGVja19mZWF0dXJlKGRldiwgRFJJVkVSX1NZTkNPQkopKQorCQlyZXR1cm4g LUVOT0RFVjsKKworCWlmIChhcmdzLT5mbGFncyAmIH4oRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19X QUlUX0FMTCB8CisJCQkgICAgRFJNX1NZTkNPQkpfV0FJVF9GTEFHU19XQUlUX0ZPUl9TVUJNSVQp KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChhcmdzLT5jb3VudF9oYW5kbGVzID09IDApCisJ CXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gZHJtX3N5bmNvYmpfYXJyYXlfZmluZChmaWxlX3By aXZhdGUsCisJCQkJICAgICB1NjRfdG9fdXNlcl9wdHIoYXJncy0+aGFuZGxlcyksCisJCQkJICAg ICBhcmdzLT5jb3VudF9oYW5kbGVzLAorCQkJCSAgICAgJnN5bmNvYmpzKTsKKwlpZiAocmV0IDwg MCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9IGRybV9zeW5jb2JqX2FycmF5X3dhaXQoZGV2LCBm aWxlX3ByaXZhdGUsCisJCQkJICAgICBOVUxMLCBhcmdzLCBzeW5jb2JqcywgdHJ1ZSk7CisKKwlk cm1fc3luY29ial9hcnJheV9mcmVlKHN5bmNvYmpzLCBhcmdzLT5jb3VudF9oYW5kbGVzKTsKKwor CXJldHVybiByZXQ7Cit9CisKKwogaW50CiBkcm1fc3luY29ial9yZXNldF9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJc3RydWN0IGRybV9maWxlICpmaWxlX3By aXZhdGUpCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91YXBp L2RybS9kcm0uaAppbmRleCBjZWJkYjI1NDFlYjcuLjUwMWU4NmQ4MWY0NyAxMDA2NDQKLS0tIGEv aW5jbHVkZS91YXBpL2RybS9kcm0uaAorKysgYi9pbmNsdWRlL3VhcGkvZHJtL2RybS5oCkBAIC03 NDgsNiArNzQ4LDE5IEBAIHN0cnVjdCBkcm1fc3luY29ial93YWl0IHsKIAlfX3UzMiBwYWQ7CiB9 OwogCitzdHJ1Y3QgZHJtX3N5bmNvYmpfdGltZWxpbmVfd2FpdCB7CisJX191NjQgaGFuZGxlczsK KwkvKiB3YWl0IG9uIHNwZWNpZmljIHRpbWVsaW5lIHBvaW50IGZvciBldmVyeSBoYW5kbGVzKi8K KwlfX3U2NCBwb2ludHM7CisJLyogYWJzb2x1dGUgdGltZW91dCAqLworCV9fczY0IHRpbWVvdXRf bnNlYzsKKwlfX3UzMiBjb3VudF9oYW5kbGVzOworCV9fdTMyIGZsYWdzOworCV9fdTMyIGZpcnN0 X3NpZ25hbGVkOyAvKiBvbmx5IHZhbGlkIHdoZW4gbm90IHdhaXRpbmcgYWxsICovCisJX191MzIg cGFkOworfTsKKworCiBzdHJ1Y3QgZHJtX3N5bmNvYmpfYXJyYXkgewogCV9fdTY0IGhhbmRsZXM7 CiAJX191MzIgY291bnRfaGFuZGxlczsKQEAgLTkxMCw2ICs5MjMsNyBAQCBleHRlcm4gIkMiIHsK ICNkZWZpbmUgRFJNX0lPQ1RMX01PREVfR0VUX0xFQVNFCURSTV9JT1dSKDB4QzgsIHN0cnVjdCBk cm1fbW9kZV9nZXRfbGVhc2UpCiAjZGVmaW5lIERSTV9JT0NUTF9NT0RFX1JFVk9LRV9MRUFTRQlE Uk1fSU9XUigweEM5LCBzdHJ1Y3QgZHJtX21vZGVfcmV2b2tlX2xlYXNlKQogCisjZGVmaW5lIERS TV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1dBSVQJRFJNX0lPV1IoMHhDQSwgc3RydWN0IGRybV9z eW5jb2JqX3RpbWVsaW5lX3dhaXQpCiAvKioKICAqIERldmljZSBzcGVjaWZpYyBpb2N0bHMgc2hv dWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBoZWFkZXJzCiAgKiBUaGUgZGV2aWNlIHNw ZWNpZmljIGlvY3RsIHJhbmdlIGlzIGZyb20gMHg0MCB0byAweDlmLgotLSAKMi4xNy4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK