From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH v2 2/5] drm/i915: Skip unused fw_domains Date: Thu, 23 Mar 2017 11:36:53 +0200 Message-ID: <87var0xrka.fsf@gaia.fi.intel.com> References: <20170322123727.9564-1-chris@chris-wilson.co.uk> <20170322123727.9564-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id D80356EA5B for ; Thu, 23 Mar 2017 09:37:42 +0000 (UTC) In-Reply-To: <20170322123727.9564-2-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: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gVXNlIGZp bmQtZmlyc3Qtc2V0IGJpdG9wIHRvIHF1aWNrbHkgc2NhbiB0aHJvdWdoIHRoZSBmd19kb21haW5z IG1hc2sgYW5kCj4gc2tpcCBpdGVyYXRpbmcgb3ZlciB1bnVzZWQgZG9tYWlucy4KPgo+IHYyOiBN b3ZlIHRoZSBXQVJOIGludG8gdGhlIGNhbGxlciwgdG8gcHJldmVudCBjb21waWxlciB3YXJuaW5n cyBpbgo+IG5vcm1hbCBidWlsZHMuCj4KPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgfCAgMyArKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgfCAzMCArKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF91bmNvcmUuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0K PiAgMyBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gaW5kZXggMjliZjExZDhiNjIwLi5mY2Fj Nzk1ZDQzOTYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2Zz LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xNDYx LDkgKzE0NjEsMTAgQEAgc3RhdGljIGludCBpOTE1X2ZvcmNld2FrZV9kb21haW5zKHN0cnVjdCBz ZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gbm9kZV90b19pOTE1KG0tPnByaXZhdGUpOwo+ICAJc3RydWN0IGludGVsX3Vu Y29yZV9mb3JjZXdha2VfZG9tYWluICpmd19kb21haW47Cj4gKwl1bnNpZ25lZCBpbnQgdG1wOwo+ ICAKPiAgCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT51bmNvcmUubG9jayk7Cj4gLQlmb3JfZWFj aF9md19kb21haW4oZndfZG9tYWluLCBkZXZfcHJpdikgewo+ICsJZm9yX2VhY2hfZndfZG9tYWlu KGZ3X2RvbWFpbiwgZGV2X3ByaXYsIHRtcCkgewo+ICAJCXNlcV9wcmludGYobSwgIiVzLndha2Vf Y291bnQgPSAldVxuIiwKPiAgCQkJICAgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW5fdG9f c3RyKGZ3X2RvbWFpbi0+aWQpLAo+ICAJCQkgICBmd19kb21haW4tPndha2VfY291bnQpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDRjOWRlN2QwMGVhZi4uNTg5ZjkxYzRlNTg1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTcwMyw5ICs3MDMsOSBAQCBlbnVtIGZv cmNld2FrZV9kb21haW5faWQgewo+ICB9Owo+ICAKPiAgZW51bSBmb3JjZXdha2VfZG9tYWlucyB7 Cj4gLQlGT1JDRVdBS0VfUkVOREVSID0gKDEgPDwgRldfRE9NQUlOX0lEX1JFTkRFUiksCj4gLQlG T1JDRVdBS0VfQkxJVFRFUiA9ICgxIDw8IEZXX0RPTUFJTl9JRF9CTElUVEVSKSwKPiAtCUZPUkNF V0FLRV9NRURJQQk9ICgxIDw8IEZXX0RPTUFJTl9JRF9NRURJQSksCj4gKwlGT1JDRVdBS0VfUkVO REVSID0gQklUKEZXX0RPTUFJTl9JRF9SRU5ERVIpLAo+ICsJRk9SQ0VXQUtFX0JMSVRURVIgPSBC SVQoRldfRE9NQUlOX0lEX0JMSVRURVIpLAo+ICsJRk9SQ0VXQUtFX01FRElBCT0gQklUKEZXX0RP TUFJTl9JRF9NRURJQSksCj4gIAlGT1JDRVdBS0VfQUxMID0gKEZPUkNFV0FLRV9SRU5ERVIgfAo+ ICAJCQkgRk9SQ0VXQUtFX0JMSVRURVIgfAo+ICAJCQkgRk9SQ0VXQUtFX01FRElBKQo+IEBAIC03 OTAsMTUgKzc5MCwxOSBAQCBzdHJ1Y3QgaW50ZWxfdW5jb3JlIHsKPiAgCWludCB1bmNsYWltZWRf bW1pb19jaGVjazsKPiAgfTsKPiAgCj4gKyNkZWZpbmUgX19tYXNrX25leHRfYml0KG1hc2spICh7 CQkJCQlcCj4gKwlpbnQgX19pZHggPSBmZnMobWFzaykgLSAxOwkJCQkJXAo+ICsJbWFzayAmPSB+ QklUKF9faWR4KTsJCQkJCQlcCj4gKwlfX2lkeDsJCQkJCQkJCVwKPiArfSkKPiArCj4gIC8qIEl0 ZXJhdGUgb3ZlciBpbml0aWFsaXNlZCBmdyBkb21haW5zICovCj4gLSNkZWZpbmUgZm9yX2VhY2hf ZndfZG9tYWluX21hc2tlZChkb21haW5fXywgbWFza19fLCBkZXZfcHJpdl9fKSBcCj4gLQlmb3Ig KChkb21haW5fXykgPSAmKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWluWzBdOyBcCj4gLQkg ICAgIChkb21haW5fXykgPCAmKGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWluW0ZXX0RPTUFJ Tl9JRF9DT1VOVF07IFwKPiAtCSAgICAgKGRvbWFpbl9fKSsrKSBcCj4gLQkJZm9yX2VhY2hfaWYg KChtYXNrX18pICYgKGRvbWFpbl9fKS0+bWFzaykKPiArI2RlZmluZSBmb3JfZWFjaF9md19kb21h aW5fbWFza2VkKGRvbWFpbl9fLCBtYXNrX18sIGRldl9wcml2X18sIHRtcF9fKSBcCj4gKwlmb3Ig KHRtcF9fID0gKG1hc2tfXyk7IFwKPiArCSAgICAgdG1wX18gPyAoZG9tYWluX18gPSAmKGRldl9w cml2X18pLT51bmNvcmUuZndfZG9tYWluW19fbWFza19uZXh0X2JpdCh0bXBfXyldKSwgMSA6IDA7 KQo+ICAKPiAtI2RlZmluZSBmb3JfZWFjaF9md19kb21haW4oZG9tYWluX18sIGRldl9wcml2X18p IFwKPiAtCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZG9tYWluX18sIEZPUkNFV0FLRV9BTEws IGRldl9wcml2X18pCj4gKyNkZWZpbmUgZm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbl9fLCBkZXZf cHJpdl9fLCB0bXBfXykgXAo+ICsJZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW5fXywg KGRldl9wcml2X18pLT51bmNvcmUuZndfZG9tYWlucywgZGV2X3ByaXZfXywgdG1wX18pCj4gIAo+ ICAjZGVmaW5lIENTUl9WRVJTSU9OKG1ham9yLCBtaW5vcikJKChtYWpvcikgPDwgMTYgfCAobWlu b3IpKQo+ICAjZGVmaW5lIENTUl9WRVJTSU9OX01BSk9SKHZlcnNpb24pCSgodmVyc2lvbikgPj4g MTYpCj4gQEAgLTI1ODEsMTIgKzI1ODUsNiBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpodWNfdG9faTkxNShzdHJ1Y3QgaW50ZWxfaHVjICpodWMpCj4gIAkgICAgIChp ZF9fKSsrKSBcCj4gIAkJZm9yX2VhY2hfaWYgKChlbmdpbmVfXykgPSAoZGV2X3ByaXZfXyktPmVu Z2luZVsoaWRfXyldKQo+ICAKPiAtI2RlZmluZSBfX21hc2tfbmV4dF9iaXQobWFzaykgKHsJCQkJ CVwKPiAtCWludCBfX2lkeCA9IGZmcyhtYXNrKSAtIDE7CQkJCQlcCj4gLQltYXNrICY9IH5CSVQo X19pZHgpOwkJCQkJCVwKPiAtCV9faWR4OwkJCQkJCQkJXAo+IC19KQo+IC0KPiAgLyogSXRlcmF0 b3Igb3ZlciBzdWJzZXQgb2YgZW5naW5lcyBzZWxlY3RlZCBieSBtYXNrICovCj4gICNkZWZpbmUg Zm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmVfXywgZGV2X3ByaXZfXywgbWFza19fLCB0bXBf XykgXAo+ICAJZm9yICh0bXBfXyA9IG1hc2tfXyAmIElOVEVMX0lORk8oZGV2X3ByaXZfXyktPnJp bmdfbWFzazsJXAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggYWEyZTc0 MDFlZmRjLi4yZTc5Y2ExMjkyMDIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu Ywo+IEBAIC0xMTgsMTMgKzExOCwxNiBAQCBzdGF0aWMgdm9pZAo+ICBmd19kb21haW5zX2dldChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19k b21haW5zKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7 Cj4gKwl1bnNpZ25lZCBpbnQgdG1wOwo+ICsKPiArCUdFTV9CVUdfT04oZndfZG9tYWlucyAmIH5p OTE1LT51bmNvcmUuZndfZG9tYWlucyk7Cj4gIAo+IC0JZm9yX2VhY2hfZndfZG9tYWluX21hc2tl ZChkLCBmd19kb21haW5zLCBpOTE1KSB7Cj4gKwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGQs IGZ3X2RvbWFpbnMsIGk5MTUsIHRtcCkgewo+ICAJCWZ3X2RvbWFpbl93YWl0X2Fja19jbGVhcihp OTE1LCBkKTsKPiAgCQlmd19kb21haW5fZ2V0KGk5MTUsIGQpOwo+ICAJfQo+ICAKPiAtCWZvcl9l YWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywgaTkxNSkKPiArCWZvcl9lYWNoX2Z3 X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywgaTkxNSwgdG1wKQo+ICAJCWZ3X2RvbWFpbl93 YWl0X2FjayhpOTE1LCBkKTsKPiAgCj4gIAlpOTE1LT51bmNvcmUuZndfZG9tYWluc19hY3RpdmUg fD0gZndfZG9tYWluczsKPiBAQCAtMTM0LDggKzEzNywxMSBAQCBzdGF0aWMgdm9pZAo+ICBmd19k b21haW5zX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgZW51bSBmb3JjZXdha2Vf ZG9tYWlucyBmd19kb21haW5zKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2Fr ZV9kb21haW4gKmQ7Cj4gKwl1bnNpZ25lZCBpbnQgdG1wOwo+ICsKPiArCUdFTV9CVUdfT04oZndf ZG9tYWlucyAmIH5pOTE1LT51bmNvcmUuZndfZG9tYWlucyk7Cj4gIAo+IC0JZm9yX2VhY2hfZndf ZG9tYWluX21hc2tlZChkLCBmd19kb21haW5zLCBpOTE1KSB7Cj4gKwlmb3JfZWFjaF9md19kb21h aW5fbWFza2VkKGQsIGZ3X2RvbWFpbnMsIGk5MTUsIHRtcCkgewo+ICAJCWZ3X2RvbWFpbl9wdXQo aTkxNSwgZCk7Cj4gIAkJZndfZG9tYWluX3Bvc3RpbmdfcmVhZChpOTE1LCBkKTsKPiAgCX0KPiBA QCAtMTQ3LDkgKzE1MywxMCBAQCBzdGF0aWMgdm9pZAo+ICBmd19kb21haW5zX3Bvc3RpbmdfcmVh ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiAgewo+ICAJc3RydWN0IGludGVsX3Vu Y29yZV9mb3JjZXdha2VfZG9tYWluICpkOwo+ICsJdW5zaWduZWQgaW50IHRtcDsKPiAgCj4gIAkv KiBObyBuZWVkIHRvIGRvIGZvciBhbGwsIGp1c3QgZG8gZm9yIGZpcnN0IGZvdW5kICovCj4gLQlm b3JfZWFjaF9md19kb21haW4oZCwgaTkxNSkgewo+ICsJZm9yX2VhY2hfZndfZG9tYWluKGQsIGk5 MTUsIHRtcCkgewo+ICAJCWZ3X2RvbWFpbl9wb3N0aW5nX3JlYWQoaTkxNSwgZCk7Cj4gIAkJYnJl YWs7Cj4gIAl9Cj4gQEAgLTE2MCwxMSArMTY3LDE0IEBAIGZ3X2RvbWFpbnNfcmVzZXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCj4gIAkJIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndf ZG9tYWlucykKPiAgewo+ICAJc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpk Owo+ICsJdW5zaWduZWQgaW50IHRtcDsKPiAgCj4gLQlpZiAoaTkxNS0+dW5jb3JlLmZ3X2RvbWFp bnMgPT0gMCkKPiArCWlmICghZndfZG9tYWlucykKPiAgCQlyZXR1cm47Cj4gIAo+IC0JZm9yX2Vh Y2hfZndfZG9tYWluX21hc2tlZChkLCBmd19kb21haW5zLCBpOTE1KQo+ICsJR0VNX0JVR19PTihm d19kb21haW5zICYgfmk5MTUtPnVuY29yZS5md19kb21haW5zKTsKPiArCj4gKwlmb3JfZWFjaF9m d19kb21haW5fbWFza2VkKGQsIGZ3X2RvbWFpbnMsIGk5MTUsIHRtcCkKPiAgCQlmd19kb21haW5f cmVzZXQoaTkxNSwgZCk7Cj4gIAo+ICAJZndfZG9tYWluc19wb3N0aW5nX3JlYWQoaTkxNSk7Cj4g QEAgLTI3NCw5ICsyODQsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9y ZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkgKiB0aW1lcnMgYXJl IHJ1biBiZWZvcmUgaG9sZGluZy4KPiAgCSAqLwo+ICAJd2hpbGUgKDEpIHsKPiArCQl1bnNpZ25l ZCBpbnQgdG1wOwo+ICsKPiAgCQlhY3RpdmVfZG9tYWlucyA9IDA7Cj4gIAo+IC0JCWZvcl9lYWNo X2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2KSB7Cj4gKwkJZm9yX2VhY2hfZndfZG9tYWluKGRv bWFpbiwgZGV2X3ByaXYsIHRtcCkgewo+ICAJCQlpZiAoaHJ0aW1lcl9jYW5jZWwoJmRvbWFpbi0+ dGltZXIpID09IDApCj4gIAkJCQljb250aW51ZTsKPiAgCj4gQEAgLTI4NSw3ICsyOTcsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiAgCj4gIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmRldl9wcml2LT51 bmNvcmUubG9jaywgaXJxZmxhZ3MpOwo+ICAKPiAtCQlmb3JfZWFjaF9md19kb21haW4oZG9tYWlu LCBkZXZfcHJpdikgewo+ICsJCWZvcl9lYWNoX2Z3X2RvbWFpbihkb21haW4sIGRldl9wcml2LCB0 bXApIHsKPiAgCQkJaWYgKGhydGltZXJfYWN0aXZlKCZkb21haW4tPnRpbWVyKSkKPiAgCQkJCWFj dGl2ZV9kb21haW5zIHw9IGRvbWFpbi0+bWFzazsKPiAgCQl9Cj4gQEAgLTMwOCw3ICszMjAsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCWlmIChmdykKPiAgCQlkZXZfcHJpdi0+dW5jb3JlLmZ1 bmNzLmZvcmNlX3dha2VfcHV0KGRldl9wcml2LCBmdyk7Cj4gIAo+IC0JZndfZG9tYWluc19yZXNl dChkZXZfcHJpdiwgRk9SQ0VXQUtFX0FMTCk7Cj4gKwlmd19kb21haW5zX3Jlc2V0KGRldl9wcml2 LCBkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnMpOwo+ICAKPiAgCWlmIChyZXN0b3JlKSB7IC8q IElmIHJlc2V0IHdpdGggYSB1c2VyIGZvcmNld2FrZSwgdHJ5IHRvIHJlc3RvcmUgKi8KPiAgCQlp ZiAoZncpCj4gQEAgLTQ2NSwxMyArNDc3LDEzIEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9nZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJ CSBlbnVtIGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCj4gIHsKPiAgCXN0cnVjdCBpbnRl bF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZG9tYWluOwo+ICsJdW5zaWduZWQgaW50IHRtcDsK PiAgCj4gIAlmd19kb21haW5zICY9IGRldl9wcml2LT51bmNvcmUuZndfZG9tYWluczsKPiAgCj4g LQlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGRvbWFpbiwgZndfZG9tYWlucywgZGV2X3ByaXYp IHsKPiArCWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZG9tYWluLCBmd19kb21haW5zLCBkZXZf cHJpdiwgdG1wKQo+ICAJCWlmIChkb21haW4tPndha2VfY291bnQrKykKPiAgCQkJZndfZG9tYWlu cyAmPSB+ZG9tYWluLT5tYXNrOwo+IC0JfQo+ICAKPiAgCWlmIChmd19kb21haW5zKQo+ICAJCWRl dl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsIGZ3X2RvbWFpbnMp Owo+IEBAIC01MjgsMTAgKzU0MCwxMSBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX3VuY29yZV9mb3Jj ZXdha2VfcHV0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCQkgZW51 bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfdW5j b3JlX2ZvcmNld2FrZV9kb21haW4gKmRvbWFpbjsKPiArCXVuc2lnbmVkIGludCB0bXA7Cj4gIAo+ ICAJZndfZG9tYWlucyAmPSBkZXZfcHJpdi0+dW5jb3JlLmZ3X2RvbWFpbnM7Cj4gIAo+IC0JZm9y X2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW4sIGZ3X2RvbWFpbnMsIGRldl9wcml2KSB7Cj4g Kwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGRvbWFpbiwgZndfZG9tYWlucywgZGV2X3ByaXYs IHRtcCkgewo+ICAJCWlmIChXQVJOX09OKGRvbWFpbi0+d2FrZV9jb3VudCA9PSAwKSkKPiAgCQkJ Y29udGludWU7Cj4gIAo+IEBAIC05MzYsOCArOTQ5LDExIEBAIHN0YXRpYyBub2lubGluZSB2b2lk IF9fX2ZvcmNlX3dha2VfYXV0byhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4g IAkJCQkJZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQo+ICB7Cj4gIAlzdHJ1Y3Qg aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmRvbWFpbjsKPiArCXVuc2lnbmVkIGludCB0 bXA7Cj4gKwo+ICsJR0VNX0JVR19PTihmd19kb21haW5zICYgfmRldl9wcml2LT51bmNvcmUuZndf ZG9tYWlucyk7Cj4gIAo+IC0JZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW4sIGZ3X2Rv bWFpbnMsIGRldl9wcml2KQo+ICsJZm9yX2VhY2hfZndfZG9tYWluX21hc2tlZChkb21haW4sIGZ3 X2RvbWFpbnMsIGRldl9wcml2LCB0bXApCj4gIAkJZndfZG9tYWluX2FybV90aW1lcihkb21haW4p Owo+ICAKPiAgCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYs IGZ3X2RvbWFpbnMpOwo+IEBAIC0xMTc1LDcgKzExOTEsNyBAQCBzdGF0aWMgdm9pZCBmd19kb21h aW5faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlCVUlMRF9CVUdf T04oRk9SQ0VXQUtFX0JMSVRURVIgIT0gKDEgPDwgRldfRE9NQUlOX0lEX0JMSVRURVIpKTsKPiAg CUJVSUxEX0JVR19PTihGT1JDRVdBS0VfTUVESUEgIT0gKDEgPDwgRldfRE9NQUlOX0lEX01FRElB KSk7Cj4gIAo+IC0JZC0+bWFzayA9IDEgPDwgZG9tYWluX2lkOwo+ICsJZC0+bWFzayA9IEJJVChk b21haW5faWQpOwo+ICAKPiAgCWhydGltZXJfaW5pdCgmZC0+dGltZXIsIENMT0NLX01PTk9UT05J QywgSFJUSU1FUl9NT0RFX1JFTCk7Cj4gIAlkLT50aW1lci5mdW5jdGlvbiA9IGludGVsX3VuY29y ZV9md19yZWxlYXNlX3RpbWVyOwo+IEBAIC0xMjUzLDkgKzEyNjksOSBAQCBzdGF0aWMgdm9pZCBp bnRlbF91bmNvcmVfZndfZG9tYWluc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiAgCQkJICAgICAgIEZPUkNFV0FLRV9NVCwgRk9SQ0VXQUtFX01UX0FDSyk7Cj4gIAo+ ICAJCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT51bmNvcmUubG9jayk7Cj4gLQkJZndfZG9tYWlu c19nZXRfd2l0aF90aHJlYWRfc3RhdHVzKGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPiArCQlm d19kb21haW5zX2dldF93aXRoX3RocmVhZF9zdGF0dXMoZGV2X3ByaXYsIEZPUkNFV0FLRV9SRU5E RVIpOwoKV2VsbCB3ZSBhcmUgc2tpcHBpbmcgaGVyZSB0aGUgdW51c2VkIG9uZXMgc28gSSBndWVz cyBpdCBmaXRzCnRvIHRoZSBjb21taXQgZGVzYy4KClJldmlld2VkLWJ5OiBNaWthIEt1b3BwYWxh IDxtaWthLmt1b3BwYWxhQGludGVsLmNvbT4KCj4gIAkJZWNvYnVzID0gX19yYXdfaTkxNV9yZWFk MzIoZGV2X3ByaXYsIEVDT0JVUyk7Cj4gLQkJZndfZG9tYWluc19wdXRfd2l0aF9maWZvKGRldl9w cml2LCBGT1JDRVdBS0VfQUxMKTsKPiArCQlmd19kb21haW5zX3B1dF93aXRoX2ZpZm8oZGV2X3By aXYsIEZPUkNFV0FLRV9SRU5ERVIpOwo+ICAJCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPnVu Y29yZS5sb2NrKTsKPiAgCj4gIAkJaWYgKCEoZWNvYnVzICYgRk9SQ0VXQUtFX01UX0VOQUJMRSkp IHsKPiAtLSAKPiAyLjExLjAKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK