From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak S Subject: Re: [PATCH v2 1/7] drm/i915: Relax RPS contraints to allows setting minfreq on idle Date: Wed, 18 Mar 2015 16:42:47 +0530 Message-ID: <55095DAF.9030208@linux.intel.com> References: <1426672107-3076-1-git-send-email-chris@chris-wilson.co.uk> <1426672107-3076-2-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 70DDD6E46B for ; Wed, 18 Mar 2015 04:15:53 -0700 (PDT) In-Reply-To: <1426672107-3076-2-git-send-email-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 CgpPbiBXZWRuZXNkYXkgMTggTWFyY2ggMjAxNSAwMzoxOCBQTSwgQ2hyaXMgV2lsc29uIHdyb3Rl Ogo+IFdoZW4gd2UgaWRsZSwgd2Ugc2V0IHRoZSBHUFUgZnJlcXVlbmN5IHRvIHRoZSBoYXJkd2Fy ZSBtaW5pbXVtIChub3QgdXNlcgo+IG1pbmltdW0pLiBXZSBpbnRyb2R1Y2UgYSBuZXcgdmFyaWFi bGUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUKPiBkaWZmZXJlbnQgcm9sZXMsIGFuZCB0byBh bGxvdyBlYXN5IHR1bmluZyBvZiB0aGUgaWRsZSBmcmVxdWVuY3kgd2l0aG91dAo+IGltcGFjdGlu ZyBvdmVyIGFzcGVjdHMgb2YgUlBTLiBTZXR0aW5nIHRoZSBtaW5pbXVtIGZyZXF1ZW5jeSBzaG91 bGQgYmUgYQo+IHNhZmV0eSBibGFua2V0IGFzIHRoZSBwY3Ugb24gdGhlIEdQVSBzaG91bGQgYmUg cG93ZXIgZ2F0aW5nIGl0c2VsZgo+IGFueXdheS4gSG93ZXZlciwgaW4gb3JkZXIgZm9yIHVzIHRv IGRvIHNldCB0aGUgYWJzb2x1dGUgbWluaW11bQo+IGZyZXF1ZW5jeSwgd2UgbmVlZCB0byByZWxh eCBhIGZldyBvZiBvdXIgYXNzZXJ0aW9ucyB0aGF0IHdlIGRvIG5vdAo+IGV4Y2VlZCB0aGUgdXNl ciBsaW1pdHMuCj4KPiB2MjogQWRkIGlkbGVfZnJlcQo+IHYzOiBJbml0IGlkbGVfZnJlcSBmb3Ig dmx2IGFuZCBhZGQgYSBidW5jaCBvZiBXQVJOcwo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IERlZXBhayBTIDxkZWVwYWsuc0Bs aW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYyB8ICA2ICsrKysrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICB8 ICAxICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgIHwgNDQgKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAzNSBp bnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jCj4gaW5kZXggYWFmNzU2MDQ3YTIwLi4wMDdjN2Q3ZDgyOTUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xMjAwLDYgKzEyMDAsOSBAQCBzdGF0aWMgaW50 IGk5MTVfZnJlcXVlbmN5X2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4g ICAKPiAgIAkJc2VxX3ByaW50ZihtLCAiTWF4IG92ZXJjbG9ja2VkIGZyZXF1ZW5jeTogJWRNSHpc biIsCj4gICAJCQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5tYXhf ZnJlcSkpOwo+ICsKPiArCQlzZXFfcHJpbnRmKG0sICJJZGxlIGZyZXE6ICVkIE1IelxuIiwKPiAr CQkJICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYsIGRldl9wcml2LT5ycHMuaWRsZV9mcmVxKSk7 Cj4gICAJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPiAgIAkJdTMyIGZyZXFfc3Rz Owo+ICAgCj4gQEAgLTEyMTQsNiArMTIxNyw5IEBAIHN0YXRpYyBpbnQgaTkxNV9mcmVxdWVuY3lf aW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPiAgIAkJc2VxX3ByaW50Ziht LCAibWluIEdQVSBmcmVxOiAlZCBNSHpcbiIsCj4gICAJCQkgICBpbnRlbF9ncHVfZnJlcShkZXZf cHJpdiwgZGV2X3ByaXYtPnJwcy5taW5fZnJlcSkpOwo+ICAgCj4gKwkJc2VxX3ByaW50ZihtLCAi aWRsZSBHUFUgZnJlcTogJWQgTUh6XG4iLAo+ICsJCQkgICBpbnRlbF9ncHVfZnJlcShkZXZfcHJp diwgZGV2X3ByaXYtPnJwcy5pZGxlX2ZyZXEpKTsKPiArCj4gICAJCXNlcV9wcmludGYobSwKPiAg IAkJCSAgICJlZmZpY2llbnQgKFJQZSkgZnJlcXVlbmN5OiAlZCBNSHpcbiIsCj4gICAJCQkgICBp bnRlbF9ncHVfZnJlcShkZXZfcHJpdiwgZGV2X3ByaXYtPnJwcy5lZmZpY2llbnRfZnJlcSkpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDgxZjYwYjQ4ZGVmMi4uYTA2NTM2Y2ZjZTZk IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTEwMjUsNiArMTAyNSw3IEBAIHN0 cnVjdCBpbnRlbF9nZW42X3Bvd2VyX21nbXQgewo+ICAgCXU4IG1heF9mcmVxX3NvZnRsaW1pdDsJ LyogTWF4IGZyZXF1ZW5jeSBwZXJtaXR0ZWQgYnkgdGhlIGRyaXZlciAqLwo+ICAgCXU4IG1heF9m cmVxOwkJLyogTWF4aW11bSBmcmVxdWVuY3ksIFJQMCBpZiBub3Qgb3ZlcmNsb2NraW5nICovCj4g ICAJdTggbWluX2ZyZXE7CQkvKiBBS0EgUlBuLiBNaW5pbXVtIGZyZXF1ZW5jeSAqLwo+ICsJdTgg aWRsZV9mcmVxOwkJLyogRnJlcXVlbmN5IHRvIHJlcXVlc3Qgd2hlbiB3ZSBhcmUgaWRsZSAqLwo+ ICAgCXU4IGVmZmljaWVudF9mcmVxOwkvKiBBS0EgUlBlLiBQcmUtZGV0ZXJtaW5lZCBiYWxhbmNl ZCBmcmVxdWVuY3kgKi8KPiAgIAl1OCBycDFfZnJlcTsJCS8qICJsZXNzIHRoYW4iIFJQMCBwb3dl ci9mcmVxZW5jeSAqLwo+ICAgCXU4IHJwMF9mcmVxOwkJLyogTm9uLW92ZXJjbG9ja2VkIG1heCBm cmVxdWVuY3kuICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gaW5kZXggMjg4YzlkMjQwOThl Li5iZWFiMzA1ZTMyMGQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtMzg1NSw5 ICszODU1LDkgQEAgc3RhdGljIHZvaWQgZ2VuNl9zZXRfcnBzX3RocmVzaG9sZHMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1OCB2YWwpCj4gICAJCWJyZWFrOwo+ICAgCX0KPiAg IAkvKiBNYXgvbWluIGJpbnMgYXJlIHNwZWNpYWwgKi8KPiAtCWlmICh2YWwgPT0gZGV2X3ByaXYt PnJwcy5taW5fZnJlcV9zb2Z0bGltaXQpCj4gKwlpZiAodmFsIDw9IGRldl9wcml2LT5ycHMubWlu X2ZyZXFfc29mdGxpbWl0KQo+ICAgCQluZXdfcG93ZXIgPSBMT1dfUE9XRVI7Cj4gLQlpZiAodmFs ID09IGRldl9wcml2LT5ycHMubWF4X2ZyZXFfc29mdGxpbWl0KQo+ICsJaWYgKHZhbCA+PSBkZXZf cHJpdi0+cnBzLm1heF9mcmVxX3NvZnRsaW1pdCkKPiAgIAkJbmV3X3Bvd2VyID0gSElHSF9QT1dF UjsKPiAgIAlpZiAobmV3X3Bvd2VyID09IGRldl9wcml2LT5ycHMucG93ZXIpCj4gICAJCXJldHVy bjsKPiBAQCAtMzk0MCw4ICszOTQwLDggQEAgc3RhdGljIHZvaWQgZ2VuNl9zZXRfcnBzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHU4IHZhbCkKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCj4gICAJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spKTsKPiAtCVdBUk5fT04odmFsID4gZGV2X3By aXYtPnJwcy5tYXhfZnJlcV9zb2Z0bGltaXQpOwo+IC0JV0FSTl9PTih2YWwgPCBkZXZfcHJpdi0+ cnBzLm1pbl9mcmVxX3NvZnRsaW1pdCk7Cj4gKwlXQVJOX09OKHZhbCA+IGRldl9wcml2LT5ycHMu bWF4X2ZyZXEpOwo+ICsJV0FSTl9PTih2YWwgPCBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxKTsKPiAg IAo+ICAgCS8qIG1pbi9tYXggZGVsYXkgbWF5IHN0aWxsIGhhdmUgYmVlbiBtb2RpZmllZCBzbyBi ZSBzdXJlIHRvCj4gICAJICogd3JpdGUgdGhlIGxpbWl0cyB2YWx1ZS4KPiBAQCAtMzk3OSw4ICsz OTc5LDggQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19zZXRfcnBzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHU4IHZhbCkKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwo+ICAgCj4gICAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZkZXZf cHJpdi0+cnBzLmh3X2xvY2spKTsKPiAtCVdBUk5fT04odmFsID4gZGV2X3ByaXYtPnJwcy5tYXhf ZnJlcV9zb2Z0bGltaXQpOwo+IC0JV0FSTl9PTih2YWwgPCBkZXZfcHJpdi0+cnBzLm1pbl9mcmVx X3NvZnRsaW1pdCk7Cj4gKwlXQVJOX09OKHZhbCA+IGRldl9wcml2LT5ycHMubWF4X2ZyZXEpOwo+ ICsJV0FSTl9PTih2YWwgPCBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxKTsKPiAgIAo+ICAgCWlmIChX QVJOX09OQ0UoSVNfQ0hFUlJZVklFVyhkZXYpICYmICh2YWwgJiAxKSwKPiAgIAkJICAgICAgIk9k ZCBHUFUgZnJlcSB2YWx1ZVxuIikpCj4gQEAgLTQwMDcsMTAgKzQwMDcsMTEgQEAgc3RhdGljIHZv aWQgdmFsbGV5dmlld19zZXRfcnBzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHU4IHZhbCkKPiAg IHN0YXRpYyB2b2lkIHZsdl9zZXRfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2 Owo+ICsJdTMyIHZhbCA9IGRldl9wcml2LT5ycHMuaWRsZV9mcmVxOwo+ICAgCj4gICAJLyogQ0hW IGFuZCBsYXRlc3QgVkxWIGRvbid0IG5lZWQgdG8gZm9yY2UgdGhlIGdmeCBjbG9jayAqLwo+ICAg CWlmIChJU19DSEVSUllWSUVXKGRldikgfHwgZGV2LT5wZGV2LT5yZXZpc2lvbiA+PSAweGQpIHsK PiAtCQl2YWxsZXl2aWV3X3NldF9ycHMoZGV2X3ByaXYtPmRldiwgZGV2X3ByaXYtPnJwcy5taW5f ZnJlcV9zb2Z0bGltaXQpOwo+ICsJCXZhbGxleXZpZXdfc2V0X3JwcyhkZXZfcHJpdi0+ZGV2LCB2 YWwpOwo+ICAgCQlyZXR1cm47Cj4gICAJfQo+ICAgCj4gQEAgLTQwMTgsNyArNDAxOSw3IEBAIHN0 YXRpYyB2b2lkIHZsdl9zZXRfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICAgCSAqIFdoZW4gd2UgYXJlIGlkbGUuICBEcm9wIHRvIG1pbiB2b2x0YWdlIHN0YXRl Lgo+ICAgCSAqLwo+ICAgCj4gLQlpZiAoZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSA8PSBkZXZfcHJp di0+cnBzLm1pbl9mcmVxX3NvZnRsaW1pdCkKPiArCWlmIChkZXZfcHJpdi0+cnBzLmN1cl9mcmVx IDw9IHZhbCkKPiAgIAkJcmV0dXJuOwo+ICAgCj4gICAJLyogTWFzayB0dXJibyBpbnRlcnJ1cHQg c28gdGhhdCB0aGV5IHdpbGwgbm90IGNvbWUgaW4gYmV0d2VlbiAqLwo+IEBAIC00MDI3LDEwICs0 MDI4LDkgQEAgc3RhdGljIHZvaWQgdmx2X3NldF9ycHNfaWRsZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gICAKPiAgIAl2bHZfZm9yY2VfZ2Z4X2Nsb2NrKGRldl9wcml2LCB0 cnVlKTsKPiAgIAo+IC0JZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSA9IGRldl9wcml2LT5ycHMubWlu X2ZyZXFfc29mdGxpbWl0Owo+ICsJZGV2X3ByaXYtPnJwcy5jdXJfZnJlcSA9IHZhbDsKPiAgIAo+ IC0Jdmx2X3B1bml0X3dyaXRlKGRldl9wcml2LCBQVU5JVF9SRUdfR1BVX0ZSRVFfUkVRLAo+IC0J CQkJCWRldl9wcml2LT5ycHMubWluX2ZyZXFfc29mdGxpbWl0KTsKPiArCXZsdl9wdW5pdF93cml0 ZShkZXZfcHJpdiwgUFVOSVRfUkVHX0dQVV9GUkVRX1JFUSwgdmFsKTsKPiAgIAo+ICAgCWlmICh3 YWl0X2ZvcigoKHZsdl9wdW5pdF9yZWFkKGRldl9wcml2LCBQVU5JVF9SRUdfR1BVX0ZSRVFfU1RT KSkKPiAgIAkJCQkmIEdFTkZSRVFTVEFUVVMpID09IDAsIDEwMCkpCj4gQEAgLTQwMzgsOCArNDAz OCw3IEBAIHN0YXRpYyB2b2lkIHZsdl9zZXRfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ICAgCj4gICAJdmx2X2ZvcmNlX2dmeF9jbG9jayhkZXZfcHJpdiwgZmFs c2UpOwo+ICAgCj4gLQlJOTE1X1dSSVRFKEdFTjZfUE1JTlRSTVNLLAo+IC0JCSAgIGdlbjZfcnBz X3BtX21hc2soZGV2X3ByaXYsIGRldl9wcml2LT5ycHMuY3VyX2ZyZXEpKTsKPiArCUk5MTVfV1JJ VEUoR0VONl9QTUlOVFJNU0ssIGdlbjZfcnBzX3BtX21hc2soZGV2X3ByaXYsIHZhbCkpOwo+ICAg fQo+ICAgCj4gICB2b2lkIGdlbjZfcnBzX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+IEBAIC00MDUxLDcgKzQwNTAsNyBAQCB2b2lkIGdlbjZfcnBzX2lkbGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCQlpZiAoSVNfVkFMTEVZVklFVyhkZXYp KQo+ICAgCQkJdmx2X3NldF9ycHNfaWRsZShkZXZfcHJpdik7Cj4gICAJCWVsc2UKPiAtCQkJZ2Vu Nl9zZXRfcnBzKGRldl9wcml2LT5kZXYsIGRldl9wcml2LT5ycHMubWluX2ZyZXFfc29mdGxpbWl0 KTsKPiArCQkJZ2VuNl9zZXRfcnBzKGRldl9wcml2LT5kZXYsIGRldl9wcml2LT5ycHMuaWRsZV9m cmVxKTsKPiAgIAkJZGV2X3ByaXYtPnJwcy5sYXN0X2FkaiA9IDA7Cj4gICAJfQo+ICAgCW11dGV4 X3VubG9jaygmZGV2X3ByaXYtPnJwcy5od19sb2NrKTsKPiBAQCAtNDIwOSw2ICs0MjA4LDggQEAg c3RhdGljIHZvaWQgZ2VuNl9pbml0X3Jwc19mcmVxdWVuY2llcyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAgCQkJCQlkZXZfcHJpdi0+cnBzLm1heF9mcmVxKTsKPiAgIAl9Cj4gICAKPiArCWRl dl9wcml2LT5ycHMuaWRsZV9mcmVxID0gZGV2X3ByaXYtPnJwcy5taW5fZnJlcTsKPiArCj4gICAJ LyogUHJlc2VydmUgbWluL21heCBzZXR0aW5ncyBpbiBjYXNlIG9mIHJlLWluaXQgKi8KPiAgIAlp ZiAoZGV2X3ByaXYtPnJwcy5tYXhfZnJlcV9zb2Z0bGltaXQgPT0gMCkKPiAgIAkJZGV2X3ByaXYt PnJwcy5tYXhfZnJlcV9zb2Z0bGltaXQgPSBkZXZfcHJpdi0+cnBzLm1heF9mcmVxOwo+IEBAIC00 Mzc1LDcgKzQzNzYsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2VuYWJsZV9ycHMoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKPiAgIAkvKiA2OiBSaW5nIGZyZXF1ZW5jeSArIG92ZXJjbG9ja2luZyAob3Vy IGRyaXZlciBkb2VzIHRoaXMgbGF0ZXIgKi8KPiAgIAo+ICAgCWRldl9wcml2LT5ycHMucG93ZXIg PSBISUdIX1BPV0VSOyAvKiBmb3JjZSBhIHJlc2V0ICovCj4gLQlnZW42X3NldF9ycHMoZGV2X3By aXYtPmRldiwgZGV2X3ByaXYtPnJwcy5taW5fZnJlcV9zb2Z0bGltaXQpOwo+ICsJZ2VuNl9zZXRf cnBzKGRldl9wcml2LT5kZXYsIGRldl9wcml2LT5ycHMuaWRsZV9mcmVxKTsKPiAgIAo+ICAgCWlu dGVsX3VuY29yZV9mb3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKPiAgIH0K PiBAQCAtNDQ2OSw3ICs0NDcwLDcgQEAgc3RhdGljIHZvaWQgZ2VuNl9lbmFibGVfcnBzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gICAJfQo+ICAgCj4gICAJZGV2X3ByaXYtPnJwcy5wb3dlciA9 IEhJR0hfUE9XRVI7IC8qIGZvcmNlIGEgcmVzZXQgKi8KPiAtCWdlbjZfc2V0X3JwcyhkZXZfcHJp di0+ZGV2LCBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxX3NvZnRsaW1pdCk7Cj4gKwlnZW42X3NldF9y cHMoZGV2X3ByaXYtPmRldiwgZGV2X3ByaXYtPnJwcy5pZGxlX2ZyZXEpOwo+ICAgCj4gICAJcmM2 dmlkcyA9IDA7Cj4gICAJcmV0ID0gc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwgR0VO Nl9QQ09ERV9SRUFEX1JDNlZJRFMsICZyYzZ2aWRzKTsKPiBAQCAtNDgzNCw2ICs0ODM1LDggQEAg c3RhdGljIHZvaWQgdmFsbGV5dmlld19pbml0X2d0X3Bvd2Vyc2F2ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgCQkJIGludGVsX2dwdV9mcmVxKGRldl9wcml2LCBkZXZfcHJpdi0+cnBzLm1p bl9mcmVxKSwKPiAgIAkJCSBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxKTsKPiAgIAo+ICsJZGV2X3By aXYtPnJwcy5pZGxlX2ZyZXEgPSBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxOwo+ICsKPiAgIAkvKiBQ cmVzZXJ2ZSBtaW4vbWF4IHNldHRpbmdzIGluIGNhc2Ugb2YgcmUtaW5pdCAqLwo+ICAgCWlmIChk ZXZfcHJpdi0+cnBzLm1heF9mcmVxX3NvZnRsaW1pdCA9PSAwKQo+ICAgCQlkZXZfcHJpdi0+cnBz Lm1heF9mcmVxX3NvZnRsaW1pdCA9IGRldl9wcml2LT5ycHMubWF4X2ZyZXE7Cj4gQEAgLTQ5MDks NiArNDkxMiw4IEBAIHN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfaW5pdF9ndF9wb3dlcnNhdmUoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkJICAgZGV2X3ByaXYtPnJwcy5taW5fZnJlcSkgJiAx LAo+ICAgCQkgICJPZGQgR1BVIGZyZXEgdmFsdWVzXG4iKTsKPiAgIAo+ICsJZGV2X3ByaXYtPnJw cy5pZGxlX2ZyZXEgPSBkZXZfcHJpdi0+cnBzLm1pbl9mcmVxOwo+ICsKPiAgIAkvKiBQcmVzZXJ2 ZSBtaW4vbWF4IHNldHRpbmdzIGluIGNhc2Ugb2YgcmUtaW5pdCAqLwo+ICAgCWlmIChkZXZfcHJp di0+cnBzLm1heF9mcmVxX3NvZnRsaW1pdCA9PSAwKQo+ICAgCQlkZXZfcHJpdi0+cnBzLm1heF9m cmVxX3NvZnRsaW1pdCA9IGRldl9wcml2LT5ycHMubWF4X2ZyZXE7Cj4gQEAgLTU2ODYsNiArNTY5 MSwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9nZW42X3Bvd2Vyc2F2ZV93b3JrKHN0cnVjdCB3b3Jr X3N0cnVjdCAqd29yaykKPiAgIAkJZ2VuNl9lbmFibGVfcnBzKGRldik7Cj4gICAJCV9fZ2VuNl91 cGRhdGVfcmluZ19mcmVxKGRldik7Cj4gICAJfQo+ICsKPiArCVdBUk5fT04oZGV2X3ByaXYtPnJw cy5tYXhfZnJlcSA8IGRldl9wcml2LT5ycHMubWluX2ZyZXEpOwo+ICsJV0FSTl9PTihkZXZfcHJp di0+cnBzLmlkbGVfZnJlcSA+IGRldl9wcml2LT5ycHMubWF4X2ZyZXEpOwo+ICsKPiArCVdBUk5f T04oZGV2X3ByaXYtPnJwcy5lZmZpY2llbnRfZnJlcSA8IGRldl9wcml2LT5ycHMubWluX2ZyZXEp Owo+ICsJV0FSTl9PTihkZXZfcHJpdi0+cnBzLmVmZmljaWVudF9mcmVxID4gZGV2X3ByaXYtPnJw cy5tYXhfZnJlcSk7Cj4gKwo+ICAgCWRldl9wcml2LT5ycHMuZW5hYmxlZCA9IHRydWU7Cj4gICAK PiAgIAlnZW42X2VuYWJsZV9ycHNfaW50ZXJydXB0cyhkZXYpOwo+Ckxvb2tzIGZpbmUgbm93IDop CgpSZXZpZXdlZC1ieTogRGVlcGFrIFM8ZGVlcGFrLnNAbGludXguaW50ZWwuY29tPgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK