From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kuehling, Felix" Subject: RE: [PATCH] drm/amdgpu: support dpm level modification under virtualization Date: Wed, 10 Apr 2019 20:54:28 +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: <1554823102-23667-1-git-send-email-yttao-5C7GfCeVMHo@public.gmane.org> 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: "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Tao, Yintian" SG93IGRvZXMgZm9yY2luZyBEUE0gbGV2ZWxzIHdvcmsgaW4gU1JJT1Y/IENhbiBjbG9ja3Mgc3dp dGNoIGZhc3QgZW5vdWdoIHRvIGFsbG93IGRpZmZlcmVudCBWRnMgaGF2ZSBkaWZmZXJlbnQgY2xv Y2tzPyBJZiBub3QsIGNhbiBvbmUgVkYgb3ZlcnJpZGUgdGhlIGNsb2NrcyB1c2VkIGJ5IGFub3Ro ZXIgVkY/IEluIHRoYXQgY2FzZSwgd291bGRuJ3QgdGhhdCB2aW9sYXRlIHRoZSBpc29sYXRpb24g YmV0d2VlbiBWRnM/DQoNClJlZ2FyZHMsDQogIEZlbGl4DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBhbWQtZ2Z4IDxhbWQtZ2Z4LWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Au b3JnPiBPbiBCZWhhbGYgT2YgWWludGlhbiBUYW8NClNlbnQ6IFR1ZXNkYXksIEFwcmlsIDksIDIw MTkgMTE6MTgNClRvOiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KQ2M6IFRhbywgWWlu dGlhbiA8WWludGlhbi5UYW9AYW1kLmNvbT4NClN1YmplY3Q6IFtQQVRDSF0gZHJtL2FtZGdwdTog c3VwcG9ydCBkcG0gbGV2ZWwgbW9kaWZpY2F0aW9uIHVuZGVyIHZpcnR1YWxpemF0aW9uDQoNClVu ZGVyIHZlZ2ExMCB2aXJ0dWFsdXphdGlvbiwgc211IGlwIGJsb2NrIHdpbGwgbm90IGJlIGFkZGVk Lg0KVGhlcmVmb3JlLCB3ZSBuZWVkIGFkZCBwcCBjbGsgcXVlcnkgYW5kIGZvcmNlIGRwbSBsZXZl bCBmdW5jdGlvbiBhdCBhbWRncHVfdmlydF9vcHMgdG8gc3VwcG9ydCB0aGUgZmVhdHVyZS4NCg0K Q2hhbmdlLUlkOiBJNzEzNDE5YzU3Yjg1NDA4MmY2ZjczOWYxZDMyYTA1NWM3MTE1ZTYyMA0KU2ln bmVkLW9mZi1ieTogWWludGlhbiBUYW8gPHl0dGFvQGFtZC5jb20+DQotLS0NCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgfCAgMSArDQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jICAgIHwgIDMgKysNCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcG0uYyAgICAgfCAxNSArKysrKysNCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdmlydC5jICAgfCAzMyArKysrKysrKysrKysrDQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZpcnQuaCAgIHwgMTEgKysrKysNCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9teGdwdV9haS5jICAgICAgfCA3OCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysNCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5oICAgICAgfCAg NiArKysNCiA3IGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCmluZGV4IDNmZjg4OTkuLmJiMGZkNWEg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMN CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KQEAgLTI0 ODYsNiArMjQ4Niw3IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsDQogCW11dGV4X2luaXQoJmFkZXYtPnZpcnQudmZfZXJyb3JzLmxvY2spOw0KIAlo YXNoX2luaXQoYWRldi0+bW5faGFzaCk7DQogCW11dGV4X2luaXQoJmFkZXYtPmxvY2tfcmVzZXQp Ow0KKwltdXRleF9pbml0KCZhZGV2LT52aXJ0LmRwbV9tdXRleCk7DQogDQogCWFtZGdwdV9kZXZp Y2VfY2hlY2tfYXJndW1lbnRzKGFkZXYpOw0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9rbXMuYw0KaW5kZXggNjE5MDQ5NS4uMTM1Mzk1NSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2ttcy5jDQpAQCAtNzI3LDYgKzcyNyw5IEBAIHN0YXRpYyBpbnQgYW1k Z3B1X2luZm9faW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0 IGRybV9maWxlDQogCQlpZiAoYWRldi0+cG0uZHBtX2VuYWJsZWQpIHsNCiAJCQlkZXZfaW5mby5t YXhfZW5naW5lX2Nsb2NrID0gYW1kZ3B1X2RwbV9nZXRfc2NsayhhZGV2LCBmYWxzZSkgKiAxMDsN CiAJCQlkZXZfaW5mby5tYXhfbWVtb3J5X2Nsb2NrID0gYW1kZ3B1X2RwbV9nZXRfbWNsayhhZGV2 LCBmYWxzZSkgKiAxMDsNCisJCX0gZWxzZSBpZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7DQor CQkJZGV2X2luZm8ubWF4X2VuZ2luZV9jbG9jayA9IGFtZGdwdV92aXJ0X2dldF9zY2xrKGFkZXYs IGZhbHNlKSAqIDEwOw0KKwkJCWRldl9pbmZvLm1heF9tZW1vcnlfY2xvY2sgPSBhbWRncHVfdmly dF9nZXRfbWNsayhhZGV2LCBmYWxzZSkgKiAxMDsNCiAJCX0gZWxzZSB7DQogCQkJZGV2X2luZm8u bWF4X2VuZ2luZV9jbG9jayA9IGFkZXYtPmNsb2NrLmRlZmF1bHRfc2NsayAqIDEwOw0KIAkJCWRl dl9pbmZvLm1heF9tZW1vcnlfY2xvY2sgPSBhZGV2LT5jbG9jay5kZWZhdWx0X21jbGsgKiAxMDsg ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMNCmluZGV4IDU1NDAyNTkuLjAxNjJk MWUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYw0K KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMNCkBAIC0zODAsNiAr MzgwLDE3IEBAIHN0YXRpYyBzc2l6ZV90IGFtZGdwdV9zZXRfZHBtX2ZvcmNlZF9wZXJmb3JtYW5j ZV9sZXZlbChzdHJ1Y3QgZGV2aWNlICpkZXYsDQogCQlnb3RvIGZhaWw7DQogCX0NCiANCisgICAg ICAgIGlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikpIHsNCisgICAgICAgICAgICAgICAgaWYgKGFt ZGdpbV9pc19od3BlcmYoYWRldikgJiYNCisgICAgICAgICAgICAgICAgICAgIGFkZXYtPnZpcnQu b3BzLT5mb3JjZV9kcG1fbGV2ZWwpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICBtdXRleF9s b2NrKCZhZGV2LT5wbS5tdXRleCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgYWRldi0+dmly dC5vcHMtPmZvcmNlX2RwbV9sZXZlbChhZGV2LCBsZXZlbCk7DQorICAgICAgICAgICAgICAgICAg ICAgICAgbXV0ZXhfdW5sb2NrKCZhZGV2LT5wbS5tdXRleCk7DQorICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIGNvdW50Ow0KKyAgICAgICAgICAgICAgICB9IGVsc2UNCisgICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCisgICAgICAgIH0NCisNCiAJaWYgKGN1cnJl bnRfbGV2ZWwgPT0gbGV2ZWwpDQogCQlyZXR1cm4gY291bnQ7DQogDQpAQCAtODQzLDYgKzg1NCwx MCBAQCBzdGF0aWMgc3NpemVfdCBhbWRncHVfZ2V0X3BwX2RwbV9zY2xrKHN0cnVjdCBkZXZpY2Ug KmRldiwNCiAJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsN CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsNCiANCisJ aWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSAmJiBhbWRnaW1faXNfaHdwZXJmKGFkZXYpICYmDQor CSAgICBhZGV2LT52aXJ0Lm9wcy0+Z2V0X3BwX2NsaykNCisJCXJldHVybiBhZGV2LT52aXJ0Lm9w cy0+Z2V0X3BwX2NsayhhZGV2LCBQUF9TQ0xLLCBidWYpOw0KKw0KIAlpZiAoaXNfc3VwcG9ydF9z d19zbXUoYWRldikpDQogCQlyZXR1cm4gc211X3ByaW50X2Nsa19sZXZlbHMoJmFkZXYtPnNtdSwg UFBfU0NMSywgYnVmKTsNCiAJZWxzZSBpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5wcmlu dF9jbG9ja19sZXZlbHMpDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3ZpcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmMN CmluZGV4IDQ2MmEwNGUuLmFlNGIyYTEgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdmlydC5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdmlydC5jDQpAQCAtMzc1LDQgKzM3NSwzNyBAQCB2b2lkIGFtZGdwdV92aXJ0X2luaXRf ZGF0YV9leGNoYW5nZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCiAJfQ0KIH0NCiANCitz dGF0aWMgdWludDMyX3QgcGFyc2VfY2xrKGNoYXIgKmJ1ZiwgYm9vbCBtaW4pIHsNCisgICAgICAg IGNoYXIgKnB0ciA9IGJ1ZjsNCisgICAgICAgIHVpbnQzMl90IGNsayA9IDA7DQorDQorICAgICAg ICBkbyB7DQorICAgICAgICAgICAgICAgIHB0ciA9IHN0cmNocihwdHIsICc6Jyk7DQorICAgICAg ICAgICAgICAgIGlmICghcHRyKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KKyAg ICAgICAgICAgICAgICBwdHIrPTI7DQorICAgICAgICAgICAgICAgIGNsayA9IHNpbXBsZV9zdHJ0 b3VsKHB0ciwgTlVMTCwgMTApOw0KKyAgICAgICAgfSB3aGlsZSAoIW1pbik7DQorDQorICAgICAg ICByZXR1cm4gY2xrICogMTAwOw0KK30NCisNCit1aW50MzJfdCBhbWRncHVfdmlydF9nZXRfc2Ns ayhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgYm9vbCBsb3dlc3QpIA0KK3sNCisgICAgICAg IGNoYXIgYnVmWzUxMl0gPSB7MH07DQorDQorICAgICAgICBhZGV2LT52aXJ0Lm9wcy0+Z2V0X3Bw X2NsayhhZGV2LCBQUF9TQ0xLLCBidWYpOw0KKw0KKyAgICAgICAgcmV0dXJuIHBhcnNlX2Nsayhi dWYsIGxvd2VzdCk7DQorfQ0KKw0KK3VpbnQzMl90IGFtZGdwdV92aXJ0X2dldF9tY2xrKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIGxvd2VzdCkgDQorew0KKyAgICAgICAgY2hhciBi dWZbNTEyXSA9IHswfTsNCisNCisgICAgICAgIGFkZXYtPnZpcnQub3BzLT5nZXRfcHBfY2xrKGFk ZXYsIFBQX01DTEssIGJ1Zik7DQorDQorICAgICAgICByZXR1cm4gcGFyc2VfY2xrKGJ1ZiwgbG93 ZXN0KTsNCit9DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ZpcnQuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92aXJ0LmgNCmlu ZGV4IDcyMmRlZWYuLjU4NDk0N2IgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdmlydC5oDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmlydC5oDQpAQCAtNTcsNiArNTcsOCBAQCBzdHJ1Y3QgYW1kZ3B1X3ZpcnRfb3BzIHsNCiAJ aW50ICgqcmVzZXRfZ3B1KShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7DQogCWludCAoKndh aXRfcmVzZXQpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsNCiAJdm9pZCAoKnRyYW5zX21z Zykoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiByZXEsIHUzMiBkYXRhMSwgdTMyIGRh dGEyLCB1MzIgZGF0YTMpOw0KKwlpbnQgKCpnZXRfcHBfY2xrKShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdTMyIHR5cGUsIGNoYXIgKmJ1Zik7DQorCWludCAoKmZvcmNlX2RwbV9sZXZlbCko c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiBsZXZlbCk7DQogfTsNCiANCiAvKg0KQEAg LTgzLDYgKzg1LDggQEAgZW51bSBBTURHSU1fRkVBVFVSRV9GTEFHIHsNCiAJQU1ER0lNX0ZFQVRV UkVfR0lNX0xPQURfVUNPREVTICAgPSAweDIsDQogCS8qIFZSQU0gTE9TVCBieSBHSU0gKi8NCiAJ QU1ER0lNX0ZFQVRVUkVfR0lNX0ZMUl9WUkFNTE9TVCA9IDB4NCwNCisJLyogSFcgUEVSRiBTSU0g aW4gR0lNICovDQorCUFNREdJTV9GRUFUVVJFX0hXX1BFUkZfU0lNVUxBVElPTiA9ICgxIDw8IDMp LA0KIH07DQogDQogc3RydWN0IGFtZF9zcmlvdl9tc2dfcGYydmZfaW5mb19oZWFkZXIgeyBAQCAt MjUyLDYgKzI1Niw4IEBAIHN0cnVjdCBhbWRncHVfdmlydCB7DQogCXN0cnVjdCBhbWRncHVfdmZf ZXJyb3JfYnVmZmVyICAgdmZfZXJyb3JzOw0KIAlzdHJ1Y3QgYW1kZ3B1X3ZpcnRfZndfcmVzZXJ2 ZQlmd19yZXNlcnZlOw0KIAl1aW50MzJfdCBnaW1fZmVhdHVyZTsNCisJLyogcHJvdGVjdCBEUE0g ZXZlbnRzIHRvIEdJTSAqLw0KKwlzdHJ1Y3QgbXV0ZXggICAgICAgICAgICAgICAgICAgIGRwbV9t dXRleDsNCiB9Ow0KIA0KICNkZWZpbmUgYW1kZ3B1X3NyaW92X2VuYWJsZWQoYWRldikgXA0KQEAg LTI3OCw2ICsyODQsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaXNfdmlydHVhbF9tYWNoaW5lKHZv aWQpICAjZW5kaWYgIH0NCiANCisjZGVmaW5lIGFtZGdpbV9pc19od3BlcmYoYWRldikgXA0KKwko KGFkZXYpLT52aXJ0LmdpbV9mZWF0dXJlICYgQU1ER0lNX0ZFQVRVUkVfSFdfUEVSRl9TSU1VTEFU SU9OKQ0KKw0KIGJvb2wgYW1kZ3B1X3ZpcnRfbW1pb19ibG9ja2VkKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2KTsgIHZvaWQgYW1kZ3B1X3ZpcnRfaW5pdF9zZXR0aW5nKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2KTsgIHVpbnQzMl90IGFtZGdwdV92aXJ0X2tpcV9ycmVnKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCB1aW50MzJfdCByZWcpOyBAQCAtMjk1LDUgKzMwNCw3IEBAIGludCBh bWRncHVfdmlydF9md19yZXNlcnZlX2dldF9jaGVja3N1bSh2b2lkICpvYmosIHVuc2lnbmVkIGxv bmcgb2JqX3NpemUsDQogCQkJCQl1bnNpZ25lZCBpbnQga2V5LA0KIAkJCQkJdW5zaWduZWQgaW50 IGNoa3N1bSk7DQogdm9pZCBhbWRncHVfdmlydF9pbml0X2RhdGFfZXhjaGFuZ2Uoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpOw0KK3VpbnQzMl90IGFtZGdwdV92aXJ0X2dldF9zY2xrKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIGxvd2VzdCk7IA0KK3VpbnQzMl90IGFtZGdwdV92 aXJ0X2dldF9tY2xrKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIGxvd2VzdCk7DQog DQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVf YWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214Z3B1X2FpLmMNCmluZGV4IDczODUx ZWIuLjhkYmFkNDkgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdw dV9haS5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5jDQpAQCAt MTU3LDYgKzE1Nyw4MiBAQCBzdGF0aWMgdm9pZCB4Z3B1X2FpX21haWxib3hfdHJhbnNfbXNnIChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwNCiAJeGdwdV9haV9tYWlsYm94X3NldF92YWxpZChh ZGV2LCBmYWxzZSk7ICB9DQogDQorc3RhdGljIGludCB4Z3B1X2FpX2dldF9wcF9jbGsoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiB0eXBlLCANCitjaGFyICpidWYpIHsNCisgICAgICAg IGludCByID0gMDsNCisgICAgICAgIHUzMiByZXEsIHZhbCwgc2l6ZTsNCisNCisgICAgICAgIGlm ICghYW1kZ2ltX2lzX2h3cGVyZihhZGV2KSB8fCBidWYgPT0gTlVMTCkNCisgICAgICAgICAgICAg ICAgcmV0dXJuIC1FQkFEUlFDOw0KKw0KKyAgICAgICAgc3dpdGNoKHR5cGUpIHsNCisgICAgICAg IGNhc2UgUFBfU0NMSzoNCisgICAgICAgICAgICAgICAgcmVxID0gSURIX0lSUV9HRVRfUFBfU0NM SzsNCisgICAgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBjYXNlIFBQX01DTEs6DQorICAg ICAgICAgICAgICAgIHJlcSA9IElESF9JUlFfR0VUX1BQX01DTEs7DQorICAgICAgICAgICAgICAg IGJyZWFrOw0KKyAgICAgICAgZGVmYXVsdDoNCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FQkFE UlFDOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgbXV0ZXhfbG9jaygmYWRldi0+dmlydC5kcG1f bXV0ZXgpOw0KKw0KKyAgICAgICAgeGdwdV9haV9tYWlsYm94X3RyYW5zX21zZyhhZGV2LCByZXEs IDAsIDAsIDApOw0KKw0KKyAgICAgICAgciA9IHhncHVfYWlfcG9sbF9tc2coYWRldiwgSURIX1NV Q0NFU1MpOw0KKyAgICAgICAgaWYgKCFyICYmIGFkZXYtPmZ3X3ZyYW1fdXNhZ2UudmEgIT0gTlVM TCkgew0KKyAgICAgICAgICAgICAgICB2YWwgPSBSUkVHMzJfTk9fS0lRKA0KKyAgICAgICAgICAg ICAgICAgICAgICAgIFNPQzE1X1JFR19PRkZTRVQoTkJJTywgMCwNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1tQklGX0JYX1BGMF9NQUlMQk9YX01TR0JVRl9SQ1Zf RFcxKSk7DQorICAgICAgICAgICAgICAgIHNpemUgPSBzdHJubGVuKCgoKGNoYXIgKilhZGV2LT52 aXJ0LmZ3X3Jlc2VydmUucF9wZjJ2ZikgKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdmFsKSwgUEFHRV9TSVpFKTsNCisNCisgICAgICAgICAgICAgICAgaWYgKHNpemUgPCBQQUdF X1NJWkUpDQorICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5KGJ1ZiwoKGNoYXIgKilhZGV2 LT52aXJ0LmZ3X3Jlc2VydmUucF9wZjJ2ZiArIHZhbCkpOw0KKyAgICAgICAgICAgICAgICBlbHNl DQorICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IDA7DQorDQorICAgICAgICAgICAgICAg IHIgPSBzaXplOw0KKyAgICAgICAgICAgICAgICBnb3RvIG91dDsNCisgICAgICAgIH0NCisNCisg ICAgICAgIHIgPSB4Z3B1X2FpX3BvbGxfbXNnKGFkZXYsIElESF9GQUlMKTsNCisgICAgICAgIGlm KHIpDQorICAgICAgICAgICAgICAgIHByX2luZm8oIiVzIERQTSByZXF1ZXN0IGZhaWxlZCIsDQor ICAgICAgICAgICAgICAgICAgICAgICAgKHR5cGUgPT0gUFBfU0NMSyk/ICJTQ0xLIiA6ICJNQ0xL Iik7DQorDQorb3V0Og0KKyAgICAgICAgbXV0ZXhfdW5sb2NrKCZhZGV2LT52aXJ0LmRwbV9tdXRl eCk7DQorICAgICAgICByZXR1cm4gcjsNCit9DQorDQorc3RhdGljIGludCB4Z3B1X2FpX2ZvcmNl X2RwbV9sZXZlbChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIA0KK2xldmVsKSB7DQor ICAgICAgICBpbnQgciA9IDA7DQorICAgICAgICB1MzIgcmVxID0gSURIX0lSUV9GT1JDRV9EUE1f TEVWRUw7DQorDQorICAgICAgICBpZiAoIWFtZGdpbV9pc19od3BlcmYoYWRldikpDQorICAgICAg ICAgICAgICAgIHJldHVybiAtRUJBRFJRQzsNCisNCisgICAgICAgIG11dGV4X2xvY2soJmFkZXYt PnZpcnQuZHBtX211dGV4KTsNCisgICAgICAgIHhncHVfYWlfbWFpbGJveF90cmFuc19tc2coYWRl diwgcmVxLCBsZXZlbCwgMCwgMCk7DQorDQorICAgICAgICByID0geGdwdV9haV9wb2xsX21zZyhh ZGV2LCBJREhfU1VDQ0VTUyk7DQorICAgICAgICBpZiAoIXIpDQorICAgICAgICAgICAgICAgIGdv dG8gb3V0Ow0KKw0KKyAgICAgICAgciA9IHhncHVfYWlfcG9sbF9tc2coYWRldiwgSURIX0ZBSUwp Ow0KKyAgICAgICAgaWYgKCFyKQ0KKyAgICAgICAgICAgICAgICBwcl9pbmZvKCJEUE0gcmVxdWVz dCBmYWlsZWQiKTsNCisgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgcHJfaW5mbygiTWFp bGJveCBpcyBicm9rZW4iKTsNCisNCitvdXQ6DQorICAgICAgICBtdXRleF91bmxvY2soJmFkZXYt PnZpcnQuZHBtX211dGV4KTsNCisgICAgICAgIHJldHVybiByOw0KK30NCisNCiBzdGF0aWMgaW50 IHhncHVfYWlfc2VuZF9hY2Nlc3NfcmVxdWVzdHMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs DQogCQkJCQllbnVtIGlkaF9yZXF1ZXN0IHJlcSkNCiB7DQpAQCAtMzc1LDQgKzQ1MSw2IEBAIGNv bnN0IHN0cnVjdCBhbWRncHVfdmlydF9vcHMgeGdwdV9haV92aXJ0X29wcyA9IHsNCiAJLnJlc2V0 X2dwdSA9IHhncHVfYWlfcmVxdWVzdF9yZXNldCwNCiAJLndhaXRfcmVzZXQgPSBOVUxMLA0KIAku dHJhbnNfbXNnID0geGdwdV9haV9tYWlsYm94X3RyYW5zX21zZywNCisJLmdldF9wcF9jbGsgPSB4 Z3B1X2FpX2dldF9wcF9jbGssDQorCS5mb3JjZV9kcG1fbGV2ZWwgPSB4Z3B1X2FpX2ZvcmNlX2Rw bV9sZXZlbCwNCiB9Ow0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L214 Z3B1X2FpLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9teGdwdV9haS5oDQppbmRleCBi NGE5Y2VlLi4zOWQxNTFiIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv bXhncHVfYWkuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbXhncHVfYWkuaA0K QEAgLTM1LDYgKzM1LDEwIEBAIGVudW0gaWRoX3JlcXVlc3Qgew0KIAlJREhfUkVMX0dQVV9GSU5J X0FDQ0VTUywNCiAJSURIX1JFUV9HUFVfUkVTRVRfQUNDRVNTLA0KIA0KKwlJREhfSVJRX0ZPUkNF X0RQTV9MRVZFTCA9IDEwLA0KKwlJREhfSVJRX0dFVF9QUF9TQ0xLLA0KKwlJREhfSVJRX0dFVF9Q UF9NQ0xLLA0KKw0KIAlJREhfTE9HX1ZGX0VSUk9SICAgICAgID0gMjAwLA0KIH07DQogDQpAQCAt NDMsNiArNDcsOCBAQCBlbnVtIGlkaF9ldmVudCB7DQogCUlESF9SRUFEWV9UT19BQ0NFU1NfR1BV LA0KIAlJREhfRkxSX05PVElGSUNBVElPTiwNCiAJSURIX0ZMUl9OT1RJRklDQVRJT05fQ01QTCwN CisJSURIX1NVQ0NFU1MsDQorCUlESF9GQUlMLA0KIAlJREhfRVZFTlRfTUFYDQogfTsNCiANCi0t DQoyLjcuNA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xw0KYW1kLWdmeCBtYWlsaW5nIGxpc3QNCmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFp bGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==