From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gerd Hoffmann Subject: [PATCH v9 08/18] drm/virtio: rework virtio_gpu_execbuffer_ioctl fencing Date: Thu, 29 Aug 2019 12:32:51 +0200 Message-ID: <20190829103301.3539-9-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 DE1706E09E for ; Thu, 29 Aug 2019 10:33:07 +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 UmV3b3JrIGZlbmNpbmcgd29ya2Zsb3csIHN0YXJ0aW5nIHdpdGggdmlydGlvX2dwdV9leGVjYnVm ZmVyX2lvY3RsLgpTdG9wIHVzaW5nIHR0bSBoZWxwZXJzLCB1c2UgdGhlIHZpcnRpb19ncHVfYXJy YXlfKiBoZWxwZXJzICh3aGljaCB3b3JrCm9uIHRoZSByZXNlcnZhdGlvbiBvYmplY3RzIGRpcmVj dGx5KSBpbnN0ZWFkLgoKQWxzbyBzdG9yZSB0aGUgb2JqZWN0IGFycmF5IGluIHN0cnVjdCB2aXJ0 aW9fZ3B1X3ZidWZmZXIsIHNvIHdlCmV4cGxpY2l0bHkga2VlcCBhIHJlZmVyZW5jZSBvZiBhbGwg YnVmZmVycyB1c2VkIGluc3RlYWQgb2YgZGVwZW5kaW5nCm9uIHR0bV9ib19wdXQoKSBjaGVja2lu ZyB3aGVuZXZlciB0aGUgb2JqZWN0IGlzIGFjdHVhbGx5IGlkbGUgYmVmb3JlCnJlbGVhc2luZyBp dC4KCk5ldyB3b3JrZmxvdzoKCiAoMSkgQWxsIGdlbSBvYmplY3RzIG5lZWRlZCBieSBhIGNvbW1h bmQgYXJlIGFkZGVkIHRvIGEKICAgICB2aXJ0aW9fZ3B1X29iamVjdF9hcnJheS4KICgyKSBBbGwg cmVzZXJ2YXRpb24gb2JqZWN0cyB3aWxsIGJlIGxvY2tlZCAodmlydGlvX2dwdV9hcnJheV9sb2Nr X3Jlc3YpLgogKDMpIHZpcnRpb19ncHVfZmVuY2VfZW1pdCgpIGNvbXBsZXRlcyBmZW5jZSBpbml0 aWFsaXphdGlvbi4KICg0KSBmZW5jZSBnZXRzIGFkZGVkIHRvIHRoZSBvYmplY3RzLCByZXNlcnZh dGlvbiBvYmplY3RzIGFyZSB1bmxvY2tlZAogICAgICh2aXJ0aW9fZ3B1X2FycmF5X2FkZF9mZW5j ZSwgdmlydGlvX2dwdV9hcnJheV91bmxvY2tfcmVzdikuCiAoNSkgdmlydGlvIGNvbW1hbmQgaXMg c3VibWl0dGVkIHRvIHRoZSBob3N0LgogKDYpIFRoZSBjb21wbGV0aW9uIGNhbGxiYWNrICh2aXJ0 aW9fZ3B1X2RlcXVldWVfY3RybF9mdW5jKQogICAgIHdpbGwgZHJvcCBvYmplY3QgcmVmZXJlbmNl cyBhbmQgZnJlZSB2aXJ0aW9fZ3B1X29iamVjdF9hcnJheS4KCnY2OiByZXdyaXRlIG1vc3Qgb2Yg dGhlIHBhdGNoLgoKU2lnbmVkLW9mZi1ieTogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rydi5oICAgfCAgNiArKy0K IGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5jIHwgNTYgKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV92cS5jICAgIHwg MjEgKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA0NSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2LmgKaW5kZXggYjZiZDJiMTE0 MWZiLi5mNGY4NDNhZWMxOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJ2LmgKQEAg LTEyMSw5ICsxMjEsOSBAQCBzdHJ1Y3QgdmlydGlvX2dwdV92YnVmZmVyIHsKIAogCWNoYXIgKnJl c3BfYnVmOwogCWludCByZXNwX3NpemU7Ci0KIAl2aXJ0aW9fZ3B1X3Jlc3BfY2IgcmVzcF9jYjsK IAorCXN0cnVjdCB2aXJ0aW9fZ3B1X29iamVjdF9hcnJheSAqb2JqczsKIAlzdHJ1Y3QgbGlzdF9o ZWFkIGxpc3Q7CiB9OwogCkBAIC0zMTgsNyArMzE4LDkgQEAgdm9pZCB2aXJ0aW9fZ3B1X2NtZF9j b250ZXh0X2RldGFjaF9yZXNvdXJjZShzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAog CQkJCQkgICAgdWludDMyX3QgcmVzb3VyY2VfaWQpOwogdm9pZCB2aXJ0aW9fZ3B1X2NtZF9zdWJt aXQoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAkJCSAgIHZvaWQgKmRhdGEsIHVp bnQzMl90IGRhdGFfc2l6ZSwKLQkJCSAgIHVpbnQzMl90IGN0eF9pZCwgc3RydWN0IHZpcnRpb19n cHVfZmVuY2UgKmZlbmNlKTsKKwkJCSAgIHVpbnQzMl90IGN0eF9pZCwKKwkJCSAgIHN0cnVjdCB2 aXJ0aW9fZ3B1X29iamVjdF9hcnJheSAqb2JqcywKKwkJCSAgIHN0cnVjdCB2aXJ0aW9fZ3B1X2Zl bmNlICpmZW5jZSk7CiB2b2lkIHZpcnRpb19ncHVfY21kX3RyYW5zZmVyX2Zyb21faG9zdF8zZChz dHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCQkJCQkgIHVpbnQzMl90IHJlc291cmNl X2lkLCB1aW50MzJfdCBjdHhfaWQsCiAJCQkJCSAgdWludDY0X3Qgb2Zmc2V0LCB1aW50MzJfdCBs ZXZlbCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5j IGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2lvY3RsLmMKaW5kZXggN2YxNzc1Yjk0 NDllLi42MWIxYjU1ZWM1MDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9pb2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9pb2N0bC5j CkBAIC0xMDcsMTYgKzEwNywxMSBAQCBzdGF0aWMgaW50IHZpcnRpb19ncHVfZXhlY2J1ZmZlcl9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCXN0cnVjdCBkcm1fdmly dGdwdV9leGVjYnVmZmVyICpleGJ1ZiA9IGRhdGE7CiAJc3RydWN0IHZpcnRpb19ncHVfZGV2aWNl ICp2Z2RldiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IHZpcnRpb19ncHVfZnByaXYgKnZm cHJpdiA9IGRybV9maWxlLT5kcml2ZXJfcHJpdjsKLQlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdv Ymo7CiAJc3RydWN0IHZpcnRpb19ncHVfZmVuY2UgKm91dF9mZW5jZTsKLQlzdHJ1Y3QgdmlydGlv X2dwdV9vYmplY3QgKnFvYmo7CiAJaW50IHJldDsKIAl1aW50MzJfdCAqYm9faGFuZGxlcyA9IE5V TEw7CiAJdm9pZCBfX3VzZXIgKnVzZXJfYm9faGFuZGxlcyA9IE5VTEw7Ci0Jc3RydWN0IGxpc3Rf aGVhZCB2YWxpZGF0ZV9saXN0OwotCXN0cnVjdCB0dG1fdmFsaWRhdGVfYnVmZmVyICpidWZsaXN0 ID0gTlVMTDsKLQlpbnQgaTsKLQlzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggdGlja2V0OworCXN0cnVj dCB2aXJ0aW9fZ3B1X29iamVjdF9hcnJheSAqYnVmbGlzdCA9IE5VTEw7CiAJc3RydWN0IHN5bmNf ZmlsZSAqc3luY19maWxlOwogCWludCBpbl9mZW5jZV9mZCA9IGV4YnVmLT5mZW5jZV9mZDsKIAlp bnQgb3V0X2ZlbmNlX2ZkID0gLTE7CkBAIC0xNTcsMTUgKzE1MiwxMCBAQCBzdGF0aWMgaW50IHZp cnRpb19ncHVfZXhlY2J1ZmZlcl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQkJcmV0dXJuIG91dF9mZW5jZV9mZDsKIAl9CiAKLQlJTklUX0xJU1RfSEVBRCgmdmFs aWRhdGVfbGlzdCk7CiAJaWYgKGV4YnVmLT5udW1fYm9faGFuZGxlcykgewotCiAJCWJvX2hhbmRs ZXMgPSBrdm1hbGxvY19hcnJheShleGJ1Zi0+bnVtX2JvX2hhbmRsZXMsCi0JCQkJCSAgIHNpemVv Zih1aW50MzJfdCksIEdGUF9LRVJORUwpOwotCQlidWZsaXN0ID0ga3ZtYWxsb2NfYXJyYXkoZXhi dWYtPm51bV9ib19oYW5kbGVzLAotCQkJCQkgICBzaXplb2Yoc3RydWN0IHR0bV92YWxpZGF0ZV9i dWZmZXIpLAotCQkJCQkgICBHRlBfS0VSTkVMIHwgX19HRlBfWkVSTyk7Ci0JCWlmICghYm9faGFu ZGxlcyB8fCAhYnVmbGlzdCkgeworCQkJCQkgICAgc2l6ZW9mKHVpbnQzMl90KSwgR0ZQX0tFUk5F TCk7CisJCWlmICghYm9faGFuZGxlcykgewogCQkJcmV0ID0gLUVOT01FTTsKIAkJCWdvdG8gb3V0 X3VudXNlZF9mZDsKIAkJfQpAQCAtMTc3LDI1ICsxNjcsMjEgQEAgc3RhdGljIGludCB2aXJ0aW9f Z3B1X2V4ZWNidWZmZXJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAkJCWdvdG8gb3V0X3VudXNlZF9mZDsKIAkJfQogCi0JCWZvciAoaSA9IDA7IGkgPCBleGJ1Zi0+ bnVtX2JvX2hhbmRsZXM7IGkrKykgewotCQkJZ29iaiA9IGRybV9nZW1fb2JqZWN0X2xvb2t1cChk cm1fZmlsZSwgYm9faGFuZGxlc1tpXSk7Ci0JCQlpZiAoIWdvYmopIHsKLQkJCQlyZXQgPSAtRU5P RU5UOwotCQkJCWdvdG8gb3V0X3VudXNlZF9mZDsKLQkJCX0KLQotCQkJcW9iaiA9IGdlbV90b192 aXJ0aW9fZ3B1X29iaihnb2JqKTsKLQkJCWJ1Zmxpc3RbaV0uYm8gPSAmcW9iai0+dGJvOwotCi0J CQlsaXN0X2FkZCgmYnVmbGlzdFtpXS5oZWFkLCAmdmFsaWRhdGVfbGlzdCk7CisJCWJ1Zmxpc3Qg PSB2aXJ0aW9fZ3B1X2FycmF5X2Zyb21faGFuZGxlcyhkcm1fZmlsZSwgYm9faGFuZGxlcywKKwkJ CQkJCQlleGJ1Zi0+bnVtX2JvX2hhbmRsZXMpOworCQlpZiAoIWJ1Zmxpc3QpIHsKKwkJCXJldCA9 IC1FTk9FTlQ7CisJCQlnb3RvIG91dF91bnVzZWRfZmQ7CiAJCX0KIAkJa3ZmcmVlKGJvX2hhbmRs ZXMpOwogCQlib19oYW5kbGVzID0gTlVMTDsKIAl9CiAKLQlyZXQgPSB2aXJ0aW9fZ3B1X29iamVj dF9saXN0X3ZhbGlkYXRlKCZ0aWNrZXQsICZ2YWxpZGF0ZV9saXN0KTsKLQlpZiAocmV0KQotCQln b3RvIG91dF9mcmVlOworCWlmIChidWZsaXN0KSB7CisJCXJldCA9IHZpcnRpb19ncHVfYXJyYXlf bG9ja19yZXN2KGJ1Zmxpc3QpOworCQlpZiAocmV0KQorCQkJZ290byBvdXRfdW51c2VkX2ZkOwor CX0KIAogCWJ1ZiA9IG1lbWR1cF91c2VyKHU2NF90b191c2VyX3B0cihleGJ1Zi0+Y29tbWFuZCks IGV4YnVmLT5zaXplKTsKIAlpZiAoSVNfRVJSKGJ1ZikpIHsKQEAgLTIyMiwyNCArMjA4LDE4IEBA IHN0YXRpYyBpbnQgdmlydGlvX2dwdV9leGVjYnVmZmVyX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHZvaWQgKmRhdGEsCiAJfQogCiAJdmlydGlvX2dwdV9jbWRfc3VibWl0KHZnZGV2LCBi dWYsIGV4YnVmLT5zaXplLAotCQkJICAgICAgdmZwcml2LT5jdHhfaWQsIG91dF9mZW5jZSk7Ci0K LQl0dG1fZXVfZmVuY2VfYnVmZmVyX29iamVjdHMoJnRpY2tldCwgJnZhbGlkYXRlX2xpc3QsICZv dXRfZmVuY2UtPmYpOwotCi0JLyogZmVuY2UgdGhlIGNvbW1hbmQgYm8gKi8KLQl2aXJ0aW9fZ3B1 X3VucmVmX2xpc3QoJnZhbGlkYXRlX2xpc3QpOwotCWt2ZnJlZShidWZsaXN0KTsKKwkJCSAgICAg IHZmcHJpdi0+Y3R4X2lkLCBidWZsaXN0LCBvdXRfZmVuY2UpOwogCXJldHVybiAwOwogCiBvdXRf bWVtZHVwOgogCWtmcmVlKGJ1Zik7CiBvdXRfdW5yZXN2OgotCXR0bV9ldV9iYWNrb2ZmX3Jlc2Vy dmF0aW9uKCZ0aWNrZXQsICZ2YWxpZGF0ZV9saXN0KTsKLW91dF9mcmVlOgotCXZpcnRpb19ncHVf dW5yZWZfbGlzdCgmdmFsaWRhdGVfbGlzdCk7CisJaWYgKGJ1Zmxpc3QpCisJCXZpcnRpb19ncHVf YXJyYXlfdW5sb2NrX3Jlc3YoYnVmbGlzdCk7CiBvdXRfdW51c2VkX2ZkOgogCWt2ZnJlZShib19o YW5kbGVzKTsKLQlrdmZyZWUoYnVmbGlzdCk7CisJaWYgKGJ1Zmxpc3QpCisJCXZpcnRpb19ncHVf YXJyYXlfcHV0X2ZyZWUoYnVmbGlzdCk7CiAKIAlpZiAob3V0X2ZlbmNlX2ZkID49IDApCiAJCXB1 dF91bnVzZWRfZmQob3V0X2ZlbmNlX2ZkKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 aXJ0aW8vdmlydGdwdV92cS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ZxLmMK aW5kZXggZTQxYzk2MTQzMzQyLi41MTM3ZGNmMTFkMzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS92aXJ0aW8vdmlydGdwdV92cS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV92cS5jCkBAIC0xOTIsNyArMTkyLDcgQEAgdm9pZCB2aXJ0aW9fZ3B1X2RlcXVldWVfY3Ry bF9mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAl9IHdoaWxlICghdmlydHF1ZXVlX2Vu YWJsZV9jYih2Z2Rldi0+Y3RybHEudnEpKTsKIAlzcGluX3VubG9jaygmdmdkZXYtPmN0cmxxLnFs b2NrKTsKIAotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShlbnRyeSwgdG1wLCAmcmVjbGFpbV9s aXN0LCBsaXN0KSB7CisJbGlzdF9mb3JfZWFjaF9lbnRyeShlbnRyeSwgJnJlY2xhaW1fbGlzdCwg bGlzdCkgewogCQlyZXNwID0gKHN0cnVjdCB2aXJ0aW9fZ3B1X2N0cmxfaGRyICopZW50cnktPnJl c3BfYnVmOwogCiAJCXRyYWNlX3ZpcnRpb19ncHVfY21kX3Jlc3BvbnNlKHZnZGV2LT5jdHJscS52 cSwgcmVzcCk7CkBAIC0yMTksMTQgKzIxOSwxOCBAQCB2b2lkIHZpcnRpb19ncHVfZGVxdWV1ZV9j dHJsX2Z1bmMoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQl9CiAJCWlmIChlbnRyeS0+cmVz cF9jYikKIAkJCWVudHJ5LT5yZXNwX2NiKHZnZGV2LCBlbnRyeSk7Ci0KLQkJbGlzdF9kZWwoJmVu dHJ5LT5saXN0KTsKLQkJZnJlZV92YnVmKHZnZGV2LCBlbnRyeSk7CiAJfQogCXdha2VfdXAoJnZn ZGV2LT5jdHJscS5hY2tfcXVldWUpOwogCiAJaWYgKGZlbmNlX2lkKQogCQl2aXJ0aW9fZ3B1X2Zl bmNlX2V2ZW50X3Byb2Nlc3ModmdkZXYsIGZlbmNlX2lkKTsKKworCWxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShlbnRyeSwgdG1wLCAmcmVjbGFpbV9saXN0LCBsaXN0KSB7CisJCWlmIChlbnRyeS0+ b2JqcykKKwkJCXZpcnRpb19ncHVfYXJyYXlfcHV0X2ZyZWUoZW50cnktPm9ianMpOworCQlsaXN0 X2RlbCgmZW50cnktPmxpc3QpOworCQlmcmVlX3ZidWYodmdkZXYsIGVudHJ5KTsKKwl9CiB9CiAK IHZvaWQgdmlydGlvX2dwdV9kZXF1ZXVlX2N1cnNvcl9mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAq d29yaykKQEAgLTMzNyw2ICszNDEsMTAgQEAgc3RhdGljIHZvaWQgdmlydGlvX2dwdV9xdWV1ZV9m ZW5jZWRfY3RybF9idWZmZXIoc3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldiwKIAogCWlm IChmZW5jZSkKIAkJdmlydGlvX2dwdV9mZW5jZV9lbWl0KHZnZGV2LCBoZHIsIGZlbmNlKTsKKwlp ZiAodmJ1Zi0+b2JqcykgeworCQl2aXJ0aW9fZ3B1X2FycmF5X2FkZF9mZW5jZSh2YnVmLT5vYmpz LCAmZmVuY2UtPmYpOworCQl2aXJ0aW9fZ3B1X2FycmF5X3VubG9ja19yZXN2KHZidWYtPm9ianMp OworCX0KIAlub3RpZnkgPSB2aXJ0aW9fZ3B1X3F1ZXVlX2N0cmxfYnVmZmVyX2xvY2tlZCh2Z2Rl diwgdmJ1Zik7CiAJc3Bpbl91bmxvY2soJnZnZGV2LT5jdHJscS5xbG9jayk7CiAJaWYgKG5vdGlm eSkKQEAgLTk0MCw3ICs5NDgsOSBAQCB2b2lkIHZpcnRpb19ncHVfY21kX3RyYW5zZmVyX2Zyb21f aG9zdF8zZChzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCiB2b2lkIHZpcnRpb19n cHVfY21kX3N1Ym1pdChzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2LAogCQkJICAgdm9p ZCAqZGF0YSwgdWludDMyX3QgZGF0YV9zaXplLAotCQkJICAgdWludDMyX3QgY3R4X2lkLCBzdHJ1 Y3QgdmlydGlvX2dwdV9mZW5jZSAqZmVuY2UpCisJCQkgICB1aW50MzJfdCBjdHhfaWQsCisJCQkg ICBzdHJ1Y3QgdmlydGlvX2dwdV9vYmplY3RfYXJyYXkgKm9ianMsCisJCQkgICBzdHJ1Y3Qgdmly dGlvX2dwdV9mZW5jZSAqZmVuY2UpCiB7CiAJc3RydWN0IHZpcnRpb19ncHVfY21kX3N1Ym1pdCAq Y21kX3A7CiAJc3RydWN0IHZpcnRpb19ncHVfdmJ1ZmZlciAqdmJ1ZjsKQEAgLTk1MCw2ICs5NjAs NyBAQCB2b2lkIHZpcnRpb19ncHVfY21kX3N1Ym1pdChzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2Ug KnZnZGV2LAogCiAJdmJ1Zi0+ZGF0YV9idWYgPSBkYXRhOwogCXZidWYtPmRhdGFfc2l6ZSA9IGRh dGFfc2l6ZTsKKwl2YnVmLT5vYmpzID0gb2JqczsKIAogCWNtZF9wLT5oZHIudHlwZSA9IGNwdV90 b19sZTMyKFZJUlRJT19HUFVfQ01EX1NVQk1JVF8zRCk7CiAJY21kX3AtPmhkci5jdHhfaWQgPSBj cHVfdG9fbGUzMihjdHhfaWQpOwotLSAKMi4xOC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWw=