From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v4 09/12] drm/virtio: rework virtio_gpu_object_create fencing Date: Thu, 20 Jun 2019 08:07:23 +0200 Message-ID: <20190620060726.926-10-kraxel@redhat.com> References: <20190620060726.926-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 A67DD6E4C1 for ; Thu, 20 Jun 2019 06:07:37 +0000 (UTC) In-Reply-To: <20190620060726.926-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 , Gerd Hoffmann , "open list:VIRTIO GPU DRIVER" List-Id: dri-devel@lists.freedesktop.org VXNlIGdlbSByZXNlcnZhdGlvbiBoZWxwZXJzIGFuZCBkaXJlY3QgcmVzZXJ2YXRpb25fb2JqZWN0 XyogY2FsbHMKaW5zdGVhZCBvZiB0dG0uCgp2MzogRHVlIHRvIHVzaW5nIHRoZSBnZW0gcmVzZXJ2 YXRpb24gb2JqZWN0IGl0IGlzIGluaXRpYWxpemVkIGFuZCByZWFkeQpmb3IgdXNlIGJlZm9yZSBj YWxsaW5nIHR0bV9ib19pbml0LCBzbyB3ZSBjYW4gYWxzbyBkcm9wIHRoZSB0cmlja3kgZmVuY2UK bG9naWMgd2hpY2ggY2hlY2tzIHdoZW5ldmVyIHRoZSBjb21tYW5kIGlzIGluIGZsaWdodCBzdGls bC4gIFdlIGNhbgpzaW1wbHkgZmVuY2Ugb3VyIG9iamVjdCBiZWZvcmUgc3VibWl0dGluZyB0aGUg dmlydGlvIGNvbW1hbmQgYW5kIGJlIGRvbmUKd2l0aCBpdC4KClNpZ25lZC1vZmYtYnk6IEdlcmQg SG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPgpBY2tlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFu aWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVf ZHJ2LmggICAgfCAgNiArKy0KIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9vYmplY3Qu YyB8IDU0ICsrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8v dmlydGdwdV92cS5jICAgICB8ICA4ICsrKy0KIDMgZmlsZXMgY2hhbmdlZCwgMzAgaW5zZXJ0aW9u cygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRp by92aXJ0Z3B1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oCmlu ZGV4IDY1ZjVjZTQxYzM0MS4uNTIxM2Q3ZjQ5OWViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdmlydGlvL3ZpcnRncHVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0 Z3B1X2Rydi5oCkBAIC0yNjcsNyArMjY3LDggQEAgdm9pZCB2aXJ0aW9fZ3B1X2ZyZWVfdmJ1ZnMo c3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2Rldik7CiB2b2lkIHZpcnRpb19ncHVfY21kX2Ny ZWF0ZV9yZXNvdXJjZShzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCQkJCSAgICBz dHJ1Y3QgdmlydGlvX2dwdV9vYmplY3QgKmJvLAogCQkJCSAgICBzdHJ1Y3QgdmlydGlvX2dwdV9v YmplY3RfcGFyYW1zICpwYXJhbXMsCi0JCQkJICAgIHN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpm ZW5jZSk7CisJCQkJICAgIHN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpmZW5jZSwKKwkJCQkgICAg c3RydWN0IHZpcnRpb19ncHVfb2JqZWN0X2FycmF5ICpvYmpzKTsKIHZvaWQgdmlydGlvX2dwdV9j bWRfdW5yZWZfcmVzb3VyY2Uoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAkJCQkg ICB1aW50MzJfdCByZXNvdXJjZV9pZCk7CiB2b2lkIHZpcnRpb19ncHVfY21kX3RyYW5zZmVyX3Rv X2hvc3RfMmQoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKQEAgLTMyOCw3ICszMjks OCBAQCB2b2lkCiB2aXJ0aW9fZ3B1X2NtZF9yZXNvdXJjZV9jcmVhdGVfM2Qoc3RydWN0IHZpcnRp b19ncHVfZGV2aWNlICp2Z2RldiwKIAkJCQkgIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCAqYm8s CiAJCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3RfcGFyYW1zICpwYXJhbXMsCi0JCQkJICBz dHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UpOworCQkJCSAgc3RydWN0IHZpcnRpb19ncHVf ZmVuY2UgKmZlbmNlLAorCQkJCSAgc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0X2FycmF5ICpvYmpz KTsKIHZvaWQgdmlydGlvX2dwdV9jdHJsX2FjayhzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CiB2b2lk IHZpcnRpb19ncHVfY3Vyc29yX2FjayhzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CiB2b2lkIHZpcnRp b19ncHVfZmVuY2VfYWNrKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9vYmplY3QuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0 aW8vdmlydGdwdV9vYmplY3QuYwppbmRleCA4MmJmYmY5ODNmZDIuLjkwNjQyOTA3YWE1YyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X29iamVjdC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9vYmplY3QuYwpAQCAtOTcsNiArOTcsNyBAQCBp bnQgdmlydGlvX2dwdV9vYmplY3RfY3JlYXRlKHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdk ZXYsCiAJCQkgICAgIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCAqKmJvX3B0ciwKIAkJCSAgICAg c3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKmZlbmNlKQogeworCXN0cnVjdCB2aXJ0aW9fZ3B1X29i amVjdF9hcnJheSAqb2JqcyA9IE5VTEw7CiAJc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibzsK IAlzaXplX3QgYWNjX3NpemU7CiAJaW50IHJldDsKQEAgLTEyMywxMCArMTI0LDI3IEBAIGludCB2 aXJ0aW9fZ3B1X29iamVjdF9jcmVhdGUoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwK IAl9CiAJYm8tPmR1bWIgPSBwYXJhbXMtPmR1bWI7CiAKKwlpZiAoZmVuY2UpIHsKKwkJc3RydWN0 IHd3X2FjcXVpcmVfY3R4IHRpY2tldDsKKworCQlvYmpzID0gdmlydGlvX2dwdV9hcnJheV9hbGxv YygxKTsKKwkJb2Jqcy0+b2Jqc1swXSA9ICZiby0+Z2VtX2Jhc2U7CisJCWRybV9nZW1fb2JqZWN0 X2dldChvYmpzLT5vYmpzWzBdKTsKKworCQlyZXQgPSBkcm1fZ2VtX2xvY2tfcmVzZXJ2YXRpb25z KG9ianMtPm9ianMsIG9ianMtPm5lbnRzLAorCQkJCQkJJnRpY2tldCk7CisJCWlmIChyZXQgPT0g MCkKKwkJCXJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhjbF9mZW5jZShvYmpzLT5vYmpzWzBdLT5y ZXN2LAorCQkJCQkJCSAgJmZlbmNlLT5mKTsKKwkJZHJtX2dlbV91bmxvY2tfcmVzZXJ2YXRpb25z KG9ianMtPm9ianMsIG9ianMtPm5lbnRzLCAmdGlja2V0KTsKKwl9CisKIAlpZiAocGFyYW1zLT52 aXJnbCkgewotCQl2aXJ0aW9fZ3B1X2NtZF9yZXNvdXJjZV9jcmVhdGVfM2QodmdkZXYsIGJvLCBw YXJhbXMsIGZlbmNlKTsKKwkJdmlydGlvX2dwdV9jbWRfcmVzb3VyY2VfY3JlYXRlXzNkKHZnZGV2 LCBibywgcGFyYW1zLAorCQkJCQkJICBmZW5jZSwgb2Jqcyk7CiAJfSBlbHNlIHsKLQkJdmlydGlv X2dwdV9jbWRfY3JlYXRlX3Jlc291cmNlKHZnZGV2LCBibywgcGFyYW1zLCBmZW5jZSk7CisJCXZp cnRpb19ncHVfY21kX2NyZWF0ZV9yZXNvdXJjZSh2Z2RldiwgYm8sIHBhcmFtcywKKwkJCQkJICAg ICAgIGZlbmNlLCBvYmpzKTsKIAl9CiAKIAl2aXJ0aW9fZ3B1X2luaXRfdHRtX3BsYWNlbWVudChi byk7CkBAIC0xMzksMzggKzE1Nyw2IEBAIGludCB2aXJ0aW9fZ3B1X29iamVjdF9jcmVhdGUoc3Ry dWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAlpZiAocmV0ICE9IDApCiAJCXJldHVybiBy ZXQ7CiAKLQlpZiAoZmVuY2UpIHsKLQkJc3RydWN0IHZpcnRpb19ncHVfZmVuY2VfZHJpdmVyICpk cnYgPSAmdmdkZXYtPmZlbmNlX2RydjsKLQkJc3RydWN0IGxpc3RfaGVhZCB2YWxpZGF0ZV9saXN0 OwotCQlzdHJ1Y3QgdHRtX3ZhbGlkYXRlX2J1ZmZlciBtYWluYnVmOwotCQlzdHJ1Y3Qgd3dfYWNx dWlyZV9jdHggdGlja2V0OwotCQl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQkJYm9vbCBzaWdu YWxlZDsKLQotCQlJTklUX0xJU1RfSEVBRCgmdmFsaWRhdGVfbGlzdCk7Ci0JCW1lbXNldCgmbWFp bmJ1ZiwgMCwgc2l6ZW9mKHN0cnVjdCB0dG1fdmFsaWRhdGVfYnVmZmVyKSk7Ci0KLQkJLyogdXNl IGEgZ2VtIHJlZmVyZW5jZSBzaW5jZSB1bnJlZiBsaXN0IHVuZG9lcyB0aGVtICovCi0JCWRybV9n ZW1fb2JqZWN0X2dldCgmYm8tPmdlbV9iYXNlKTsKLQkJbWFpbmJ1Zi5ibyA9ICZiby0+dGJvOwot CQlsaXN0X2FkZCgmbWFpbmJ1Zi5oZWFkLCAmdmFsaWRhdGVfbGlzdCk7Ci0KLQkJcmV0ID0gdmly dGlvX2dwdV9vYmplY3RfbGlzdF92YWxpZGF0ZSgmdGlja2V0LCAmdmFsaWRhdGVfbGlzdCk7Ci0J CWlmIChyZXQgPT0gMCkgewotCQkJc3Bpbl9sb2NrX2lycXNhdmUoJmRydi0+bG9jaywgaXJxX2Zs YWdzKTsKLQkJCXNpZ25hbGVkID0gdmlydGlvX2ZlbmNlX3NpZ25hbGVkKCZmZW5jZS0+Zik7Ci0J CQlpZiAoIXNpZ25hbGVkKQotCQkJCS8qIHZpcnRpbyBjcmVhdGUgY29tbWFuZCBzdGlsbCBpbiBm bGlnaHQgKi8KLQkJCQl0dG1fZXVfZmVuY2VfYnVmZmVyX29iamVjdHMoJnRpY2tldCwgJnZhbGlk YXRlX2xpc3QsCi0JCQkJCQkJICAgICZmZW5jZS0+Zik7Ci0JCQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZkcnYtPmxvY2ssIGlycV9mbGFncyk7Ci0JCQlpZiAoc2lnbmFsZWQpCi0JCQkJLyogdmly dGlvIGNyZWF0ZSBjb21tYW5kIGZpbmlzaGVkICovCi0JCQkJdHRtX2V1X2JhY2tvZmZfcmVzZXJ2 YXRpb24oJnRpY2tldCwgJnZhbGlkYXRlX2xpc3QpOwotCQl9Ci0JCXZpcnRpb19ncHVfdW5yZWZf bGlzdCgmdmFsaWRhdGVfbGlzdCk7Ci0JfQotCiAJKmJvX3B0ciA9IGJvOwogCXJldHVybiAwOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMgYi9kcml2 ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfdnEuYwppbmRleCBkYzJjMmMwMDMyMDAuLjZlMmIy ODdhN2U0YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMKQEAgLTM5MSwxMyArMzkx LDE1IEBAIHN0YXRpYyBpbnQgdmlydGlvX2dwdV9xdWV1ZV9jdXJzb3Ioc3RydWN0IHZpcnRpb19n cHVfZGV2aWNlICp2Z2RldiwKIHZvaWQgdmlydGlvX2dwdV9jbWRfY3JlYXRlX3Jlc291cmNlKHN0 cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJCQkJICAgIHN0cnVjdCB2aXJ0aW9fZ3B1 X29iamVjdCAqYm8sCiAJCQkJICAgIHN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdF9wYXJhbXMgKnBh cmFtcywKLQkJCQkgICAgc3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKmZlbmNlKQorCQkJCSAgICBz dHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UsCisJCQkJICAgIHN0cnVjdCB2aXJ0aW9fZ3B1 X29iamVjdF9hcnJheSAqb2JqcykKIHsKIAlzdHJ1Y3QgdmlydGlvX2dwdV9yZXNvdXJjZV9jcmVh dGVfMmQgKmNtZF9wOwogCXN0cnVjdCB2aXJ0aW9fZ3B1X3ZidWZmZXIgKnZidWY7CiAKIAljbWRf cCA9IHZpcnRpb19ncHVfYWxsb2NfY21kKHZnZGV2LCAmdmJ1Ziwgc2l6ZW9mKCpjbWRfcCkpOwog CW1lbXNldChjbWRfcCwgMCwgc2l6ZW9mKCpjbWRfcCkpOworCXZidWYtPm9ianMgPSBvYmpzOwog CiAJY21kX3AtPmhkci50eXBlID0gY3B1X3RvX2xlMzIoVklSVElPX0dQVV9DTURfUkVTT1VSQ0Vf Q1JFQVRFXzJEKTsKIAljbWRfcC0+cmVzb3VyY2VfaWQgPSBjcHVfdG9fbGUzMihiby0+aHdfcmVz X2hhbmRsZSk7CkBAIC04NjQsMTMgKzg2NiwxNSBAQCB2b2lkCiB2aXJ0aW9fZ3B1X2NtZF9yZXNv dXJjZV9jcmVhdGVfM2Qoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAkJCQkgIHN0 cnVjdCB2aXJ0aW9fZ3B1X29iamVjdCAqYm8sCiAJCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9vYmpl Y3RfcGFyYW1zICpwYXJhbXMsCi0JCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2Up CisJCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UsCisJCQkJICBzdHJ1Y3Qgdmly dGlvX2dwdV9vYmplY3RfYXJyYXkgKm9ianMpCiB7CiAJc3RydWN0IHZpcnRpb19ncHVfcmVzb3Vy Y2VfY3JlYXRlXzNkICpjbWRfcDsKIAlzdHJ1Y3QgdmlydGlvX2dwdV92YnVmZmVyICp2YnVmOwog CiAJY21kX3AgPSB2aXJ0aW9fZ3B1X2FsbG9jX2NtZCh2Z2RldiwgJnZidWYsIHNpemVvZigqY21k X3ApKTsKIAltZW1zZXQoY21kX3AsIDAsIHNpemVvZigqY21kX3ApKTsKKwl2YnVmLT5vYmpzID0g b2JqczsKIAogCWNtZF9wLT5oZHIudHlwZSA9IGNwdV90b19sZTMyKFZJUlRJT19HUFVfQ01EX1JF U09VUkNFX0NSRUFURV8zRCk7CiAJY21kX3AtPnJlc291cmNlX2lkID0gY3B1X3RvX2xlMzIoYm8t Pmh3X3Jlc19oYW5kbGUpOwotLSAKMi4xOC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWw=