From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH v4 1/4] drm/virtio: add virtio_gpu_alloc_fence() Date: Mon, 5 Nov 2018 12:41:49 +0100 Message-ID: <20181105114152.2088-2-robert.foss@collabora.com> References: <20181105114152.2088-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 035F26E196 for ; Mon, 5 Nov 2018 11:42:07 +0000 (UTC) In-Reply-To: <20181105114152.2088-1-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@linux.ie, kraxel@redhat.com, dri-devel@lists.freedesktop.org, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org, Rob Herring , Gustavo Padovan , Emil Velikov Cc: Robert Foss List-Id: dri-devel@lists.freedesktop.org UmVmYWN0b3IgZmVuY2UgY3JlYXRpb24sIGFkZCBmZW5jZXMgdG8gcmVsZXZhbnQgR1BVCm9wZXJh dGlvbnMgYW5kIGFkZCBjdXJzb3IgaGVscGVyIGZ1bmN0aW9ucy4KClRoaXMgcmVtb3ZlcyB0aGUg cG90ZW50aWFsIGZvciBhbGxvY2F0aW9uIGZhaWx1cmVzIGZyb20gdGhlCmNtZF9zdWJtaXQgYW5k IGF0b21pY19jb21taXQgcGF0aHMuCk5vdyBhIGZlbmNlIHdpbGwgYmUgYWxsb2NhdGVkIGZpcnN0 IGFuZCBvbmx5IGFmdGVyIHRoYXQKd2lsbCB3ZSBwcm9jZWVkIHdpdGggdGhlIHJlc3Qgb2YgdGhl IGV4ZWN1dGlvbi4KClNpZ25lZC1vZmYtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRv dmFuQGNvbGxhYm9yYS5jb20+ClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQuZm9z c0Bjb2xsYWJvcmEuY29tPgpTdWdnZXN0ZWQtYnk6IFJvYiBIZXJyaW5nIDxyb2JoQGtlcm5lbC5v cmc+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYzOgogLSBHZXJkOiBDbGFyaWZpZWQgYW5kIGV4dGVuZGVk IGNvbW1pdCBtZXNzYWdlCiAtIEVtaWw6IEZpeGVkIHdoaXRlc3BhY2UgaXNzdWUKIC0gRW1pbDog Q2hhbmdlZCBsYWJlbCBuYW1lIGZyb20gZmFpbF9mZW5jZSB0byBmYWlsX2JhY2tvZmYKIC0gRW1p bDogUmVtb3ZlIHNwZWNpYWwgY2FzZSBmb3IgIWZlbmNlLT5kcnYgaW4gdmlydGlvX2dwdV9mZW5j ZV9jbGVhbnVwKCkKCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2LmggICB8ICA0 ICsrKwogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZlbmNlLmMgfCAyOSArKysrKysr KysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYyB8IDMwICsr KysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYyB8 IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3Zp cnRncHVfdnEuYyAgICB8ICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDk2IGluc2VydGlvbnMoKyks IDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kcnYuaAppbmRleCA2 NDc0ZTgzY2JmM2QuLmFjZDEzMGM1OGUzMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Zp cnRpby92aXJ0Z3B1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9k cnYuaApAQCAtMTMxLDYgKzEzMSw3IEBAIHN0cnVjdCB2aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyIHsK IAlpbnQgeDEsIHkxLCB4MiwgeTI7IC8qIGRpcnR5IHJlY3QgKi8KIAlzcGlubG9ja190IGRpcnR5 X2xvY2s7CiAJdWludDMyX3QgaHdfcmVzX2hhbmRsZTsKKwlzdHJ1Y3QgdmlydGlvX2dwdV9mZW5j ZSAqZmVuY2U7CiB9OwogI2RlZmluZSB0b192aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyKHgpIFwKIAlj b250YWluZXJfb2YoeCwgc3RydWN0IHZpcnRpb19ncHVfZnJhbWVidWZmZXIsIGJhc2UpCkBAIC0z NDksNiArMzUwLDkgQEAgdm9pZCB2aXJ0aW9fZ3B1X3R0bV9maW5pKHN0cnVjdCB2aXJ0aW9fZ3B1 X2RldmljZSAqdmdkZXYpOwogaW50IHZpcnRpb19ncHVfbW1hcChzdHJ1Y3QgZmlsZSAqZmlscCwg c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOwogCiAvKiB2aXJ0aW9fZ3B1X2ZlbmNlLmMgKi8K K3N0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICp2aXJ0aW9fZ3B1X2ZlbmNlX2FsbG9jKAorCXN0cnVj dCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYpOwordm9pZCB2aXJ0aW9fZ3B1X2ZlbmNlX2NsZWFu dXAoc3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKmZlbmNlKTsKIGludCB2aXJ0aW9fZ3B1X2ZlbmNl X2VtaXQoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAkJCSAgc3RydWN0IHZpcnRp b19ncHVfY3RybF9oZHIgKmNtZF9oZHIsCiAJCQkgIHN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICoq ZmVuY2UpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZlbmNl LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZmVuY2UuYwppbmRleCAwMGM3NDJh NDQxYmYuLjZiNWQ5MjIxNWNmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92 aXJ0Z3B1X2ZlbmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2ZlbmNl LmMKQEAgLTY3LDYgKzY3LDI4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2ZlbmNlX29wcyB2 aXJ0aW9fZmVuY2Vfb3BzID0gewogCS50aW1lbGluZV92YWx1ZV9zdHIgID0gdmlydGlvX3RpbWVs aW5lX3ZhbHVlX3N0ciwKIH07CiAKK3N0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICp2aXJ0aW9fZ3B1 X2ZlbmNlX2FsbG9jKHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYpCit7CisJc3RydWN0 IHZpcnRpb19ncHVfZmVuY2VfZHJpdmVyICpkcnYgPSAmdmdkZXYtPmZlbmNlX2RydjsKKwlzdHJ1 Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgdmlydGlv X2dwdV9mZW5jZSksCisJCQkJCQkJR0ZQX0FUT01JQyk7CisJaWYgKCFmZW5jZSkKKwkJcmV0dXJu IGZlbmNlOworCisJZmVuY2UtPmRydiA9IGRydjsKKwlkbWFfZmVuY2VfaW5pdCgmZmVuY2UtPmYs ICZ2aXJ0aW9fZmVuY2Vfb3BzLCAmZHJ2LT5sb2NrLCBkcnYtPmNvbnRleHQsIDApOworCisJcmV0 dXJuIGZlbmNlOworfQorCit2b2lkIHZpcnRpb19ncHVfZmVuY2VfY2xlYW51cChzdHJ1Y3Qgdmly dGlvX2dwdV9mZW5jZSAqZmVuY2UpCit7CisJaWYgKCFmZW5jZSkKKwkJcmV0dXJuOworCisJZG1h X2ZlbmNlX3B1dCgmZmVuY2UtPmYpOworfQorCiBpbnQgdmlydGlvX2dwdV9mZW5jZV9lbWl0KHN0 cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJCQkgIHN0cnVjdCB2aXJ0aW9fZ3B1X2N0 cmxfaGRyICpjbWRfaGRyLAogCQkJICBzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSAqKmZlbmNlKQpA QCAtNzQsMTUgKzk2LDggQEAgaW50IHZpcnRpb19ncHVfZmVuY2VfZW1pdChzdHJ1Y3QgdmlydGlv X2dwdV9kZXZpY2UgKnZnZGV2LAogCXN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlX2RyaXZlciAqZHJ2 ID0gJnZnZGV2LT5mZW5jZV9kcnY7CiAJdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CiAKLQkqZmVu Y2UgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgdmlydGlvX2dwdV9mZW5jZSksIEdGUF9BVE9NSUMp OwotCWlmICgoKmZlbmNlKSA9PSBOVUxMKQotCQlyZXR1cm4gLUVOT01FTTsKLQogCXNwaW5fbG9j a19pcnFzYXZlKCZkcnYtPmxvY2ssIGlycV9mbGFncyk7Ci0JKCpmZW5jZSktPmRydiA9IGRydjsK IAkoKmZlbmNlKS0+c2VxID0gKytkcnYtPnN5bmNfc2VxOwotCWRtYV9mZW5jZV9pbml0KCYoKmZl bmNlKS0+ZiwgJnZpcnRpb19mZW5jZV9vcHMsICZkcnYtPmxvY2ssCi0JCSAgICAgICBkcnYtPmNv bnRleHQsICgqZmVuY2UpLT5zZXEpOwogCWRtYV9mZW5jZV9nZXQoJigqZmVuY2UpLT5mKTsKIAls aXN0X2FkZF90YWlsKCYoKmZlbmNlKS0+bm9kZSwgJmRydi0+ZmVuY2VzKTsKIAlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZkcnYtPmxvY2ssIGlycV9mbGFncyk7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8v dmlydGdwdV9pb2N0bC5jCmluZGV4IGJjNWFmYTRmOTA2ZS4uZDY5ZmMzNTZkZjBhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfaW9jdGwuYwpAQCAtMTY4LDYgKzE2OCwxMyBAQCBzdGF0 aWMgaW50IHZpcnRpb19ncHVfZXhlY2J1ZmZlcl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCB2b2lkICpkYXRhLAogCQlyZXQgPSBQVFJfRVJSKGJ1Zik7CiAJCWdvdG8gb3V0X3VucmVzdjsK IAl9CisKKwlmZW5jZSA9IHZpcnRpb19ncHVfZmVuY2VfYWxsb2ModmdkZXYpOworCWlmICghZmVu Y2UpIHsKKwkJa2ZyZWUoYnVmKTsKKwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXRfdW5yZXN2 OworCX0KIAl2aXJ0aW9fZ3B1X2NtZF9zdWJtaXQodmdkZXYsIGJ1ZiwgZXhidWYtPnNpemUsCiAJ CQkgICAgICB2ZnByaXYtPmN0eF9pZCwgJmZlbmNlKTsKIApAQCAtMjgzLDExICsyOTAsMTcgQEAg c3RhdGljIGludCB2aXJ0aW9fZ3B1X3Jlc291cmNlX2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlyY18zZC5ucl9zYW1wbGVzID0gY3B1X3RvX2xlMzIo cmMtPm5yX3NhbXBsZXMpOwogCQlyY18zZC5mbGFncyA9IGNwdV90b19sZTMyKHJjLT5mbGFncyk7 CiAKKwkJZmVuY2UgPSB2aXJ0aW9fZ3B1X2ZlbmNlX2FsbG9jKHZnZGV2KTsKKwkJaWYgKCFmZW5j ZSkgeworCQkJcmV0ID0gLUVOT01FTTsKKwkJCWdvdG8gZmFpbF9iYWNrb2ZmOworCQl9CisKIAkJ dmlydGlvX2dwdV9jbWRfcmVzb3VyY2VfY3JlYXRlXzNkKHZnZGV2LCBxb2JqLCAmcmNfM2QsIE5V TEwpOwogCQlyZXQgPSB2aXJ0aW9fZ3B1X29iamVjdF9hdHRhY2godmdkZXYsIHFvYmosICZmZW5j ZSk7CiAJCWlmIChyZXQpIHsKLQkJCXR0bV9ldV9iYWNrb2ZmX3Jlc2VydmF0aW9uKCZ0aWNrZXQs ICZ2YWxpZGF0ZV9saXN0KTsKLQkJCWdvdG8gZmFpbF91bnJlZjsKKwkJCXZpcnRpb19ncHVfZmVu Y2VfY2xlYW51cChmZW5jZSk7CisJCQlnb3RvIGZhaWxfYmFja29mZjsKIAkJfQogCQl0dG1fZXVf ZmVuY2VfYnVmZmVyX29iamVjdHMoJnRpY2tldCwgJnZhbGlkYXRlX2xpc3QsICZmZW5jZS0+Zik7 CiAJfQpAQCAtMzEyLDYgKzMyNSw4IEBAIHN0YXRpYyBpbnQgdmlydGlvX2dwdV9yZXNvdXJjZV9j cmVhdGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZG1hX2Zl bmNlX3B1dCgmZmVuY2UtPmYpOwogCX0KIAlyZXR1cm4gMDsKK2ZhaWxfYmFja29mZjoKKwl0dG1f ZXVfYmFja29mZl9yZXNlcnZhdGlvbigmdGlja2V0LCAmdmFsaWRhdGVfbGlzdCk7CiBmYWlsX3Vu cmVmOgogCWlmICh2Z2Rldi0+aGFzX3ZpcmdsXzNkKSB7CiAJCXZpcnRpb19ncHVfdW5yZWZfbGlz dCgmdmFsaWRhdGVfbGlzdCk7CkBAIC0zNzQsNiArMzg5LDEyIEBAIHN0YXRpYyBpbnQgdmlydGlv X2dwdV90cmFuc2Zlcl9mcm9tX2hvc3RfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJ Z290byBvdXRfdW5yZXM7CiAKIAljb252ZXJ0X3RvX2h3X2JveCgmYm94LCAmYXJncy0+Ym94KTsK KworCWZlbmNlID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CisJaWYgKCFmZW5jZSkg eworCQlyZXQgPSAtRU5PTUVNOworCQlnb3RvIG91dF91bnJlczsKKwl9CiAJdmlydGlvX2dwdV9j bWRfdHJhbnNmZXJfZnJvbV9ob3N0XzNkCiAJCSh2Z2RldiwgcW9iai0+aHdfcmVzX2hhbmRsZSwK IAkJIHZmcHJpdi0+Y3R4X2lkLCBvZmZzZXQsIGFyZ3MtPmxldmVsLApAQCAtNDIzLDYgKzQ0NCwx MSBAQCBzdGF0aWMgaW50IHZpcnRpb19ncHVfdHJhbnNmZXJfdG9faG9zdF9pb2N0bChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJKHZnZGV2LCBxb2JqLCBvZmZzZXQsCiAJ CQkgYm94LncsIGJveC5oLCBib3gueCwgYm94LnksIE5VTEwpOwogCX0gZWxzZSB7CisJCWZlbmNl ID0gdmlydGlvX2dwdV9mZW5jZV9hbGxvYyh2Z2Rldik7CisJCWlmICghZmVuY2UpIHsKKwkJCXJl dCA9IC1FTk9NRU07CisJCQlnb3RvIG91dF91bnJlczsKKwkJfQogCQl2aXJ0aW9fZ3B1X2NtZF90 cmFuc2Zlcl90b19ob3N0XzNkCiAJCQkodmdkZXYsIHFvYmosCiAJCQkgdmZwcml2ID8gdmZwcml2 LT5jdHhfaWQgOiAwLCBvZmZzZXQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wbGFuZS5j CmluZGV4IGE5ZjRhZTdkNDQ4My4uYjg0YWM4YzI1ODU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdmlydGlvL3ZpcnRncHVfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlv L3ZpcnRncHVfcGxhbmUuYwpAQCAtMTM3LDYgKzEzNyw0MSBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9f Z3B1X3ByaW1hcnlfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQkJCSAg ICAgIHBsYW5lLT5zdGF0ZS0+c3JjX2ggPj4gMTYpOwogfQogCitzdGF0aWMgaW50IHZpcnRpb19n cHVfY3Vyc29yX3ByZXBhcmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJCXN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKm5ld19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gcGxhbmUtPmRldjsKKwlzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgdmlydGlvX2dwdV9mcmFtZWJ1ZmZlciAqdmdmYjsKKwlzdHJ1 Y3QgdmlydGlvX2dwdV9vYmplY3QgKmJvOworCisJaWYgKCFuZXdfc3RhdGUtPmZiKQorCQlyZXR1 cm4gMDsKKworCXZnZmIgPSB0b192aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyKG5ld19zdGF0ZS0+ZmIp OworCWJvID0gZ2VtX3RvX3ZpcnRpb19ncHVfb2JqKHZnZmItPmJhc2Uub2JqWzBdKTsKKwlpZiAo Ym8gJiYgYm8tPmR1bWIgJiYgKHBsYW5lLT5zdGF0ZS0+ZmIgIT0gbmV3X3N0YXRlLT5mYikpIHsK KwkJdmdmYi0+ZmVuY2UgPSB2aXJ0aW9fZ3B1X2ZlbmNlX2FsbG9jKHZnZGV2KTsKKwkJaWYgKCF2 Z2ZiLT5mZW5jZSkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCXJldHVybiAwOworfQorCitz dGF0aWMgdm9pZCB2aXJ0aW9fZ3B1X2N1cnNvcl9jbGVhbnVwX2ZiKHN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lLAorCQkJCQkgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKQoreworCXN0 cnVjdCB2aXJ0aW9fZ3B1X2ZyYW1lYnVmZmVyICp2Z2ZiOworCisJaWYgKCFwbGFuZS0+c3RhdGUt PmZiKQorCQlyZXR1cm47CisKKwl2Z2ZiID0gdG9fdmlydGlvX2dwdV9mcmFtZWJ1ZmZlcihwbGFu ZS0+c3RhdGUtPmZiKTsKKwlpZiAodmdmYi0+ZmVuY2UpCisJCXZpcnRpb19ncHVfZmVuY2VfY2xl YW51cCh2Z2ZiLT5mZW5jZSk7Cit9CisKIHN0YXRpYyB2b2lkIHZpcnRpb19ncHVfY3Vyc29yX3Bs YW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkJICAgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqb2xkX3N0YXRlKQogewpAQCAtMTQ0LDcgKzE3OSw2IEBAIHN0YXRpYyB2b2lk IHZpcnRpb19ncHVfY3Vyc29yX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAlzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlz dHJ1Y3QgdmlydGlvX2dwdV9vdXRwdXQgKm91dHB1dCA9IE5VTEw7CiAJc3RydWN0IHZpcnRpb19n cHVfZnJhbWVidWZmZXIgKnZnZmI7Ci0Jc3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKmZlbmNlID0g TlVMTDsKIAlzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3QgKmJvID0gTlVMTDsKIAl1aW50MzJfdCBo YW5kbGU7CiAJaW50IHJldCA9IDA7CkBAIC0xNzAsMTMgKzIwNCwxMyBAQCBzdGF0aWMgdm9pZCB2 aXJ0aW9fZ3B1X2N1cnNvcl9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJ CQkodmdkZXYsIGJvLCAwLAogCQkJIGNwdV90b19sZTMyKHBsYW5lLT5zdGF0ZS0+Y3J0Y193KSwK IAkJCSBjcHVfdG9fbGUzMihwbGFuZS0+c3RhdGUtPmNydGNfaCksCi0JCQkgMCwgMCwgJmZlbmNl KTsKKwkJCSAwLCAwLCAmdmdmYi0+ZmVuY2UpOwogCQlyZXQgPSB2aXJ0aW9fZ3B1X29iamVjdF9y ZXNlcnZlKGJvLCBmYWxzZSk7CiAJCWlmICghcmV0KSB7CiAJCQlyZXNlcnZhdGlvbl9vYmplY3Rf YWRkX2V4Y2xfZmVuY2UoYm8tPnRiby5yZXN2LAotCQkJCQkJCSAgJmZlbmNlLT5mKTsKLQkJCWRt YV9mZW5jZV9wdXQoJmZlbmNlLT5mKTsKLQkJCWZlbmNlID0gTlVMTDsKKwkJCQkJCQkgICZ2Z2Zi LT5mZW5jZS0+Zik7CisJCQlkbWFfZmVuY2VfcHV0KCZ2Z2ZiLT5mZW5jZS0+Zik7CisJCQl2Z2Zi LT5mZW5jZSA9IE5VTEw7CiAJCQl2aXJ0aW9fZ3B1X29iamVjdF91bnJlc2VydmUoYm8pOwogCQkJ dmlydGlvX2dwdV9vYmplY3Rfd2FpdChibywgZmFsc2UpOwogCQl9CkBAIC0yMTgsNiArMjUyLDgg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVyX2Z1bmNzIHZpcnRpb19ncHVf cHJpbWFyeV9oZWxwZXJfZnVuY3MgPSB7CiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9w bGFuZV9oZWxwZXJfZnVuY3MgdmlydGlvX2dwdV9jdXJzb3JfaGVscGVyX2Z1bmNzID0geworCS5w cmVwYXJlX2ZiCQk9IHZpcnRpb19ncHVfY3Vyc29yX3ByZXBhcmVfZmIsCisJLmNsZWFudXBfZmIJ CT0gdmlydGlvX2dwdV9jdXJzb3JfY2xlYW51cF9mYiwKIAkuYXRvbWljX2NoZWNrCQk9IHZpcnRp b19ncHVfcGxhbmVfYXRvbWljX2NoZWNrLAogCS5hdG9taWNfdXBkYXRlCQk9IHZpcnRpb19ncHVf Y3Vyc29yX3BsYW5lX3VwZGF0ZSwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmly dGlvL3ZpcnRncHVfdnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV92cS5jCmlu ZGV4IDUxYmVmMTc3NWU0Ny4uOTNmMmMzYTUxZWU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdmlydGlvL3ZpcnRncHVfdnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRn cHVfdnEuYwpAQCAtODk2LDkgKzg5Niw5IEBAIHZvaWQgdmlydGlvX2dwdV9vYmplY3RfZGV0YWNo KHN0cnVjdCB2aXJ0aW9fZ3B1X2RldmljZSAqdmdkZXYsCiAJCQkgICAgICBzdHJ1Y3QgdmlydGlv X2dwdV9vYmplY3QgKm9iaikKIHsKIAlib29sIHVzZV9kbWFfYXBpID0gIXZpcnRpb19oYXNfaW9t bXVfcXVpcmsodmdkZXYtPnZkZXYpOwotCXN0cnVjdCB2aXJ0aW9fZ3B1X2ZlbmNlICpmZW5jZTsK IAogCWlmICh1c2VfZG1hX2FwaSAmJiBvYmotPm1hcHBlZCkgeworCQlzdHJ1Y3QgdmlydGlvX2dw dV9mZW5jZSAqZmVuY2UgPSB2aXJ0aW9fZ3B1X2ZlbmNlX2FsbG9jKHZnZGV2KTsKIAkJLyogZGV0 YWNoIGJhY2tpbmcgYW5kIHdhaXQgZm9yIHRoZSBob3N0IHByb2Nlc3MgaXQgLi4uICovCiAJCXZp cnRpb19ncHVfY21kX3Jlc291cmNlX2ludmFsX2JhY2tpbmcodmdkZXYsIG9iai0+aHdfcmVzX2hh bmRsZSwgJmZlbmNlKTsKIAkJZG1hX2ZlbmNlX3dhaXQoJmZlbmNlLT5mLCB0cnVlKTsKLS0gCjIu MTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==