From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mario Kleiner Subject: Re: [PATCH] drm: Defer disabling the vblank IRQ until the next interrupt (for instant-off) Date: Mon, 04 May 2015 07:25:54 +0200 Message-ID: <554702E2.8080703@gmail.com> References: <1426607071-20515-1-git-send-email-chris@chris-wilson.co.uk> <1427974453-10633-1-git-send-email-chris@chris-wilson.co.uk> <552DB8CE.9020500@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <552DB8CE.9020500@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , dri-devel@lists.freedesktop.org Cc: =?UTF-8?B?TWljaGVsIETDpG56ZXI=?= , Laurent Pinchart , Dave Airlie , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwNC8xNS8yMDE1IDAzOjAzIEFNLCBNYXJpbyBLbGVpbmVyIHdyb3RlOgo+IE9uIDA0LzAy LzIwMTUgMDE6MzQgUE0sIENocmlzIFdpbHNvbiB3cm90ZToKPj4gT24gdmJsYW5rIGluc3RhbnQt b2ZmIHN5c3RlbXMsIHdlIGNhbiBnZXQgaW50byBhIHNpdHVhdGlvbiB3aGVyZSB0aGUgY29zdAo+ PiBvZiBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHRoZSB2YmxhbmsgSVJRIGFyb3VuZCBhIGRybVdh aXRWYmxhbmsgcXVlcnkKPj4gZG9taW5hdGVzLiBIb3dldmVyLCB3ZSBrbm93IHRoYXQgaWYgdGhl IHVzZXIgd2FudHMgdGhlIGN1cnJlbnQgdmJsYW5rCj4+IGNvdW50ZXIsIHRoZXkgYXJlIGFsc28g dmVyeSBsaWtlbHkgdG8gaW1tZWRpYXRlbHkgcXVldWUgYSB2Ymxhbmsgd2FpdAo+PiBhbmQgc28g d2UgY2FuIGtlZXAgdGhlIGludGVycnVwdCBhcm91bmQgYW5kIG9ubHkgdHVybiBpdCBvZmYgaWYg d2UgaGF2ZQo+PiBubyBmdXJ0aGVyIHZibGFuayByZXF1ZXN0cyBpbiB0aGUgaW50ZXJydXB0IGlu dGVydmFsLgo+Pgo+PiBBZnRlciB2YmxhbmsgZXZlbnQgZGVsaXZlcnkgdGhlcmUgaXMgYSBzaGFk b3cgb2Ygb25lIHZibGFuayB3aGVyZSB0aGUKPj4gaW50ZXJydXB0IGlzIGtlcHQgYWxpdmUgZm9y IHRoZSB1c2VyIHRvIHF1ZXJ5IGFuZCBxdWV1ZSBhbm90aGVyIHZibGFuawo+PiBldmVudC4gU2lt aWxhcmx5LCBpZiB0aGUgdXNlciBpcyB1c2luZyBibG9ja2luZyBkcm1XYWl0VmJsYW5rcywgdGhl Cj4+IGludGVycnVwdCB3aWxsIGJlIGRpc2FibGVkIG9uIHRoZSBJUlEgZm9sbG93aW5nIHRoZSB3 YWl0IGNvbXBsZXRpb24uCj4+IEhvd2V2ZXIsIGlmIHRoZSB1c2VyIGlzIHNpbXBseSBxdWVyeWlu ZyB0aGUgY3VycmVudCB2YmxhbmsgY291bnRlciBhbmQKPj4gdGltZXN0YW1wLCB0aGUgaW50ZXJy dXB0IHdpbGwgYmUgZGlzYWJsZWQgYWZ0ZXIgZXZlcnkgSVJRIGFuZCB0aGUgdXNlcgo+PiB3aWxs IGVuYWJsZWQgaXQgYWdhaW4gb24gdGhlIGZpcnN0IHF1ZXJ5IGZvbGxvd2luZyB0aGUgSVJRLgo+ Pgo+PiBUZXN0Y2FzZTogaWd0L2ttc192YmxhbmsKPj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVs QGZmd2xsLmNoPgo+PiBDYzogTWljaGVsIETDpG56ZXIgPG1pY2hlbEBkYWVuemVyLm5ldD4KPj4g Q2M6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4K Pj4gQ2M6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+LAo+PiBDYzogTWFyaW8gS2xl aW5lciA8bWFyaW8ua2xlaW5lci5kZUBnbWFpbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1 L2RybS9kcm1faXJxLmMgfCAxNSArKysrKysrKysrKysrLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwg MTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9kcm1faXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lycS5jCj4+IGluZGV4 IGM4YTM0NDc2NTcwYS4uNmY1ZGMxODc3OWUyIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2lycS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faXJxLmMKPj4gQEAgLTEw OTEsOSArMTA5MSw5IEBAIHZvaWQgZHJtX3ZibGFua19wdXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50Cj4+IGNydGMpCj4+ICAgICAgIGlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZ2Ymxhbmst PnJlZmNvdW50KSkgewo+PiAgICAgICAgICAgaWYgKGRybV92Ymxhbmtfb2ZmZGVsYXkgPT0gMCkK Pj4gICAgICAgICAgICAgICByZXR1cm47Cj4+IC0gICAgICAgIGVsc2UgaWYgKGRldi0+dmJsYW5r X2Rpc2FibGVfaW1tZWRpYXRlIHx8IGRybV92Ymxhbmtfb2ZmZGVsYXkKPj4gPCAwKQo+PiArICAg ICAgICBlbHNlIGlmIChkcm1fdmJsYW5rX29mZmRlbGF5IDwgMCkKPj4gICAgICAgICAgICAgICB2 YmxhbmtfZGlzYWJsZV9mbigodW5zaWduZWQgbG9uZyl2YmxhbmspOwo+PiAtICAgICAgICBlbHNl Cj4+ICsgICAgICAgIGVsc2UgaWYgKCFkZXYtPnZibGFua19kaXNhYmxlX2ltbWVkaWF0ZSkKPj4g ICAgICAgICAgICAgICBtb2RfdGltZXIoJnZibGFuay0+ZGlzYWJsZV90aW1lciwKPj4gICAgICAg ICAgICAgICAgICAgICBqaWZmaWVzICsgKChkcm1fdmJsYW5rX29mZmRlbGF5ICogSFopLzEwMDAp KTsKPj4gICAgICAgfQo+PiBAQCAtMTY5Nyw2ICsxNjk3LDE3IEBAIGJvb2wgZHJtX2hhbmRsZV92 Ymxhbmsoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gaW50IGNydGMpCj4+Cj4+ICAgICAgIHNw aW5fbG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xvY2ssIGlycWZsYWdzKTsKPj4KPgo+IFlvdSBj b3VsZCBtb3ZlIHRoZSBjb2RlIGJlZm9yZSB0aGUgc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+ZXZl bnRfbG9jaywKPiBpcnFmbGFncyk7IGkgdGhpbmsgaXQgZG9lc24ndCBuZWVkIHRoYXQgbG9jaz8K Pgo+PiArICAgIGlmIChkZXYtPnZibGFua19kaXNhYmxlX2ltbWVkaWF0ZSAmJgo+PiAhYXRvbWlj X3JlYWQoJnZibGFuay0+cmVmY291bnQpKSB7Cj4KPiBBbHNvIGNoZWNrIGZvciAoZHJtX3ZibGFu a19vZmZkZWxheSA+IDApIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlIGEgd2F5IG91dAo+IG9mIGluc3Rh bnQgZGlzYWJsZSBoZXJlLCBhbmQgdGhlIHNhbWUgbWVhbmluZyBvZiBvZiBkcm1fdmJsYW5rX29m ZmRlbGF5Cj4gbGlrZSB3ZSBoYXZlIGluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLgo+Cj4g VGhpcyBodW5rIC4uLgo+Cj4+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgdmJsX2xvY2tfaXJxZmxh Z3M7Cj4+ICsKPj4gKyAgICAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+dmJsX2xvY2ssIHZi bF9sb2NrX2lycWZsYWdzKTsKPj4gKyAgICAgICAgaWYgKGF0b21pY19yZWFkKCZ2YmxhbmstPnJl ZmNvdW50KSA9PSAwICYmIHZibGFuay0+ZW5hYmxlZCkgewo+PiArICAgICAgICAgICAgRFJNX0RF QlVHKCJkaXNhYmxpbmcgdmJsYW5rIG9uIGNydGMgJWRcbiIsIGNydGMpOwo+PiArICAgICAgICAg ICAgdmJsYW5rX2Rpc2FibGVfYW5kX3NhdmUoZGV2LCBjcnRjKTsKPj4gKyAgICAgICAgfQo+PiAr ICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPnZibF9sb2NrLCB2YmxfbG9ja19p cnFmbGFncyk7Cj4KPiAuLi4gaXMgdGhlIHNhbWUgYXMgYSBjYWxsIHRvIHZibGFua19kaXNhYmxl X2ZuKCh1bnNpZ25lZCBsb25nKSB2YmxhbmspOwo+IE1heWJlIHJlcGxhY2UgYnkgdGhhdCBjYWxs Pwo+Cj4gWW91IGNvdWxkIGFsc28gcmV0dXJuIGhlcmUgYWxyZWFkeSwgYXMgdGhlIGNvZGUgYmVs b3cgd2lsbCBqdXN0IHRha2UgYQo+IGxvY2ssIHJlYWxpemUgdmJsYW5rcyBhcmUgbm93IGRpc2Fi bGVkIGFuZCB0aGVuIHJlbGVhc2UgdGhlIGxvY2tzIGFuZCBleGl0Lgo+Cj4+ICsgICAgfQo+PiAr Cj4+ICAgICAgIC8qIE5lZWQgdGltZXN0YW1wIGxvY2sgdG8gcHJldmVudCBjb25jdXJyZW50IGV4 ZWN1dGlvbiB3aXRoCj4+ICAgICAgICAqIHZibGFuayBlbmFibGUvZGlzYWJsZSwgYXMgdGhpcyB3 b3VsZCBjYXVzZSBpbmNvbnNpc3RlbnQKPj4gICAgICAgICogb3IgY29ycnVwdGVkIHRpbWVzdGFt cHMgYW5kIHZibGFuayBjb3VudHMuCj4+Cj4KPiBJIHRoaW5rIHRoZSBsb2dpYyBpdHNlbGYgaXMg ZmluZSBhbmQgYXQgbGVhc3QgYmFzaWMgdGVzdGluZyBvZiB0aGUgcGF0Y2gKPiBvbiBhIEludGVs IEhEIElyb25sYWtlIGRpZG4ndCBzaG93IHByb2JsZW1zLCBzbyB3aXRoIHRoZSBhYm92ZSB0YWtl bgo+IGludG8gYWNjb3VudCBpdCB3b3VsZCBoYXZlIG15IHNsaWdodGx5IHVuZWFzeSByZXZpZXdl ZC1ieS4KPgo+IE9uZSB0aGluZyB0aGF0IHdvcnJpZXMgbWUgYSBsaXR0bGUgYml0IGFib3V0IHRo ZSBkaXNhYmxlIGluc2lkZSB2YmxhbmsKPiBpcnEgYXJlIHRoZSBwb3RlbnRpYWwgcmFjZXMgYmV0 d2VlbiB0aGUgZGlzYWJsZSBjb2RlIGFuZCB0aGUgZGlzcGxheQo+IGVuZ2luZSB3aGljaCBjb3Vs ZCBjYXVzZSByZWFsbHkgYmFkIG9mZi1ieS1vbmUgZXJyb3JzIGZvciBjbGllbnRzIG9uIGEKPiBp bXBlcmZlY3QgZHJpdmVyLiBUaGVzZSByYWNlcyBjYW4gb25seSBoYXBwZW4gaWYgdmJsYW5rIGVu YWJsZSBvcgo+IGRpc2FibGUgaGFwcGVucyBjbG9zZSB0byBvciBpbnNpZGUgdGhlIHZibGFuay4g VGhpcyBhcHByb2FjaCBsZXRzIHRoZQo+IGluc3RhbnQgZGlzYWJsZSBoYXBwZW4gZXhhY3RseSBp bnNpZGUgdmJsYW5rIHdoZW4gdGhlcmUgaXMgdGhlIGhpZ2hlc3QKPiBjaGFuY2Ugb2YgdHJpZ2dl cmluZyB0aGF0IGNvbmRpdGlvbi4KPgo+IFRoaXMgZG9lc24ndCBzZWVtIHRvIGJlIGEgcHJvYmxl bSBmb3IgaW50ZWwga21zLCBidXQgb3RoZXIgZHJpdmVycyBkb24ndAo+IGhhdmUgaW5zdGFudCBk aXNhYmxlIHlldCwgc28gd2UgZG9uJ3Qga25vdyBob3cgd2VsbCB3ZSBjb3VsZCBkbyBpdAo+IHRo ZXJlLiBBZGRpdGlvbmFsbHkgdGhpbmdzIGxpa2UgZHluYW1pYyBwb3dlciBtYW5hZ2VtZW50IHRl bmQgdG8gb3BlcmF0ZQo+IGluc2lkZSB2YmxhbmssIHNvbWV0aW1lcyB3aXRoICJmdW5ueSIgc2lk ZSBlZmZlY3RzIHRvIG90aGVyIHN0dWZmLCBlLmcuLAo+IGRwbSBvbiBBTUQsIGFzIGkgcmVtZW1i ZXIgZnJvbSBzb21lIGxvbmcgZGVidWcgc2Vzc2lvbiB3aXRoIE1pY2hlbCBhbmQKPiBBbGV4IGxh c3Qgc3VtbWVyIHdoZXJlIGRwbSBwbGF5ZWQgYSByb2xlLiBUaGVyZWZvcmUgaXQgc2VlbXMgbW9y ZSBzYWZlCj4gdG8gbWUgdG8gYXZvaWQgYWN0aW9ucyBpbnNpZGUgdmJsYW5rIHRoYXQgY291bGQg YmUgZG9uZSBvdXRzaWRlLiBFLmcuLAo+IGluc3RlYWQgb2YgZG9pbmcgdGhlIGRpc2FibGUgaW5z aWRlIHRoZSB2YmxhbmsgaXJxIG9uZSBjb3VsZCBtYXliZSBqdXN0Cj4gc2NoZWR1bGUgYW4gZXhh Y3QgdGltZXIgdG8gZG8gdGhlIGRpc2FibGUgYSBmZXcgbWlsbGlzZWNvbmRzIGxhdGVyIGluCj4g dGhlIG1pZGRsZSBvZiBhY3RpdmUgc2Nhbm91dCB0byBhdm9pZCB0aGVzZSBwb3RlbnRpYWwgaXNz dWVzPwo+Cj4gLW1hcmlvCgpBZnRlciB0ZXN0aW5nIHRoaXMsIG9uZSBtb3JlIHRoaW5nIHRoYXQg d291bGQgbWFrZSBzZW5zZSBpcyB0byBtb3ZlIHRoZSAKZGlzYWJsZSBibG9jayBhdCB0aGUgZW5k IG9mIGRybV9oYW5kbGVfdmJsYW5rKCkgaW5zdGVhZCBvZiBhdCB0aGUgdG9wLgoKVHVybnMgb3V0 IHRoYXQgaWYgaGlnaCBwcmVjaXNpb24gdGltZXN0YW1pbmcgaXMgZGlzYWJsZWQgb3IgZG9lc24n dCB3b3JrIApmb3Igc29tZSByZWFzb24gKGFzIGNhbiBiZSBzaW11bGF0ZWQgYnkgZWNobyAwID4g Ci9zeXMvbW9kdWxlL2RybS9wYXJhbWV0ZXJzL3RpbWVzdGFtcF9wcmVjaXNpb25fdXNlYyksIHRo ZW4gd2l0aCB5b3VyIApkZWxheWVkIGRpc2FibGUgY29kZSBhdCBpdHMgY3VycmVudCBwbGFjZSwg dGhlIHZibGFuayBjb3VudGVyIHdvbid0IAppbmNyZW1lbnQgYW55bW9yZSBhdCBhbGwgZm9yIGlu c3RhbnQgcXVlcmllcywgaWUuIHdpdGggeW91ciBvdGhlciAKImluc3RhbnQgcXVlcnkiIHBhdGNo ZXMuIENsaWVudHMgd2hpY2ggcmVwZWF0ZWRseSBxdWVyeSB0aGUgY291bnRlciBhbmQgCndhaXQg Zm9yIGl0IHRvIHByb2dyZXNzIHdpbGwgc2ltcGx5IGhhbmcsIHNwaW5uaW5nIGluIGFuIGVuZGxl c3MgcXVlcnkgCmxvb3AuIFRoZXJlJ3MgdGhhdCBjb21tZW50IGluIHZibGFua19kaXNhYmxlX2Fu ZF9zYXZlOgoKIiogU2tpcCB0aGlzIHN0ZXAgaWYgdGhlcmUgaXNuJ3QgYW55IGhpZ2ggcHJlY2lz aW9uIHRpbWVzdGFtcAogICogYXZhaWxhYmxlLiBJbiB0aGF0IGNhc2Ugd2UgY2FuJ3QgYWNjb3Vu dCBmb3IgdGhpcyBhbmQganVzdAogICogaG9wZSBmb3IgdGhlIGJlc3QuCiAgKi8KCldpdGggdGhl IGRpc2FibGUgaGFwcGVuaW5nIGFmdGVyIGxlYWRpbmcgZWRnZSBvZiB2YmxhbmsgKD09IGh3IGNv dW50ZXIgCmluY3JlbWVudCBhbHJlYWR5IGhhcHBlbmVkKSBidXQgYmVmb3JlIHRoZSB2Ymxhbmsg Y291bnRlci90aW1lc3RhbXAgCmhhbmRsaW5nIGluIGRybV9oYW5kbGVfdmJsYW5rLCB0aGF0IHN0 ZXAgaXMgbmVlZGVkIHRvIGtlZXAgdGhlIGNvdW50ZXIgCnByb2dyZXNzaW5nLCBzbyBza2lwcGlu ZyBpdCBpcyBiYWQuCgpOb3cgd2l0aG91dCBoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBpbmcgc3Vw cG9ydCwgYSBrbXMgZHJpdmVyIG11c3Qgbm90IApzZXQgZGV2LT52YmxhbmtfZGlzYWJsZV9pbW1l ZGlhdGUgPSB0cnVlLCBhcyB0aGlzIHdvdWxkIGNhdXNlIHByb2JsZW1zIApmb3IgY2xpZW50cywg c28gdGhpcyBzaG91bGRuJ3QgbWF0dGVyLCBidXQgaXQgd291bGQgYmUgZ29vZCB0byBzdGlsbCAK bWFrZSB0aGlzIHJvYnVzdCBhZ2FpbnN0IGEgZnV0dXJlIGttcyBkcml2ZXIgd2hpY2ggbWlnaHQg aGF2ZSB1bnJlbGlhYmxlIApoaWdoIHByZWNpc2lvbiB0aW1lc3RhbXBpbmcsIGUuZy4sIGhpZ2gg cHJlY2lzaW9uIHRpbWVzdGFtcGluZyB0aGF0IAppbnRlcm1pdHRlbnRseSBkb2Vzbid0IHdvcmsu CgpGb3IgcmVmZXJlbmNlLCBteSB0d2VhayBvZiB5b3VyIHBhdGNoIGxvb2tzIG5vdyBsaWtlIHRo aXMgZm9yIHRoZSBodW5rIAphdCB0aGUgYm90dG9tIG9mIGRybV9oYW5kbGVfdmJsYW5rKCk6Cgou Li4uCiAgICAgICAgIHNwaW5fdW5sb2NrKCZkZXYtPnZibGFua190aW1lX2xvY2spOwoKICAgICAg ICAgd2FrZV91cCgmdmJsYW5rLT5xdWV1ZSk7CiAgICAgICAgIGRybV9oYW5kbGVfdmJsYW5rX2V2 ZW50cyhkZXYsIGNydGMpOwoKKyAgICAgICAgaWYgKGRldi0+dmJsYW5rX2Rpc2FibGVfaW1tZWRp YXRlICYmIGRybV92Ymxhbmtfb2ZmZGVsYXkgPiAwICYmCisgICAgICAgICAgICAgICAgIWF0b21p Y19yZWFkKCZ2YmxhbmstPnJlZmNvdW50KSkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgdmJsX2xvY2tfaXJxZmxhZ3M7CisKKyAgICAgICAgICAgICAgICBzcGluX2xvY2tfaXJxc2F2 ZSgmZGV2LT52YmxfbG9jaywgdmJsX2xvY2tfaXJxZmxhZ3MpOworICAgICAgICAgICAgICAgIGlm IChhdG9taWNfcmVhZCgmdmJsYW5rLT5yZWZjb3VudCkgPT0gMCAmJiAKdmJsYW5rLT5lbmFibGVk KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUcoImRpc2FibGluZyB2Ymxhbmsg b24gY3J0YyAlZFxuIiwgY3J0Yyk7CisgICAgICAgICAgICAgICAgICAgICAgICB2YmxhbmtfZGlz YWJsZV9hbmRfc2F2ZShkZXYsIGNydGMpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPnZibF9sb2NrLCB2YmxfbG9ja19pcnFm bGFncyk7CisgICAgICAgIH0KKwogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYt PmV2ZW50X2xvY2ssIGlycWZsYWdzKTsKCiAgICAgICAgIHJldHVybiB0cnVlOwoKClRoaXMgY291 bGQgYmUgZnVydGhlciBzaW1wbGlmaWVkIHRvCgouLi4uLi4KICAgICAgICAgc3Bpbl91bmxvY2so JmRldi0+dmJsYW5rX3RpbWVfbG9jayk7CgogICAgICAgICB3YWtlX3VwKCZ2YmxhbmstPnF1ZXVl KTsKICAgICAgICAgZHJtX2hhbmRsZV92YmxhbmtfZXZlbnRzKGRldiwgY3J0Yyk7CisKKyAgICAg ICBpZiAoZGV2LT52YmxhbmtfZGlzYWJsZV9pbW1lZGlhdGUgJiYgZHJtX3ZibGFua19vZmZkZWxh eSA+IDAgJiYKKyAgICAgICAgICAgIWF0b21pY19yZWFkKCZ2YmxhbmstPnJlZmNvdW50KSkgewor CQl2YmxhbmtfZGlzYWJsZV9mbih2YmxhbmspOworICAgICAgICB9CisKICAgICAgICAgc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBpcnFmbGFncyk7CgogICAgICAgICBy ZXR1cm4gdHJ1ZTsKClRoZSB0d2Vha2VkIHZlcnNpb24gd29ya2VkIGZpbmUgaW4gYWxsIG15IHRl c3RzLgotbWFyaW8KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK