From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 04/10] drm/i915: Defer transfer onto execution timeline to actual hw submission Date: Mon, 14 Nov 2016 20:40:59 +0000 Message-ID: <20161114204105.29171-4-chris@chris-wilson.co.uk> References: <20161114204105.29171-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 863B16E50A for ; Mon, 14 Nov 2016 20:41:12 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id a20so18909121wme.2 for ; Mon, 14 Nov 2016 12:41:12 -0800 (PST) Received: from haswell.alporthouse.com ([78.156.65.138]) by smtp.gmail.com with ESMTPSA id j6sm30628364wjk.25.2016.11.14.12.41.09 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Nov 2016 12:41:09 -0800 (PST) In-Reply-To: <20161114204105.29171-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 Y2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51 cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1 ZXN0LmMgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCAgICB8ICAzICsrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgMTQgKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgICB8IDIzICsrKysrKysrKysrLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgIDIgKysKIDUgZmls ZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IGQwZjZiOWY4MjYzNi4uOTUyZDJhZWM1 MjQ0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0zMDYsMjUg KzMwNiwxNiBAQCBzdGF0aWMgdTMyIHRpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkxNV9nZW1f dGltZWxpbmUgKnRsKQogCXJldHVybiBhdG9taWNfaW5jX3JldHVybigmdGwtPm5leHRfc2Vxbm8p OwogfQogCi1zdGF0aWMgaW50IF9faTkxNV9zd19mZW5jZV9jYWxsCi1zdWJtaXRfbm90aWZ5KHN0 cnVjdCBpOTE1X3N3X2ZlbmNlICpmZW5jZSwgZW51bSBpOTE1X3N3X2ZlbmNlX25vdGlmeSBzdGF0 ZSkKK3ZvaWQgX19pOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcXVlc3QpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0 ID0KLQkJY29udGFpbmVyX29mKGZlbmNlLCB0eXBlb2YoKnJlcXVlc3QpLCBzdWJtaXQpOwogCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVuZ2luZTsKIAlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJdTMyIHNl cW5vOwogCi0JaWYgKHN0YXRlICE9IEZFTkNFX0NPTVBMRVRFKQotCQlyZXR1cm4gTk9USUZZX0RP TkU7Ci0KIAkvKiBUcmFuc2ZlciBmcm9tIHBlci1jb250ZXh0IG9udG8gdGhlIGdsb2JhbCBwZXIt ZW5naW5lIHRpbWVsaW5lICovCiAJdGltZWxpbmUgPSBlbmdpbmUtPnRpbWVsaW5lOwogCUdFTV9C VUdfT04odGltZWxpbmUgPT0gcmVxdWVzdC0+dGltZWxpbmUpOwotCi0JLyogV2lsbCBiZSBjYWxs ZWQgZnJvbSBpcnEtY29udGV4dCB3aGVuIHVzaW5nIGZvcmVpZ24gRE1BIGZlbmNlcyAqLwotCXNw aW5fbG9ja19pcnFzYXZlKCZ0aW1lbGluZS0+bG9jaywgZmxhZ3MpOworCWFzc2VydF9zcGluX2xv Y2tlZCgmdGltZWxpbmUtPmxvY2spOwogCiAJc2Vxbm8gPSB0aW1lbGluZV9nZXRfc2Vxbm8odGlt ZWxpbmUtPmNvbW1vbik7CiAJR0VNX0JVR19PTighc2Vxbm8pOwpAQCAtMzQ0LDE1ICszMzUsMzYg QEAgc3VibWl0X25vdGlmeShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UsIGVudW0gaTkxNV9z d19mZW5jZV9ub3RpZnkgc3RhdGUpCiAJR0VNX0JVR19PTighcmVxdWVzdC0+Z2xvYmFsX3NlcW5v KTsKIAllbmdpbmUtPmVtaXRfYnJlYWRjcnVtYihyZXF1ZXN0LAogCQkJCXJlcXVlc3QtPnJpbmct PnZhZGRyICsgcmVxdWVzdC0+cG9zdGZpeCk7Ci0JZW5naW5lLT5zdWJtaXRfcmVxdWVzdChyZXF1 ZXN0KTsKIAogCXNwaW5fbG9jaygmcmVxdWVzdC0+dGltZWxpbmUtPmxvY2spOwogCWxpc3RfbW92 ZV90YWlsKCZyZXF1ZXN0LT5saW5rLCAmdGltZWxpbmUtPnJlcXVlc3RzKTsKIAlzcGluX3VubG9j aygmcmVxdWVzdC0+dGltZWxpbmUtPmxvY2spOwogCiAJaTkxNV9zd19mZW5jZV9jb21taXQoJnJl cXVlc3QtPmV4ZWN1dGUpOworfQorCit2b2lkIGk5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKK3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUgPSByZXF1ZXN0LT5lbmdpbmU7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAot CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7CisJLyogV2ls bCBiZSBjYWxsZWQgZnJvbSBpcnEtY29udGV4dCB3aGVuIHVzaW5nIGZvcmVpZ24gZmVuY2VzLiAq LworCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7CisK KwlfX2k5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHJlcXVlc3QpOworCisJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS0+bG9jaywgZmxhZ3MpOworfQorCitzdGF0aWMgaW50 IF9faTkxNV9zd19mZW5jZV9jYWxsCitzdWJtaXRfbm90aWZ5KHN0cnVjdCBpOTE1X3N3X2ZlbmNl ICpmZW5jZSwgZW51bSBpOTE1X3N3X2ZlbmNlX25vdGlmeSBzdGF0ZSkKK3sKKwlpZiAoc3RhdGUg PT0gRkVOQ0VfQ09NUExFVEUpIHsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1 ZXN0ID0KKwkJCWNvbnRhaW5lcl9vZihmZW5jZSwgdHlwZW9mKCpyZXF1ZXN0KSwgc3VibWl0KTsK KworCQlyZXF1ZXN0LT5lbmdpbmUtPnN1Ym1pdF9yZXF1ZXN0KHJlcXVlc3QpOworCX0KIAogCXJl dHVybiBOT1RJRllfRE9ORTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3Qu aAppbmRleCA0OTc2MDM5MTg5ZWEuLjRkMjc4NDYzM2Q5ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuaApAQCAtMjMyLDYgKzIzMiw5IEBAIHZvaWQgX19pOTE1X2FkZF9y ZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCBib29sIGZsdXNoX2NhY2hl cyk7CiAjZGVmaW5lIGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2gocmVxKSBcCiAJX19pOTE1X2Fk ZF9yZXF1ZXN0KHJlcSwgZmFsc2UpCiAKK3ZvaWQgX19pOTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOwordm9pZCBpOTE1X2dlbV9yZXF1 ZXN0X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpOworCiBzdHJ1 Y3QgaW50ZWxfcnBzX2NsaWVudDsKICNkZWZpbmUgTk9fV0FJVEJPT1NUIEVSUl9QVFIoLTEpCiAj ZGVmaW5lIElTX1JQU19DTElFTlQocCkgKCFJU19FUlIocCkpCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggNjY2ZGFiN2E2NzVhLi45NDJmNTAwMGQzNzIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTYyOSwx MSArNjI5LDIzIEBAIHN0YXRpYyBpbnQgZ3VjX3JpbmdfZG9vcmJlbGwoc3RydWN0IGk5MTVfZ3Vj X2NsaWVudCAqZ2MpCiBzdGF0aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpycSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBycS0+aTkxNTsKLQl1bnNpZ25lZCBpbnQgZW5naW5lX2lkID0gcnEtPmVuZ2luZS0+aWQ7CisJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsKKwl1bnNpZ25lZCBp bnQgZW5naW5lX2lkID0gZW5naW5lLT5pZDsKIAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmcnEt Pmk5MTUtPmd1YzsKIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQgPSBndWMtPmV4ZWNi dWZfY2xpZW50OwogCWludCBiX3JldDsKIAorCS8qIFdlIGtlZXAgdGhlIHByZXZpb3VzIGNvbnRl eHQgYWxpdmUgdW50aWwgd2UgcmV0aXJlIHRoZSBmb2xsb3dpbmcKKwkgKiByZXF1ZXN0LiBUaGlz IGVuc3VyZXMgdGhhdCBhbnkgdGhlIGNvbnRleHQgb2JqZWN0IGlzIHN0aWxsIHBpbm5lZAorCSAq IGZvciBhbnkgcmVzaWR1YWwgd3JpdGVzIHRoZSBIVyBtYWtlcyBpbnRvIGl0IG9uIHRoZSBjb250 ZXh0IHN3aXRjaAorCSAqIGludG8gdGhlIG5leHQgb2JqZWN0IGZvbGxvd2luZyB0aGUgYnJlYWRj cnVtYi4gT3RoZXJ3aXNlLCB3ZSBtYXkKKwkgKiByZXRpcmUgdGhlIGNvbnRleHQgdG9vIGVhcmx5 LgorCSAqLworCXJxLT5wcmV2aW91c19jb250ZXh0ID0gZW5naW5lLT5sYXN0X2NvbnRleHQ7CisJ ZW5naW5lLT5sYXN0X2NvbnRleHQgPSBycS0+Y3R4OworCisJaTkxNV9nZW1fcmVxdWVzdF9zdWJt aXQocnEpOworCiAJc3Bpbl9sb2NrKCZjbGllbnQtPndxX2xvY2spOwogCWd1Y193cV9pdGVtX2Fw cGVuZChjbGllbnQsIHJxKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBkZGUwNGI3 NjQzYjEuLmRjYTQxODM0ZGVjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTQzNCw2 ICs0MzQsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3Is ICpsYXN0OwogCXN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0ID0gZW5naW5lLT5leGVjbGlzdF9w b3J0OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJYm9vbCBzdWJtaXQgPSBmYWxzZTsKIAogCWxh c3QgPSBwb3J0LT5yZXF1ZXN0OwpAQCAtNDY5LDYgKzQ3MCw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkgKiBhbmQgY29u dGV4dCBzd2l0Y2hlcykgc3VibWlzc2lvbi4KIAkgKi8KIAorCXNwaW5fbG9ja19pcnFzYXZlKCZl bmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBmbGFncyk7CiAJc3Bpbl9sb2NrKCZlbmdpbmUtPmV4ZWNs aXN0X2xvY2spOwogCWxpc3RfZm9yX2VhY2hfZW50cnkoY3Vyc29yLCAmZW5naW5lLT5leGVjbGlz dF9xdWV1ZSwgZXhlY2xpc3RfbGluaykgewogCQkvKiBDYW4gd2UgY29tYmluZSB0aGlzIHJlcXVl c3Qgd2l0aCB0aGUgY3VycmVudCBwb3J0PyBJdCBoYXMgdG8KQEAgLTUwMSw2ICs1MDMsMTcgQEAg c3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCQkJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnBvcnQtPnJlcXVlc3QsIGxhc3QpOwog CQkJcG9ydCsrOwogCQl9CisKKwkJLyogV2Uga2VlcCB0aGUgcHJldmlvdXMgY29udGV4dCBhbGl2 ZSB1bnRpbCB3ZSByZXRpcmUgdGhlCisJCSAqIGZvbGxvd2luZyByZXF1ZXN0LiBUaGlzIGVuc3Vy ZXMgdGhhdCBhbnkgdGhlIGNvbnRleHQgb2JqZWN0CisJCSAqIGlzIHN0aWxsIHBpbm5lZCBmb3Ig YW55IHJlc2lkdWFsIHdyaXRlcyB0aGUgSFcgbWFrZXMgaW50byBpdAorCQkgKiBvbiB0aGUgY29u dGV4dCBzd2l0Y2ggaW50byB0aGUgbmV4dCBvYmplY3QgZm9sbG93aW5nIHRoZQorCQkgKiBicmVh ZGNydW1iLiBPdGhlcndpc2UsIHdlIG1heSByZXRpcmUgdGhlIGNvbnRleHQgdG9vIGVhcmx5Lgor CQkgKi8KKwkJY3Vyc29yLT5wcmV2aW91c19jb250ZXh0ID0gZW5naW5lLT5sYXN0X2NvbnRleHQ7 CisJCWVuZ2luZS0+bGFzdF9jb250ZXh0ID0gY3Vyc29yLT5jdHg7CisKKwkJX19pOTE1X2dlbV9y ZXF1ZXN0X3N1Ym1pdChjdXJzb3IpOwogCQlsYXN0ID0gY3Vyc29yOwogCQlzdWJtaXQgPSB0cnVl OwogCX0KQEAgLTUxMiw2ICs1MjUsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfZGVxdWV1ZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWdu KCZwb3J0LT5yZXF1ZXN0LCBsYXN0KTsKIAl9CiAJc3Bpbl91bmxvY2soJmVuZ2luZS0+ZXhlY2xp c3RfbG9jayk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS0+bG9j aywgZmxhZ3MpOwogCiAJaWYgKHN1Ym1pdCkKIAkJZXhlY2xpc3RzX3N1Ym1pdF9wb3J0cyhlbmdp bmUpOwpAQCAtNjIxLDE1ICs2MzUsNiBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3Jl cXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCiAJc3Bpbl9sb2Nr X2lycXNhdmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOwogCi0JLyogV2Uga2VlcCB0 aGUgcHJldmlvdXMgY29udGV4dCBhbGl2ZSB1bnRpbCB3ZSByZXRpcmUgdGhlIGZvbGxvd2luZwot CSAqIHJlcXVlc3QuIFRoaXMgZW5zdXJlcyB0aGF0IGFueSB0aGUgY29udGV4dCBvYmplY3QgaXMg c3RpbGwgcGlubmVkCi0JICogZm9yIGFueSByZXNpZHVhbCB3cml0ZXMgdGhlIEhXIG1ha2VzIGlu dG8gaXQgb24gdGhlIGNvbnRleHQgc3dpdGNoCi0JICogaW50byB0aGUgbmV4dCBvYmplY3QgZm9s bG93aW5nIHRoZSBicmVhZGNydW1iLiBPdGhlcndpc2UsIHdlIG1heQotCSAqIHJldGlyZSB0aGUg Y29udGV4dCB0b28gZWFybHkuCi0JICovCi0JcmVxdWVzdC0+cHJldmlvdXNfY29udGV4dCA9IGVu Z2luZS0+bGFzdF9jb250ZXh0OwotCWVuZ2luZS0+bGFzdF9jb250ZXh0ID0gcmVxdWVzdC0+Y3R4 OwotCiAJbGlzdF9hZGRfdGFpbCgmcmVxdWVzdC0+ZXhlY2xpc3RfbGluaywgJmVuZ2luZS0+ZXhl Y2xpc3RfcXVldWUpOwogCWlmIChleGVjbGlzdHNfZWxzcF9pZGxlKGVuZ2luZSkpCiAJCXRhc2ts ZXRfaGlfc2NoZWR1bGUoJmVuZ2luZS0+aXJxX3Rhc2tsZXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IDcwMGU5M2Q4MDYxNi4uYWViNjM3ZGMxZmRmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0xMjk0LDYgKzEyOTQsOCBA QCBzdGF0aWMgdm9pZCBpOXh4X3N1Ym1pdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBy ZXF1ZXN0LT5pOTE1OwogCisJaTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQocmVxdWVzdCk7CisKIAlJ OTE1X1dSSVRFX1RBSUwocmVxdWVzdC0+ZW5naW5lLCByZXF1ZXN0LT50YWlsKTsKIH0KIAotLSAK Mi4xMC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK