From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [PATCH 2/2] drm/amdgpu: add the interface of waiting multiple fences (v4) Date: Mon, 7 Nov 2016 10:10:45 +0900 Message-ID: <20161107011045.GJ3327@joana> References: <1478290570-30982-1-git-send-email-alexander.deucher@amd.com> <1478290570-30982-2-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1478290570-30982-2-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Alex Deucher Cc: Junwei Zhang , Alex Deucher , dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org List-Id: amd-gfx.lists.freedesktop.org SGkgQWxleCwKCjIwMTYtMTEtMDQgQWxleCBEZXVjaGVyIDxhbGV4ZGV1Y2hlckBnbWFpbC5jb20+ OgoKPiBGcm9tOiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+Cj4gCj4gdjI6IGFn ZDogcmViYXNlIGFuZCBzcXVhc2ggaW4gYWxsIHRoZSBwcmV2aW91cyBvcHRpbWl6YXRpb25zIGFu ZAo+IGNoYW5nZXMgc28gZXZlcnl0aGluZyBjb21waWxlcy4KPiB2Mzogc3F1YXNoIGluIFNsYXZh J3MgMzJiaXQgYnVpbGQgZml4Cj4gdjQ6IHJlYmFzZSBvbiBkcm0tbmV4dCAoZmVuY2UgLT4gZG1h X2ZlbmNlKSwKPiAgICAgc3F1YXNoIGluIE1vbmsncyBpb2N0bCB1cGRhdGUgcGF0Y2gKPiAKPiBT aWduZWQtb2ZmLWJ5OiBKdW53ZWkgWmhhbmcgPEplcnJ5LlpoYW5nQGFtZC5jb20+Cj4gUmV2aWV3 ZWQtYnk6IE1vbmsgTGl1IDxtb25rLmxpdUBhbWQuY29tPgo+IFJldmlld2VkLWJ5OiBKYW1teSBa aG91IDxKYW1teS5aaG91QGFtZC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxh bGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHUuaCAgICAgfCAgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfY3MuYyAgfCAxNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jIHwgICAxICsKPiAgZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMgIHwgICAyICstCj4gIGluY2x1ZGUvdWFwaS9k cm0vYW1kZ3B1X2RybS5oICAgICAgICAgICB8ICAyOCArKysrKysKPiAgNSBmaWxlcyBjaGFuZ2Vk LCAyMDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdS5oCj4gaW5kZXggZGM5OGNlYi4uN2E5NGEzYyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdS5oCj4gQEAgLTEyMTIsNiArMTIxMiw4IEBAIGludCBhbWRncHVfZ2Vt X29wX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJCXN0cnVj dCBkcm1fZmlsZSAqZmlscCk7Cj4gIGludCBhbWRncHVfY3NfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxwKTsKPiAgaW50IGFtZGdw dV9jc193YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVj dCBkcm1fZmlsZSAqZmlscCk7Cj4gK2ludCBhbWRncHVfY3Nfd2FpdF9mZW5jZXNfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCQkJCXN0cnVjdCBkcm1fZmlsZSAq ZmlscCk7Cj4gIAo+ICBpbnQgYW1kZ3B1X2dlbV9tZXRhZGF0YV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJCQkJc3RydWN0IGRybV9maWxlICpmaWxwKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+IGluZGV4IDI3Mjg4MDUuLjIwMDQ4 MzYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2NzLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3MuYwo+IEBAIC0xMTMw LDYgKzExMzAsMTc5IEBAIGludCBhbWRncHVfY3Nfd2FpdF9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAo+ICB9Cj4gIAo+ICAvKioKPiArICogYW1kZ3B1X2NzX2dldF9m ZW5jZSAtIGhlbHBlciB0byBnZXQgZmVuY2UgZnJvbSBkcm1fYW1kZ3B1X2ZlbmNlCj4gKyAqCj4g KyAqIEBhZGV2OiBhbWRncHUgZGV2aWNlCj4gKyAqIEBmaWxwOiBmaWxlIHByaXZhdGUKPiArICog QHVzZXI6IGRybV9hbWRncHVfZmVuY2UgY29waWVkIGZyb20gdXNlciBzcGFjZQo+ICsgKi8KPiAr c3RhdGljIHN0cnVjdCBkbWFfZmVuY2UgKmFtZGdwdV9jc19nZXRfZmVuY2Uoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCj4gKwkJCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHAsCj4gKwkJ CQkJICAgICBzdHJ1Y3QgZHJtX2FtZGdwdV9mZW5jZSAqdXNlcikKPiArewo+ICsJc3RydWN0IGFt ZGdwdV9yaW5nICpyaW5nOwo+ICsJc3RydWN0IGFtZGdwdV9jdHggKmN0eDsKPiArCXN0cnVjdCBk bWFfZmVuY2UgKmZlbmNlOwo+ICsJaW50IHI7Cj4gKwo+ICsJciA9IGFtZGdwdV9jc19nZXRfcmlu ZyhhZGV2LCB1c2VyLT5pcF90eXBlLCB1c2VyLT5pcF9pbnN0YW5jZSwKPiArCQkJICAgICAgIHVz ZXItPnJpbmcsICZyaW5nKTsKPiArCWlmIChyKQo+ICsJCXJldHVybiBFUlJfUFRSKHIpOwo+ICsK PiArCWN0eCA9IGFtZGdwdV9jdHhfZ2V0KGZpbHAtPmRyaXZlcl9wcml2LCB1c2VyLT5jdHhfaWQp Owo+ICsJaWYgKGN0eCA9PSBOVUxMKQo+ICsJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwo+ICsK PiArCWZlbmNlID0gYW1kZ3B1X2N0eF9nZXRfZmVuY2UoY3R4LCByaW5nLCB1c2VyLT5zZXFfbm8p Owo+ICsJYW1kZ3B1X2N0eF9wdXQoY3R4KTsKPiArCj4gKwlyZXR1cm4gZmVuY2U7Cj4gK30KPiAr Cj4gKy8qKgo+ICsgKiBhbWRncHVfY3Nfd2FpdF9hbGxfZmVuY2UgLSB3YWl0IG9uIGFsbCBmZW5j ZXMgdG8gc2lnbmFsCj4gKyAqCj4gKyAqIEBhZGV2OiBhbWRncHUgZGV2aWNlCj4gKyAqIEBmaWxw OiBmaWxlIHByaXZhdGUKPiArICogQHdhaXQ6IHdhaXQgcGFyYW1ldGVycwo+ICsgKiBAZmVuY2Vz OiBhcnJheSBvZiBkcm1fYW1kZ3B1X2ZlbmNlCj4gKyAqLwo+ICtzdGF0aWMgaW50IGFtZGdwdV9j c193YWl0X2FsbF9mZW5jZXMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gKwkJCQkgICAg IHN0cnVjdCBkcm1fZmlsZSAqZmlscCwKPiArCQkJCSAgICAgdW5pb24gZHJtX2FtZGdwdV93YWl0 X2ZlbmNlcyAqd2FpdCwKPiArCQkJCSAgICAgc3RydWN0IGRybV9hbWRncHVfZmVuY2UgKmZlbmNl cykKPiArewo+ICsJdWludDMyX3QgZmVuY2VfY291bnQgPSB3YWl0LT5pbi5mZW5jZV9jb3VudDsK PiArCXVuc2lnbmVkIGk7Cj4gKwlsb25nIHIgPSAxOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBm ZW5jZV9jb3VudDsgaSsrKSB7Cj4gKwkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7Cj4gKwkJdW5z aWduZWQgbG9uZyB0aW1lb3V0ID0gYW1kZ3B1X2dlbV90aW1lb3V0KHdhaXQtPmluLnRpbWVvdXRf bnMpOwo+ICsKPiArCQlmZW5jZSA9IGFtZGdwdV9jc19nZXRfZmVuY2UoYWRldiwgZmlscCwgJmZl bmNlc1tpXSk7Cj4gKwkJaWYgKElTX0VSUihmZW5jZSkpCj4gKwkJCXJldHVybiBQVFJfRVJSKGZl bmNlKTsKPiArCQllbHNlIGlmICghZmVuY2UpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlyID0g ZG1hX2ZlbmNlX3dhaXRfdGltZW91dChmZW5jZSwgdHJ1ZSwgdGltZW91dCk7Cj4gKwkJaWYgKHIg PCAwKQo+ICsJCQlyZXR1cm4gcjsKPiArCj4gKwkJaWYgKHIgPT0gMCkKPiArCQkJYnJlYWs7Cj4g Kwl9Cj4gKwo+ICsJbWVtc2V0KHdhaXQsIDAsIHNpemVvZigqd2FpdCkpOwo+ICsJd2FpdC0+b3V0 LnN0YXR1cyA9IChyID4gMCk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gKy8qKgo+ICsg KiBhbWRncHVfY3Nfd2FpdF9hbnlfZmVuY2UgLSB3YWl0IG9uIGFueSBmZW5jZSB0byBzaWduYWwK PiArICoKPiArICogQGFkZXY6IGFtZGdwdSBkZXZpY2UKPiArICogQGZpbHA6IGZpbGUgcHJpdmF0 ZQo+ICsgKiBAd2FpdDogd2FpdCBwYXJhbWV0ZXJzCj4gKyAqIEBmZW5jZXM6IGFycmF5IG9mIGRy bV9hbWRncHVfZmVuY2UKPiArICovCj4gK3N0YXRpYyBpbnQgYW1kZ3B1X2NzX3dhaXRfYW55X2Zl bmNlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICsJCQkJICAgIHN0cnVjdCBkcm1fZmls ZSAqZmlscCwKPiArCQkJCSAgICB1bmlvbiBkcm1fYW1kZ3B1X3dhaXRfZmVuY2VzICp3YWl0LAo+ ICsJCQkJICAgIHN0cnVjdCBkcm1fYW1kZ3B1X2ZlbmNlICpmZW5jZXMpCj4gK3sKPiArCXVuc2ln bmVkIGxvbmcgdGltZW91dCA9IGFtZGdwdV9nZW1fdGltZW91dCh3YWl0LT5pbi50aW1lb3V0X25z KTsKPiArCXVpbnQzMl90IGZlbmNlX2NvdW50ID0gd2FpdC0+aW4uZmVuY2VfY291bnQ7Cj4gKwl1 aW50MzJfdCBmaXJzdCA9IH4wOwo+ICsJc3RydWN0IGRtYV9mZW5jZSAqKmFycmF5Owo+ICsJdW5z aWduZWQgaTsKPiArCWxvbmcgcjsKPiArCj4gKwkvKiBQcmVwYXJlIHRoZSBmZW5jZSBhcnJheSAq Lwo+ICsJYXJyYXkgPSAoc3RydWN0IGRtYV9mZW5jZSAqKilrY2FsbG9jKGZlbmNlX2NvdW50LCBz aXplb2Yoc3RydWN0IGRtYV9mZW5jZSAqKSwKPiArCQkJR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoYXJy YXkgPT0gTlVMTCkKPiArCQlyZXR1cm4gLUVOT01FTTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg ZmVuY2VfY291bnQ7IGkrKykgewo+ICsJCXN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlOwo+ICsKPiAr CQlmZW5jZSA9IGFtZGdwdV9jc19nZXRfZmVuY2UoYWRldiwgZmlscCwgJmZlbmNlc1tpXSk7Cj4g KwkJaWYgKElTX0VSUihmZW5jZSkpIHsKPiArCQkJciA9IFBUUl9FUlIoZmVuY2UpOwo+ICsJCQln b3RvIGVycl9mcmVlX2ZlbmNlX2FycmF5Owo+ICsJCX0gZWxzZSBpZiAoZmVuY2UpIHsKPiArCQkJ YXJyYXlbaV0gPSBmZW5jZTsKPiArCQl9IGVsc2UgeyAvKiBOVUxMLCB0aGUgZmVuY2UgaGFzIGJl ZW4gYWxyZWFkeSBzaWduYWxlZCAqLwo+ICsJCQlyID0gMTsKPiArCQkJZ290byBvdXQ7Cj4gKwkJ fQo+ICsJfQo+ICsKPiArCXIgPSBkbWFfZmVuY2Vfd2FpdF9hbnlfdGltZW91dChhcnJheSwgZmVu Y2VfY291bnQsIHRydWUsIHRpbWVvdXQsICZmaXJzdCk7Cj4gKwlpZiAociA8IDApCj4gKwkJZ290 byBlcnJfZnJlZV9mZW5jZV9hcnJheTsKPiArCj4gK291dDoKPiArCW1lbXNldCh3YWl0LCAwLCBz aXplb2YoKndhaXQpKTsKPiArCXdhaXQtPm91dC5zdGF0dXMgPSAociA+IDApOwo+ICsJd2FpdC0+ b3V0LmZpcnN0X3NpZ25hbGVkID0gZmlyc3Q7Cj4gKwkvKiBzZXQgcmV0dXJuIHZhbHVlIDAgdG8g aW5kaWNhdGUgc3VjY2VzcyAqLwo+ICsJciA9IDA7Cj4gKwo+ICtlcnJfZnJlZV9mZW5jZV9hcnJh eToKPiArCWZvciAoaSA9IDA7IGkgPCBmZW5jZV9jb3VudDsgaSsrKQo+ICsJCWRtYV9mZW5jZV9w dXQoYXJyYXlbaV0pOwo+ICsJa2ZyZWUoYXJyYXkpOwo+ICsKPiArCXJldHVybiByOwo+ICt9Cj4g Kwo+ICsvKioKPiArICogYW1kZ3B1X2NzX3dhaXRfZmVuY2VzX2lvY3RsIC0gd2FpdCBmb3IgbXVs dGlwbGUgY29tbWFuZCBzdWJtaXNzaW9ucyB0byBmaW5pc2gKPiArICoKPiArICogQGRldjogZHJt IGRldmljZQo+ICsgKiBAZGF0YTogZGF0YSBmcm9tIHVzZXJzcGFjZQo+ICsgKiBAZmlscDogZmls ZSBwcml2YXRlCj4gKyAqLwo+ICtpbnQgYW1kZ3B1X2NzX3dhaXRfZmVuY2VzX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gKwkJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZp bHApCj4gK3sKPiArCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPiArCXVuaW9uIGRybV9hbWRncHVfd2FpdF9mZW5jZXMgKndhaXQgPSBkYXRhOwo+ICsJdWlu dDMyX3QgZmVuY2VfY291bnQgPSB3YWl0LT5pbi5mZW5jZV9jb3VudDsKPiArCXN0cnVjdCBkcm1f YW1kZ3B1X2ZlbmNlICpmZW5jZXNfdXNlcjsKPiArCXN0cnVjdCBkcm1fYW1kZ3B1X2ZlbmNlICpm ZW5jZXM7Cj4gKwlpbnQgcjsKPiArCj4gKwkvKiBHZXQgdGhlIGZlbmNlcyBmcm9tIHVzZXJzcGFj ZSAqLwo+ICsJZmVuY2VzID0ga21hbGxvY19hcnJheShmZW5jZV9jb3VudCwgc2l6ZW9mKHN0cnVj dCBkcm1fYW1kZ3B1X2ZlbmNlKSwKPiArCQkJR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoZmVuY2VzID09 IE5VTEwpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gKwo+ICsJZmVuY2VzX3VzZXIgPSAodm9pZCBf X3VzZXIgKikodW5zaWduZWQgbG9uZykod2FpdC0+aW4uZmVuY2VzKTsKPiArCWlmIChjb3B5X2Zy b21fdXNlcihmZW5jZXMsIGZlbmNlc191c2VyLAo+ICsJCXNpemVvZihzdHJ1Y3QgZHJtX2FtZGdw dV9mZW5jZSkgKiBmZW5jZV9jb3VudCkpIHsKPiArCQlyID0gLUVGQVVMVDsKPiArCQlnb3RvIGVy cl9mcmVlX2ZlbmNlczsKPiArCX0KPiArCj4gKwlpZiAod2FpdC0+aW4ud2FpdF9hbGwpCj4gKwkJ ciA9IGFtZGdwdV9jc193YWl0X2FsbF9mZW5jZXMoYWRldiwgZmlscCwgd2FpdCwgZmVuY2VzKTsK PiArCWVsc2UKPiArCQlyID0gYW1kZ3B1X2NzX3dhaXRfYW55X2ZlbmNlKGFkZXYsIGZpbHAsIHdh aXQsIGZlbmNlcyk7CgpJIHdvbmRlciBpZiBpdCB3b3VsZG4ndCBiZSBiZXR0ZXIgaWYgd2UgdXNl IGZlbmNlX2FycmF5IGhlcmUgYW5kCnJlZ2lzdGVyIGNhbGxiYWNrcyB0byBnZXQgbm90ZmllZCBv ZiB0aGUgZmlyc3Qgc2lnbmFsZWQgZmVuY2UgdGhlICJhbnkiIGNhc2UuCkl0IHNlZW1zIHRvIG1l IHRoYXQgd2UgY291bGQgc2ltcGxpZnkgdGhpcyBjb2RlIGJ5IHVzaW5nIGEgZmVuY2VfYXJyYXku CgpHdXN0YXZvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK