From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH V2] drm/vkms: Add vblank events simulated by hrtimers Date: Thu, 5 Jul 2018 10:20:13 +0200 Message-ID: <20180705082013.GA30415@phenom.ffwll.local> References: <20180705034843.wxa5krenjrkaersm@smtp.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12E216ECA0 for ; Thu, 5 Jul 2018 08:20:32 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id e19-v6so5709681edq.7 for ; Thu, 05 Jul 2018 01:20:31 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180705034843.wxa5krenjrkaersm@smtp.gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rodrigo Siqueira Cc: dri-devel@lists.freedesktop.org, Haneen Mohammed List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMDUsIDIwMTggYXQgMTI6NDg6NDNBTSAtMDMwMCwgUm9kcmlnbyBTaXF1ZWly YSB3cm90ZToKPiBUaGlzIGNvbW1pdCBhZGRzIHJlZ3VsYXIgdmJsYW5rIGV2ZW50cyBzaW11bGF0 ZWQgdGhyb3VnaCBocnRpbWVycywgd2hpY2gKPiBpcyBhIGZlYXR1cmUgcmVxdWlyZWQgYnkgVktN UyB0byBtaW1pYyByZWFsIGhhcmR3YXJlLiBOb3RpY2UgdGhhdAo+IGtlZXBpbmcgdGhlIHBlcmlv ZGljaXR5IGFzIGNsb3NlIGFzIHBvc3NpYmxlIHRvIHRoZSBvbmUgc3BlY2lmaWVkIGluCj4gdXNl ciBzcGFjZSByZXByZXNlbnRzIGEgdml0YWwgY29uc3RyYWludC4gSW4gdGhpcyBzZW5zZSwgdGhl IGNhbGxiYWNrCj4gZnVuY3Rpb24gaW1wbGVtZW50cyBhbiBhbGdvcml0aG0gYmFzZWQgb24gbW9k dWxlIG9wZXJhdGlvbnMgdGhhdCBhdm9pZHMKPiB0aGUgYWNjdW11bGF0aW9uIG9mIGVycm9ycy4K PiAKPiBBc3N1bWluZyB3ZSBiZWdpbiBvcGVyYXRpbmcgYXQgdGltZXN0YW1wIDAsIGV2ZXJ5IGV2 ZW50IHNob3VsZCBoYXBwZW4gYXQKPiB0aW1lc3RhbXBzIHRoYXQgYXJlIG11bHRpcGxlcyBvZiB0 aGUgcmVxdWVzdGVkIHBlcmlvZCwgaS5lLiwKPiBjdXJyZW50X3RpbWVzdGFtcCAlIHBlcmlvZCA9 PSAwLiBTaW5jZSB3ZSBkbyAqbm90KiBnZW5lcmFsbHkgc3RhcnQgYXQKPiB0aW1lc3RhbXAgMCwg d2UgY2FsY3VsYXRlIHRoZSBtb2R1bHVzIG9mIHRoaXMgaW5pdGlhbCB0aW1lc3RhbXAgYW5kIHRy eQo+IHRvIG1ha2UgYWxsIGZvbGxvd2luZyBldmVudHMgaGFwcGVuIHdoZW4gY3VycmVudF90aW1l c3RhbXAgJSBwZXJpb2QgPT0KPiBpbml0aWFsX3RpbWVzdGFtcCAlIHBlcmlvZCAodmFyaWFibGVz IOKAnGN1cnJlbnRfb2Zmc2V04oCdIGFuZAo+IOKAnGJhc2Vfb2Zmc2V04oCdKS4gV2UgZG8gdGhp cyBieSBtZWFzdXJpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtIGF0Cj4gZWFjaCBpdGVy YXRpb24gYW5kIGFkanVzdGluZyB0aGUgbmV4dCB3YWl0aW5nIHBlcmlvZCBhY2NvcmRpbmdseS4K PiAKPiBTaWduZWQtb2ZmLWJ5OiBSb2RyaWdvIFNpcXVlaXJhIDxyb2RyaWdvc2lxdWVpcmFtZWxv QGdtYWlsLmNvbT4KCkxvb2tzIGdvb2QuIEkndmUgZG9uZSBhIGRldGFpbGVkIHJldmlldyBhbmQg Zm91bmQgYSBidW5jaCBvZiB0aGluZ3MgdG8KcG9saXNoLgoKV2hlbiByZXNlbmRpbmcgcGF0Y2hl cyBwbGVhc2UgaW5jbHVkZSBhIHNob3J0IHN1bW1hcnkgb2YgdGhlIGNoYW5nZXMKeW91J3ZlIGRv bmUuIFRoaXMgaGVscHMgcmV2aWV3ZXJzIGEgbG90LiBFLmcuIGZvciB0aGlzIG9uZSBoZXJlOgoK Q2hhbmdlcyBzaW5jZSB2MToKLSBDb21wdXRlIHRoZSB0aW1lciBpbnRlcnZhbCB1c2luZyB0aGUg bW9kZS4KCkZvciB0aGUgbmV4dCByZXZpc2lvbiB5b3Uga2VlcCB0aGF0IGFuZCBhZGQKCkNoYW5n ZXMgc2luY2UgdjI6Ci0gVXNlIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gYWxyZWFkeSBjb21wdXRl ZCBieSBjb3JlIGNvZGUuCi0gVXNlIGFic29sdXRlIHRpbWVyIG1vZGUKLSBhbmQtc28tb24gLi4u CgpDaGVlcnMsIERhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRj LmMgfCA5OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9k cm0vdmttcy92a21zX2Rydi5jICB8ICA5ICsrKwo+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21z X2Rydi5oICB8IDIwICsrKysrKysKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMv dmttc19jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+IGluZGV4IDg0 Y2MwNTUwNmIwOS4uMzVkMzlkMjVkZjM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92 a21zL3ZrbXNfY3J0Yy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMK PiBAQCAtMTAsNiArMTAsODMgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5o Pgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+ICAKPiArc3RhdGljIGVudW0g aHJ0aW1lcl9yZXN0YXJ0IHZrbXNfdmJsYW5rX3NpbXVsYXRlKHN0cnVjdCBocnRpbWVyICp0aW1l cikKPiArewo+ICsJc3RydWN0IHZrbXNfb3V0cHV0ICpvdXRwdXQgPSBjb250YWluZXJfb2YodGlt ZXIsIHN0cnVjdCB2a21zX291dHB1dCwKPiArCQkJCQkJICB2YmxhbmtfaHJ0aW1lcik7Cj4gKwlz dHJ1Y3QgZHJtX2NydGMgKmNydGMgPSAmb3V0cHV0LT5jcnRjOwo+ICsJa3RpbWVfdCBuZXdfcGVy aW9kLCBjdXJyZW50X3RpbWVzdGFtcCwgZGlmZl90aW1lcywgY3VycmVudF9vZmZzZXQsCj4gKwkJ Y2FuZGlkYXRlX2V4cGlyZXM7Cj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICsJaW50IHJldF9v dmVycnVuOwo+ICsJYm9vbCByZXQ7Cj4gKwo+ICsJY3VycmVudF90aW1lc3RhbXAgPSBrdGltZV9n ZXQoKTsKPiArCWN1cnJlbnRfb2Zmc2V0ID0gY3VycmVudF90aW1lc3RhbXAgJSBvdXRwdXQtPnBl cmlvZF9uczsKPiArCWRpZmZfdGltZXMgPSBrdGltZV9zdWIoY3VycmVudF9vZmZzZXQsIG91dHB1 dC0+YmFzZV9vZmZzZXQpOwo+ICsJY2FuZGlkYXRlX2V4cGlyZXMgPSBrdGltZV9zdWIoY3VycmVu dF90aW1lc3RhbXAsIGRpZmZfdGltZXMpOwo+ICsJaWYgKGNhbmRpZGF0ZV9leHBpcmVzID4gb3V0 cHV0LT5leHBpcmVzKQo+ICsJCW91dHB1dC0+ZXhwaXJlcyA9IGNhbmRpZGF0ZV9leHBpcmVzOwo+ ICsKPiArCXJldCA9IGRybV9jcnRjX2hhbmRsZV92YmxhbmsoY3J0Yyk7Cj4gKwlpZiAoIXJldCkK PiArCQlEUk1fRVJST1IoInZrbXMgZmFpbHVyZSBvbiBoYW5kbGluZyB2YmxhbmsiKTsKPiArCj4g KwlpZiAob3V0cHV0LT5ldmVudCkgewoKWW91J3JlIGFjY2Vzc2luZyBvdXRwdXQtPmV2ZW50IHdp dGhvdXQgaG9sZGluZyBsb2NrcywgdGhhdCdzIG5vdCBvay4gQnV0CnNlZSBiZWxvdywgeW91IGNh biByZW1vdmUgYWxsIHRoYXQgY29kZS4KCj4gKwkJc3Bpbl9sb2NrX2lycXNhdmUoJmNydGMtPmRl di0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+ICsJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNy dGMsIG91dHB1dC0+ZXZlbnQpOwo+ICsJCW91dHB1dC0+ZXZlbnQgPSBOVUxMOwo+ICsJCXNwaW5f dW5sb2NrX2lycXJlc3RvcmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+ICsJCWRy bV9jcnRjX3ZibGFua19wdXQoY3J0Yyk7Cj4gKwl9Cj4gKwo+ICsJY3VycmVudF90aW1lc3RhbXAg PSBrdGltZV9nZXQoKTsKPiArCWN1cnJlbnRfb2Zmc2V0ID0gY3VycmVudF90aW1lc3RhbXAgJSBv dXRwdXQtPnBlcmlvZF9uczsKPiArCWRpZmZfdGltZXMgPSBrdGltZV9zdWIob3V0cHV0LT5iYXNl X29mZnNldCwgY3VycmVudF9vZmZzZXQpOwo+ICsJbmV3X3BlcmlvZCA9IGt0aW1lX2FkZChvdXRw dXQtPnBlcmlvZF9ucywgZGlmZl90aW1lcyk7Cj4gKwlvdXRwdXQtPmV4cGlyZXMgPSBrdGltZV9h ZGQoY3VycmVudF90aW1lc3RhbXAsIG5ld19wZXJpb2QpOwo+ICsJcmV0X292ZXJydW4gPSBocnRp bWVyX2ZvcndhcmRfbm93KCZvdXRwdXQtPnZibGFua19ocnRpbWVyLCBuZXdfcGVyaW9kKTsKPiAr Cj4gKwlyZXR1cm4gSFJUSU1FUl9SRVNUQVJUOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZrbXNf ZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3sKPiArCXN0cnVjdCB2a21z X291dHB1dCAqb3V0ID0gZHJtX2NydGNfdG9fdmttc19vdXRwdXQoY3J0Yyk7Cj4gKwl1bnNpZ25l ZCBsb25nIHBlcmlvZCA9IDEwMDAgKiBjcnRjLT5tb2RlLmh0b3RhbCAqIGNydGMtPm1vZGUudnRv dGFsIC8KPiArCQkJICAgICAgIGNydGMtPm1vZGUuY2xvY2s7CgpHZW5lcmFsIG5vdGU6IERpdmlu ZyBzdHVmZiBpbiB0aGUga2VybmVsIGlzbid0IGVhc3ksIHlvdSBuZWVkIHRvIHVzZQpkaXZpc2lv biBtYWNyb3Mgb3RoZXJ3aXNlIHlvdXIgY29kZSB3b24ndCBidWlsZCBvbiAzMmJpdC4KCldydCB0 aGUgY2FsY3VsYXRpb24gaXRzZWxmOiBUaGF0J3MgYWxyZWFkeSBkb25lIGZvciB5b3UgaW4KZHJt X2NhbGNfdGltZXN0YW1waW5nX2NvbnN0YW50cygpLCBubyBuZWVkIHRvIHJlaW52ZW50IHRoYXQg d2hlZWwuCgo+ICsJa3RpbWVfdCBjdXJyZW50X3RpbWVzdGFtcDsKPiArCj4gKwlocnRpbWVyX2lu aXQoJm91dC0+dmJsYW5rX2hydGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JF TCk7CgpDYW4ndCB3ZSB1c2UgYWJzb2x1dGUgdGltZXIgbW9kZSBoZXJlPyBUaGF0IGF2b2lkcyBh bGwgdGhlIHRpbWVzdGFtcHQKY29tcHV0YXRpb25zLgoKPiArCW91dC0+dmJsYW5rX2hydGltZXIu ZnVuY3Rpb24gPSAmdmttc192Ymxhbmtfc2ltdWxhdGU7Cj4gKwlvdXQtPnBlcmlvZF9ucyA9IGt0 aW1lX3NldCgwLCBwZXJpb2QgKiBVU19UT19OUyk7Cj4gKwljdXJyZW50X3RpbWVzdGFtcCA9IGt0 aW1lX2dldCgpOwo+ICsJb3V0LT5iYXNlX29mZnNldCA9IGN1cnJlbnRfdGltZXN0YW1wICUgb3V0 LT5wZXJpb2RfbnM7Cj4gKwlvdXQtPmV4cGlyZXMgPSBrdGltZV9hZGQoY3VycmVudF90aW1lc3Rh bXAsIG91dC0+cGVyaW9kX25zKTsKPiArCWhydGltZXJfc3RhcnQoJm91dC0+dmJsYW5rX2hydGlt ZXIsIG91dC0+cGVyaW9kX25zLCBIUlRJTUVSX01PREVfUkVMKTsKPiArCj4gKwlyZXR1cm4gMDsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgdmttc19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCj4gK3sKPiArCXN0cnVjdCB2a21zX291dHB1dCAqb3V0ID0gZHJtX2NydGNfdG9f dmttc19vdXRwdXQoY3J0Yyk7Cj4gKwo+ICsJaHJ0aW1lcl9jYW5jZWwoJm91dC0+dmJsYW5rX2hy dGltZXIpOwo+ICt9Cj4gKwo+ICtib29sIHZrbXNfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IHBpcGUsCj4gKwkJCSAgICAgICBpbnQgKm1h eF9lcnJvciwga3RpbWVfdCAqdmJsYW5rX3RpbWUsCj4gKwkJCSAgICAgICBib29sIGluX3ZibGFu a19pcnEpCj4gK3sKPiArCXN0cnVjdCB2a21zX2RldmljZSAqdmttc2RldiA9IGRybV9kZXZpY2Vf dG9fdmttc19kZXZpY2UoZGV2KTsKPiArCXN0cnVjdCB2a21zX291dHB1dCAqb3V0cHV0ID0gJnZr bXNkZXYtPm91dHB1dDsKPiArCj4gKwkqdmJsYW5rX3RpbWUgPSBvdXRwdXQtPmV4cGlyZXM7Cj4g Kwo+ICsJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Ny dGNfZnVuY3Mgdmttc19jcnRjX2Z1bmNzID0gewo+ICAJLnNldF9jb25maWcgICAgICAgICAgICAg PSBkcm1fYXRvbWljX2hlbHBlcl9zZXRfY29uZmlnLAo+ICAJLmRlc3Ryb3kgICAgICAgICAgICAg ICAgPSBkcm1fY3J0Y19jbGVhbnVwLAo+IEBAIC0xNyw2ICs5NCw4IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2NydGNfZnVuY3Mgdmttc19jcnRjX2Z1bmNzID0gewo+ICAJLnJlc2V0ICAgICAg ICAgICAgICAgICAgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0LAo+ICAJLmF0b21pY19k dXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwK PiAgCS5hdG9taWNfZGVzdHJveV9zdGF0ZSAgID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0 cm95X3N0YXRlLAo+ICsJLmVuYWJsZV92YmxhbmsJCT0gdmttc19lbmFibGVfdmJsYW5rLAo+ICsJ LmRpc2FibGVfdmJsYW5rCQk9IHZrbXNfZGlzYWJsZV92YmxhbmssCj4gIH07Cj4gIAo+ICBzdGF0 aWMgaW50IHZrbXNfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IEBA IC0yOCwxMSArMTA3LDI3IEBAIHN0YXRpYyBpbnQgdmttc19jcnRjX2F0b21pY19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gIHN0YXRpYyB2b2lkIHZrbXNfY3J0Y19hdG9taWNfZW5hYmxl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km9sZF9zdGF0ZSkKPiAgewo+ICsJZHJtX2NydGNfdmJsYW5rX29uKGNydGMpOwoKZHJtX2NydGNf dmJsYW5rX29mZiBpcyBtaXNzaW5nLiBUaGF0IHNob3VsZCByZXN1bHQgaW4gc29tZSBjb21wbGFp bnRzIHdoZW4KeW91IGRpc2FibGUgYSBjcnRjIGFnYWluIC4uLiBIYXZlIHlvdSBub3Qgc2VlbiBh bnkgYmFja3RyYWNlcyBpbiBkbWVzZz8KCj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHZrbXNfY3J0 Y19hdG9taWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICsJCQkJICAgc3RydWN0IGRy bV9jcnRjX3N0YXRlICpvbGRfcykKPiArewo+ICsJc3RydWN0IHZrbXNfb3V0cHV0ICp2a21zX291 dHB1dCA9IGRybV9jcnRjX3RvX3ZrbXNfb3V0cHV0KGNydGMpOwo+ICsKPiArCWlmIChjcnRjLT5z dGF0ZS0+ZXZlbnQpIHsKPiArCQljcnRjLT5zdGF0ZS0+ZXZlbnQtPnBpcGUgPSBkcm1fY3J0Y19p bmRleChjcnRjKTsKPiArCQlXQVJOX09OKGRybV9jcnRjX3ZibGFua19nZXQoY3J0YykgIT0gMCk7 Cj4gKwo+ICsJCXZrbXNfb3V0cHV0LT5ldmVudCA9IGNydGMtPnN0YXRlLT5ldmVudDsKCllvdSdy ZSBtaXNzaW5nIGxvY2tpbmcgaGVyZSBmb3Igb3V0cHV0LT5ldmVudC4gQWxzbyBJIGV4cGVjdCB0 aGF0IHlvdSdyZQpoaXR0aW5nIHRoZSBXQVJOX09OIGFib3ZlIChvciB5b3Ugd291bGQsIGlmIHlv dSB3b3VsZCBjYWxsCmRybV9jcnRjX3ZibGFua19vZmYpLgoKTXVjaCBzaW1wbGVyIGltcGxlbWVu dGF0aW9uIGlzIGlmIHlvdSB1c2UgZHJtX2NydGNfYXJtX3ZibGFua19ldmVudCwgcGx1cwp0aGUg ZmFsbGJhY2sgdG8gc2VuZGluZyB0aGUgZXZlbnQgb3V0IGRpcmVjdGx5IGlmIHRoZSBjcnRjIGlz IGRpc2FibGVkLgpTZWUgdGVncmFfY3J0Y19hdG9taWNfYmVnaW4oKSBmb3IgYW4gZXhhbXBsZS4K CkFsc28gZm9yIHRoZSBsb25nLXRlcm0gcGxhbnMgd2UgaGF2ZSB3aXRoIHZrbXMgd2l0aCB0aGUg Y3JjIHN0dWZmIGl0J3MKYmV0dGVyIHRvIHB1dCB0aGlzIGFsbCBpbnRvIHRoZSBhdG9taWNfZmx1 c2ggY2FsbGJhY2ssIG5vdCB0aGUKYXRvbWljX2JlZ2luIGNhbGxiYWNrLgoKPiArCQljcnRjLT5z dGF0ZS0+ZXZlbnQgPSBOVUxMOwo+ICsJfQo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9jcnRjX2hlbHBlcl9mdW5jcyB2a21zX2NydGNfaGVscGVyX2Z1bmNzID0gewo+IC0JLmF0 b21pY19jaGVjayAgPSB2a21zX2NydGNfYXRvbWljX2NoZWNrLAo+IC0JLmF0b21pY19lbmFibGUg PSB2a21zX2NydGNfYXRvbWljX2VuYWJsZSwKPiArCS5hdG9taWNfY2hlY2sJPSB2a21zX2NydGNf YXRvbWljX2NoZWNrLAo+ICsJLmF0b21pY19lbmFibGUJPSB2a21zX2NydGNfYXRvbWljX2VuYWJs ZSwKPiArCS5hdG9taWNfYmVnaW4JPSB2a21zX2NydGNfYXRvbWljX2JlZ2luLAo+ICB9Owo+ICAK PiAgaW50IHZrbXNfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYu YyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmMKPiBpbmRleCBmZTkzZjhjMTc5OTcu LjYzNjgwNDhjNmU1NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Ry di5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuYwo+IEBAIC01NSw2ICs1 NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciB2a21zX2RyaXZlciA9IHsKPiAgCS5kdW1i X2NyZWF0ZQkJPSB2a21zX2R1bWJfY3JlYXRlLAo+ICAJLmR1bWJfbWFwX29mZnNldAk9IHZrbXNf ZHVtYl9tYXAsCj4gIAkuZ2VtX3ZtX29wcwkJPSAmdmttc19nZW1fdm1fb3BzLAo+ICsJLmdldF92 YmxhbmtfdGltZXN0YW1wCT0gdmttc19nZXRfdmJsYW5rX3RpbWVzdGFtcCwKCkFoLCB0aGUgbGFz dCBsZWdhY3kgaG9vayB3aGVyZSB3ZSBkb24ndCB5ZXQgaGF2ZSBhbiBvcHRpb24gdG8gdXNlCmRy bV9jcnRjX2Z1bmNzIGluc3RlYWQuIEZvciBub3cgdGhpcyBpcyBnb29kIGhlcmUsIGJ1dCBJIHRo aW5rIGl0J2QgYmUKZ3JlYXQgdG8gZG8gYSBmb2xsb3ctdXAgdGFzayB0byBjbGVhbiB0aGlzIHVw LCBsaWtlIHdlJ3ZlIGFscmVhZHkgZG9uZQp3aXRoIHRoZSBlbmFibGUvZGlzYWJsZV92Ymxhbmsg aG9va3MuCj4gIAo+ICAJLm5hbWUJCQk9IERSSVZFUl9OQU1FLAo+ICAJLmRlc2MJCQk9IERSSVZF Ul9ERVNDLAo+IEBAIC0xMDIsNiArMTAzLDE0IEBAIHN0YXRpYyBpbnQgX19pbml0IHZrbXNfaW5p dCh2b2lkKQo+ICAJCWdvdG8gb3V0X2Zpbmk7Cj4gIAl9Cj4gIAo+ICsJdmttc19kZXZpY2UtPmRy bS5pcnFfZW5hYmxlZCA9IHRydWU7Cj4gKwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KCZ2a21z X2RldmljZS0+ZHJtLCAxKTsKPiArCWlmIChyZXQpIHsKPiArCQlEUk1fRVJST1IoIkZhaWxlZCB0 byB2YmxhbmtcbiIpOwo+ICsJCWdvdG8gb3V0X2Zpbmk7Cj4gKwl9Cj4gKwo+ICAJcmV0ID0gdmtt c19tb2Rlc2V0X2luaXQodmttc19kZXZpY2UpOwo+ICAJaWYgKHJldCkKPiAgCQlnb3RvIG91dF91 bnJlZ2lzdGVyOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5o IGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAo+IGluZGV4IDc2ZjE3MjBmODFhNS4u YjY5YTIyM2JkZmU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oCj4gQEAgLTUsNiArNSw3 IEBACj4gICNpbmNsdWRlIDxkcm0vZHJtLmg+Cj4gICNpbmNsdWRlIDxkcm0vZHJtX2dlbS5oPgo+ ICAjaW5jbHVkZSA8ZHJtL2RybV9lbmNvZGVyLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9ocnRpbWVy Lmg+Cj4gIAo+ICAjZGVmaW5lIFhSRVNfTUlOICAgIDMyCj4gICNkZWZpbmUgWVJFU19NSU4gICAg MzIKPiBAQCAtMTUsNiArMTYsOSBAQAo+ICAjZGVmaW5lIFhSRVNfTUFYICA4MTkyCj4gICNkZWZp bmUgWVJFU19NQVggIDgxOTIKPiAgCj4gKyNkZWZpbmUgREVGQVVMVF9WQkxBTktfTlMgMTY2NjY2 NjYKPiArI2RlZmluZSBVU19UT19OUyAxMDAwCj4gKwo+ICBzdGF0aWMgY29uc3QgdTMyIHZrbXNf Zm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiAgfTsKPiBAQCAtMjMsNiAr MjcsMTEgQEAgc3RydWN0IHZrbXNfb3V0cHV0IHsKPiAgCXN0cnVjdCBkcm1fY3J0YyBjcnRjOwo+ ICAJc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7Cj4gIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciBj b25uZWN0b3I7Cj4gKwlzdHJ1Y3QgaHJ0aW1lciB2YmxhbmtfaHJ0aW1lcjsKPiArCWt0aW1lX3Qg cGVyaW9kX25zOwo+ICsJa3RpbWVfdCBiYXNlX29mZnNldDsKPiArCWt0aW1lX3QgZXhwaXJlczsK PiArCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50Owo+ICB9Owo+ICAKPiAg c3RydWN0IHZrbXNfZGV2aWNlIHsKPiBAQCAtMzcsOSArNDYsMjAgQEAgc3RydWN0IHZrbXNfZ2Vt X29iamVjdCB7Cj4gIAlzdHJ1Y3QgcGFnZSAqKnBhZ2VzOwo+ICB9Owo+ICAKPiArI2RlZmluZSBk cm1fY3J0Y190b192a21zX291dHB1dCh0YXJnZXQpIFwKPiArCWNvbnRhaW5lcl9vZih0YXJnZXQs IHN0cnVjdCB2a21zX291dHB1dCwgY3J0YykKPiArCj4gKyNkZWZpbmUgZHJtX2RldmljZV90b192 a21zX2RldmljZSh0YXJnZXQpIFwKPiArCWNvbnRhaW5lcl9vZih0YXJnZXQsIHN0cnVjdCB2a21z X2RldmljZSwgZHJtKQo+ICsKPiArLyogQ1JUQyAqLwo+ICBpbnQgdmttc19jcnRjX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCSAgIHN0cnVj dCBkcm1fcGxhbmUgKnByaW1hcnksIHN0cnVjdCBkcm1fcGxhbmUgKmN1cnNvcik7Cj4gIAo+ICti b29sIHZrbXNfZ2V0X3ZibGFua190aW1lc3RhbXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdW5z aWduZWQgaW50IHBpcGUsCj4gKwkJCSAgICAgICBpbnQgKm1heF9lcnJvciwga3RpbWVfdCAqdmJs YW5rX3RpbWUsCj4gKwkJCSAgICAgICBib29sIGluX3ZibGFua19pcnEpOwo+ICsKPiAgaW50IHZr bXNfb3V0cHV0X2luaXQoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2KTsKPiAgCj4gIHN0cnVj dCBkcm1fcGxhbmUgKnZrbXNfcGxhbmVfaW5pdChzdHJ1Y3Qgdmttc19kZXZpY2UgKnZrbXNkZXYp Owo+IC0tIAo+IDIuMTguMAo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=