From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 2/8] drm: Don't update property values for atomic drivers Date: Sat, 12 Aug 2017 01:20:28 +0300 Message-ID: <11936316.HxkijEfdt1@avalon> References: <20170725080122.20548-1-daniel.vetter@ffwll.ch> <20170725080122.20548-3-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170725080122.20548-3-daniel.vetter@ffwll.ch> 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: Daniel Vetter , Intel Graphics Development , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SGkgRGFuaWVsLAoKT24gVHVlc2RheSAyNSBKdWwgMjAxNyAxMDowMToxNiBEYW5pZWwgVmV0dGVy IHdyb3RlOgo+IEF0b21pYyBkcml2ZXJzIG9ubHkgdXNlIHRoZSBwcm9wZXJ0eSB2YWx1ZSBzdG9y ZSBmb3IgaW1tdXRhYmxlIChpLmUuCj4gY2FuJ3QgYmUgc2V0IGJ5IHVzZXJzcGFjZSwgYnV0IHRo ZSBrZXJuZWwgY2FuIHN0aWxsIGFkanVzdCBpdCkKPiBwcm9wZXJ0aWVzLiBUaGUgb25seSB0cmlj a3kgcGFydCBpcyB0aGUgcmVtb3ZhbCBvZiB0aGUgdXBkYXRlIGluCj4gZHJtX2F0b21pY19oZWxw ZXJfdXBkYXRlX2xlZ2FjeV9tb2Rlc2V0X3N0YXRlKCkuCj4gCj4gVGhpcyB3YXMgYWRkZWQgaW4K PiAKPiBjb21taXQgOGMxMDM0MmNiNDhmMzE0MGQ5YWJlYWRjZmQyZmE2NjI1ZDQ0NzI4MiAodGFn Ogo+IHRvcGljL2RybS1taXNjLTIwMTUtMDctMjgpIEF1dGhvcjogTWFhcnRlbiBMYW5raG9yc3QK PiA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+IERhdGU6ICAgTW9uIEp1bCAy NyAxMzoyNDoyOSAyMDE1ICswMjAwCj4gCj4gICAgIGRybS9hdG9taWM6IFVwZGF0ZSBsZWdhY3kg RFBNUyBzdGF0ZSBkdXJpbmcgbW9kZXNldHMsIHYzLgo+IAo+IGJ5IGNvcHlpbmcgaXQgZnJvbSB0 aGUgaTkxNSBjb2RlLCB3aGVyZSBpdCB3YXMgb3JpZ2luYWxseSBhZGRlZCBpbgo+IAo+IGNvbW1p dCA2OGQzNDcyMDQ3YTU3MjkzNjU1MWY4ZmYwYjZmNDAxNmM1YTFmZGVmCj4gQXV0aG9yOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgo+IERhdGU6ICAgVGh1IFNlcCA2IDIy OjA4OjM1IDIwMTIgKzAyMDAKPiAKPiAgICAgZHJtL2k5MTU6IHVwZGF0ZSBkcG1zIHByb3BlcnR5 IGluIHNldF9tb2RlCj4gCj4gZm9yIHRoZSBsZWdhY3kgbW9kZXNldCBjb2RlLiBUaGUgcmVhc29u IHdlIG5lZWRlZCB0aGlzIGhhY2sgd2FzIHRoYXQKPiBpOTE1IGRpZG4ndCB5ZXQgc2V0IERSSVZF Ul9BVE9NSUMsIGFuZCB3ZSBjaGVja2VkIGZvciB0aGF0IGluc3RlYWQgb2YKPiB0aGUgbmV3ZXIt aXNoIGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNldCgpLCB3aGljaCBhdm9pZHMgc3VjaAo+IHRy b3VibGVzLiBXaXRoIHRoZSBjb3JyZWN0IGZlYXR1cmUgY2hlY2tzIHRoaXMgaXNuJ3QgbmVlZGVk IGFueW1vcmUgYXQKPiBhbGwuCj4gCj4gQWxzbyBtYWtlIHN1cmUgdGhhdCBkcml2ZXJzIGRvbid0 IGFjY2lkZW50YWxseSBnZXQgdGhpcyB3cm9uZyBieQo+IG1ha2luZyB0aGUgZXhwb3J0ZWQgdmVy c2lvbiBvZiBkcm1fb2JqZWN0X3Byb3BlcnR5X2dldF92YWx1ZSgpIG9ubHkKPiB3b3JrIGZvciBs ZWdhY3kgZHJpdmVycy4gT25seSBnbWE1MDAgdXNlcyBpdCBhbnl3YXkuCj4gCj4gQ2M6IE1hYXJ0 ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRlbC5jb20+Cj4gLS0tCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jIHwgIDQgLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9kcm1fY29ubmVjdG9yLmMgICAgIHwgIDMgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fY3J0Yy5jICAgICAgICAgIHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29i amVjdC5jICAgfCA0OSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fcGxhbmUuYyAgICAgICAgIHwgIDIgKy0KPiAgNSBmaWxlcyBjaGFuZ2Vk LCAzMyBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jIGluZGV4IDc1ODJiYmM1ZGVjYy4uNGE5NjBjNzQxZTM1Cj4gMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IEBAIC05MjEsMTYgKzkyMSwxMiBAQCBk cm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5X21vZGVzZXRfc3RhdGUoc3RydWN0Cj4gZHJt X2RldmljZSAqZGV2LCBjcnRjID0gbmV3X2Nvbm5fc3RhdGUtPmNydGM7Cj4gIAkJaWYgKCghY3J0 YyAmJiBvbGRfY29ubl9zdGF0ZS0+Y3J0YykgfHwKPiAgCQkgICAgKGNydGMgJiYgZHJtX2F0b21p Y19jcnRjX25lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpKSkgewo+IC0JCQlzdHJ1Y3QgZHJtX3By b3BlcnR5ICpkcG1zX3Byb3AgPQo+IC0JCQkJZGV2LT5tb2RlX2NvbmZpZy5kcG1zX3Byb3BlcnR5 Owo+ICAJCQlpbnQgbW9kZSA9IERSTV9NT0RFX0RQTVNfT0ZGOwo+IAo+ICAJCQlpZiAoY3J0YyAm JiBjcnRjLT5zdGF0ZS0+YWN0aXZlKQo+ICAJCQkJbW9kZSA9IERSTV9NT0RFX0RQTVNfT047Cj4g Cj4gIAkJCWNvbm5lY3Rvci0+ZHBtcyA9IG1vZGU7Cj4gLQkJCWRybV9vYmplY3RfcHJvcGVydHlf c2V0X3ZhbHVlKCZjb25uZWN0b3ItPmJhc2UsCj4gLQkJCQkJCSAgICAgIGRwbXNfcHJvcCwgbW9k ZSk7Cj4gIAkJfQo+ICAJfQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nv bm5lY3Rvci5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGluZGV4IDgwNzJl NmU0YzYyYy4uMzQ5MTA0ZWFkZWZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y29ubmVjdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4gQEAg LTEyMjUsOCArMTIyNSw3IEBAIGludCBkcm1fbW9kZV9jb25uZWN0b3Jfc2V0X29ial9wcm9wKHN0 cnVjdAo+IGRybV9tb2RlX29iamVjdCAqb2JqLCB9IGVsc2UgaWYgKGNvbm5lY3Rvci0+ZnVuY3Mt PnNldF9wcm9wZXJ0eSkKPiAgCQlyZXQgPSBjb25uZWN0b3ItPmZ1bmNzLT5zZXRfcHJvcGVydHko Y29ubmVjdG9yLCBwcm9wZXJ0eSwgCnZhbHVlKTsKPiAKPiAtCS8qIHN0b3JlIHRoZSBwcm9wZXJ0 eSB2YWx1ZSBpZiBzdWNjZXNzZnVsICovCj4gLQlpZiAoIXJldCkKPiArCWlmICghcmV0ICYmIGRy bV9kcnZfdXNlc19hdG9taWNfbW9kZXNldChwcm9wZXJ0eS0+ZGV2KSkKPiAgCQlkcm1fb2JqZWN0 X3Byb3BlcnR5X3NldF92YWx1ZSgmY29ubmVjdG9yLT5iYXNlLCBwcm9wZXJ0eSwgCnZhbHVlKTsK PiAgCXJldHVybiByZXQ7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwo+IGluZGV4IDVhZjI1Y2U1YmY3Yy4u N2Q0ZmNkZDM0MzQyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKPiBAQCAtNzM2LDcgKzczNiw3IEBAIGlu dCBkcm1fbW9kZV9jcnRjX3NldF9vYmpfcHJvcChzdHJ1Y3QgZHJtX21vZGVfb2JqZWN0Cj4gKm9i aiwKPiAKPiAgCWlmIChjcnRjLT5mdW5jcy0+c2V0X3Byb3BlcnR5KQo+ICAJCXJldCA9IGNydGMt PmZ1bmNzLT5zZXRfcHJvcGVydHkoY3J0YywgcHJvcGVydHksIHZhbHVlKTsKPiAtCWlmICghcmV0 KQo+ICsJaWYgKCFyZXQgJiYgZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0KHByb3BlcnR5LT5k ZXYpKQo+ICAJCWRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVlKG9iaiwgcHJvcGVydHksIHZh bHVlKTsKPiAKPiAgCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fbW9kZV9vYmplY3QuYwo+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX29iamVjdC5jIGlu ZGV4IGRhOWE5YWRiY2M5OC4uOTI3NDNhNzk2YmYwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZV9vYmplY3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9v YmplY3QuYwo+IEBAIC0yMzMsNiArMjMzLDkgQEAgaW50IGRybV9vYmplY3RfcHJvcGVydHlfc2V0 X3ZhbHVlKHN0cnVjdCBkcm1fbW9kZV9vYmplY3QKPiAqb2JqLCB7Cj4gIAlpbnQgaTsKPiAKPiAr CVdBUk5fT04oZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0KHByb3BlcnR5LT5kZXYpICYmCj4g KwkJIShwcm9wZXJ0eS0+ZmxhZ3MgJiBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSkpOwoKSXQgd291 bGQgaGF2ZSBiZWVuIG5pY2UgdG8gcmVtb3ZlIHRoZSBjYWxscyB0byBkcm1fb2JqZWN0X3Byb3Bl cnR5X3NldF92YWx1ZSgpIApmb3IgdGhlIGRwbXMgcHJvcGVydHkgZnJvbSBkcml2ZXJzIGJlZm9y ZSBhZGRpbmcgdGhpcyA6LS8gVGhyZWUgZHJpdmVycyAocmNhci0KZHUsIHNobW9iaWxlIGFuZCBm c2wtZGN1KSBpbml0aWFsaXplIHRoZSBjb25uZWN0b3IncyBEUE1TIHByb3BlcnR5IHRvIE9GRiAK dXNpbmcgdGhpcyBjYWxsICh0aGUgZGVmYXVsdCBiZWluZyBPTikuCgpGb2xsb3dpbmcgdGhlIERQ TVMgY29kZSBwYXRocyBhbHdheXMgZ2l2ZSBtZSBhIGhlYWRhY2hlLCBzbyBpZiB5b3Uga25vdyBi eSAKaGVhcnQgaG93IEkgc2hvdWxkIHJlcGxhY2UgdGhlIHNldCBwcm9wZXJ0eSBjYWxsLCBJJ20g YWxsIGVhcnMgOi0pCgo+ICAJZm9yIChpID0gMDsgaSA8IG9iai0+cHJvcGVydGllcy0+Y291bnQ7 IGkrKykgewo+ICAJCWlmIChvYmotPnByb3BlcnRpZXMtPnByb3BlcnRpZXNbaV0gPT0gcHJvcGVy dHkpIHsKPiAgCQkJb2JqLT5wcm9wZXJ0aWVzLT52YWx1ZXNbaV0gPSB2YWw7Cj4gQEAgLTI0NCwy NCArMjQ3LDcgQEAgaW50IGRybV9vYmplY3RfcHJvcGVydHlfc2V0X3ZhbHVlKHN0cnVjdAo+IGRy bV9tb2RlX29iamVjdCAqb2JqLCB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX29iamVjdF9wcm9wZXJ0 eV9zZXRfdmFsdWUpOwo+IAo+IC0vKioKPiAtICogZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFs dWUgLSByZXRyaWV2ZSB0aGUgdmFsdWUgb2YgYSBwcm9wZXJ0eQo+IC0gKiBAb2JqOiBkcm0gbW9k ZSBvYmplY3QgdG8gZ2V0IHByb3BlcnR5IHZhbHVlIGZyb20KPiAtICogQHByb3BlcnR5OiBwcm9w ZXJ0eSB0byByZXRyaWV2ZQo+IC0gKiBAdmFsOiBzdG9yYWdlIGZvciB0aGUgcHJvcGVydHkgdmFs dWUKPiAtICoKPiAtICogVGhpcyBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIHNvZnRhcmUgc3RhdGUg b2YgdGhlIGdpdmVuIHByb3BlcnR5IGZvciB0aGUKPiBnaXZlbiAtICogcHJvcGVydHkuIFNpbmNl IHRoZXJlIGlzIG5vIGRyaXZlciBjYWxsYmFjayB0byByZXRyaWV2ZSB0aGUKPiBjdXJyZW50IHBy b3BlcnR5IC0gKiB2YWx1ZSB0aGlzIG1pZ2h0IGJlIG91dCBvZiBzeW5jIHdpdGggdGhlIGhhcmR3 YXJlLAo+IGRlcGVuZGluZyB1cG9uIHRoZSBkcml2ZXIgLSAqIGFuZCBwcm9wZXJ0eS4KPiAtICoK PiAtICogQXRvbWljIGRyaXZlcnMgc2hvdWxkIG5ldmVyIGNhbGwgdGhpcyBmdW5jdGlvbiBkaXJl Y3RseSwgdGhlIGNvcmUgd2lsbAo+IHJlYWQgLSAqIG91dCBwcm9wZXJ0eSB2YWx1ZXMgdGhyb3Vn aCB0aGUgdmFyaW91cyAtPmF0b21pY19nZXRfcHJvcGVydHkKPiBjYWxsYmFja3MuIC0gKgo+IC0g KiBSZXR1cm5zOgo+IC0gKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZS4K PiAtICovCj4gLWludCBkcm1fb2JqZWN0X3Byb3BlcnR5X2dldF92YWx1ZShzdHJ1Y3QgZHJtX21v ZGVfb2JqZWN0ICpvYmosCj4gK2ludCBfX2RybV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKHN0 cnVjdCBkcm1fbW9kZV9vYmplY3QgKm9iaiwKPiAgCQkJCSAgc3RydWN0IGRybV9wcm9wZXJ0eSAq cHJvcGVydHksIHVpbnQ2NF90IAoqdmFsKQo+ICB7Cj4gIAlpbnQgaTsKPiBAQCAtMjg0LDYgKzI3 MCwzMSBAQCBpbnQgZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUoc3RydWN0Cj4gZHJtX21v ZGVfb2JqZWN0ICpvYmosCj4gCj4gIAlyZXR1cm4gLUVJTlZBTDsKPiAgfQo+ICsKPiArLyoqCj4g KyAqIGRybV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlIC0gcmV0cmlldmUgdGhlIHZhbHVlIG9m IGEgcHJvcGVydHkKPiArICogQG9iajogZHJtIG1vZGUgb2JqZWN0IHRvIGdldCBwcm9wZXJ0eSB2 YWx1ZSBmcm9tCj4gKyAqIEBwcm9wZXJ0eTogcHJvcGVydHkgdG8gcmV0cmlldmUKPiArICogQHZh bDogc3RvcmFnZSBmb3IgdGhlIHByb3BlcnR5IHZhbHVlCj4gKyAqCj4gKyAqIFRoaXMgZnVuY3Rp b24gcmV0cmlldmVzIHRoZSBzb2Z0YXJlIHN0YXRlIG9mIHRoZSBnaXZlbiBwcm9wZXJ0eSBmb3Ig dGhlCj4gZ2l2ZW4gKyAqIHByb3BlcnR5LiBTaW5jZSB0aGVyZSBpcyBubyBkcml2ZXIgY2FsbGJh Y2sgdG8gcmV0cmlldmUgdGhlCj4gY3VycmVudCBwcm9wZXJ0eSArICogdmFsdWUgdGhpcyBtaWdo dCBiZSBvdXQgb2Ygc3luYyB3aXRoIHRoZSBoYXJkd2FyZSwKPiBkZXBlbmRpbmcgdXBvbiB0aGUg ZHJpdmVyICsgKiBhbmQgcHJvcGVydHkuCj4gKyAqCj4gKyAqIEF0b21pYyBkcml2ZXJzIHNob3Vs ZCBuZXZlciBjYWxsIHRoaXMgZnVuY3Rpb24gZGlyZWN0bHksIHRoZSBjb3JlIHdpbGwKPiByZWFk ICsgKiBvdXQgcHJvcGVydHkgdmFsdWVzIHRocm91Z2ggdGhlIHZhcmlvdXMgLT5hdG9taWNfZ2V0 X3Byb3BlcnR5Cj4gY2FsbGJhY2tzLiArICoKPiArICogUmV0dXJuczoKPiArICogWmVybyBvbiBz dWNjZXNzLCBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gKyAqLwo+ICtpbnQgZHJtX29iamVjdF9w cm9wZXJ0eV9nZXRfdmFsdWUoc3RydWN0IGRybV9tb2RlX29iamVjdCAqb2JqLAo+ICsJCQkJICBz dHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3QgCip2YWwpCj4gK3sKPiArCVdB Uk5fT04oZHJtX2Rydl91c2VzX2F0b21pY19tb2Rlc2V0KHByb3BlcnR5LT5kZXYpKTsKPiArCj4g KwlyZXR1cm4gX19kcm1fb2JqZWN0X3Byb3BlcnR5X2dldF92YWx1ZShvYmosIHByb3BlcnR5LCB2 YWwpOwo+ICt9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUp Owo+IAo+ICAvKiBoZWxwZXIgZm9yIGdldGNvbm5lY3RvciBhbmQgZ2V0cHJvcGVydGllcyBpb2N0 bHMgKi8KPiBAQCAtMzAyLDcgKzMxMyw3IEBAIGludCBkcm1fbW9kZV9vYmplY3RfZ2V0X3Byb3Bl cnRpZXMoc3RydWN0Cj4gZHJtX21vZGVfb2JqZWN0ICpvYmosIGJvb2wgYXRvbWljLCBjb250aW51 ZTsKPiAKPiAgCQlpZiAoKmFyZ19jb3VudF9wcm9wcyA+IGNvdW50KSB7Cj4gLQkJCXJldCA9IGRy bV9vYmplY3RfcHJvcGVydHlfZ2V0X3ZhbHVlKG9iaiwgcHJvcCwgJnZhbCk7Cj4gKwkJCXJldCA9 IF9fZHJtX29iamVjdF9wcm9wZXJ0eV9nZXRfdmFsdWUob2JqLCBwcm9wLCAKJnZhbCk7Cj4gIAkJ CWlmIChyZXQpCj4gIAkJCQlyZXR1cm4gcmV0Owo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiBpbmRleCA1 ZGM4YzQzNTA2MDIuLmI0ZmZkMDQ1NTIwMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lLmMKPiBAQCAtMzMw LDcgKzMzMCw3IEBAIGludCBkcm1fbW9kZV9wbGFuZV9zZXRfb2JqX3Byb3Aoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gCj4gIAlpZiAocGxhbmUtPmZ1bmNzLT5zZXRfcHJvcGVydHkpCj4gIAkJ cmV0ID0gcGxhbmUtPmZ1bmNzLT5zZXRfcHJvcGVydHkocGxhbmUsIHByb3BlcnR5LCB2YWx1ZSk7 Cj4gLQlpZiAoIXJldCkKPiArCWlmICghcmV0ICYmIGRybV9kcnZfdXNlc19hdG9taWNfbW9kZXNl dChwcm9wZXJ0eS0+ZGV2KSkKPiAgCQlkcm1fb2JqZWN0X3Byb3BlcnR5X3NldF92YWx1ZShvYmos IHByb3BlcnR5LCB2YWx1ZSk7Cj4gCj4gIAlyZXR1cm4gcmV0OwoKLS0gClJlZ2FyZHMsCgpMYXVy ZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK