From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chunming Zhou Subject: [PATCH 2/4] amdgpu: add export/import semaphore apis Date: Thu, 18 Aug 2016 15:55:57 +0800 Message-ID: <1471506959-905-3-git-send-email-David1.Zhou@amd.com> References: <1471506959-905-1-git-send-email-David1.Zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1471506959-905-1-git-send-email-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: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou , David.Mao-5C7GfCeVMHo@public.gmane.org VGhleSBhcmUgdXNlZCBmb3Igc2hhcmluZyBzZW1hcGhvcmUgYWNyb3NzIHByb2Nlc3MuCgpDaGFu Z2UtSWQ6IEkyNjJhZGYxMDkxM2QzNjViYjkzMzY4YjQ5MmU2OTE0MGFmNTIyYzY0ClNpZ25lZC1v ZmYtYnk6IENodW5taW5nIFpob3UgPERhdmlkMS5aaG91QGFtZC5jb20+Ci0tLQogYW1kZ3B1L2Ft ZGdwdS5oICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBhbWRn cHUvYW1kZ3B1X2NzLmMgICAgICAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0KIGFtZGdwdS9hbWRncHVfaW50ZXJuYWwuaCB8ICAyICsrCiAzIGZp bGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2FtZGdwdS9hbWRncHUuaCBiL2FtZGdwdS9hbWRncHUuaAppbmRleCA2OTNkODQxLi5lNzE2 ODU1IDEwMDY0NAotLS0gYS9hbWRncHUvYW1kZ3B1LmgKKysrIGIvYW1kZ3B1L2FtZGdwdS5oCkBA IC0xMzc5LDYgKzEzNzksMTkgQEAgaW50IGFtZGdwdV9zdm1fY29tbWl0KGFtZGdwdV92YV9oYW5k bGUgdmFfcmFuZ2VfaGFuZGxlLAogaW50IGFtZGdwdV9zdm1fdW5jb21taXQoYW1kZ3B1X3ZhX2hh bmRsZSB2YV9yYW5nZV9oYW5kbGUpOwogCiAvKioKKyAqICBjcmVhdGUgc2hhcmVkIHNlbWFwaG9y ZQorICoKKyAqIFxwYXJhbSBhbWRncHVfZGV2aWNlX2hhbmRsZQorICogXHBhcmFtICAgc2VtCSAg IC0gXGMgW291dF0gc2VtYXBob3JlIGhhbmRsZQorICoKKyAqIFxyZXR1cm4gICAwIG9uIHN1Y2Nl c3NcbgorICogICAgICAgICAgPDAgLSBOZWdhdGl2ZSBQT1NJWCBFcnJvciBjb2RlCisgKgorKi8K K2ludCBhbWRncHVfY3NfY3JlYXRlX3NlbWFwaG9yZV9vYmplY3QoYW1kZ3B1X2RldmljZV9oYW5k bGUgZGV2aWNlX2hhbmRsZSwKKwkJCQkgICAgICBhbWRncHVfc2VtYXBob3JlX2hhbmRsZSAqc2Vt KTsKKworLyoqCiAgKiAgY3JlYXRlIHNlbWFwaG9yZQogICoKICAqIFxwYXJhbSAgIHNlbQkgICAt IFxjIFtvdXRdIHNlbWFwaG9yZSBoYW5kbGUKQEAgLTE0MzksNiArMTQ1MiwzMyBAQCBpbnQgYW1k Z3B1X2NzX3dhaXRfc2VtYXBob3JlKGFtZGdwdV9jb250ZXh0X2hhbmRsZSBjdHgsCiBpbnQgYW1k Z3B1X2NzX2Rlc3Ryb3lfc2VtYXBob3JlKGFtZGdwdV9zZW1hcGhvcmVfaGFuZGxlIHNlbSk7CiAK IC8qKgorICogIGV4cG9ydCBzZW1hcGhvcmUKKyAqCisgKiBccGFyYW0gICBzZW0JICAgIC0gXGMg W2luXSBzZW1hcGhvcmUgaGFuZGxlCisgKiBccGFyYW0gICBzaGFyZWRfaGFuZGxlICAgIC0gXGMg W291dF0gaGFuZGxlIGFjcm9zcyBwcm9jZXNzCisgKgorICogXHJldHVybiAgIDAgb24gc3VjY2Vz c1xuCisgKiAgICAgICAgICA8MCAtIE5lZ2F0aXZlIFBPU0lYIEVycm9yIGNvZGUKKyAqCisqLwor aW50IGFtZGdwdV9jc19leHBvcnRfc2VtYXBob3JlKGFtZGdwdV9zZW1hcGhvcmVfaGFuZGxlIHNl bSwKKwkJCSAgICAgICB1aW50MzJfdCAqc2hhcmVkX2hhbmRsZSk7CisvKioKKyAqICBpbXBvcnQg c2VtYXBob3JlCisgKgorICogXHBhcmFtICAgc2VtCSAgICAtIFxjIFtvdXRdIHNlbWFwaG9yZSBo YW5kbGUKKyAqIFxwYXJhbSAgIGRldgkgICAgLSBcYyBbaW5dIGRldmljZSBoYW5kbGUKKyAqIFxw YXJhbSAgIHNoYXJlZF9oYW5kbGUgICAgLSBcYyBbaW5dIGhhbmRsZSBhY3Jvc3MgcHJvY2Vzcwor ICoKKyAqIFxyZXR1cm4gICAwIG9uIHN1Y2Nlc3NcbgorICogICAgICAgICAgPDAgLSBOZWdhdGl2 ZSBQT1NJWCBFcnJvciBjb2RlCisgKgorKi8KK2ludCBhbWRncHVfY3NfaW1wb3J0X3NlbWFwaG9y ZShhbWRncHVfc2VtYXBob3JlX2hhbmRsZSAqc2VtLAorCQkJICAgICAgIGFtZGdwdV9kZXZpY2Vf aGFuZGxlIGRldiwKKwkJCSAgICAgICB1aW50MzJfdCBzaGFyZWRfaGFuZGxlKTsKKworLyoqCiAg KiAgR2V0IHRoZSBBU0lDIG1hcmtldGluZyBuYW1lCiAgKgogICogXHBhcmFtICAgZGV2ICAgICAg ICAgLSBcYyBbaW5dIERldmljZSBoYW5kbGUuIFNlZSAjYW1kZ3B1X2RldmljZV9pbml0aWFsaXpl KCkKZGlmZiAtLWdpdCBhL2FtZGdwdS9hbWRncHVfY3MuYyBiL2FtZGdwdS9hbWRncHVfY3MuYwpp bmRleCBjNzZhNjc1Li5hM2ZmMzRlIDEwMDY0NAotLS0gYS9hbWRncHUvYW1kZ3B1X2NzLmMKKysr IGIvYW1kZ3B1L2FtZGdwdV9jcy5jCkBAIC01MTgsNiArNTE4LDM0IEBAIGludCBhbWRncHVfY3Nf d2FpdF9mZW5jZXMoc3RydWN0IGFtZGdwdV9jc19mZW5jZSAqZmVuY2VzLAogCXJldHVybiByOwog fQogCitpbnQgYW1kZ3B1X2NzX2NyZWF0ZV9zZW1hcGhvcmVfb2JqZWN0KGFtZGdwdV9kZXZpY2Vf aGFuZGxlIGRldmljZV9oYW5kbGUsCisJCQkJICAgICAgYW1kZ3B1X3NlbWFwaG9yZV9oYW5kbGUg KnNlbSkKK3sKKwlzdHJ1Y3QgYW1kZ3B1X2JvX2FsbG9jX3JlcXVlc3QgcmVxID0gezB9OworCWFt ZGdwdV9ib19oYW5kbGUgYnVmX2hhbmRsZTsKKwlpbnQgcjsKKworCWlmIChOVUxMID09IHNlbSkK KwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXEuYWxsb2Nfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgYW1k Z3B1X3NlbWFwaG9yZSk7CisJcmVxLnByZWZlcnJlZF9oZWFwID0gQU1ER1BVX0dFTV9ET01BSU5f R1RUOworCisJciA9IGFtZGdwdV9ib19hbGxvYyhkZXZpY2VfaGFuZGxlLCAmcmVxLCAmYnVmX2hh bmRsZSk7CisJaWYgKHIpCisJCXJldHVybiByOworCXIgPSBhbWRncHVfYm9fY3B1X21hcChidWZf aGFuZGxlLCBzZW0pOworCWlmIChyKSB7CisJCWFtZGdwdV9ib19mcmVlKGJ1Zl9oYW5kbGUpOwor CQlyZXR1cm4gcjsKKwl9CisJKCpzZW0pLT5idWZfaGFuZGxlID0gYnVmX2hhbmRsZTsKKwlhdG9t aWNfc2V0KCYoKnNlbSktPnJlZmNvdW50LCAxKTsKKwkoKnNlbSktPnZlcnNpb24gPSAyOworCisJ cmV0dXJuIDA7Cit9CisKIGludCBhbWRncHVfY3NfY3JlYXRlX3NlbWFwaG9yZShhbWRncHVfc2Vt YXBob3JlX2hhbmRsZSAqc2VtKQogewogCXN0cnVjdCBhbWRncHVfc2VtYXBob3JlICpncHVfc2Vt YXBob3JlOwpAQCAtNTI5LDYgKzU1Nyw3IEBAIGludCBhbWRncHVfY3NfY3JlYXRlX3NlbWFwaG9y ZShhbWRncHVfc2VtYXBob3JlX2hhbmRsZSAqc2VtKQogCWlmIChOVUxMID09IGdwdV9zZW1hcGhv cmUpCiAJCXJldHVybiAtRU5PTUVNOwogCisJZ3B1X3NlbWFwaG9yZS0+dmVyc2lvbiA9IDE7CiAJ YXRvbWljX3NldCgmZ3B1X3NlbWFwaG9yZS0+cmVmY291bnQsIDEpOwogCSpzZW0gPSBncHVfc2Vt YXBob3JlOwogCkBAIC02MDgsOCArNjM3LDE1IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X2NzX3VucmVm ZXJlbmNlX3NlbShhbWRncHVfc2VtYXBob3JlX2hhbmRsZSBzZW0pCiAJaWYgKE5VTEwgPT0gc2Vt KQogCQlyZXR1cm4gLUVJTlZBTDsKIAotCWlmICh1cGRhdGVfcmVmZXJlbmNlcygmc2VtLT5yZWZj b3VudCwgTlVMTCkpCi0JCWZyZWUoc2VtKTsKKwlpZiAodXBkYXRlX3JlZmVyZW5jZXMoJnNlbS0+ cmVmY291bnQsIE5VTEwpKSB7CisJCWlmIChzZW0tPnZlcnNpb24gPT0gMSkKKwkJCWZyZWUoc2Vt KTsKKwkJZWxzZSBpZiAoc2VtLT52ZXJzaW9uID09IDIpIHsKKwkJCWFtZGdwdV9ib19oYW5kbGUg YnVmX2hhbmRsZSA9IHNlbS0+YnVmX2hhbmRsZTsKKwkJCWFtZGdwdV9ib19jcHVfdW5tYXAoYnVm X2hhbmRsZSk7CisJCQlhbWRncHVfYm9fZnJlZShidWZfaGFuZGxlKTsKKwkJfQorCX0KIAlyZXR1 cm4gMDsKIH0KIApAQCAtNjE4LDQgKzY1NCwyNyBAQCBpbnQgYW1kZ3B1X2NzX2Rlc3Ryb3lfc2Vt YXBob3JlKGFtZGdwdV9zZW1hcGhvcmVfaGFuZGxlIHNlbSkKIAlyZXR1cm4gYW1kZ3B1X2NzX3Vu cmVmZXJlbmNlX3NlbShzZW0pOwogfQogCitpbnQgYW1kZ3B1X2NzX2V4cG9ydF9zZW1hcGhvcmUo YW1kZ3B1X3NlbWFwaG9yZV9oYW5kbGUgc2VtLAorCQkJICAgICAgIHVpbnQzMl90ICpzaGFyZWRf aGFuZGxlKQoreworCXJldHVybiBhbWRncHVfYm9fZXhwb3J0KHNlbS0+YnVmX2hhbmRsZSwKKwkJ CQlhbWRncHVfYm9faGFuZGxlX3R5cGVfZG1hX2J1Zl9mZCwKKwkJCQlzaGFyZWRfaGFuZGxlKTsK KworfQorCitpbnQgYW1kZ3B1X2NzX2ltcG9ydF9zZW1hcGhvcmUoYW1kZ3B1X3NlbWFwaG9yZV9o YW5kbGUgKnNlbSwKKwkJCSAgICAgICBhbWRncHVfZGV2aWNlX2hhbmRsZSBkZXYsIHVpbnQzMl90 IHNoYXJlZF9oYW5kbGUpCit7CisJc3RydWN0IGFtZGdwdV9ib19pbXBvcnRfcmVzdWx0IG91dHB1 dDsKKwlpbnQgcjsKKworCXIgPSBhbWRncHVfYm9faW1wb3J0KGRldiwKKwkJCSAgICAgYW1kZ3B1 X2JvX2hhbmRsZV90eXBlX2RtYV9idWZfZmQsCisJCQkgICAgIHNoYXJlZF9oYW5kbGUsCisJCQkg ICAgICZvdXRwdXQpOworCWlmIChyKQorCQlyZXR1cm4gcjsKIAorCXJldHVybiBhbWRncHVfYm9f Y3B1X21hcChvdXRwdXQuYnVmX2hhbmRsZSwgc2VtKTsKK30KZGlmZiAtLWdpdCBhL2FtZGdwdS9h bWRncHVfaW50ZXJuYWwuaCBiL2FtZGdwdS9hbWRncHVfaW50ZXJuYWwuaAppbmRleCBjY2M4NWQ3 Li43YzQyMmRhIDEwMDY0NAotLS0gYS9hbWRncHUvYW1kZ3B1X2ludGVybmFsLmgKKysrIGIvYW1k Z3B1L2FtZGdwdV9pbnRlcm5hbC5oCkBAIC0xMzQsNiArMTM0LDggQEAgc3RydWN0IGFtZGdwdV9z ZW1hcGhvcmUgewogCWF0b21pY190IHJlZmNvdW50OwogCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsK IAlzdHJ1Y3QgZHJtX2FtZGdwdV9mZW5jZSBzaWduYWxfZmVuY2U7CisJYW1kZ3B1X2JvX2hhbmRs ZSBidWZfaGFuZGxlOworCXVpbnQzMl90IHZlcnNpb247CiB9OwogCiAvKioKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK