From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 3/5] drm/syncobj: add sync_file interaction. (v1.2) Date: Thu, 1 Jun 2017 11:06:41 +1000 Message-ID: <20170601010643.28616-4-airlied@gmail.com> References: <20170601010643.28616-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170601010643.28616-1-airlied@gmail.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, amd-gfx@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgaW50ZXJmYWNlIGFs bG93cyBpbXBvcnRpbmcgdGhlIGZlbmNlIGZyb20gYSBzeW5jX2ZpbGUgaW50bwphbiBleGlzdGlu ZyBkcm0gc3luYyBvYmplY3QsIG9yIGV4cG9ydGluZyB0aGUgZmVuY2UgYXR0YWNoZWQgdG8KYW4g ZXhpc3RpbmcgZHJtIHN5bmMgb2JqZWN0IGludG8gYSBuZXcgc3luYyBmaWxlIG9iamVjdC4KClRo aXMgc2hvdWxkIG9ubHkgYmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIHN5bmMgZmlsZXMgd2hlcmUg bmVjZXNzYXJ5LgoKdjEuMTogZmVuY2UgcHV0IGZpeGVzIChDaHJpcyksIGRyb3AgZmVuY2UgZnJv bSBpb2N0bCBuYW1lcyAoQ2hyaXMpCmZpeHVwIGZvciBuZXcgZmVuY2UgcmVwbGFjZSBBUEkuCgpS ZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+ClNpZ25lZC1vZmYt Ynk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2RybV9zeW5jb2JqLmMgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tCiBpbmNsdWRlL3VhcGkvZHJtL2RybS5oICAgICAgICB8ICAyICsrCiAyIGZpbGVzIGNo YW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmou YwppbmRleCBlYzQ2MmJkLi41ODE0NDk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJt X3N5bmNvYmouYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3N5bmNvYmouYwpAQCAtNTAsNiAr NTAsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9mcy5oPgog I2luY2x1ZGUgPGxpbnV4L2Fub25faW5vZGVzLmg+CisjaW5jbHVkZSA8bGludXgvc3luY19maWxl Lmg+CiAKICNpbmNsdWRlICJkcm1faW50ZXJuYWwuaCIKICNpbmNsdWRlIDxkcm0vZHJtX3N5bmNv YmouaD4KQEAgLTI4MSw2ICsyODIsNTkgQEAgc3RhdGljIGludCBkcm1fc3luY29ial9mZF90b19o YW5kbGUoc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXZhdGUsCiAJcmV0dXJuIDA7CiB9CiAKK2lu dCBkcm1fc3luY29ial9pbXBvcnRfc3luY19maWxlX2ZlbmNlKHN0cnVjdCBkcm1fZmlsZSAqZmls ZV9wcml2YXRlLAorCQkJCSAgICAgICBpbnQgZmQsIGludCBoYW5kbGUpCit7CisJc3RydWN0IGRt YV9mZW5jZSAqZmVuY2UgPSBzeW5jX2ZpbGVfZ2V0X2ZlbmNlKGZkKTsKKwlzdHJ1Y3QgZHJtX3N5 bmNvYmogKnN5bmNvYmo7CisKKwlpZiAoIWZlbmNlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN5 bmNvYmogPSBkcm1fc3luY29ial9maW5kKGZpbGVfcHJpdmF0ZSwgaGFuZGxlKTsKKwlpZiAoIXN5 bmNvYmopIHsKKwkJZG1hX2ZlbmNlX3B1dChmZW5jZSk7CisJCXJldHVybiAtRU5PRU5UOworCX0K KworCWRybV9zeW5jb2JqX3JlcGxhY2VfZmVuY2UoZmlsZV9wcml2YXRlLCBzeW5jb2JqLCBmZW5j ZSk7CisJZG1hX2ZlbmNlX3B1dChmZW5jZSk7CisJZHJtX3N5bmNvYmpfcHV0KHN5bmNvYmopOwor CXJldHVybiAwOworfQorCitpbnQgZHJtX3N5bmNvYmpfZXhwb3J0X3N5bmNfZmlsZShzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdmF0ZSwKKwkJCQkgaW50IGhhbmRsZSwgaW50ICpwX2ZkKQorewor CWludCByZXQ7CisJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7CisJc3RydWN0IHN5bmNfZmlsZSAq c3luY19maWxlOworCWludCBmZCA9IGdldF91bnVzZWRfZmRfZmxhZ3MoT19DTE9FWEVDKTsKKwor CWlmIChmZCA8IDApCisJCXJldHVybiBmZDsKKworCXJldCA9IGRybV9zeW5jb2JqX2ZlbmNlX2dl dChmaWxlX3ByaXZhdGUsIGhhbmRsZSwgJmZlbmNlKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycl9w dXRfZmQ7CisKKwlzeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKGZlbmNlKTsKKworCWRtYV9m ZW5jZV9wdXQoZmVuY2UpOworCisJaWYgKCFzeW5jX2ZpbGUpIHsKKwkJcmV0ID0gLUVJTlZBTDsK KwkJZ290byBlcnJfcHV0X2ZkOworCX0KKworCWZkX2luc3RhbGwoZmQsIHN5bmNfZmlsZS0+Zmls ZSk7CisKKwkqcF9mZCA9IGZkOworCXJldHVybiAwOworZXJyX3B1dF9mZDoKKwlwdXRfdW51c2Vk X2ZkKGZkKTsKKwlyZXR1cm4gcmV0OworfQogLyoqCiAgKiBkcm1fc3luY29ial9vcGVuIC0gaW5p dGFsaXplcyBzeW5jb2JqIGZpbGUtcHJpdmF0ZSBzdHJ1Y3R1cmVzIGF0IGRldm5vZGUgb3BlbiB0 aW1lCiAgKiBAZGV2OiBkcm1fZGV2aWNlIHdoaWNoIGlzIGJlaW5nIG9wZW5lZCBieSB1c2Vyc3Bh Y2UKQEAgLTM2Myw5ICs0MTcsMTcgQEAgZHJtX3N5bmNvYmpfaGFuZGxlX3RvX2ZkX2lvY3RsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJaWYgKCFkcm1fY29yZV9jaGVja19m ZWF0dXJlKGRldiwgRFJJVkVSX1NZTkNPQkopKQogCQlyZXR1cm4gLUVOT0RFVjsKIAotCWlmIChh cmdzLT5wYWQgfHwgYXJncy0+ZmxhZ3MpCisJaWYgKGFyZ3MtPnBhZCkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKKwlpZiAoYXJncy0+ZmxhZ3MgIT0gMCAmJgorCSAgICBhcmdzLT5mbGFncyAhPSBEUk1f U1lOQ09CSl9IQU5ETEVfVE9fRkRfRkxBR1NfRVhQT1JUX1NZTkNfRklMRSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlpZiAoYXJncy0+ZmxhZ3MgJiBEUk1fU1lOQ09CSl9IQU5ETEVfVE9fRkRfRkxB R1NfRVhQT1JUX1NZTkNfRklMRSkKKwkJcmV0dXJuIGRybV9zeW5jb2JqX2V4cG9ydF9zeW5jX2Zp bGUoZmlsZV9wcml2YXRlLCBhcmdzLT5oYW5kbGUsCisJCQkJCQkgICAgJmFyZ3MtPmZkKTsKKwog CXJldHVybiBkcm1fc3luY29ial9oYW5kbGVfdG9fZmQoZmlsZV9wcml2YXRlLCBhcmdzLT5oYW5k bGUsCiAJCQkJCSZhcmdzLT5mZCk7CiB9CkBAIC0zNzksOSArNDQxLDE4IEBAIGRybV9zeW5jb2Jq X2ZkX3RvX2hhbmRsZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAog CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9TWU5DT0JKKSkKIAkJcmV0 dXJuIC1FTk9ERVY7CiAKLQlpZiAoYXJncy0+cGFkIHx8IGFyZ3MtPmZsYWdzKQorCWlmIChhcmdz LT5wYWQpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGFyZ3MtPmZsYWdzICE9IDAgJiYKKwkg ICAgYXJncy0+ZmxhZ3MgIT0gRFJNX1NZTkNPQkpfRkRfVE9fSEFORExFX0ZMQUdTX0lNUE9SVF9T WU5DX0ZJTEUpCiAJCXJldHVybiAtRUlOVkFMOwogCisJaWYgKGFyZ3MtPmZsYWdzICYgRFJNX1NZ TkNPQkpfRkRfVE9fSEFORExFX0ZMQUdTX0lNUE9SVF9TWU5DX0ZJTEUpCisJCXJldHVybiBkcm1f c3luY29ial9pbXBvcnRfc3luY19maWxlX2ZlbmNlKGZpbGVfcHJpdmF0ZSwKKwkJCQkJCQkgIGFy Z3MtPmZkLAorCQkJCQkJCSAgYXJncy0+aGFuZGxlKTsKKwogCXJldHVybiBkcm1fc3luY29ial9m ZF90b19oYW5kbGUoZmlsZV9wcml2YXRlLCBhcmdzLT5mZCwKIAkJCQkJJmFyZ3MtPmhhbmRsZSk7 CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2RybS5oIGIvaW5jbHVkZS91YXBpL2Ry bS9kcm0uaAppbmRleCBkNmUyZjYyLi40OWM0ZTY5IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkv ZHJtL2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vZHJtLmgKQEAgLTcwOCw2ICs3MDgsOCBA QCBzdHJ1Y3QgZHJtX3N5bmNvYmpfZGVzdHJveSB7CiAJX191MzIgcGFkOwogfTsKIAorI2RlZmlu ZSBEUk1fU1lOQ09CSl9GRF9UT19IQU5ETEVfRkxBR1NfSU1QT1JUX1NZTkNfRklMRSAoMSA8PCAw KQorI2RlZmluZSBEUk1fU1lOQ09CSl9IQU5ETEVfVE9fRkRfRkxBR1NfRVhQT1JUX1NZTkNfRklM RSAoMSA8PCAwKQogc3RydWN0IGRybV9zeW5jb2JqX2hhbmRsZSB7CiAJX191MzIgaGFuZGxlOwog CV9fdTMyIGZsYWdzOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=