From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongwon Kim Subject: [RFC PATCH 18/60] hyper_dmabuf: reset comm channel when one end has disconnected. Date: Tue, 19 Dec 2017 11:29:34 -0800 Message-ID: <1513711816-2618-18-git-send-email-dongwon.kim@intel.com> References: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1513711816-2618-1-git-send-email-dongwon.kim@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: xen-devel@lists.xenproject.org, mateuszx.potrola@intel.com, dri-devel@lists.freedesktop.org, dongwon.kim@intel.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWF0ZXVzeiBQb2xyb2xhIDxtYXRldXN6eC5wb3Ryb2xhQGludGVsLmNvbT4KCldoZW4g ZXhwb3J0ZXIgb3IgaW1wb3J0ZXIgaXMgZGlzY29ubmVjdGVkLCByaW5nIGJ1ZmZlciBzaG91bGQg YmUKcmVpbml0aWFsemVkLCBvdGhlcndpc2Ugb24gbmV4dCByZWNvbm5lY3Rpb24gZXhwb3J0ZXIv aW1wb3J0ZXIgd2lsbApyZWNlaXZlIG9sZCByZXF1ZXN0cy9yZXNwb25zZXMgcmVtYWluaW5nIGlu IHRoZSByaW5nIGJ1ZmZlciwgd2hpY2ggYXJlCm5vdCB2YWxpZCBhbnltb3JlLgoKVGhpcyBwYXRj aCBhbHNvIGJsb2NrcyBiYWNrIHJpbmcgaXJxIHVudGlsIGNvbW11bmljYXRpb24gY2hhbm5lbCBp cwppbml0aWFsaXplZCBhbmQgZnVsbHkgYWN0aXZlIHRvIHByZXZlbnQgYSByYWNlIGNvbmRpdGlv bi4KClNpZ25lZC1vZmYtYnk6IERvbmd3b24gS2ltIDxkb25nd29uLmtpbUBpbnRlbC5jb20+Ci0t LQogLi4uL3hlbi9oeXBlcl9kbWFidWYveGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29tbS5jICAgfCAy NCArKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYv eGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29tbS5jIGIvZHJpdmVycy94ZW4vaHlwZXJfZG1hYnVmL3hl bi9oeXBlcl9kbWFidWZfeGVuX2NvbW0uYwppbmRleCA1ZTdhMjUwLi5iNjI5MDMyIDEwMDY0NAot LS0gYS9kcml2ZXJzL3hlbi9oeXBlcl9kbWFidWYveGVuL2h5cGVyX2RtYWJ1Zl94ZW5fY29tbS5j CisrKyBiL2RyaXZlcnMveGVuL2h5cGVyX2RtYWJ1Zi94ZW4vaHlwZXJfZG1hYnVmX3hlbl9jb21t LmMKQEAgLTI4Miw2ICsyODIsNyBAQCBpbnQgaHlwZXJfZG1hYnVmX3hlbl9pbml0X3R4X3JidWYo aW50IGRvbWlkKQogdm9pZCBoeXBlcl9kbWFidWZfeGVuX2NsZWFudXBfdHhfcmJ1ZihpbnQgZG9t aWQpCiB7CiAJc3RydWN0IHhlbl9jb21tX3R4X3JpbmdfaW5mbyAqcmluZ19pbmZvOworCXN0cnVj dCB4ZW5fY29tbV9yeF9yaW5nX2luZm8gKnJ4X3JpbmdfaW5mbzsKIAogCS8qIGNoZWNrIGlmIHdl IGF0IGFsbCBoYXZlIGV4cG9ydGVyIHJpbmcgZm9yIGdpdmVuIHJkb21haW4gKi8KIAlyaW5nX2lu Zm8gPSB4ZW5fY29tbV9maW5kX3R4X3JpbmcoZG9taWQpOwpAQCAtMzA3LDYgKzMwOCwxMiBAQCB2 b2lkIGh5cGVyX2RtYWJ1Zl94ZW5fY2xlYW51cF90eF9yYnVmKGludCBkb21pZCkKIAkJCQkgICh1 bnNpZ25lZCBsb25nKSByaW5nX2luZm8tPnJpbmdfZnJvbnQuc3JpbmcpOwogCiAJa2ZyZWUocmlu Z19pbmZvKTsKKworCXJ4X3JpbmdfaW5mbyA9IHhlbl9jb21tX2ZpbmRfcnhfcmluZyhkb21pZCk7 CisJaWYgKCFyeF9yaW5nX2luZm8pCisJCXJldHVybjsKKworCUJBQ0tfUklOR19JTklUKCYocnhf cmluZ19pbmZvLT5yaW5nX2JhY2spLCByeF9yaW5nX2luZm8tPnJpbmdfYmFjay5zcmluZywgUEFH RV9TSVpFKTsKIH0KIAogLyogaW1wb3J0ZXIgbmVlZHMgdG8ga25vdyBhYm91dCBzaGFyZWQgcGFn ZSBhbmQgcG9ydCBudW1iZXJzIGZvcgpAQCAtMzc4LDkgKzM4NSw4IEBAIGludCBoeXBlcl9kbWFi dWZfeGVuX2luaXRfcnhfcmJ1ZihpbnQgZG9taWQpCiAKIAlCQUNLX1JJTkdfSU5JVCgmcmluZ19p bmZvLT5yaW5nX2JhY2ssIHNyaW5nLCBQQUdFX1NJWkUpOwogCi0JcmV0ID0gYmluZF9pbnRlcmRv bWFpbl9ldnRjaG5fdG9faXJxaGFuZGxlcihkb21pZCwgcnhfcG9ydCwKLQkJCQkJCSAgICBiYWNr X3JpbmdfaXNyLCAwLAotCQkJCQkJICAgIE5VTEwsICh2b2lkKilyaW5nX2luZm8pOworCXJldCA9 IGJpbmRfaW50ZXJkb21haW5fZXZ0Y2huX3RvX2lycShkb21pZCwgcnhfcG9ydCk7CisKIAlpZiAo cmV0IDwgMCkgewogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CkBAIC0zOTksNiArNDA1LDEwIEBAIGlu dCBoeXBlcl9kbWFidWZfeGVuX2luaXRfcnhfcmJ1ZihpbnQgZG9taWQpCiAJCXJldCA9IGh5cGVy X2RtYWJ1Zl94ZW5faW5pdF90eF9yYnVmKGRvbWlkKTsKIAl9CiAKKwlyZXQgPSByZXF1ZXN0X2ly cShyaW5nX2luZm8tPmlycSwKKwkJCSAgYmFja19yaW5nX2lzciwgMCwKKwkJCSAgTlVMTCwgKHZv aWQqKXJpbmdfaW5mbyk7CisKIAlyZXR1cm4gcmV0OwogfQogCkBAIC00MDYsNiArNDE2LDcgQEAg aW50IGh5cGVyX2RtYWJ1Zl94ZW5faW5pdF9yeF9yYnVmKGludCBkb21pZCkKIHZvaWQgaHlwZXJf ZG1hYnVmX3hlbl9jbGVhbnVwX3J4X3JidWYoaW50IGRvbWlkKQogewogCXN0cnVjdCB4ZW5fY29t bV9yeF9yaW5nX2luZm8gKnJpbmdfaW5mbzsKKwlzdHJ1Y3QgeGVuX2NvbW1fdHhfcmluZ19pbmZv ICp0eF9yaW5nX2luZm87CiAJc3RydWN0IHBhZ2UgKnNoYXJlZF9yaW5nOwogCiAJLyogY2hlY2sg aWYgd2UgaGF2ZSBpbXBvcnRlciByaW5nIGNyZWF0ZWQgZm9yIGdpdmVuIHNkb21haW4gKi8KQEAg LTQyNSw2ICs0MzYsMTMgQEAgdm9pZCBoeXBlcl9kbWFidWZfeGVuX2NsZWFudXBfcnhfcmJ1Zihp bnQgZG9taWQpCiAJZ250dGFiX2ZyZWVfcGFnZXMoMSwgJnNoYXJlZF9yaW5nKTsKIAogCWtmcmVl KHJpbmdfaW5mbyk7CisKKwl0eF9yaW5nX2luZm8gPSB4ZW5fY29tbV9maW5kX3R4X3JpbmcoZG9t aWQpOworCWlmICghdHhfcmluZ19pbmZvKQorCQlyZXR1cm47CisKKwlTSEFSRURfUklOR19JTklU KHR4X3JpbmdfaW5mby0+cmluZ19mcm9udC5zcmluZyk7CisJRlJPTlRfUklOR19JTklUKCYodHhf cmluZ19pbmZvLT5yaW5nX2Zyb250KSwgdHhfcmluZ19pbmZvLT5yaW5nX2Zyb250LnNyaW5nLCBQ QUdFX1NJWkUpOwogfQogCiBpbnQgaHlwZXJfZG1hYnVmX3hlbl9pbml0X2NvbW1fZW52KHZvaWQp Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=