From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v9 10/18] drm/virtio: rework virtio_gpu_transfer_from_host_ioctl fencing Date: Thu, 29 Aug 2019 12:32:53 +0200 Message-ID: <20190829103301.3539-11-kraxel@redhat.com> References: <20190829103301.3539-1-kraxel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1AFE26E09E for ; Thu, 29 Aug 2019 10:33:08 +0000 (UTC) In-Reply-To: <20190829103301.3539-1-kraxel@redhat.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 Cc: David Airlie , open list , "open list:VIRTIO GPU DRIVER" , Gerd Hoffmann , gurchetansingh@chromium.org List-Id: dri-devel@lists.freedesktop.org U3dpdGNoIHRvIHRoZSB2aXJ0aW9fZ3B1X2FycmF5XyogaGVscGVyIHdvcmtmbG93LgoKU2lnbmVk LW9mZi1ieTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X2lvY3RsLmMgfCA0MCArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMgICAgfCAgOCArKysrLS0KIDMgZmlsZXMg Y2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X2Rydi5oCmluZGV4IGM2ZWE2NWY2NTA3ZS4uZmE1NjhjYmZkZGRjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oCkBAIC0zMjMsOSArMzIzLDEwIEBAIHZvaWQg dmlydGlvX2dwdV9jbWRfc3VibWl0KHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJ CQkgICBzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3RfYXJyYXkgKm9ianMsCiAJCQkgICBzdHJ1Y3Qg dmlydGlvX2dwdV9mZW5jZSAqZmVuY2UpOwogdm9pZCB2aXJ0aW9fZ3B1X2NtZF90cmFuc2Zlcl9m cm9tX2hvc3RfM2Qoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKLQkJCQkJICB1aW50 MzJfdCByZXNvdXJjZV9pZCwgdWludDMyX3QgY3R4X2lkLAorCQkJCQkgIHVpbnQzMl90IGN0eF9p ZCwKIAkJCQkJICB1aW50NjRfdCBvZmZzZXQsIHVpbnQzMl90IGxldmVsLAogCQkJCQkgIHN0cnVj dCB2aXJ0aW9fZ3B1X2JveCAqYm94LAorCQkJCQkgIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdF9h cnJheSAqb2JqcywKIAkJCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UpOwogdm9p ZCB2aXJ0aW9fZ3B1X2NtZF90cmFuc2Zlcl90b19ob3N0XzNkKHN0cnVjdCB2aXJ0aW9fZ3B1X2Rl dmljZSAqdmdkZXYsCiAJCQkJCXN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCAqYm8sCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYyBiL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5jCmluZGV4IDYxYjFiNTVlYzUwOC4uZjIxMzNkMzcx YWFhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYwpAQCAtMzQwLDkgKzM0 MCw3IEBAIHN0YXRpYyBpbnQgdmlydGlvX2dwdV90cmFuc2Zlcl9mcm9tX2hvc3RfaW9jdGwoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAlzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2ID0g ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgdmlydGlvX2dwdV9mcHJpdiAqdmZwcml2ID0gZmls ZS0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0IGRybV92aXJ0Z3B1XzNkX3RyYW5zZmVyX2Zyb21faG9z dCAqYXJncyA9IGRhdGE7Ci0Jc3RydWN0IHR0bV9vcGVyYXRpb25fY3R4IGN0eCA9IHsgdHJ1ZSwg ZmFsc2UgfTsKLQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdvYmogPSBOVUxMOwotCXN0cnVjdCB2 aXJ0aW9fZ3B1X29iamVjdCAqcW9iaiA9IE5VTEw7CisJc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0 X2FycmF5ICpvYmpzOwogCXN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpmZW5jZTsKIAlpbnQgcmV0 OwogCXUzMiBvZmZzZXQgPSBhcmdzLT5vZmZzZXQ7CkBAIC0zNTEsMzkgKzM0OSwzMSBAQCBzdGF0 aWMgaW50IHZpcnRpb19ncHVfdHJhbnNmZXJfZnJvbV9ob3N0X2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJaWYgKHZnZGV2LT5oYXNfdmlyZ2xfM2QgPT0gZmFsc2UpCiAJCXJldHVybiAt RU5PU1lTOwogCi0JZ29iaiA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChmaWxlLCBhcmdzLT5ib19o YW5kbGUpOwotCWlmIChnb2JqID09IE5VTEwpCisJb2JqcyA9IHZpcnRpb19ncHVfYXJyYXlfZnJv bV9oYW5kbGVzKGZpbGUsICZhcmdzLT5ib19oYW5kbGUsIDEpOworCWlmIChvYmpzID09IE5VTEwp CiAJCXJldHVybiAtRU5PRU5UOwogCi0JcW9iaiA9IGdlbV90b192aXJ0aW9fZ3B1X29iaihnb2Jq KTsKLQotCXJldCA9IHZpcnRpb19ncHVfb2JqZWN0X3Jlc2VydmUocW9iaik7Ci0JaWYgKHJldCkK LQkJZ290byBvdXQ7Ci0KLQlyZXQgPSB0dG1fYm9fdmFsaWRhdGUoJnFvYmotPnRibywgJnFvYmot PnBsYWNlbWVudCwgJmN0eCk7Ci0JaWYgKHVubGlrZWx5KHJldCkpCi0JCWdvdG8gb3V0X3VucmVz OworCXJldCA9IHZpcnRpb19ncHVfYXJyYXlfbG9ja19yZXN2KG9ianMpOworCWlmIChyZXQgIT0g MCkKKwkJZ290byBlcnJfcHV0X2ZyZWU7CiAKIAljb252ZXJ0X3RvX2h3X2JveCgmYm94LCAmYXJn cy0+Ym94KTsKIAogCWZlbmNlID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CiAJaWYg KCFmZW5jZSkgewogCQlyZXQgPSAtRU5PTUVNOwotCQlnb3RvIG91dF91bnJlczsKKwkJZ290byBl cnJfdW5sb2NrOwogCX0KIAl2aXJ0aW9fZ3B1X2NtZF90cmFuc2Zlcl9mcm9tX2hvc3RfM2QKLQkJ KHZnZGV2LCBxb2JqLT5od19yZXNfaGFuZGxlLAotCQkgdmZwcml2LT5jdHhfaWQsIG9mZnNldCwg YXJncy0+bGV2ZWwsCi0JCSAmYm94LCBmZW5jZSk7Ci0JZG1hX3Jlc3ZfYWRkX2V4Y2xfZmVuY2Uo cW9iai0+dGJvLmJhc2UucmVzdiwKLQkJCQkJICAmZmVuY2UtPmYpOwotCisJCSh2Z2RldiwgdmZw cml2LT5jdHhfaWQsIG9mZnNldCwgYXJncy0+bGV2ZWwsCisJCSAmYm94LCBvYmpzLCBmZW5jZSk7 CiAJZG1hX2ZlbmNlX3B1dCgmZmVuY2UtPmYpOwotb3V0X3VucmVzOgotCXZpcnRpb19ncHVfb2Jq ZWN0X3VucmVzZXJ2ZShxb2JqKTsKLW91dDoKLQlkcm1fZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQo Z29iaik7CisJcmV0dXJuIDA7CisKK2Vycl91bmxvY2s6CisJdmlydGlvX2dwdV9hcnJheV91bmxv Y2tfcmVzdihvYmpzKTsKK2Vycl9wdXRfZnJlZToKKwl2aXJ0aW9fZ3B1X2FycmF5X3B1dF9mcmVl KG9ianMpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 aXJ0aW8vdmlydGdwdV92cS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMK aW5kZXggNzUwOTQyNGE3YjkyLi5hOGYxZGJmMTAyMDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV92cS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV92cS5jCkBAIC05MjksMjAgKzkyOSwyNCBAQCB2b2lkIHZpcnRpb19ncHVfY21kX3RyYW5z ZmVyX3RvX2hvc3RfM2Qoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIH0KIAogdm9p ZCB2aXJ0aW9fZ3B1X2NtZF90cmFuc2Zlcl9mcm9tX2hvc3RfM2Qoc3RydWN0IHZpcnRpb19ncHVf ZGV2aWNlICp2Z2RldiwKLQkJCQkJICB1aW50MzJfdCByZXNvdXJjZV9pZCwgdWludDMyX3QgY3R4 X2lkLAorCQkJCQkgIHVpbnQzMl90IGN0eF9pZCwKIAkJCQkJICB1aW50NjRfdCBvZmZzZXQsIHVp bnQzMl90IGxldmVsLAogCQkJCQkgIHN0cnVjdCB2aXJ0aW9fZ3B1X2JveCAqYm94LAorCQkJCQkg IHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdF9hcnJheSAqb2JqcywKIAkJCQkJICBzdHJ1Y3Qgdmly dGlvX2dwdV9mZW5jZSAqZmVuY2UpCiB7CisJc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibyA9 IGdlbV90b192aXJ0aW9fZ3B1X29iaihvYmpzLT5vYmpzWzBdKTsKIAlzdHJ1Y3QgdmlydGlvX2dw dV90cmFuc2Zlcl9ob3N0XzNkICpjbWRfcDsKIAlzdHJ1Y3QgdmlydGlvX2dwdV92YnVmZmVyICp2 YnVmOwogCiAJY21kX3AgPSB2aXJ0aW9fZ3B1X2FsbG9jX2NtZCh2Z2RldiwgJnZidWYsIHNpemVv ZigqY21kX3ApKTsKIAltZW1zZXQoY21kX3AsIDAsIHNpemVvZigqY21kX3ApKTsKIAorCXZidWYt Pm9ianMgPSBvYmpzOworCiAJY21kX3AtPmhkci50eXBlID0gY3B1X3RvX2xlMzIoVklSVElPX0dQ VV9DTURfVFJBTlNGRVJfRlJPTV9IT1NUXzNEKTsKIAljbWRfcC0+aGRyLmN0eF9pZCA9IGNwdV90 b19sZTMyKGN0eF9pZCk7Ci0JY21kX3AtPnJlc291cmNlX2lkID0gY3B1X3RvX2xlMzIocmVzb3Vy Y2VfaWQpOworCWNtZF9wLT5yZXNvdXJjZV9pZCA9IGNwdV90b19sZTMyKGJvLT5od19yZXNfaGFu ZGxlKTsKIAljbWRfcC0+Ym94ID0gKmJveDsKIAljbWRfcC0+b2Zmc2V0ID0gY3B1X3RvX2xlNjQo b2Zmc2V0KTsKIAljbWRfcC0+bGV2ZWwgPSBjcHVfdG9fbGUzMihsZXZlbCk7Ci0tIAoyLjE4LjEK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==