Re: [PATCH v10 13/26] scsi: ufs: mediatek: Use the common PHY framework
Chaotian Jing (井朝天) <[email protected]> Fri, 31 Jul 2026 05:51:17 +0000
| Newsgroups | org.kernel.vger.linux-scsi,org.infradead.lists.linux-arm-kernel,org.infradead.lists.linux-mediatek,org.infradead.lists.linux-phy,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
T24gVGh1LCAyMDI2LTA3LTMwIGF0IDExOjQ5ICswMjAwLCBMb3Vpcy1BbGV4aXMgRXlyYXVkIHdy b3RlOg0KPiBGcm9tOiBOaWNvbGFzIEZyYXR0YXJvbGkgPG5pY29sYXMuZnJhdHRhcm9saUBjb2xs YWJvcmEuY29tPg0KPiANCj4gVGhlcmUgaXMgbm8gbmVlZCB0byByZWludmVudCB0aGUgUEhZIGZy YW1ld29yaywgZXNwZWNpYWxseSBub3QgaXRzIE9GDQo+IHBhcnNpbmcuDQo+IA0KPiBDaGFuZ2Ug dGhlIGNvZGUgdG8gc2ltcGx5IHVzZSB0aGUgUEhZIGZyYW1ld29yayB0byBhY3F1aXJlIHRoZQ0K PiBkZXZpY2Uncw0KPiBQSFkgaW4gdGhlIHVmc2hjZCBpbml0LCBzbyB0aGF0IGl0J3MgZGV2aWNl IGxpbmtlZCB0byB0aGUgcmlnaHQNCj4gZGV2aWNlLg0KPiANClJldmlld2VkLWJ5OiBDaGFvdGlh biBKaW5nIDxjaGFvdGlhbi5qaW5nQG1lZGlhdGVrLmNvbT4NCj4gUmV2aWV3ZWQtYnk6IEFuZ2Vs b0dpb2FjY2hpbm8gRGVsIFJlZ25vIDwNCj4gYW5nZWxvZ2lvYWNjaGluby5kZWxyZWdub0Bjb2xs YWJvcmEuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIEZyYXR0YXJvbGkgPG5pY29sYXMu ZnJhdHRhcm9saUBjb2xsYWJvcmEuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBMb3Vpcy1BbGV4aXMg RXlyYXVkIDxsb3Vpc2FsZXhpcy5leXJhdWRAY29sbGFib3JhLmNvbT4NCj4gLS0tDQo+ICBkcml2 ZXJzL3Vmcy9ob3N0L3Vmcy1tZWRpYXRlay5jIHwgMTM0ICsrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLQ0KPiAtLS0tLS0tLS0tDQo+ICBkcml2ZXJzL3Vmcy9ob3N0L3Vmcy1tZWRpYXRlay5o IHwgICAxIC0NCj4gIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgOTMgZGVsZXRp b25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91ZnMvaG9zdC91ZnMtbWVkaWF0ZWsu YyBiL2RyaXZlcnMvdWZzL2hvc3QvdWZzLQ0KPiBtZWRpYXRlay5jDQo+IGluZGV4IGU1NTI3OTY5 YTVlNi4uMzg1ZjAxODBiMjMwIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3Vmcy9ob3N0L3Vmcy1t ZWRpYXRlay5jDQo+ICsrKyBiL2RyaXZlcnMvdWZzL2hvc3QvdWZzLW1lZGlhdGVrLmMNCj4gQEAg LTI5Myw0NCArMjkzLDYgQEAgc3RhdGljIGludCB1ZnNfbXRrX2hjZV9lbmFibGVfbm90aWZ5KHN0 cnVjdA0KPiB1ZnNfaGJhICpoYmEsDQo+ICAJcmV0dXJuIDA7DQo+ICB9DQo+ICANCj4gLXN0YXRp YyBpbnQgdWZzX210a19iaW5kX21waHkoc3RydWN0IHVmc19oYmEgKmhiYSkNCj4gLXsNCj4gLQlz dHJ1Y3QgdWZzX210a19ob3N0ICpob3N0ID0gdWZzaGNkX2dldF92YXJpYW50KGhiYSk7DQo+IC0J c3RydWN0IGRldmljZSAqZGV2ID0gaGJhLT5kZXY7DQo+IC0Jc3RydWN0IGRldmljZV9ub2RlICpu cCA9IGRldi0+b2Zfbm9kZTsNCj4gLQlpbnQgZXJyID0gMDsNCj4gLQ0KPiAtCWhvc3QtPm1waHkg PSBkZXZtX29mX3BoeV9nZXRfYnlfaW5kZXgoZGV2LCBucCwgMCk7DQo+IC0NCj4gLQlpZiAoaG9z dC0+bXBoeSA9PSBFUlJfUFRSKC1FUFJPQkVfREVGRVIpKSB7DQo+IC0JCS8qDQo+IC0JCSAqIFVG UyBkcml2ZXIgbWlnaHQgYmUgcHJvYmVkIGJlZm9yZSB0aGUgcGh5IGRyaXZlcg0KPiBkb2VzLg0K PiAtCQkgKiBJbiB0aGF0IGNhc2Ugd2Ugd291bGQgbGlrZSB0byByZXR1cm4gRVBST0JFX0RFRkVS DQo+IGNvZGUuDQo+IC0JCSAqLw0KPiAtCQllcnIgPSAtRVBST0JFX0RFRkVSOw0KPiAtCQlkZXZf aW5mbyhkZXYsDQo+IC0JCQkgIiVzOiByZXF1aXJlZCBwaHkgaGFzbid0IHByb2JlZCB5ZXQuIGVy ciA9DQo+ICVkXG4iLA0KPiAtCQkJX19mdW5jX18sIGVycik7DQo+IC0JfSBlbHNlIGlmIChJU19F UlIoaG9zdC0+bXBoeSkpIHsNCj4gLQkJZXJyID0gUFRSX0VSUihob3N0LT5tcGh5KTsNCj4gLQkJ aWYgKGVyciAhPSAtRU5PREVWKSB7DQo+IC0JCQlkZXZfaW5mbyhkZXYsICIlczogUEhZIGdldCBm YWlsZWQgJWRcbiIsDQo+IF9fZnVuY19fLA0KPiAtCQkJCSBlcnIpOw0KPiAtCQl9DQo+IC0JfQ0K PiAtDQo+IC0JaWYgKGVycikNCj4gLQkJaG9zdC0+bXBoeSA9IE5VTEw7DQo+IC0JLyoNCj4gLQkg KiBBbGxvdyB1bmJvdW5kIG1waHkgYmVjYXVzZSBub3QgZXZlcnkgcGxhdGZvcm0gbmVlZHMgc3Bl Y2lmaWMNCj4gLQkgKiBtcGh5IGNvbnRyb2wuDQo+IC0JICovDQo+IC0JaWYgKGVyciA9PSAtRU5P REVWKQ0KPiAtCQllcnIgPSAwOw0KPiAtDQo+IC0JcmV0dXJuIGVycjsNCj4gLX0NCj4gLQ0KPiAg c3RhdGljIGludCB1ZnNfbXRrX3NldHVwX3JlZl9jbGsoc3RydWN0IHVmc19oYmEgKmhiYSwgYm9v bCBvbikNCj4gIHsNCj4gIAlzdHJ1Y3QgdWZzX210a19ob3N0ICpob3N0ID0gdWZzaGNkX2dldF92 YXJpYW50KGhiYSk7DQo+IEBAIC0xMTg1LDEzICsxMTQ3LDIxIEBAIHN0YXRpYyBpbnQgdWZzX210 a19pbml0KHN0cnVjdCB1ZnNfaGJhICpoYmEpDQo+ICANCj4gIAl1ZnNfbXRrX2luaXRfbWNxX2ly cShoYmEpOw0KPiAgDQo+IC0JZXJyID0gdWZzX210a19iaW5kX21waHkoaGJhKTsNCj4gLQlpZiAo ZXJyKQ0KPiArCWhvc3QtPm1waHkgPSBkZXZtX3BoeV9nZXQoZGV2LCBOVUxMKTsNCj4gKwlpZiAo SVNfRVJSKGhvc3QtPm1waHkpKSB7DQo+ICsJCWVyciA9IGRldl9lcnJfcHJvYmUoZGV2LCBQVFJf RVJSKGhvc3QtPm1waHkpLCAiRmFpbGVkDQo+IHRvIGdldCBQSFlcbiIpOw0KPiArCQlnb3RvIG91 dF92YXJpYW50X2NsZWFyOw0KPiArCX0NCj4gKw0KPiArCWVyciA9IHBoeV9pbml0KGhvc3QtPm1w aHkpOw0KPiArCWlmIChlcnIpIHsNCj4gKwkJZGV2X2Vycl9wcm9iZShkZXYsIGVyciwgIkZhaWxl ZCB0byBpbml0aWFsaXplIFBIWVxuIik7DQo+ICAJCWdvdG8gb3V0X3ZhcmlhbnRfY2xlYXI7DQo+ ICsJfQ0KPiAgDQo+ICAJZXJyID0gdWZzX210a19pbml0X3Jlc2V0KGhiYSk7DQo+ICAJaWYgKGVy cikNCj4gLQkJZ290byBvdXRfdmFyaWFudF9jbGVhcjsNCj4gKwkJZ290byBvdXRfcGh5X2V4aXQ7 DQo+ICANCj4gIAkvKiBFbmFibGUgcnVudGltZSBhdXRvc3VzcGVuZCAqLw0KPiAgCWhiYS0+Y2Fw cyB8PSBVRlNIQ0RfQ0FQX1JQTV9BVVRPU1VTUEVORDsNCj4gQEAgLTEyMzAsNyArMTIwMCw3IEBA IHN0YXRpYyBpbnQgdWZzX210a19pbml0KHN0cnVjdCB1ZnNfaGJhICpoYmEpDQo+ICANCj4gIAll cnIgPSB1ZnNfbXRrX2dldF9zdXBwbGllcyhob3N0KTsNCj4gIAlpZiAoZXJyKQ0KPiAtCQlnb3Rv IG91dF92YXJpYW50X2NsZWFyOw0KPiArCQlnb3RvIG91dF9waHlfZXhpdDsNCj4gIA0KPiAgCS8q DQo+ICAJICogdWZzaGNkX3ZvcHNfaW5pdCgpIGlzIGludm9rZWQgYWZ0ZXINCj4gQEAgLTEyNTUs MTEgKzEyMjUsMjIgQEAgc3RhdGljIGludCB1ZnNfbXRrX2luaXQoc3RydWN0IHVmc19oYmEgKmhi YSkNCj4gIA0KPiAgCXJldHVybiAwOw0KPiAgDQo+ICtvdXRfcGh5X2V4aXQ6DQo+ICsJcGh5X2V4 aXQoaG9zdC0+bXBoeSk7DQo+ICBvdXRfdmFyaWFudF9jbGVhcjoNCj4gIAl1ZnNoY2Rfc2V0X3Zh cmlhbnQoaGJhLCBOVUxMKTsNCj4gIAlyZXR1cm4gZXJyOw0KPiAgfQ0KPiAgDQo+ICtzdGF0aWMg dm9pZCB1ZnNfbXRrX2V4aXQoc3RydWN0IHVmc19oYmEgKmhiYSkNCj4gK3sNCj4gKwlzdHJ1Y3Qg dWZzX210a19ob3N0ICpob3N0ID0gdWZzaGNkX2dldF92YXJpYW50KGhiYSk7DQo+ICsNCj4gKwl1 ZnNfbXRrX21waHlfcG93ZXJfb24oaGJhLCBmYWxzZSk7DQo+ICsNCj4gKwlwaHlfZXhpdChob3N0 LT5tcGh5KTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludCB1ZnNfbXRrX25lZ290aWF0ZV9wd3Jf bW9kZShzdHJ1Y3QgdWZzX2hiYSAqaGJhLA0KPiAgCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB1ZnNf cGFfbGF5ZXJfYXR0cg0KPiAqZGV2X21heF9wYXJhbXMsDQo+ICAJCQkJICAgICAgc3RydWN0IHVm c19wYV9sYXllcl9hdHRyDQo+ICpkZXZfcmVxX3BhcmFtcykNCj4gQEAgLTIyNzIsNiArMjI1Myw3 IEBAIHN0YXRpYyB2b2lkIHVmc19tdGtfY29uZmlnX3Njc2lfZGV2KHN0cnVjdA0KPiBzY3NpX2Rl dmljZSAqc2RldikNCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWZzX2hiYV92YXJpYW50X29wcyB1 ZnNfaGJhX210a192b3BzID0gew0KPiAgCS5uYW1lICAgICAgICAgICAgICAgID0gIm1lZGlhdGVr LnVmc2hjaSIsDQo+ICAJLmluaXQgICAgICAgICAgICAgICAgPSB1ZnNfbXRrX2luaXQsDQo+ICsJ LmV4aXQgICAgICAgICAgICAgICAgPSB1ZnNfbXRrX2V4aXQsDQo+ICAJLmdldF91ZnNfaGNpX3Zl cnNpb24gPSB1ZnNfbXRrX2dldF91ZnNfaGNpX3ZlcnNpb24sDQo+ICAJLnNldHVwX2Nsb2NrcyAg ICAgICAgPSB1ZnNfbXRrX3NldHVwX2Nsb2NrcywNCj4gIAkuaGNlX2VuYWJsZV9ub3RpZnkgICA9 IHVmc19tdGtfaGNlX2VuYWJsZV9ub3RpZnksDQo+IEBAIC0yMzMyLDQ4ICsyMzE0LDE1IEBAIE1P RFVMRV9ERVZJQ0VfVEFCTEUob2YsIHVmc19tdGtfb2ZfbWF0Y2gpOw0KPiAgICovDQo+ICBzdGF0 aWMgaW50IHVmc19tdGtfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIHsN Cj4gLQlpbnQgZXJyOw0KPiArCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7DQo+ICAJ c3RydWN0IHVmc19oYmEgKmhiYTsNCj4gLQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwaHlfcGRl diA9IE5VTEw7DQo+IC0Jc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldiwgKnBoeV9kZXYg PSBOVUxMOw0KPiAtCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGh5X25vZGUgPSBOVUxMOw0KPiAtCXN0 cnVjdCB1ZnNfbXRrX2hvc3QgKmhvc3Q7DQo+IC0NCj4gLQkvKiBmaW5kIHBoeSBub2RlICovDQo+ IC0JcGh5X25vZGUgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+b2Zfbm9kZSwgInBoeXMiLCAwKTsN Cj4gLQ0KPiAtCWlmIChwaHlfbm9kZSkgew0KPiAtCQlwaHlfcGRldiA9IG9mX2ZpbmRfZGV2aWNl X2J5X25vZGUocGh5X25vZGUpOw0KPiAtCQlpZiAoIXBoeV9wZGV2KQ0KPiAtCQkJZ290byBza2lw X3BoeTsNCj4gLQkJcGh5X2RldiA9ICZwaHlfcGRldi0+ZGV2Ow0KPiAtDQo+IC0JCXBtX3J1bnRp bWVfc2V0X2FjdGl2ZShwaHlfZGV2KTsNCj4gLQkJcG1fcnVudGltZV9lbmFibGUocGh5X2Rldik7 DQo+IC0JCXBtX3J1bnRpbWVfZ2V0X3N5bmMocGh5X2Rldik7DQo+IC0NCj4gLQkJcHV0X2Rldmlj ZShwaHlfZGV2KTsNCj4gLQkJZGV2X2luZm8oZGV2LCAicGh5cyBub2RlIGZvdW5kXG4iKTsNCj4g LQl9IGVsc2Ugew0KPiAtCQlkZXZfbm90aWNlKGRldiwgInBoeXMgbm9kZSBub3QgZm91bmRcbiIp Ow0KPiAtCX0NCj4gKwlpbnQgcmV0Ow0KPiAgDQo+IC1za2lwX3BoeToNCj4gLQkvKiBwZXJmb3Jt IGdlbmVyaWMgcHJvYmUgKi8NCj4gLQllcnIgPSB1ZnNoY2RfcGx0ZnJtX2luaXQocGRldiwgJnVm c19oYmFfbXRrX3ZvcHMpOw0KPiAtCWlmIChlcnIpIHsNCj4gLQkJZGV2X2VycihkZXYsICJwcm9i ZSBmYWlsZWQgJWRcbiIsIGVycik7DQo+IC0JCWdvdG8gb3V0Ow0KPiAtCX0NCj4gKwlyZXQgPSB1 ZnNoY2RfcGx0ZnJtX2luaXQocGRldiwgJnVmc19oYmFfbXRrX3ZvcHMpOw0KPiArCWlmIChyZXQp DQo+ICsJCXJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiR2VuZXJpYyBwbGF0Zm9ybSBw cm9iZQ0KPiBmYWlsZWRcbiIpOw0KPiAgDQo+ICAJaGJhID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEo cGRldik7DQo+IC0JaWYgKCFoYmEpDQo+IC0JCWdvdG8gb3V0Ow0KPiAtDQo+IC0JaWYgKHBoeV9u b2RlICYmIHBoeV9kZXYpIHsNCj4gLQkJaG9zdCA9IHVmc2hjZF9nZXRfdmFyaWFudChoYmEpOw0K PiAtCQlob3N0LT5waHlfZGV2ID0gcGh5X2RldjsNCj4gLQl9DQo+ICANCj4gIAkvKg0KPiAgCSAq IEJlY2F1c2UgdGhlIGRlZmF1bHQgcG93ZXIgc2V0dGluZyBvZiBWU3ggKHRoZSB1cHBlciBsYXll ciBvZg0KPiBAQCAtMjM4MiwxNiArMjMzMSwxMiBAQCBzdGF0aWMgaW50IHVmc19tdGtfcHJvYmUo c3RydWN0DQo+IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIAkgKi8NCj4gIAl1ZnNfbXRrX2Rl dl92cmVnX3NldF9scG0oaGJhLCBmYWxzZSk7DQo+ICANCj4gLW91dDoNCj4gLQlvZl9ub2RlX3B1 dChwaHlfbm9kZSk7DQo+IC0JcmV0dXJuIGVycjsNCj4gKwlyZXR1cm4gMDsNCj4gIH0NCj4gIA0K PiAgLyoqDQo+ICAgKiB1ZnNfbXRrX3JlbW92ZSAtIHNldCBkcml2ZXJfZGF0YSBvZiB0aGUgZGV2 aWNlIHRvIE5VTEwNCj4gICAqIEBwZGV2OiBwb2ludGVyIHRvIHBsYXRmb3JtIGRldmljZSBoYW5k bGUNCj4gLSAqDQo+IC0gKiBBbHdheXMgcmV0dXJuIDANCj4gICAqLw0KPiAgc3RhdGljIHZvaWQg dWZzX210a19yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCj4gIHsNCj4gQEAg LTI0NDgsOSArMjM5Myw4IEBAIHN0YXRpYyBpbnQgdWZzX210a19zeXN0ZW1fcmVzdW1lKHN0cnVj dCBkZXZpY2UNCj4gKmRldikNCj4gIHN0YXRpYyBpbnQgdWZzX210a19ydW50aW1lX3N1c3BlbmQo c3RydWN0IGRldmljZSAqZGV2KQ0KPiAgew0KPiAgCXN0cnVjdCB1ZnNfaGJhICpoYmEgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCj4gLQlzdHJ1Y3QgdWZzX210a19ob3N0ICpob3N0ID0gdWZzaGNk X2dldF92YXJpYW50KGhiYSk7DQo+ICAJc3RydWN0IGFybV9zbWNjY19yZXMgcmVzOw0KPiAtCWlu dCByZXQgPSAwOw0KPiArCWludCByZXQ7DQo+ICANCj4gIAlyZXQgPSB1ZnNoY2RfcnVudGltZV9z dXNwZW5kKGRldik7DQo+ICAJaWYgKHJldCkNCj4gQEAgLTI0NjEsOCArMjQwNSwxMSBAQCBzdGF0 aWMgaW50IHVmc19tdGtfcnVudGltZV9zdXNwZW5kKHN0cnVjdA0KPiBkZXZpY2UgKmRldikNCj4g IAlpZiAodWZzX210a19pc19ydGZmX210Y21vcyhoYmEpKQ0KPiAgCQl1ZnNfbXRrX210Y21vc19j dHJsKGZhbHNlLCByZXMpOw0KPiAgDQo+IC0JaWYgKGhvc3QtPnBoeV9kZXYpDQo+IC0JCXBtX3J1 bnRpbWVfcHV0X3N5bmMoaG9zdC0+cGh5X2Rldik7DQo+ICsJcmV0ID0gdWZzX210a19tcGh5X3Bv d2VyX29uKGhiYSwgZmFsc2UpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJZGV2X2VycihkZXYsICJG YWlsZWQgdG8gcG93ZXIgb2ZmIFBIWTogJXBlXG4iLA0KPiBFUlJfUFRSKHJldCkpOw0KPiArCQly ZXR1cm4gcmV0Ow0KPiArCX0NCj4gIA0KPiAgCXJldHVybiAwOw0KPiAgfQ0KPiBAQCAtMjQ3MCwx NCArMjQxNywxNyBAQCBzdGF0aWMgaW50IHVmc19tdGtfcnVudGltZV9zdXNwZW5kKHN0cnVjdA0K PiBkZXZpY2UgKmRldikNCj4gIHN0YXRpYyBpbnQgdWZzX210a19ydW50aW1lX3Jlc3VtZShzdHJ1 Y3QgZGV2aWNlICpkZXYpDQo+ICB7DQo+ICAJc3RydWN0IHVmc19oYmEgKmhiYSA9IGRldl9nZXRf ZHJ2ZGF0YShkZXYpOw0KPiAtCXN0cnVjdCB1ZnNfbXRrX2hvc3QgKmhvc3QgPSB1ZnNoY2RfZ2V0 X3ZhcmlhbnQoaGJhKTsNCj4gIAlzdHJ1Y3QgYXJtX3NtY2NjX3JlcyByZXM7DQo+ICsJaW50IHJl dDsNCj4gIA0KPiAgCWlmICh1ZnNfbXRrX2lzX3J0ZmZfbXRjbW9zKGhiYSkpDQo+ICAJCXVmc19t dGtfbXRjbW9zX2N0cmwodHJ1ZSwgcmVzKTsNCj4gIA0KPiAtCWlmIChob3N0LT5waHlfZGV2KQ0K PiAtCQlwbV9ydW50aW1lX2dldF9zeW5jKGhvc3QtPnBoeV9kZXYpOw0KPiArCXJldCA9IHVmc19t dGtfbXBoeV9wb3dlcl9vbihoYmEsIHRydWUpOw0KPiArCWlmIChyZXQpIHsNCj4gKwkJZGV2X2Vy cihkZXYsICJGYWlsZWQgdG8gcG93ZXIgb24gUEhZOiAlcGVcbiIsDQo+IEVSUl9QVFIocmV0KSk7 DQo+ICsJCXJldHVybiByZXQ7DQo+ICsJfQ0KPiAgDQo+ICAJdWZzX210a19kZXZfdnJlZ19zZXRf bHBtKGhiYSwgZmFsc2UpOw0KPiAgDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Vmcy9ob3N0L3Vm cy1tZWRpYXRlay5oIGIvZHJpdmVycy91ZnMvaG9zdC91ZnMtDQo+IG1lZGlhdGVrLmgNCj4gaW5k ZXggYzYzNzQwYjk4ZTg1Li44YjNjZDE3ZTYyMjcgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvdWZz L2hvc3QvdWZzLW1lZGlhdGVrLmgNCj4gKysrIGIvZHJpdmVycy91ZnMvaG9zdC91ZnMtbWVkaWF0 ZWsuaA0KPiBAQCAtMTk1LDcgKzE5NSw2IEBAIHN0cnVjdCB1ZnNfbXRrX2hvc3Qgew0KPiAgCWJv b2wgaXNfbWNxX2ludHJfZW5hYmxlZDsNCj4gIAlpbnQgbWNxX25yX2ludHI7DQo+ICAJc3RydWN0 IHVmc19tdGtfbWNxX2ludHJfaW5mbyBtY3FfaW50cl9pbmZvW1VGU0hDRF9NQVhfUV9OUl07DQo+ IC0Jc3RydWN0IGRldmljZSAqcGh5X2RldjsNCj4gIH07DQo+ICANCj4gIC8qIE1USyBkZWxheSBv ZiBhdXRvc3VzcGVuZDogNTAwIG1zICovDQo+IA0K