From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 8/9] drm/syncobj: add timeline signal ioctl for syncobj v4 Date: Wed, 20 Mar 2019 13:47:23 +0800 Message-ID: <20190320054724.14636-8-david1.zhou@amd.com> References: <20190320054724.14636-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: <20190320054724.14636-1-david1.zhou-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx 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, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, lionel.g.landwerlin-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, jason-fQELhIk9awXprZlt/sZkLg@public.gmane.org, Christian.Koenig-5C7GfCeVMHo@public.gmane.org, Tobias.Hector-5C7GfCeVMHo@public.gmane.org Cc: Chunming Zhou , Chris Wilson , Dave Airlie djI6IGluZGl2aWR1YWxseSBhbGxvY2F0ZSBjaGFpbiBhcnJheSwgc2luY2UgY2hhaW4gbm9kZSBp cyBmcmVlIGluZGVwZW5kZW50bHkuCnYzOiBhbGwgZXhpc3RpbmcgcG9pbnRzIG11c3QgYmUgYWxy ZWFkeSBzaWduYWxlZCBiZWZvcmUgY3B1IHBlcmZvcm0gc2lnbmFsIG9wZXJhdGlvbiwKICAgIHNv IGFkZCBjaGVjayBjb25kaXRpb24gZm9yIHRoYXQuCnY0OiByZW1vdmUgdjMgY2hhbmdlIGFuZCBh ZGQgY2hlY2tpbmcgdG8gcHJldmVudCBvdXQtb2Ytb3JkZXIKClNpZ25lZC1vZmYtYnk6IENodW5t aW5nIFpob3UgPGRhdmlkMS56aG91QGFtZC5jb20+CkNjOiBUb2JpYXMgSGVjdG9yIDxUb2JpYXMu SGVjdG9yQGFtZC5jb20+CkNjOiBKYXNvbiBFa3N0cmFuZCA8amFzb25Aamxla3N0cmFuZC5uZXQ+ CkNjOiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxj aHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcu bGFuZHdlcmxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5o IHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jICAgIHwgIDIgKwogZHJpdmVycy9n cHUvZHJtL2RybV9zeW5jb2JqLmMgIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKwogaW5jbHVkZS91YXBpL2RybS9kcm0uaCAgICAgICAgIHwgIDEgKwogNCBmaWxlcyBjaGFu Z2VkLCA5OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9p bnRlcm5hbC5oIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCmluZGV4IGRkMTFhZTVm MWVlZi4uZDlhNDgzYTVmY2UwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ludGVy bmFsLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9pbnRlcm5hbC5oCkBAIC0xOTAsNiArMTkw LDggQEAgaW50IGRybV9zeW5jb2JqX3Jlc2V0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50 IGRybV9zeW5jb2JqX3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSk7CitpbnQgZHJtX3N5 bmNvYmpfdGltZWxpbmVfc2lnbmFsX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCisJCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogaW50IGRy bV9zeW5jb2JqX3F1ZXJ5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiAJCQkgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMK aW5kZXggOTJiM2I3YjJmZDgxLi5kMzM3ZjE2MTkwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1faW9jdGwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKQEAgLTY5 Niw2ICs2OTYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjIGRybV9pb2N0 bHNbXSA9IHsKIAkJICAgICAgRFJNX1VOTE9DS0VEfERSTV9SRU5ERVJfQUxMT1cpLAogCURSTV9J T0NUTF9ERUYoRFJNX0lPQ1RMX1NZTkNPQkpfU0lHTkFMLCBkcm1fc3luY29ial9zaWduYWxfaW9j dGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExf REVGKERSTV9JT0NUTF9TWU5DT0JKX1RJTUVMSU5FX1NJR05BTCwgZHJtX3N5bmNvYmpfdGltZWxp bmVfc2lnbmFsX2lvY3RsLAorCQkgICAgICBEUk1fVU5MT0NLRUR8RFJNX1JFTkRFUl9BTExPVyks CiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfU1lOQ09CSl9RVUVSWSwgZHJtX3N5bmNvYmpfcXVl cnlfaW9jdGwsCiAJCSAgICAgIERSTV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9DUlRDX0dFVF9TRVFVRU5DRSwgZHJtX2NydGNfZ2V0X3NlcXVl bmNlX2lvY3RsLCBEUk1fVU5MT0NLRUQpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9zeW5jb2JqLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwppbmRleCBlZTJkNjZl MDQ3ZTcuLmEzNzAyYzc1ZmQxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5j b2JqLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKQEAgLTExODMsNiArMTE4 Myw5OSBAQCBkcm1fc3luY29ial9zaWduYWxfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dm9pZCAqZGF0YSwKIAlyZXR1cm4gcmV0OwogfQogCitpbnQKK2RybV9zeW5jb2JqX3RpbWVsaW5l X3NpZ25hbF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJCSAg c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUpCit7CisJc3RydWN0IGRybV9zeW5jb2JqX3Rp bWVsaW5lX2FycmF5ICphcmdzID0gZGF0YTsKKwlzdHJ1Y3QgZHJtX3N5bmNvYmogKipzeW5jb2Jq czsKKwlzdHJ1Y3QgZG1hX2ZlbmNlX2NoYWluICoqY2hhaW5zOworCXVpbnQ2NF90ICpwb2ludHM7 CisJdWludDMyX3QgaSwgaiwgdGltZWxpbmVfY291bnQgPSAwOworCWludCByZXQ7CisKKwlpZiAo IWRybV9jb3JlX2NoZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfU1lOQ09CSikpCisJCXJldHVybiAt RU9QTk9UU1VQUDsKKworCWlmIChhcmdzLT5wYWQgIT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisK KwlpZiAoYXJncy0+Y291bnRfaGFuZGxlcyA9PSAwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJl dCA9IGRybV9zeW5jb2JqX2FycmF5X2ZpbmQoZmlsZV9wcml2YXRlLAorCQkJCSAgICAgdTY0X3Rv X3VzZXJfcHRyKGFyZ3MtPmhhbmRsZXMpLAorCQkJCSAgICAgYXJncy0+Y291bnRfaGFuZGxlcywK KwkJCQkgICAgICZzeW5jb2Jqcyk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisKKwlw b2ludHMgPSBrbWFsbG9jX2FycmF5KGFyZ3MtPmNvdW50X2hhbmRsZXMsIHNpemVvZigqcG9pbnRz KSwKKwkJCSAgICAgICBHRlBfS0VSTkVMKTsKKwlpZiAoIXBvaW50cykgeworCQlyZXQgPSAtRU5P TUVNOworCQlnb3RvIG91dDsKKwl9CisJaWYgKCF1NjRfdG9fdXNlcl9wdHIoYXJncy0+cG9pbnRz KSkgeworCQltZW1zZXQocG9pbnRzLCAwLCBhcmdzLT5jb3VudF9oYW5kbGVzICogc2l6ZW9mKHVp bnQ2NF90KSk7CisJfSBlbHNlIGlmIChjb3B5X2Zyb21fdXNlcihwb2ludHMsIHU2NF90b191c2Vy X3B0cihhcmdzLT5wb2ludHMpLAorCQkJCSAgc2l6ZW9mKHVpbnQ2NF90KSAqIGFyZ3MtPmNvdW50 X2hhbmRsZXMpKSB7CisJCXJldCA9IC1FRkFVTFQ7CisJCWdvdG8gZXJyX3BvaW50czsKKwl9CisK Kwlmb3IgKGkgPSAwOyBpIDwgYXJncy0+Y291bnRfaGFuZGxlczsgaSsrKSB7CisJCXN0cnVjdCBk bWFfZmVuY2VfY2hhaW4gKmNoYWluOworCQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKKworCQlm ZW5jZSA9IGRybV9zeW5jb2JqX2ZlbmNlX2dldChzeW5jb2Jqc1tpXSk7CisJCWNoYWluID0gdG9f ZG1hX2ZlbmNlX2NoYWluKGZlbmNlKTsKKwkJaWYgKGNoYWluKSB7CisJCQlpZiAocG9pbnRzW2ld IDw9IGZlbmNlLT5zZXFubykgeworCQkJCURSTV9FUlJPUigic2lnbmFsIHBvaW50IGNhbm90IGJl IG91dC1vZi1vcmRlciFcbiIpOworCQkJCXJldCA9IC1FUEVSTTsKKwkJCQlnb3RvIGVycl9wb2lu dHM7CisJCQl9CisJCX0KKwkJaWYgKHBvaW50c1tpXSkKKwkJCXRpbWVsaW5lX2NvdW50Kys7CisJ fQorCisJY2hhaW5zID0ga21hbGxvY19hcnJheSh0aW1lbGluZV9jb3VudCwgc2l6ZW9mKHZvaWQg KiksIEdGUF9LRVJORUwpOworCWlmICghY2hhaW5zKSB7CisJCXJldCA9IC1FTk9NRU07CisJCWdv dG8gZXJyX3BvaW50czsKKwl9CisJZm9yIChpID0gMDsgaSA8IHRpbWVsaW5lX2NvdW50OyBpKysp IHsKKwkJY2hhaW5zW2ldID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRtYV9mZW5jZV9jaGFpbiks IEdGUF9LRVJORUwpOworCQlpZiAoIWNoYWluc1tpXSkgeworCQkJZm9yIChqID0gMDsgaiA8IGk7 IGorKykKKwkJCQlrZnJlZShjaGFpbnNbal0pOworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8g ZXJyX2NoYWluczsKKwkJfQorCX0KKworCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgYXJncy0+Y291 bnRfaGFuZGxlczsgaSsrKSB7CisJCWlmIChwb2ludHNbaV0pIHsKKwkJCXN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlID0gZG1hX2ZlbmNlX2dldF9zdHViKCk7CisKKwkJCWRybV9zeW5jb2JqX2FkZF9w b2ludChzeW5jb2Jqc1tpXSwgY2hhaW5zW2orK10sCisJCQkJCSAgICAgIGZlbmNlLCBwb2ludHNb aV0pOworCQkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7CisJCX0gZWxzZQorCQkJZHJtX3N5bmNvYmpf YXNzaWduX251bGxfaGFuZGxlKHN5bmNvYmpzW2ldKTsKKwl9CitlcnJfY2hhaW5zOgorCWtmcmVl KGNoYWlucyk7CitlcnJfcG9pbnRzOgorCWtmcmVlKHBvaW50cyk7CitvdXQ6CisJZHJtX3N5bmNv YmpfYXJyYXlfZnJlZShzeW5jb2JqcywgYXJncy0+Y291bnRfaGFuZGxlcyk7CisKKwlyZXR1cm4g cmV0OworfQorCiBpbnQgZHJtX3N5bmNvYmpfcXVlcnlfaW9jdGwoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKIAkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSkK IHsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmggYi9pbmNsdWRlL3VhcGkvZHJt L2RybS5oCmluZGV4IGU4ZDBkNmI1MTg3NS4uMjM2YjAxYTFmYWJmIDEwMDY0NAotLS0gYS9pbmNs dWRlL3VhcGkvZHJtL2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKQEAgLTk0Myw2 ICs5NDMsNyBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfVElNRUxJ TkVfV0FJVAlEUk1fSU9XUigweENBLCBzdHJ1Y3QgZHJtX3N5bmNvYmpfdGltZWxpbmVfd2FpdCkK ICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfUVVFUlkJCURSTV9JT1dSKDB4Q0IsIHN0cnVjdCBk cm1fc3luY29ial90aW1lbGluZV9hcnJheSkKICNkZWZpbmUgRFJNX0lPQ1RMX1NZTkNPQkpfVFJB TlNGRVIJRFJNX0lPV1IoMHhDQywgc3RydWN0IGRybV9zeW5jb2JqX3RyYW5zZmVyKQorI2RlZmlu ZSBEUk1fSU9DVExfU1lOQ09CSl9USU1FTElORV9TSUdOQUwJRFJNX0lPV1IoMHhDRCwgc3RydWN0 IGRybV9zeW5jb2JqX3RpbWVsaW5lX2FycmF5KQogCiAvKioKICAqIERldmljZSBzcGVjaWZpYyBp b2N0bHMgc2hvdWxkIG9ubHkgYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBoZWFkZXJzCi0tIAoyLjE3 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1n ZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==