From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v3 04/14] drm/i915: Defer transfer onto execution timeline to actual hw submission Date: Mon, 14 Nov 2016 08:56:53 +0000 Message-ID: <20161114085703.16540-4-chris@chris-wilson.co.uk> References: <20161107135950.28861-1-chris@chris-wilson.co.uk> <20161114085703.16540-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 941A26E344 for ; Mon, 14 Nov 2016 08:57:13 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id g23so13352964wme.1 for ; Mon, 14 Nov 2016 00:57:13 -0800 (PST) In-Reply-To: <20161114085703.16540-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RGVmZXIgdGhlIHRyYW5zZmVyIGZyb20gdGhlIGNsaWVudCdzIHRpbWVsaW5lIG9udG8gdGhlIGV4 ZWN1dGlvbgp0aW1lbGluZSBmcm9tIHRoZSBwb2ludCBvZiByZWFkaW5lc3MgdG8gdGhlIHBvaW50 IG9mIGFjdHVhbCBzdWJtaXNzaW9uLgpGb3IgZXhhbXBsZSwgaW4gZXhlY2xpc3RzLCBhIHJlcXVl c3QgaXMgZmluYWxseSBzdWJtaXR0ZWQgdG8gaGFyZHdhcmUKd2hlbiB0aGUgaGFyZHdhcmUgaXMg cmVhZHksIGFuZCBvbmx5IHB1dCBvbnRvIHRoZSBoYXJkd2FyZSBxdWV1ZSB3aGVuCnRoZSByZXF1 ZXN0IGlzIHJlYWR5LiBCeSBkZWZlcnJpbmcgdGhlIHRyYW5zZmVyLCB3ZSBlbnN1cmUgdGhhdCB0 aGUKdGltZWxpbmUgaXMgbWFpbnRhaW5lZCBpbiByZXRpcmVtZW50IG9yZGVyIGlmIHdlIGRlY2lk ZSB0byBxdWV1ZSB0aGUKcmVxdWVzdHMgb250byB0aGUgaGFyZHdhcmUgaW4gYSBkaWZmZXJlbnQg b3JkZXIgdGhhbiBmaWZvLgoKdjI6IFJlYmFzZWQgb250byBkaXN0aW5jdCBnbG9iYWwvdXNlciB0 aW1lbGluZSBsb2NrIGNsYXNzZXMuCnYzOiBQbGF5IHdpdGggdGhlIHBvc2l0aW9uIG9mIHRoZSBz cGluX2xvY2soKS4KdjQ6IE5lc3RpbmcgZmluYWxseSByZXNvbHZlZCB3aXRoIGRpc3RpbmN0IHN3 X2ZlbmNlIGxvY2sgY2xhc3Nlcy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYyAgICB8IDM4ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAxNCArKysrKysrKysrLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgMjMgKysrKysrKysrKystLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgfCAgMiArKwogNSBm aWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKaW5kZXggZDBmNmI5ZjgyNjM2Li45NTJkMmFl YzUyNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTMwNiwy NSArMzA2LDE2IEBAIHN0YXRpYyB1MzIgdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpOTE1X2dl bV90aW1lbGluZSAqdGwpCiAJcmV0dXJuIGF0b21pY19pbmNfcmV0dXJuKCZ0bC0+bmV4dF9zZXFu byk7CiB9CiAKLXN0YXRpYyBpbnQgX19pOTE1X3N3X2ZlbmNlX2NhbGwKLXN1Ym1pdF9ub3RpZnko c3RydWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlLCBlbnVtIGk5MTVfc3dfZmVuY2Vfbm90aWZ5IHN0 YXRlKQordm9pZCBfX2k5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcmVxdWVzdCkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVl c3QgPQotCQljb250YWluZXJfb2YoZmVuY2UsIHR5cGVvZigqcmVxdWVzdCksIHN1Ym1pdCk7CiAJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxdWVzdC0+ZW5naW5lOwogCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmU7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKIAl1MzIg c2Vxbm87CiAKLQlpZiAoc3RhdGUgIT0gRkVOQ0VfQ09NUExFVEUpCi0JCXJldHVybiBOT1RJRllf RE9ORTsKLQogCS8qIFRyYW5zZmVyIGZyb20gcGVyLWNvbnRleHQgb250byB0aGUgZ2xvYmFsIHBl ci1lbmdpbmUgdGltZWxpbmUgKi8KIAl0aW1lbGluZSA9IGVuZ2luZS0+dGltZWxpbmU7CiAJR0VN X0JVR19PTih0aW1lbGluZSA9PSByZXF1ZXN0LT50aW1lbGluZSk7Ci0KLQkvKiBXaWxsIGJlIGNh bGxlZCBmcm9tIGlycS1jb250ZXh0IHdoZW4gdXNpbmcgZm9yZWlnbiBETUEgZmVuY2VzICovCi0J c3Bpbl9sb2NrX2lycXNhdmUoJnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7CisJYXNzZXJ0X3NwaW5f bG9ja2VkKCZ0aW1lbGluZS0+bG9jayk7CiAKIAlzZXFubyA9IHRpbWVsaW5lX2dldF9zZXFubyh0 aW1lbGluZS0+Y29tbW9uKTsKIAlHRU1fQlVHX09OKCFzZXFubyk7CkBAIC0zNDQsMTUgKzMzNSwz NiBAQCBzdWJtaXRfbm90aWZ5KHN0cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSwgZW51bSBpOTE1 X3N3X2ZlbmNlX25vdGlmeSBzdGF0ZSkKIAlHRU1fQlVHX09OKCFyZXF1ZXN0LT5nbG9iYWxfc2Vx bm8pOwogCWVuZ2luZS0+ZW1pdF9icmVhZGNydW1iKHJlcXVlc3QsCiAJCQkJcmVxdWVzdC0+cmlu Zy0+dmFkZHIgKyByZXF1ZXN0LT5wb3N0Zml4KTsKLQllbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0KHJl cXVlc3QpOwogCiAJc3Bpbl9sb2NrKCZyZXF1ZXN0LT50aW1lbGluZS0+bG9jayk7CiAJbGlzdF9t b3ZlX3RhaWwoJnJlcXVlc3QtPmxpbmssICZ0aW1lbGluZS0+cmVxdWVzdHMpOwogCXNwaW5fdW5s b2NrKCZyZXF1ZXN0LT50aW1lbGluZS0+bG9jayk7CiAKIAlpOTE1X3N3X2ZlbmNlX2NvbW1pdCgm cmVxdWVzdC0+ZXhlY3V0ZSk7Cit9CisKK3ZvaWQgaTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQoreworCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVuZ2luZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwog Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdGltZWxpbmUtPmxvY2ssIGZsYWdzKTsKKwkvKiBX aWxsIGJlIGNhbGxlZCBmcm9tIGlycS1jb250ZXh0IHdoZW4gdXNpbmcgZm9yZWlnbiBmZW5jZXMu ICovCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxpbmUtPmxvY2ssIGZsYWdzKTsK KworCV9faTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQocmVxdWVzdCk7CisKKwlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7Cit9CisKK3N0YXRpYyBp bnQgX19pOTE1X3N3X2ZlbmNlX2NhbGwKK3N1Ym1pdF9ub3RpZnkoc3RydWN0IGk5MTVfc3dfZmVu Y2UgKmZlbmNlLCBlbnVtIGk5MTVfc3dfZmVuY2Vfbm90aWZ5IHN0YXRlKQoreworCWlmIChzdGF0 ZSA9PSBGRU5DRV9DT01QTEVURSkgeworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cXVlc3QgPQorCQkJY29udGFpbmVyX29mKGZlbmNlLCB0eXBlb2YoKnJlcXVlc3QpLCBzdWJtaXQp OworCisJCXJlcXVlc3QtPmVuZ2luZS0+c3VibWl0X3JlcXVlc3QocmVxdWVzdCk7CisJfQogCiAJ cmV0dXJuIE5PVElGWV9ET05FOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVz dC5oCmluZGV4IDQ5NzYwMzkxODllYS4uNGQyNzg0NjMzZDlmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5oCkBAIC0yMzIsNiArMjMyLDkgQEAgdm9pZCBfX2k5MTVfYWRk X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsIGJvb2wgZmx1c2hfY2Fj aGVzKTsKICNkZWZpbmUgaTkxNV9hZGRfcmVxdWVzdF9ub19mbHVzaChyZXEpIFwKIAlfX2k5MTVf YWRkX3JlcXVlc3QocmVxLCBmYWxzZSkKIAordm9pZCBfX2k5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7Cit2b2lkIGk5MTVfZ2VtX3Jl cXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCk7CisKIHN0 cnVjdCBpbnRlbF9ycHNfY2xpZW50OwogI2RlZmluZSBOT19XQUlUQk9PU1QgRVJSX1BUUigtMSkK ICNkZWZpbmUgSVNfUlBTX0NMSUVOVChwKSAoIUlTX0VSUihwKSkKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwppbmRleCA2NjZkYWI3YTY3NWEuLjk0MmY1MDAwZDM3 MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNjI5 LDExICs2MjksMjMgQEAgc3RhdGljIGludCBndWNfcmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9n dWNfY2xpZW50ICpnYykKIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJxKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHJxLT5pOTE1OwotCXVuc2lnbmVkIGludCBlbmdpbmVfaWQgPSBycS0+ZW5naW5lLT5pZDsK KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycS0+ZW5naW5lOworCXVuc2lnbmVk IGludCBlbmdpbmVfaWQgPSBlbmdpbmUtPmlkOwogCXN0cnVjdCBpbnRlbF9ndWMgKmd1YyA9ICZy cS0+aTkxNS0+Z3VjOwogCXN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCA9IGd1Yy0+ZXhl Y2J1Zl9jbGllbnQ7CiAJaW50IGJfcmV0OwogCisJLyogV2Uga2VlcCB0aGUgcHJldmlvdXMgY29u dGV4dCBhbGl2ZSB1bnRpbCB3ZSByZXRpcmUgdGhlIGZvbGxvd2luZworCSAqIHJlcXVlc3QuIFRo aXMgZW5zdXJlcyB0aGF0IGFueSB0aGUgY29udGV4dCBvYmplY3QgaXMgc3RpbGwgcGlubmVkCisJ ICogZm9yIGFueSByZXNpZHVhbCB3cml0ZXMgdGhlIEhXIG1ha2VzIGludG8gaXQgb24gdGhlIGNv bnRleHQgc3dpdGNoCisJICogaW50byB0aGUgbmV4dCBvYmplY3QgZm9sbG93aW5nIHRoZSBicmVh ZGNydW1iLiBPdGhlcndpc2UsIHdlIG1heQorCSAqIHJldGlyZSB0aGUgY29udGV4dCB0b28gZWFy bHkuCisJICovCisJcnEtPnByZXZpb3VzX2NvbnRleHQgPSBlbmdpbmUtPmxhc3RfY29udGV4dDsK KwllbmdpbmUtPmxhc3RfY29udGV4dCA9IHJxLT5jdHg7CisKKwlpOTE1X2dlbV9yZXF1ZXN0X3N1 Ym1pdChycSk7CisKIAlzcGluX2xvY2soJmNsaWVudC0+d3FfbG9jayk7CiAJZ3VjX3dxX2l0ZW1f YXBwZW5kKGNsaWVudCwgcnEpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGRkZTA0 Yjc2NDNiMS4uZGNhNDE4MzRkZWMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtNDM0 LDYgKzQzNCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNv ciwgKmxhc3Q7CiAJc3RydWN0IGV4ZWNsaXN0X3BvcnQgKnBvcnQgPSBlbmdpbmUtPmV4ZWNsaXN0 X3BvcnQ7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAlib29sIHN1Ym1pdCA9IGZhbHNlOwogCiAJ bGFzdCA9IHBvcnQtPnJlcXVlc3Q7CkBAIC00NjksNiArNDcwLDcgQEAgc3RhdGljIHZvaWQgZXhl Y2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCSAqIGFuZCBj b250ZXh0IHN3aXRjaGVzKSBzdWJtaXNzaW9uLgogCSAqLwogCisJc3Bpbl9sb2NrX2lycXNhdmUo JmVuZ2luZS0+dGltZWxpbmUtPmxvY2ssIGZsYWdzKTsKIAlzcGluX2xvY2soJmVuZ2luZS0+ZXhl Y2xpc3RfbG9jayk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdXJzb3IsICZlbmdpbmUtPmV4ZWNs aXN0X3F1ZXVlLCBleGVjbGlzdF9saW5rKSB7CiAJCS8qIENhbiB3ZSBjb21iaW5lIHRoaXMgcmVx dWVzdCB3aXRoIHRoZSBjdXJyZW50IHBvcnQ/IEl0IGhhcyB0bwpAQCAtNTAxLDYgKzUwMywxNyBA QCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCiAJCQlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcG9ydC0+cmVxdWVzdCwgbGFzdCk7 CiAJCQlwb3J0Kys7CiAJCX0KKworCQkvKiBXZSBrZWVwIHRoZSBwcmV2aW91cyBjb250ZXh0IGFs aXZlIHVudGlsIHdlIHJldGlyZSB0aGUKKwkJICogZm9sbG93aW5nIHJlcXVlc3QuIFRoaXMgZW5z dXJlcyB0aGF0IGFueSB0aGUgY29udGV4dCBvYmplY3QKKwkJICogaXMgc3RpbGwgcGlubmVkIGZv ciBhbnkgcmVzaWR1YWwgd3JpdGVzIHRoZSBIVyBtYWtlcyBpbnRvIGl0CisJCSAqIG9uIHRoZSBj b250ZXh0IHN3aXRjaCBpbnRvIHRoZSBuZXh0IG9iamVjdCBmb2xsb3dpbmcgdGhlCisJCSAqIGJy ZWFkY3J1bWIuIE90aGVyd2lzZSwgd2UgbWF5IHJldGlyZSB0aGUgY29udGV4dCB0b28gZWFybHku CisJCSAqLworCQljdXJzb3ItPnByZXZpb3VzX2NvbnRleHQgPSBlbmdpbmUtPmxhc3RfY29udGV4 dDsKKwkJZW5naW5lLT5sYXN0X2NvbnRleHQgPSBjdXJzb3ItPmN0eDsKKworCQlfX2k5MTVfZ2Vt X3JlcXVlc3Rfc3VibWl0KGN1cnNvcik7CiAJCWxhc3QgPSBjdXJzb3I7CiAJCXN1Ym1pdCA9IHRy dWU7CiAJfQpAQCAtNTEyLDYgKzUyNSw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19kZXF1ZXVl KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJaTkxNV9nZW1fcmVxdWVzdF9hc3Np Z24oJnBvcnQtPnJlcXVlc3QsIGxhc3QpOwogCX0KIAlzcGluX3VubG9jaygmZW5naW5lLT5leGVj bGlzdF9sb2NrKTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnRpbWVsaW5lLT5s b2NrLCBmbGFncyk7CiAKIAlpZiAoc3VibWl0KQogCQlleGVjbGlzdHNfc3VibWl0X3BvcnRzKGVu Z2luZSk7CkBAIC02MjEsMTUgKzYzNSw2IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXRf cmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAKIAlzcGluX2xv Y2tfaXJxc2F2ZSgmZW5naW5lLT5leGVjbGlzdF9sb2NrLCBmbGFncyk7CiAKLQkvKiBXZSBrZWVw IHRoZSBwcmV2aW91cyBjb250ZXh0IGFsaXZlIHVudGlsIHdlIHJldGlyZSB0aGUgZm9sbG93aW5n Ci0JICogcmVxdWVzdC4gVGhpcyBlbnN1cmVzIHRoYXQgYW55IHRoZSBjb250ZXh0IG9iamVjdCBp cyBzdGlsbCBwaW5uZWQKLQkgKiBmb3IgYW55IHJlc2lkdWFsIHdyaXRlcyB0aGUgSFcgbWFrZXMg aW50byBpdCBvbiB0aGUgY29udGV4dCBzd2l0Y2gKLQkgKiBpbnRvIHRoZSBuZXh0IG9iamVjdCBm b2xsb3dpbmcgdGhlIGJyZWFkY3J1bWIuIE90aGVyd2lzZSwgd2UgbWF5Ci0JICogcmV0aXJlIHRo ZSBjb250ZXh0IHRvbyBlYXJseS4KLQkgKi8KLQlyZXF1ZXN0LT5wcmV2aW91c19jb250ZXh0ID0g ZW5naW5lLT5sYXN0X2NvbnRleHQ7Ci0JZW5naW5lLT5sYXN0X2NvbnRleHQgPSByZXF1ZXN0LT5j dHg7Ci0KIAlsaXN0X2FkZF90YWlsKCZyZXF1ZXN0LT5leGVjbGlzdF9saW5rLCAmZW5naW5lLT5l eGVjbGlzdF9xdWV1ZSk7CiAJaWYgKGV4ZWNsaXN0c19lbHNwX2lkbGUoZW5naW5lKSkKIAkJdGFz a2xldF9oaV9zY2hlZHVsZSgmZW5naW5lLT5pcnFfdGFza2xldCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggNzAwZTkzZDgwNjE2Li5hZWI2MzdkYzFmZGYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTEyOTQsNiArMTI5NCw4 IEBAIHN0YXRpYyB2b2lkIGk5eHhfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXF1ZXN0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHJlcXVlc3QtPmk5MTU7CiAKKwlpOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChyZXF1ZXN0KTsKKwog CUk5MTVfV1JJVEVfVEFJTChyZXF1ZXN0LT5lbmdpbmUsIHJlcXVlc3QtPnRhaWwpOwogfQogCi0t IAoyLjEwLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=