From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Tao, Yintian" Subject: RE: [PATCH] drm/amdgpu: support dpm level modification under virtualization Date: Wed, 10 Apr 2019 10:00:54 +0000 Message-ID: References: <1554823102-23667-1-git-send-email-yttao@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Quan, Evan" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" SGkgIEV2YW4gDQoNCk1hbnkgdGhhbmtzIGZvciB5b3VyIHJldmlldy4NCg0KSSB3aWxsIHN1Ym1p dCB2MiBwYXRjaCBhY2NvcmRpbmcgdG8geW91ciBjb21tZW50cy4NCg0KQmVzdCBSZWdhcmRzDQpZ aW50aWFuIFRhbw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogYW1kLWdmeCA8 YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gT24gQmVoYWxmIE9mIFF1YW4s IEV2YW4NClNlbnQ6IFdlZG5lc2RheSwgQXByaWwgMTAsIDIwMTkgNTo1OCBQTQ0KVG86IFRhbywg WWludGlhbiA8WWludGlhbi5UYW9AYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnDQpDYzogVGFvLCBZaW50aWFuIDxZaW50aWFuLlRhb0BhbWQuY29tPg0KU3ViamVjdDogUkU6 IFtQQVRDSF0gZHJtL2FtZGdwdTogc3VwcG9ydCBkcG0gbGV2ZWwgbW9kaWZpY2F0aW9uIHVuZGVy IHZpcnR1YWxpemF0aW9uDQoNCg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IGFtZC1nZnggPGFtZC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJl aGFsZiBPZiANCj4gWWludGlhbiBUYW8NCj4gU2VudDogMjAxOeW5tDTmnIg55pelIDIzOjE4DQo+ IFRvOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBDYzogVGFvLCBZaW50aWFuIDxZ aW50aWFuLlRhb0BhbWQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0hdIGRybS9hbWRncHU6IHN1cHBv cnQgZHBtIGxldmVsIG1vZGlmaWNhdGlvbiB1bmRlciANCj4gdmlydHVhbGl6YXRpb24NCj4gDQo+ IFVuZGVyIHZlZ2ExMCB2aXJ0dWFsdXphdGlvbiwgc211IGlwIGJsb2NrIHdpbGwgbm90IGJlIGFk ZGVkLg0KPiBUaGVyZWZvcmUsIHdlIG5lZWQgYWRkIHBwIGNsayBxdWVyeSBhbmQgZm9yY2UgZHBt IGxldmVsIGZ1bmN0aW9uIGF0IA0KPiBhbWRncHVfdmlydF9vcHMgdG8gc3VwcG9ydCB0aGUgZmVh dHVyZS4NCj4gDQo+IENoYW5nZS1JZDogSTcxMzQxOWM1N2I4NTQwODJmNmY3MzlmMWQzMmEwNTVj NzExNWU2MjANCj4gU2lnbmVkLW9mZi1ieTogWWludGlhbiBUYW8gPHl0dGFvQGFtZC5jb20+DQo+ IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jIHwgIDEg Kw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jICAgIHwgIDMgKysN Cj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jICAgICB8IDE1ICsrKysr Kw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuYyAgIHwgMzMgKysr KysrKysrKysrKw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuaCAg IHwgMTEgKysrKysNCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X2FpLmMgICAg ICB8IDc4DQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiAgZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuaCAgICAgIHwgIDYgKysrDQo+ICA3IGZpbGVzIGNoYW5n ZWQsIDE0NyBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2RldmljZS5jDQo+IGluZGV4IDNmZjg4OTkuLmJiMGZkNWEgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCj4gQEAgLTI0ODYsNiAr MjQ4Niw3IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgDQo+ ICphZGV2LA0KPiAgCW11dGV4X2luaXQoJmFkZXYtPnZpcnQudmZfZXJyb3JzLmxvY2spOw0KPiAg CWhhc2hfaW5pdChhZGV2LT5tbl9oYXNoKTsNCj4gIAltdXRleF9pbml0KCZhZGV2LT5sb2NrX3Jl c2V0KTsNCj4gKwltdXRleF9pbml0KCZhZGV2LT52aXJ0LmRwbV9tdXRleCk7DQo+IA0KPiAgCWFt ZGdwdV9kZXZpY2VfY2hlY2tfYXJndW1lbnRzKGFkZXYpOw0KPiANCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYw0KPiBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYw0KPiBpbmRleCA2MTkwNDk1Li4xMzUzOTU1IDEwMDY0 NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMNCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jDQo+IEBAIC03MjcsNiAr NzI3LDkgQEAgc3RhdGljIGludCBhbWRncHVfaW5mb19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAN Cj4gKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlDQo+ICAJCWlmIChhZGV2LT5wbS5k cG1fZW5hYmxlZCkgew0KPiAgCQkJZGV2X2luZm8ubWF4X2VuZ2luZV9jbG9jayA9DQo+IGFtZGdw dV9kcG1fZ2V0X3NjbGsoYWRldiwgZmFsc2UpICogMTA7DQo+ICAJCQlkZXZfaW5mby5tYXhfbWVt b3J5X2Nsb2NrID0NCj4gYW1kZ3B1X2RwbV9nZXRfbWNsayhhZGV2LCBmYWxzZSkgKiAxMDsNCj4g KwkJfSBlbHNlIGlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikpIHsNCj4gKwkJCWRldl9pbmZvLm1h eF9lbmdpbmVfY2xvY2sgPQ0KPiBhbWRncHVfdmlydF9nZXRfc2NsayhhZGV2LCBmYWxzZSkgKiAx MDsNCj4gKwkJCWRldl9pbmZvLm1heF9tZW1vcnlfY2xvY2sgPQ0KPiBhbWRncHVfdmlydF9nZXRf bWNsayhhZGV2LCBmYWxzZSkgKiAxMDsNCj4gIAkJfSBlbHNlIHsNCj4gIAkJCWRldl9pbmZvLm1h eF9lbmdpbmVfY2xvY2sgPSBhZGV2LQ0KPiA+Y2xvY2suZGVmYXVsdF9zY2xrICogMTA7DQo+ICAJ CQlkZXZfaW5mby5tYXhfbWVtb3J5X2Nsb2NrID0gYWRldi0NCj4gPmNsb2NrLmRlZmF1bHRfbWNs ayAqIDEwOyBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3BtLmMNCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYw0KPiBpbmRl eCA1NTQwMjU5Li4wMTYyZDFlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfcG0uYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfcG0uYw0KPiBAQCAtMzgwLDYgKzM4MCwxNyBAQCBzdGF0aWMgc3NpemVfdA0KPiBhbWRncHVf c2V0X2RwbV9mb3JjZWRfcGVyZm9ybWFuY2VfbGV2ZWwoc3RydWN0IGRldmljZSAqZGV2LA0KPiAg CQlnb3RvIGZhaWw7DQo+ICAJfQ0KPiANCj4gKyAgICAgICAgaWYgKGFtZGdwdV9zcmlvdl92Zihh ZGV2KSkgew0KPiArICAgICAgICAgICAgICAgIGlmIChhbWRnaW1faXNfaHdwZXJmKGFkZXYpICYm DQo+ICsgICAgICAgICAgICAgICAgICAgIGFkZXYtPnZpcnQub3BzLT5mb3JjZV9kcG1fbGV2ZWwp IHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG11dGV4X2xvY2soJmFkZXYtPnBtLm11dGV4 KTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGFkZXYtPnZpcnQub3BzLT5mb3JjZV9kcG1f bGV2ZWwoYWRldiwgbGV2ZWwpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgbXV0ZXhfdW5s b2NrKCZhZGV2LT5wbS5tdXRleCk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g Y291bnQ7DQo+ICsgICAgICAgICAgICAgICAgfSBlbHNlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICAJaWYgKGN1cnJlbnRf bGV2ZWwgPT0gbGV2ZWwpDQo+ICAJCXJldHVybiBjb3VudDsNCj4gDQo+IEBAIC04NDMsNiArODU0 LDEwIEBAIHN0YXRpYyBzc2l6ZV90IGFtZGdwdV9nZXRfcHBfZHBtX3NjbGsoc3RydWN0IA0KPiBk ZXZpY2UgKmRldiwNCj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGRldl9nZXRfZHJ2ZGF0 YShkZXYpOw0KPiAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGRldi0+ZGV2X3ByaXZh dGU7DQo+IA0KPiArCWlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikgJiYgYW1kZ2ltX2lzX2h3cGVy ZihhZGV2KSAmJg0KPiArCSAgICBhZGV2LT52aXJ0Lm9wcy0+Z2V0X3BwX2NsaykNCj4gKwkJcmV0 dXJuIGFkZXYtPnZpcnQub3BzLT5nZXRfcHBfY2xrKGFkZXYsIFBQX1NDTEssIGJ1Zik7DQo+ICsN Cj4gIAlpZiAoaXNfc3VwcG9ydF9zd19zbXUoYWRldikpDQo+ICAJCXJldHVybiBzbXVfcHJpbnRf Y2xrX2xldmVscygmYWRldi0+c211LCBQUF9TQ0xLLCBidWYpOw0KPiAgCWVsc2UgaWYgKGFkZXYt PnBvd2VycGxheS5wcF9mdW5jcy0+cHJpbnRfY2xvY2tfbGV2ZWxzKQ0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuYw0KPiBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMNCj4gaW5kZXggNDYyYTA0ZS4uYWU0YjJhMSAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuYw0K PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5jDQo+IEBAIC0z NzUsNCArMzc1LDM3IEBAIHZvaWQgYW1kZ3B1X3ZpcnRfaW5pdF9kYXRhX2V4Y2hhbmdlKHN0cnVj dA0KPiBhbWRncHVfZGV2aWNlICphZGV2KQ0KPiAgCX0NCj4gIH0NCj4gDQo+ICtzdGF0aWMgdWlu dDMyX3QgcGFyc2VfY2xrKGNoYXIgKmJ1ZiwgYm9vbCBtaW4pIHsNCj4gKyAgICAgICAgY2hhciAq cHRyID0gYnVmOw0KPiArICAgICAgICB1aW50MzJfdCBjbGsgPSAwOw0KPiArDQo+ICsgICAgICAg IGRvIHsNCj4gKyAgICAgICAgICAgICAgICBwdHIgPSBzdHJjaHIocHRyLCAnOicpOw0KPiArICAg ICAgICAgICAgICAgIGlmICghcHRyKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 DQo+ICsgICAgICAgICAgICAgICAgcHRyKz0yOw0KPiArICAgICAgICAgICAgICAgIGNsayA9IHNp bXBsZV9zdHJ0b3VsKHB0ciwgTlVMTCwgMTApOw0KPiArICAgICAgICB9IHdoaWxlICghbWluKTsN Cj4gKw0KPiArICAgICAgICByZXR1cm4gY2xrICogMTAwOw0KPiArfQ0KPiArDQo+ICt1aW50MzJf dCBhbWRncHVfdmlydF9nZXRfc2NsayhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCAN Cj4gK2xvd2VzdCkgew0KPiArICAgICAgICBjaGFyIGJ1Zls1MTJdID0gezB9Ow0KW1F1YW4sIEV2 YW5dIEluICB4Z3B1X2FpX2dldF9wcF9jbGssIHRoZSBtYXggIGJ1ZmZlciBzaXplIHNlZW1zIFBB R0VfU0laRS4gTWF5YmUgdGhpcyBzaG91bGQgYmUgYWxpZ25lZCB3aXRoIHRoYXQuDQo+ICsNCj4g KyAgICAgICAgYWRldi0+dmlydC5vcHMtPmdldF9wcF9jbGsoYWRldiwgUFBfU0NMSywgYnVmKTsN CltRdWFuLCBFdmFuXSBCZXR0ZXIgdG8gY2hlY2sgZXhpc3RlbmNlIG9mIGFkZXYtPnZpcnQub3Bz LT5nZXRfcHBfY2xrIGJlZm9yZSBkZXJlZmVyZW5jZSBpdC4gQXMgd2hhdCB5b3UgZGlkIGluIGFt ZGdwdV9zZXRfZHBtX2ZvcmNlZF9wZXJmb3JtYW5jZV9sZXZlbC4NCj4gKw0KPiArICAgICAgICBy ZXR1cm4gcGFyc2VfY2xrKGJ1ZiwgbG93ZXN0KTsgfQ0KPiArDQo+ICt1aW50MzJfdCBhbWRncHVf dmlydF9nZXRfbWNsayhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCANCj4gK2xvd2Vz dCkgew0KPiArICAgICAgICBjaGFyIGJ1Zls1MTJdID0gezB9Ow0KPiArDQo+ICsgICAgICAgIGFk ZXYtPnZpcnQub3BzLT5nZXRfcHBfY2xrKGFkZXYsIFBQX01DTEssIGJ1Zik7DQo+ICsNCj4gKyAg ICAgICAgcmV0dXJuIHBhcnNlX2NsayhidWYsIGxvd2VzdCk7IH0NCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5oDQo+IGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuaA0KPiBpbmRleCA3MjJkZWVmLi41ODQ5NDdi IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmlydC5o DQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmgNCj4gQEAg LTU3LDYgKzU3LDggQEAgc3RydWN0IGFtZGdwdV92aXJ0X29wcyB7DQo+ICAJaW50ICgqcmVzZXRf Z3B1KShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7DQo+ICAJaW50ICgqd2FpdF9yZXNldCko c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOw0KPiAgCXZvaWQgKCp0cmFuc19tc2cpKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCB1MzIgcmVxLCB1MzIgZGF0YTEsDQo+IHUzMiBkYXRhMiwg dTMyIGRhdGEzKTsNCj4gKwlpbnQgKCpnZXRfcHBfY2xrKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgdTMyIHR5cGUsIGNoYXIgKmJ1Zik7DQo+ICsJaW50ICgqZm9yY2VfZHBtX2xldmVsKShz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIGxldmVsKTsNCj4gIH07DQo+IA0KPiAgLyoN Cj4gQEAgLTgzLDYgKzg1LDggQEAgZW51bSBBTURHSU1fRkVBVFVSRV9GTEFHIHsNCj4gIAlBTURH SU1fRkVBVFVSRV9HSU1fTE9BRF9VQ09ERVMgICA9IDB4MiwNCj4gIAkvKiBWUkFNIExPU1QgYnkg R0lNICovDQo+ICAJQU1ER0lNX0ZFQVRVUkVfR0lNX0ZMUl9WUkFNTE9TVCA9IDB4NCwNCj4gKwkv KiBIVyBQRVJGIFNJTSBpbiBHSU0gKi8NCj4gKwlBTURHSU1fRkVBVFVSRV9IV19QRVJGX1NJTVVM QVRJT04gPSAoMSA8PCAzKSwNCj4gIH07DQo+IA0KPiAgc3RydWN0IGFtZF9zcmlvdl9tc2dfcGYy dmZfaW5mb19oZWFkZXIgeyBAQCAtMjUyLDYgKzI1Niw4IEBAIHN0cnVjdCANCj4gYW1kZ3B1X3Zp cnQgew0KPiAgCXN0cnVjdCBhbWRncHVfdmZfZXJyb3JfYnVmZmVyICAgdmZfZXJyb3JzOw0KPiAg CXN0cnVjdCBhbWRncHVfdmlydF9md19yZXNlcnZlCWZ3X3Jlc2VydmU7DQo+ICAJdWludDMyX3Qg Z2ltX2ZlYXR1cmU7DQo+ICsJLyogcHJvdGVjdCBEUE0gZXZlbnRzIHRvIEdJTSAqLw0KPiArCXN0 cnVjdCBtdXRleCAgICAgICAgICAgICAgICAgICAgZHBtX211dGV4Ow0KPiAgfTsNCj4gDQo+ICAj ZGVmaW5lIGFtZGdwdV9zcmlvdl9lbmFibGVkKGFkZXYpIFwNCj4gQEAgLTI3OCw2ICsyODQsOSBA QCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfdmlydHVhbF9tYWNoaW5lKHZvaWQpICANCj4gI2VuZGlm ICB9DQo+IA0KPiArI2RlZmluZSBhbWRnaW1faXNfaHdwZXJmKGFkZXYpIFwNCj4gKwkoKGFkZXYp LT52aXJ0LmdpbV9mZWF0dXJlICYNCj4gQU1ER0lNX0ZFQVRVUkVfSFdfUEVSRl9TSU1VTEFUSU9O KQ0KPiArDQo+ICBib29sIGFtZGdwdV92aXJ0X21taW9fYmxvY2tlZChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldik7ICB2b2lkIA0KPiBhbWRncHVfdmlydF9pbml0X3NldHRpbmcoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpOyAgdWludDMyX3QgDQo+IGFtZGdwdV92aXJ0X2tpcV9ycmVnKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50MzJfdCByZWcpOyBAQCAtDQo+IDI5NSw1ICsz MDQsNyBAQCBpbnQgYW1kZ3B1X3ZpcnRfZndfcmVzZXJ2ZV9nZXRfY2hlY2tzdW0odm9pZCAqb2Jq LCANCj4gdW5zaWduZWQgbG9uZyBvYmpfc2l6ZSwNCj4gIAkJCQkJdW5zaWduZWQgaW50IGtleSwN Cj4gIAkJCQkJdW5zaWduZWQgaW50IGNoa3N1bSk7DQo+ICB2b2lkIGFtZGdwdV92aXJ0X2luaXRf ZGF0YV9leGNoYW5nZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7DQo+ICt1aW50MzJfdCBh bWRncHVfdmlydF9nZXRfc2NsayhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCANCj4g K2xvd2VzdCk7IHVpbnQzMl90IGFtZGdwdV92aXJ0X2dldF9tY2xrKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCANCj4gK2Jvb2wgbG93ZXN0KTsNCj4gDQo+ICAjZW5kaWYNCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X2FpLmMNCj4gYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5jDQo+IGluZGV4IDczODUxZWIuLjhkYmFkNDkgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X2FpLmMNCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuYw0KPiBAQCAtMTU3LDYgKzE1 Nyw4MiBAQCBzdGF0aWMgdm9pZCB4Z3B1X2FpX21haWxib3hfdHJhbnNfbXNnIChzdHJ1Y3QgDQo+ IGFtZGdwdV9kZXZpY2UgKmFkZXYsDQo+ICAJeGdwdV9haV9tYWlsYm94X3NldF92YWxpZChhZGV2 LCBmYWxzZSk7ICB9DQo+IA0KPiArc3RhdGljIGludCB4Z3B1X2FpX2dldF9wcF9jbGsoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiB0eXBlLCANCj4gK2NoYXIgKmJ1Zikgew0KPiArICAg ICAgICBpbnQgciA9IDA7DQo+ICsgICAgICAgIHUzMiByZXEsIHZhbCwgc2l6ZTsNCj4gKw0KPiAr ICAgICAgICBpZiAoIWFtZGdpbV9pc19od3BlcmYoYWRldikgfHwgYnVmID09IE5VTEwpDQo+ICsg ICAgICAgICAgICAgICAgcmV0dXJuIC1FQkFEUlFDOw0KPiArDQo+ICsgICAgICAgIHN3aXRjaCh0 eXBlKSB7DQo+ICsgICAgICAgIGNhc2UgUFBfU0NMSzoNCj4gKyAgICAgICAgICAgICAgICByZXEg PSBJREhfSVJRX0dFVF9QUF9TQ0xLOw0KPiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAg ICAgICBjYXNlIFBQX01DTEs6DQo+ICsgICAgICAgICAgICAgICAgcmVxID0gSURIX0lSUV9HRVRf UFBfTUNMSzsNCj4gKyAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgZGVmYXVsdDoN Cj4gKyAgICAgICAgICAgICAgICByZXR1cm4gLUVCQURSUUM7DQo+ICsgICAgICAgIH0NCj4gKw0K PiArICAgICAgICBtdXRleF9sb2NrKCZhZGV2LT52aXJ0LmRwbV9tdXRleCk7DQo+ICsNCj4gKyAg ICAgICAgeGdwdV9haV9tYWlsYm94X3RyYW5zX21zZyhhZGV2LCByZXEsIDAsIDAsIDApOw0KPiAr DQo+ICsgICAgICAgIHIgPSB4Z3B1X2FpX3BvbGxfbXNnKGFkZXYsIElESF9TVUNDRVNTKTsNCj4g KyAgICAgICAgaWYgKCFyICYmIGFkZXYtPmZ3X3ZyYW1fdXNhZ2UudmEgIT0gTlVMTCkgew0KPiAr ICAgICAgICAgICAgICAgIHZhbCA9IFJSRUczMl9OT19LSVEoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICBTT0MxNV9SRUdfT0ZGU0VUKE5CSU8sIDAsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1tQklGX0JYX1BGMF9NQUlMQk9YX01TR0JVRl9SQ1ZfRFcx KSk7DQo+ICsgICAgICAgICAgICAgICAgc2l6ZSA9IHN0cm5sZW4oKCgoY2hhciAqKWFkZXYtPnZp cnQuZndfcmVzZXJ2ZS5wX3BmMnZmKSArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZhbCksIFBBR0VfU0laRSk7DQo+ICsNCj4gKyAgICAgICAgICAgICAgICBpZiAoc2l6ZSA8 IFBBR0VfU0laRSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cmNweShidWYsKChjaGFy ICopYWRldi0+dmlydC5md19yZXNlcnZlLnBfcGYydmYgKyB2YWwpKTsNCj4gKyAgICAgICAgICAg ICAgICBlbHNlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBzaXplID0gMDsNCj4gKw0KPiAr ICAgICAgICAgICAgICAgIHIgPSBzaXplOw0KPiArICAgICAgICAgICAgICAgIGdvdG8gb3V0Ow0K PiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgciA9IHhncHVfYWlfcG9sbF9tc2coYWRldiwg SURIX0ZBSUwpOw0KPiArICAgICAgICBpZihyKQ0KPiArICAgICAgICAgICAgICAgIHByX2luZm8o IiVzIERQTSByZXF1ZXN0IGZhaWxlZCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAodHlw ZSA9PSBQUF9TQ0xLKT8gIlNDTEsiIDogIk1DTEsiKTsNCj4gKw0KPiArb3V0Og0KPiArICAgICAg ICBtdXRleF91bmxvY2soJmFkZXYtPnZpcnQuZHBtX211dGV4KTsNCj4gKyAgICAgICAgcmV0dXJu IHI7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBpbnQgeGdwdV9haV9mb3JjZV9kcG1fbGV2ZWwoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMg0KPiArbGV2ZWwpIHsNCj4gKyAgICAgICAgaW50 IHIgPSAwOw0KPiArICAgICAgICB1MzIgcmVxID0gSURIX0lSUV9GT1JDRV9EUE1fTEVWRUw7DQo+ ICsNCj4gKyAgICAgICAgaWYgKCFhbWRnaW1faXNfaHdwZXJmKGFkZXYpKQ0KPiArICAgICAgICAg ICAgICAgIHJldHVybiAtRUJBRFJRQzsNCj4gKw0KPiArICAgICAgICBtdXRleF9sb2NrKCZhZGV2 LT52aXJ0LmRwbV9tdXRleCk7DQo+ICsgICAgICAgIHhncHVfYWlfbWFpbGJveF90cmFuc19tc2co YWRldiwgcmVxLCBsZXZlbCwgMCwgMCk7DQo+ICsNCj4gKyAgICAgICAgciA9IHhncHVfYWlfcG9s bF9tc2coYWRldiwgSURIX1NVQ0NFU1MpOw0KPiArICAgICAgICBpZiAoIXIpDQo+ICsgICAgICAg ICAgICAgICAgZ290byBvdXQ7DQo+ICsNCj4gKyAgICAgICAgciA9IHhncHVfYWlfcG9sbF9tc2co YWRldiwgSURIX0ZBSUwpOw0KPiArICAgICAgICBpZiAoIXIpDQo+ICsgICAgICAgICAgICAgICAg cHJfaW5mbygiRFBNIHJlcXVlc3QgZmFpbGVkIik7DQo+ICsgICAgICAgIGVsc2UNCj4gKyAgICAg ICAgICAgICAgICBwcl9pbmZvKCJNYWlsYm94IGlzIGJyb2tlbiIpOw0KPiArDQo+ICtvdXQ6DQo+ ICsgICAgICAgIG11dGV4X3VubG9jaygmYWRldi0+dmlydC5kcG1fbXV0ZXgpOw0KPiArICAgICAg ICByZXR1cm4gcjsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCB4Z3B1X2FpX3NlbmRfYWNjZXNz X3JlcXVlc3RzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LA0KPiAgCQkJCQllbnVtIGlkaF9y ZXF1ZXN0IHJlcSkNCj4gIHsNCj4gQEAgLTM3NSw0ICs0NTEsNiBAQCBjb25zdCBzdHJ1Y3QgYW1k Z3B1X3ZpcnRfb3BzIHhncHVfYWlfdmlydF9vcHMgPSB7DQo+ICAJLnJlc2V0X2dwdSA9IHhncHVf YWlfcmVxdWVzdF9yZXNldCwNCj4gIAkud2FpdF9yZXNldCA9IE5VTEwsDQo+ICAJLnRyYW5zX21z ZyA9IHhncHVfYWlfbWFpbGJveF90cmFuc19tc2csDQo+ICsJLmdldF9wcF9jbGsgPSB4Z3B1X2Fp X2dldF9wcF9jbGssDQo+ICsJLmZvcmNlX2RwbV9sZXZlbCA9IHhncHVfYWlfZm9yY2VfZHBtX2xl dmVsLA0KPiAgfTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214 Z3B1X2FpLmgNCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5oDQo+IGlu ZGV4IGI0YTljZWUuLjM5ZDE1MWIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L214Z3B1X2FpLmgNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhn cHVfYWkuaA0KPiBAQCAtMzUsNiArMzUsMTAgQEAgZW51bSBpZGhfcmVxdWVzdCB7DQo+ICAJSURI X1JFTF9HUFVfRklOSV9BQ0NFU1MsDQo+ICAJSURIX1JFUV9HUFVfUkVTRVRfQUNDRVNTLA0KPiAN Cj4gKwlJREhfSVJRX0ZPUkNFX0RQTV9MRVZFTCA9IDEwLA0KPiArCUlESF9JUlFfR0VUX1BQX1ND TEssDQo+ICsJSURIX0lSUV9HRVRfUFBfTUNMSywNCj4gKw0KPiAgCUlESF9MT0dfVkZfRVJST1Ig ICAgICAgPSAyMDAsDQo+ICB9Ow0KPiANCj4gQEAgLTQzLDYgKzQ3LDggQEAgZW51bSBpZGhfZXZl bnQgew0KPiAgCUlESF9SRUFEWV9UT19BQ0NFU1NfR1BVLA0KPiAgCUlESF9GTFJfTk9USUZJQ0FU SU9OLA0KPiAgCUlESF9GTFJfTk9USUZJQ0FUSU9OX0NNUEwsDQo+ICsJSURIX1NVQ0NFU1MsDQo+ ICsJSURIX0ZBSUwsDQo+ICAJSURIX0VWRU5UX01BWA0KPiAgfTsNCj4gDQo+IC0tDQo+IDIuNy40 DQo+IA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K PiBhbWQtZ2Z4IG1haWxpbmcgbGlzdA0KPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0K PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngN Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQphbWQtZ2Z4 IG1haWxpbmcgbGlzdA0KYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QK YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4