Thread (4 messages) 4 messages, 4 authors, 2012-11-21

RE: [PATCH v12 2/6] video: add of helper for videomode

From: Manjunathappa, Prakash <hidden>
Date: 2012-11-21 10:12:43
Also in: dri-devel, linux-devicetree, linux-media

SGkgU3RlZmZlbiwNCg0KT24gVHVlLCBOb3YgMjAsIDIwMTIgYXQgMjE6MjQ6NTIsIFN0ZWZmZW4g
VHJ1bXRyYXIgd3JvdGU6DQo+IFRoaXMgYWRkcyBzdXBwb3J0IGZvciByZWFkaW5nIGRpc3BsYXkg
dGltaW5ncyBmcm9tIERUIG9yL2FuZCBjb252ZXJ0IG9uZSBvZiB0aG9zZQ0KPiB0aW1pbmdzIHRv
IGEgdmlkZW9tb2RlLg0KPiBUaGUgb2ZfZGlzcGxheV90aW1pbmcgaW1wbGVtZW50YXRpb24gc3Vw
cG9ydHMgbXVsdGlwbGUgY2hpbGRyZW4gd2hlcmUgZWFjaA0KPiBwcm9wZXJ0eSBjYW4gaGF2ZSB1
cCB0byAzIHZhbHVlcy4gQWxsIGNoaWxkcmVuIGFyZSByZWFkIGludG8gYW4gYXJyYXksIHRoYXQN
Cj4gY2FuIGJlIHF1ZXJpZWQuDQo+IG9mX2dldF92aWRlb21vZGUgY29udmVydHMgZXhhY3RseSBv
bmUgb2YgdGhhdCB0aW1pbmdzIHRvIGEgc3RydWN0IHZpZGVvbW9kZS4NCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IFN0ZWZmZW4gVHJ1bXRyYXIgPHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+DQo+IFNp
Z25lZC1vZmYtYnk6IFBoaWxpcHAgWmFiZWwgPHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+DQo+IEFj
a2VkLWJ5OiBTdGVwaGVuIFdhcnJlbiA8c3dhcnJlbkBudmlkaWEuY29tPg0KPiBSZXZpZXdlZC1i
eTogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGF2aW9uaWMtZGVzaWduLmRlPg0KPiBB
Y2tlZC1ieTogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGF2aW9uaWMtZGVzaWduLmRl
Pg0KPiBUZXN0ZWQtYnk6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5LnJlZGluZ0BhdmlvbmljLWRl
c2lnbi5kZT4NCj4gVGVzdGVkLWJ5OiBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4
LmRlPg0KPiBSZXZpZXdlZC1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBp
ZGVhc29uYm9hcmQuY29tPg0KPiAtLS0NCj4gIC4uLi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZpZGVv
L2Rpc3BsYXktdGltaW5ncy50eHQgIHwgIDEwNyArKysrKysrKysrDQo+ICBkcml2ZXJzL3ZpZGVv
L0tjb25maWcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysNCj4gIGRyaXZl
cnMvdmlkZW8vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArDQo+
ICBkcml2ZXJzL3ZpZGVvL29mX2Rpc3BsYXlfdGltaW5nLmMgICAgICAgICAgICAgICAgICB8ICAy
MTYgKysrKysrKysrKysrKysrKysrKysNCj4gIGRyaXZlcnMvdmlkZW8vb2ZfdmlkZW9tb2RlLmMg
ICAgICAgICAgICAgICAgICAgICAgIHwgICA0OCArKysrKw0KPiAgaW5jbHVkZS9saW51eC9vZl9k
aXNwbGF5X3RpbWluZ3MuaCAgICAgICAgICAgICAgICAgfCAgIDIwICsrDQo+ICBpbmNsdWRlL2xp
bnV4L29mX3ZpZGVvbW9kZS5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysNCj4gIDcg
ZmlsZXMgY2hhbmdlZCwgNDI0IGluc2VydGlvbnMoKykNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBE
b2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvdmlkZW8vZGlzcGxheS10aW1pbmdzLnR4
dA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlkZW8vb2ZfZGlzcGxheV90aW1pbmcu
Yw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlkZW8vb2ZfdmlkZW9tb2RlLmMNCj4g
IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L29mX2Rpc3BsYXlfdGltaW5ncy5oDQo+
ICBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9saW51eC9vZl92aWRlb21vZGUuaA0KPiANCj4g
ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy92aWRlby9kaXNw
bGF5LXRpbWluZ3MudHh0IGIvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3ZpZGVv
L2Rpc3BsYXktdGltaW5ncy50eHQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw
MDAwMC4uYTA1Y2FkZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL0RvY3VtZW50YXRpb24vZGV2
aWNldHJlZS9iaW5kaW5ncy92aWRlby9kaXNwbGF5LXRpbWluZ3MudHh0DQo+IEBAIC0wLDAgKzEs
MTA3IEBADQo+ICtkaXNwbGF5LXRpbWluZ3MgYmluZGluZ3MNCj4gKz09PT09PT09PT09PT09PT09
PT09PT09PQ0KPiArDQo+ICtkaXNwbGF5LXRpbWluZ3Mgbm9kZQ0KPiArLS0tLS0tLS0tLS0tLS0t
LS0tLS0NCj4gKw0KPiArcmVxdWlyZWQgcHJvcGVydGllczoNCj4gKyAtIG5vbmUNCj4gKw0KPiAr
b3B0aW9uYWwgcHJvcGVydGllczoNCj4gKyAtIG5hdGl2ZS1tb2RlOiBUaGUgbmF0aXZlIG1vZGUg
Zm9yIHRoZSBkaXNwbGF5LCBpbiBjYXNlIG11bHRpcGxlIG1vZGVzIGFyZQ0KPiArCQlwcm92aWRl
ZC4gV2hlbiBvbWl0dGVkLCBhc3N1bWUgdGhlIGZpcnN0IG5vZGUgaXMgdGhlIG5hdGl2ZS4NCj4g
Kw0KPiArdGltaW5ncyBzdWJub2RlDQo+ICstLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArcmVxdWly
ZWQgcHJvcGVydGllczoNCj4gKyAtIGhhY3RpdmUsIHZhY3RpdmU6IERpc3BsYXkgcmVzb2x1dGlv
bg0KPiArIC0gaGZyb250LXBvcmNoLCBoYmFjay1wb3JjaCwgaHN5bmMtbGVuOiBIb3Jpem9udGFs
IERpc3BsYXkgdGltaW5nIHBhcmFtZXRlcnMNCj4gKyAgIGluIHBpeGVscw0KPiArICAgdmZyb250
LXBvcmNoLCB2YmFjay1wb3JjaCwgdnN5bmMtbGVuOiBWZXJ0aWNhbCBkaXNwbGF5IHRpbWluZyBw
YXJhbWV0ZXJzIGluDQo+ICsgICBsaW5lcw0KPiArIC0gY2xvY2stZnJlcXVlbmN5OiBkaXNwbGF5
IGNsb2NrIGluIEh6DQo+ICsNCj4gK29wdGlvbmFsIHByb3BlcnRpZXM6DQo+ICsgLSBoc3luYy1h
Y3RpdmU6IEhzeW5jIHB1bHNlIGlzIGFjdGl2ZSBsb3cvaGlnaC9pZ25vcmVkDQo+ICsgLSB2c3lu
Yy1hY3RpdmU6IFZzeW5jIHB1bHNlIGlzIGFjdGl2ZSBsb3cvaGlnaC9pZ25vcmVkDQo+ICsgLSBk
ZS1hY3RpdmU6IERhdGEtRW5hYmxlIHB1bHNlIGlzIGFjdGl2ZSBsb3cvaGlnaC9pZ25vcmVkDQo+
ICsgLSBwaXhlbGNsay1pbnZlcnRlZDogcGl4ZWxjbG9jayBpcyBpbnZlcnRlZC9ub24taW52ZXJ0
ZWQvaWdub3JlZA0KPiArIC0gaW50ZXJsYWNlZCAoYm9vbCkNCj4gKyAtIGRvdWJsZXNjYW4gKGJv
b2wpDQo+ICsNCj4gK0FsbCB0aGUgb3B0aW9uYWwgcHJvcGVydGllcyB0aGF0IGFyZSBub3QgYm9v
bCBmb2xsb3cgdGhlIGZvbGxvd2luZyBsb2dpYzoNCj4gKyAgICA8MT46IGhpZ2ggYWN0aXZlDQo+
ICsgICAgPDA+OiBsb3cgYWN0aXZlDQo+ICsgICAgb21pdHRlZDogbm90IHVzZWQgb24gaGFyZHdh
cmUNCj4gKw0KPiArVGhlcmUgYXJlIGRpZmZlcmVudCB3YXlzIG9mIGRlc2NyaWJpbmcgdGhlIGNh
cGFiaWxpdGllcyBvZiBhIGRpc3BsYXkuIFRoZSBkZXZpY2V0cmVlDQo+ICtyZXByZXNlbnRhdGlv
biBjb3JyZXNwb25kcyB0byB0aGUgb25lIGNvbW1vbmx5IGZvdW5kIGluIGRhdGFzaGVldHMgZm9y
IGRpc3BsYXlzLg0KPiArSWYgYSBkaXNwbGF5IHN1cHBvcnRzIG11bHRpcGxlIHNpZ25hbCB0aW1p
bmdzLCB0aGUgbmF0aXZlLW1vZGUgY2FuIGJlIHNwZWNpZmllZC4NCj4gKw0KPiArVGhlIHBhcmFt
ZXRlcnMgYXJlIGRlZmluZWQgYXMNCj4gKw0KPiArc3RydWN0IGRpc3BsYXlfdGltaW5nDQo+ICs9
PT09PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArICArLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tKw0KPiAr
ICB8ICAgICAgICAgIHwgICAgICAgICAgICAgICAg4oaRICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgfCAgICAgICB8DQo+ICsgIHwgICAgICAgICAgfCAgICAgICAgICAgICAg
ICB8dmJhY2tfcG9yY2ggICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8DQo+ICsg
IHwgICAgICAgICAgfCAgICAgICAgICAgICAgICDihpMgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICAgICAgICB8ICAgICAgIHwNCj4gKyAgKy0tLS0tLS0tLS0jIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy0tLS0tLS0tLS0rLS0tLS0tLSsNCj4gKyAg
fCAgICAgICAgICAjICAgICAgICAgICAgICAgIOKGkSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjICAgICAgICAgIHwgICAgICAgfA0KPiArICB8ICAgICAgICAgICMgICAgICAgICAgICAgICAg
fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgIHwgICAgICAgfA0KPiArICB8
ICBoYmFjayAgICMgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAj
ICBoZnJvbnQgIHwgaHN5bmMgfA0KPiArICB8ICAgcG9yY2ggICMgICAgICAgICAgICAgICAgfCAg
ICAgICBoYWN0aXZlICAgICAgICAgICAgICAjICBwb3JjaCAgIHwgIGxlbiAgfA0KPiArICB8PC0t
LS0tLS0tPiM8LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT4jPC0t
LS0tLS0tPnw8LS0tLS0+fA0KPiArICB8ICAgICAgICAgICMgICAgICAgICAgICAgICAgfCAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgIHwgICAgICAgfA0KPiArICB8ICAgICAg
ICAgICMgICAgICAgICAgICAgICAgfHZhY3RpdmUgICAgICAgICAgICAgICAgICAgICAjICAgICAg
ICAgIHwgICAgICAgfA0KPiArICB8ICAgICAgICAgICMgICAgICAgICAgICAgICAgfCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjICAgICAgICAgIHwgICAgICAgfA0KPiArICB8ICAgICAgICAg
ICMgICAgICAgICAgICAgICAg4oaTICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgICAgICAg
ICAgfCAgICAgICB8DQo+ICsgICstLS0tLS0tLS0tIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMtLS0tLS0tLS0tKy0tLS0tLS0rDQo+ICsgIHwgICAgICAgICAg
fCAgICAgICAgICAgICAgICDihpEgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAg
ICB8ICAgICAgIHwNCj4gKyAgfCAgICAgICAgICB8ICAgICAgICAgICAgICAgIHx2ZnJvbnRfcG9y
Y2ggICAgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgIHwNCj4gKyAgfCAgICAgICAgICB8
ICAgICAgICAgICAgICAgIOKGkyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg
IHwgICAgICAgfA0KPiArICArLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tKw0KPiArICB8ICAgICAgICAgIHwg
ICAgICAgICAgICAgICAg4oaRICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg
fCAgICAgICB8DQo+ICsgIHwgICAgICAgICAgfCAgICAgICAgICAgICAgICB8dnN5bmNfbGVuICAg
ICAgICAgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICB8DQo+ICsgIHwgICAgICAgICAgfCAg
ICAgICAgICAgICAgICDihpMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8
ICAgICAgIHwNCj4gKyAgKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLSsNCj4gKw0KPiArDQo+ICtFeGFtcGxl
Og0KPiArDQo+ICsJZGlzcGxheS10aW1pbmdzIHsNCj4gKwkJbmF0aXZlLW1vZGUgPSA8JnRpbWlu
ZzA+Ow0KPiArCQl0aW1pbmcwOiAxOTIwcDI0IHsNCj4gKwkJCS8qIDE5MjB4MTA4MHAyNCAqLw0K
PiArCQkJY2xvY2stZnJlcXVlbmN5ID0gPDUyMDAwMDAwPjsNCj4gKwkJCWhhY3RpdmUgPSA8MTky
MD47DQo+ICsJCQl2YWN0aXZlID0gPDEwODA+Ow0KPiArCQkJaGZyb250LXBvcmNoID0gPDI1PjsN
Cj4gKwkJCWhiYWNrLXBvcmNoID0gPDI1PjsNCj4gKwkJCWhzeW5jLWxlbiA9IDwyNT47DQo+ICsJ
CQl2YmFjay1wb3JjaCA9IDwyPjsNCj4gKwkJCXZmcm9udC1wb3JjaCA9IDwyPjsNCj4gKwkJCXZz
eW5jLWxlbiA9IDwyPjsNCj4gKwkJCWhzeW5jLWFjdGl2ZSA9IDwxPjsNCj4gKwkJfTsNCj4gKwl9
Ow0KPiArDQo+ICtFdmVyeSByZXF1aXJlZCBwcm9wZXJ0eSBhbHNvIHN1cHBvcnRzIHRoZSB1c2Ug
b2YgcmFuZ2VzLCBzbyB0aGUgY29tbW9ubHkgdXNlZA0KPiArZGF0YXNoZWV0IGRlc2NyaXB0aW9u
IHdpdGggPG1pbiB0eXAgbWF4Pi10dXBsZXMgY2FuIGJlIHVzZWQuDQo+ICsNCj4gK0V4YW1wbGU6
DQo+ICsNCj4gKwl0aW1pbmcxOiB0aW1pbmcgew0KPiArCQkvKiAxOTIweDEwODBwMjQgKi8NCj4g
KwkJY2xvY2stZnJlcXVlbmN5ID0gPDE0ODUwMDAwMD47DQo+ICsJCWhhY3RpdmUgPSA8MTkyMD47
DQo+ICsJCXZhY3RpdmUgPSA8MTA4MD47DQo+ICsJCWhzeW5jLWxlbiA9IDwwIDQ0IDYwPjsNCj4g
KwkJaGZyb250LXBvcmNoID0gPDgwIDg4IDk1PjsNCj4gKwkJaGJhY2stcG9yY2ggPSA8MTAwIDE0
OCAxNjA+Ow0KPiArCQl2ZnJvbnQtcG9yY2ggPSA8MCA0IDY+Ow0KPiArCQl2YmFjay1wb3JjaCA9
IDwwIDM2IDUwPjsNCj4gKwkJdnN5bmMtbGVuID0gPDAgNSA2PjsNCj4gKwl9Ow0KPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy92aWRlby9LY29uZmlnIGIvZHJpdmVycy92aWRlby9LY29uZmlnDQo+IGlu
ZGV4IDJhMjNiMTguLjgwN2ZlZGQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvdmlkZW8vS2NvbmZp
Zw0KPiArKysgYi9kcml2ZXJzL3ZpZGVvL0tjb25maWcNCj4gQEAgLTM5LDYgKzM5LDE5IEBAIGNv
bmZpZyBESVNQTEFZX1RJTUlORw0KPiAgY29uZmlnIFZJREVPTU9ERQ0KPiAgICAgICAgIGJvb2wN
Cj4gIA0KPiArY29uZmlnIE9GX0RJU1BMQVlfVElNSU5HDQo+ICsJYm9vbCAiRW5hYmxlIE9GIGRp
c3BsYXkgdGltaW5nIHN1cHBvcnQiDQo+ICsJc2VsZWN0IERJU1BMQVlfVElNSU5HDQo+ICsJaGVs
cA0KPiArCSAgaGVscGVyIHRvIHBhcnNlIGRpc3BsYXkgdGltaW5ncyBmcm9tIHRoZSBkZXZpY2V0
cmVlDQo+ICsNCj4gK2NvbmZpZyBPRl9WSURFT01PREUNCj4gKwlib29sICJFbmFibGUgT0Ygdmlk
ZW9tb2RlIHN1cHBvcnQiDQo+ICsJc2VsZWN0IFZJREVPTU9ERQ0KPiArCXNlbGVjdCBPRl9ESVNQ
TEFZX1RJTUlORw0KPiArCWhlbHANCj4gKwkgIGhlbHBlciB0byBnZXQgdmlkZW9tb2RlcyBmcm9t
IHRoZSBkZXZpY2V0cmVlDQo+ICsNCj4gIG1lbnVjb25maWcgRkINCj4gIAl0cmlzdGF0ZSAiU3Vw
cG9ydCBmb3IgZnJhbWUgYnVmZmVyIGRldmljZXMiDQo+ICAJLS0taGVscC0tLQ0KPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy92aWRlby9NYWtlZmlsZSBiL2RyaXZlcnMvdmlkZW8vTWFrZWZpbGUNCj4g
aW5kZXggZmMzMDQzOS4uYjkzNmIwMCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy92aWRlby9NYWtl
ZmlsZQ0KPiArKysgYi9kcml2ZXJzL3ZpZGVvL01ha2VmaWxlDQo+IEBAIC0xNjgsNCArMTY4LDYg
QEAgb2JqLSQoQ09ORklHX0ZCX1ZJUlRVQUwpICAgICAgICAgICs9IHZmYi5vDQo+ICAjdmlkZW8g
b3V0cHV0IHN3aXRjaCBzeXNmcyBkcml2ZXINCj4gIG9iai0kKENPTkZJR19WSURFT19PVVRQVVRf
Q09OVFJPTCkgKz0gb3V0cHV0Lm8NCj4gIG9iai0kKENPTkZJR19ESVNQTEFZX1RJTUlORykgKz0g
ZGlzcGxheV90aW1pbmcubw0KPiArb2JqLSQoQ09ORklHX09GX0RJU1BMQVlfVElNSU5HKSArPSBv
Zl9kaXNwbGF5X3RpbWluZy5vDQo+ICBvYmotJChDT05GSUdfVklERU9NT0RFKSArPSB2aWRlb21v
ZGUubw0KPiArb2JqLSQoQ09ORklHX09GX1ZJREVPTU9ERSkgKz0gb2ZfdmlkZW9tb2RlLm8NCj4g
ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vb2ZfZGlzcGxheV90aW1pbmcuYyBiL2RyaXZlcnMv
dmlkZW8vb2ZfZGlzcGxheV90aW1pbmcuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl
eCAwMDAwMDAwLi4zZWI3MzFmDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvZHJpdmVycy92aWRl
by9vZl9kaXNwbGF5X3RpbWluZy5jDQo+IEBAIC0wLDAgKzEsMjE2IEBADQo+ICsvKg0KPiArICog
T0YgaGVscGVycyBmb3IgcGFyc2luZyBkaXNwbGF5IHRpbWluZ3MNCj4gKyAqDQo+ICsgKiBDb3B5
cmlnaHQgKGMpIDIwMTIgU3RlZmZlbiBUcnVtdHJhciA8cy50cnVtdHJhckBwZW5ndXRyb25peC5k
ZT4sIFBlbmd1dHJvbml4DQo+ICsgKg0KPiArICogYmFzZWQgb24gb2ZfdmlkZW9tb2RlLmMgYnkg
U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPg0KPiArICoNCj4gKyAqIFRoaXMg
ZmlsZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR1BMdjINCj4gKyAqLw0KPiArI2luY2x1ZGUgPGxp
bnV4L29mLmg+DQo+ICsjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KPiArI2luY2x1ZGUgPGxpbnV4
L2V4cG9ydC5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29mX2Rpc3BsYXlfdGltaW5ncy5oPg0KPiAr
DQo+ICsvKioNCj4gKyAqIHBhcnNlX3Byb3BlcnR5IC0gcGFyc2UgdGltaW5nX2VudHJ5IGZyb20g
ZGV2aWNlX25vZGUNCj4gKyAqIEBucDogZGV2aWNlX25vZGUgd2l0aCB0aGUgcHJvcGVydHkNCj4g
KyAqIEBuYW1lOiBuYW1lIG9mIHRoZSBwcm9wZXJ0eQ0KPiArICogQHJlc3VsdDogd2lsbCBiZSBz
ZXQgdG8gdGhlIHJldHVybiB2YWx1ZQ0KPiArICoNCj4gKyAqIERFU0NSSVBUSU9OOg0KPiArICog
RXZlcnkgZGlzcGxheV90aW1pbmcgY2FuIGJlIHNwZWNpZmllZCB3aXRoIGVpdGhlciBqdXN0IHRo
ZSB0eXBpY2FsIHZhbHVlIG9yDQo+ICsgKiBhIHJhbmdlIGNvbnNpc3Rpbmcgb2YgbWluL3R5cC9t
YXguIFRoaXMgZnVuY3Rpb24gaGVscHMgaGFuZGxpbmcgdGhpcw0KPiArICoqLw0KPiArc3RhdGlj
IGludCBwYXJzZV9wcm9wZXJ0eShjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLCBjb25zdCBj
aGFyICpuYW1lLA0KPiArCQkJICBzdHJ1Y3QgdGltaW5nX2VudHJ5ICpyZXN1bHQpDQo+ICt7DQo+
ICsJc3RydWN0IHByb3BlcnR5ICpwcm9wOw0KPiArCWludCBsZW5ndGgsIGNlbGxzLCByZXQ7DQo+
ICsNCj4gKwlwcm9wID0gb2ZfZmluZF9wcm9wZXJ0eShucCwgbmFtZSwgJmxlbmd0aCk7DQo+ICsJ
aWYgKCFwcm9wKSB7DQo+ICsJCXByX2VycigiJXM6IGNvdWxkIG5vdCBmaW5kIHByb3BlcnR5ICVz
XG4iLCBfX2Z1bmNfXywgbmFtZSk7DQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArCX0NCj4gKw0K
PiArCWNlbGxzID0gbGVuZ3RoIC8gc2l6ZW9mKHUzMik7DQo+ICsJaWYgKGNlbGxzID09IDEpIHsN
Cj4gKwkJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsIG5hbWUsICZyZXN1bHQtPnR5cCk7
DQo+ICsJCXJlc3VsdC0+bWluID0gcmVzdWx0LT50eXA7DQo+ICsJCXJlc3VsdC0+bWF4ID0gcmVz
dWx0LT50eXA7DQo+ICsJfSBlbHNlIGlmIChjZWxscyA9PSAzKSB7DQo+ICsJCXJldCA9IG9mX3By
b3BlcnR5X3JlYWRfdTMyX2FycmF5KG5wLCBuYW1lLCAmcmVzdWx0LT5taW4sIGNlbGxzKTsNCj4g
Kwl9IGVsc2Ugew0KPiArCQlwcl9lcnIoIiVzOiBpbGxlZ2FsIHRpbWluZyBzcGVjaWZpY2F0aW9u
IGluICVzXG4iLCBfX2Z1bmNfXywgbmFtZSk7DQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArCX0N
Cj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICogb2ZfZ2V0X2Rp
c3BsYXlfdGltaW5nIC0gcGFyc2UgZGlzcGxheV90aW1pbmcgZW50cnkgZnJvbSBkZXZpY2Vfbm9k
ZQ0KPiArICogQG5wOiBkZXZpY2Vfbm9kZSB3aXRoIHRoZSBwcm9wZXJ0aWVzDQo+ICsgKiovDQo+
ICtzdGF0aWMgc3RydWN0IGRpc3BsYXlfdGltaW5nICpvZl9nZXRfZGlzcGxheV90aW1pbmcoY29u
c3Qgc3RydWN0IGRldmljZV9ub2RlICpucCkNCj4gK3sNCj4gKwlzdHJ1Y3QgZGlzcGxheV90aW1p
bmcgKmR0Ow0KPiArCWludCByZXQgPSAwOw0KPiArDQo+ICsJZHQgPSBremFsbG9jKHNpemVvZigq
ZHQpLCBHRlBfS0VSTkVMKTsNCj4gKwlpZiAoIWR0KSB7DQo+ICsJCXByX2VycigiJXM6IGNvdWxk
IG5vdCBhbGxvY2F0ZSBkaXNwbGF5X3RpbWluZyBzdHJ1Y3RcbiIsIF9fZnVuY19fKTsNCj4gKwkJ
cmV0dXJuIE5VTEw7DQo+ICsJfQ0KPiArDQo+ICsJcmV0IHw9IHBhcnNlX3Byb3BlcnR5KG5wLCAi
aGJhY2stcG9yY2giLCAmZHQtPmhiYWNrX3BvcmNoKTsNCj4gKwlyZXQgfD0gcGFyc2VfcHJvcGVy
dHkobnAsICJoZnJvbnQtcG9yY2giLCAmZHQtPmhmcm9udF9wb3JjaCk7DQo+ICsJcmV0IHw9IHBh
cnNlX3Byb3BlcnR5KG5wLCAiaGFjdGl2ZSIsICZkdC0+aGFjdGl2ZSk7DQo+ICsJcmV0IHw9IHBh
cnNlX3Byb3BlcnR5KG5wLCAiaHN5bmMtbGVuIiwgJmR0LT5oc3luY19sZW4pOw0KPiArCXJldCB8
PSBwYXJzZV9wcm9wZXJ0eShucCwgInZiYWNrLXBvcmNoIiwgJmR0LT52YmFja19wb3JjaCk7DQo+
ICsJcmV0IHw9IHBhcnNlX3Byb3BlcnR5KG5wLCAidmZyb250LXBvcmNoIiwgJmR0LT52ZnJvbnRf
cG9yY2gpOw0KPiArCXJldCB8PSBwYXJzZV9wcm9wZXJ0eShucCwgInZhY3RpdmUiLCAmZHQtPnZh
Y3RpdmUpOw0KPiArCXJldCB8PSBwYXJzZV9wcm9wZXJ0eShucCwgInZzeW5jLWxlbiIsICZkdC0+
dnN5bmNfbGVuKTsNCj4gKwlyZXQgfD0gcGFyc2VfcHJvcGVydHkobnAsICJjbG9jay1mcmVxdWVu
Y3kiLCAmZHQtPnBpeGVsY2xvY2spOw0KPiArDQo+ICsJb2ZfcHJvcGVydHlfcmVhZF91MzIobnAs
ICJ2c3luYy1hY3RpdmUiLCAmZHQtPnZzeW5jX3BvbF9hY3RpdmUpOw0KPiArCW9mX3Byb3BlcnR5
X3JlYWRfdTMyKG5wLCAiaHN5bmMtYWN0aXZlIiwgJmR0LT5oc3luY19wb2xfYWN0aXZlKTsNCj4g
KwlvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgImRlLWFjdGl2ZSIsICZkdC0+ZGVfcG9sX2FjdGl2
ZSk7DQo+ICsJb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJwaXhlbGNsay1pbnZlcnRlZCIsICZk
dC0+cGl4ZWxjbGtfcG9sKTsNCj4gKwlkdC0+aW50ZXJsYWNlZCA9IG9mX3Byb3BlcnR5X3JlYWRf
Ym9vbChucCwgImludGVybGFjZWQiKTsNCj4gKwlkdC0+ZG91Ymxlc2NhbiA9IG9mX3Byb3BlcnR5
X3JlYWRfYm9vbChucCwgImRvdWJsZXNjYW4iKTsNCj4gKw0KPiArCWlmIChyZXQpIHsNCj4gKwkJ
cHJfZXJyKCIlczogZXJyb3IgcmVhZGluZyB0aW1pbmcgcHJvcGVydGllc1xuIiwgX19mdW5jX18p
Ow0KPiArCQlrZnJlZShkdCk7DQo+ICsJCXJldHVybiBOVUxMOw0KPiArCX0NCj4gKw0KPiArCXJl
dHVybiBkdDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgKiBvZl9nZXRfZGlzcGxheV90aW1pbmdz
IC0gcGFyc2UgYWxsIGRpc3BsYXlfdGltaW5nIGVudHJpZXMgZnJvbSBhIGRldmljZV9ub2RlDQo+
ICsgKiBAbnA6IGRldmljZV9ub2RlIHdpdGggdGhlIHN1Ym5vZGVzDQo+ICsgKiovDQo+ICtzdHJ1
Y3QgZGlzcGxheV90aW1pbmdzICpvZl9nZXRfZGlzcGxheV90aW1pbmdzKGNvbnN0IHN0cnVjdCBk
ZXZpY2Vfbm9kZSAqbnApDQo+ICt7DQo+ICsJc3RydWN0IGRldmljZV9ub2RlICp0aW1pbmdzX25w
Ow0KPiArCXN0cnVjdCBkZXZpY2Vfbm9kZSAqZW50cnk7DQo+ICsJc3RydWN0IGRldmljZV9ub2Rl
ICpuYXRpdmVfbW9kZTsNCj4gKwlzdHJ1Y3QgZGlzcGxheV90aW1pbmdzICpkaXNwOw0KPiArDQo+
ICsJaWYgKCFucCkgew0KPiArCQlwcl9lcnIoIiVzOiBubyBkZXZpY2Vub2RlIGdpdmVuXG4iLCBf
X2Z1bmNfXyk7DQo+ICsJCXJldHVybiBOVUxMOw0KPiArCX0NCj4gKw0KPiArCXRpbWluZ3NfbnAg
PSBvZl9maW5kX25vZGVfYnlfbmFtZShucCwgImRpc3BsYXktdGltaW5ncyIpOw0KDQpJIGdldCBi
ZWxvdyBidWlsZCB3YXJuaW5ncyBvbiB0aGlzIGxpbmUNCmRyaXZlcnMvdmlkZW8vb2ZfZGlzcGxh
eV90aW1pbmcuYzogSW4gZnVuY3Rpb24gJ29mX2dldF9kaXNwbGF5X3RpbWluZ3MnOg0KZHJpdmVy
cy92aWRlby9vZl9kaXNwbGF5X3RpbWluZy5jOjEwOToyOiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3Vt
ZW50IDEgb2YgJ29mX2ZpbmRfbm9kZV9ieV9uYW1lJyBkaXNjYXJkcyBxdWFsaWZpZXJzIGZyb20g
cG9pbnRlciB0YXJnZXQgdHlwZQ0KaW5jbHVkZS9saW51eC9vZi5oOjE2NzoyODogbm90ZTogZXhw
ZWN0ZWQgJ3N0cnVjdCBkZXZpY2Vfbm9kZSAqJyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnY29u
c3Qgc3RydWN0IGRldmljZV9ub2RlIConDQoNCj4gKwlpZiAoIXRpbWluZ3NfbnApIHsNCj4gKwkJ
cHJfZXJyKCIlczogY291bGQgbm90IGZpbmQgZGlzcGxheS10aW1pbmdzIG5vZGVcbiIsIF9fZnVu
Y19fKTsNCj4gKwkJcmV0dXJuIE5VTEw7DQo+ICsJfQ0KPiArDQo+ICsJZGlzcCA9IGt6YWxsb2Mo
c2l6ZW9mKCpkaXNwKSwgR0ZQX0tFUk5FTCk7DQo+ICsJaWYgKCFkaXNwKSB7DQo+ICsJCXByX2Vy
cigiJXM6IGNvdWxkIG5vdCBhbGxvY2F0ZSBzdHJ1Y3QgZGlzcCdcbiIsIF9fZnVuY19fKTsNCj4g
KwkJZ290byBkaXNwZmFpbDsNCj4gKwl9DQo+ICsNCj4gKwllbnRyeSA9IG9mX3BhcnNlX3BoYW5k
bGUodGltaW5nc19ucCwgIm5hdGl2ZS1tb2RlIiwgMCk7DQo+ICsJLyogYXNzdW1lIGZpcnN0IGNo
aWxkIGFzIG5hdGl2ZSBtb2RlIGlmIG5vbmUgcHJvdmlkZWQgKi8NCj4gKwlpZiAoIWVudHJ5KQ0K
PiArCQllbnRyeSA9IG9mX2dldF9uZXh0X2NoaWxkKG5wLCBOVUxMKTsNCj4gKwkvKiBpZiB0aGVy
ZSBpcyBubyBjaGlsZCwgaXQgaXMgdXNlbGVzcyB0byBnbyBvbiAqLw0KPiArCWlmICghZW50cnkp
IHsNCj4gKwkJcHJfZXJyKCIlczogbm8gdGltaW5nIHNwZWNpZmljYXRpb25zIGdpdmVuXG4iLCBf
X2Z1bmNfXyk7DQo+ICsJCWdvdG8gZW50cnlmYWlsOw0KPiArCX0NCj4gKw0KPiArCXByX2luZm8o
IiVzOiB1c2luZyAlcyBhcyBkZWZhdWx0IHRpbWluZ1xuIiwgX19mdW5jX18sIGVudHJ5LT5uYW1l
KTsNCj4gKw0KPiArCW5hdGl2ZV9tb2RlID0gZW50cnk7DQo+ICsNCj4gKwlkaXNwLT5udW1fdGlt
aW5ncyA9IG9mX2dldF9jaGlsZF9jb3VudCh0aW1pbmdzX25wKTsNCj4gKwlpZiAoZGlzcC0+bnVt
X3RpbWluZ3MgPT0gMCkgew0KPiArCQkvKiBzaG91bGQgbmV2ZXIgaGFwcGVuLCBhcyBlbnRyeSB3
YXMgYWxyZWFkeSBmb3VuZCBhYm92ZSAqLw0KPiArCQlwcl9lcnIoIiVzOiBubyB0aW1pbmdzIHNw
ZWNpZmllZFxuIiwgX19mdW5jX18pOw0KPiArCQlnb3RvIGVudHJ5ZmFpbDsNCj4gKwl9DQo+ICsN
Cj4gKwlkaXNwLT50aW1pbmdzID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRpc3BsYXlfdGltaW5n
ICopICogZGlzcC0+bnVtX3RpbWluZ3MsDQo+ICsJCQkJR0ZQX0tFUk5FTCk7DQo+ICsJaWYgKCFk
aXNwLT50aW1pbmdzKSB7DQo+ICsJCXByX2VycigiJXM6IGNvdWxkIG5vdCBhbGxvY2F0ZSB0aW1p
bmdzIGFycmF5XG4iLCBfX2Z1bmNfXyk7DQo+ICsJCWdvdG8gZW50cnlmYWlsOw0KPiArCX0NCj4g
Kw0KPiArCWRpc3AtPm51bV90aW1pbmdzID0gMDsNCj4gKwlkaXNwLT5uYXRpdmVfbW9kZSA9IDA7
DQo+ICsNCj4gKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKHRpbWluZ3NfbnAsIGVudHJ5KSB7DQo+
ICsJCXN0cnVjdCBkaXNwbGF5X3RpbWluZyAqZHQ7DQo+ICsNCj4gKwkJZHQgPSBvZl9nZXRfZGlz
cGxheV90aW1pbmcoZW50cnkpOw0KPiArCQlpZiAoIWR0KSB7DQo+ICsJCQkvKg0KPiArCQkJICog
dG8gbm90IGVuY291cmFnZSB3cm9uZyBkZXZpY2V0cmVlcywgZmFpbCBpbiBjYXNlIG9mDQo+ICsJ
CQkgKiBhbiBlcnJvcg0KPiArCQkJICovDQo+ICsJCQlwcl9lcnIoIiVzOiBlcnJvciBpbiB0aW1p
bmcgJWRcbiIsIF9fZnVuY19fLA0KPiArCQkJICAgICAgIGRpc3AtPm51bV90aW1pbmdzICsgMSk7
DQo+ICsJCQlnb3RvIHRpbWluZ2ZhaWw7DQo+ICsJCX0NCj4gKw0KPiArCQlpZiAobmF0aXZlX21v
ZGUgPT0gZW50cnkpDQo+ICsJCQlkaXNwLT5uYXRpdmVfbW9kZSA9IGRpc3AtPm51bV90aW1pbmdz
Ow0KPiArDQo+ICsJCWRpc3AtPnRpbWluZ3NbZGlzcC0+bnVtX3RpbWluZ3NdID0gZHQ7DQo+ICsJ
CWRpc3AtPm51bV90aW1pbmdzKys7DQo+ICsJfQ0KPiArCW9mX25vZGVfcHV0KHRpbWluZ3NfbnAp
Ow0KPiArCW9mX25vZGVfcHV0KG5hdGl2ZV9tb2RlKTsNCj4gKw0KPiArCWlmIChkaXNwLT5udW1f
dGltaW5ncyA+IDApDQo+ICsJCXByX2luZm8oIiVzOiBnb3QgJWQgdGltaW5ncy4gVXNpbmcgdGlt
aW5nICMlZCBhcyBkZWZhdWx0XG4iLA0KPiArCQkJX19mdW5jX18sIGRpc3AtPm51bV90aW1pbmdz
LCBkaXNwLT5uYXRpdmVfbW9kZSArIDEpOw0KPiArCWVsc2Ugew0KPiArCQlwcl9lcnIoIiVzOiBu
byB2YWxpZCB0aW1pbmdzIHNwZWNpZmllZFxuIiwgX19mdW5jX18pOw0KPiArCQlkaXNwbGF5X3Rp
bWluZ3NfcmVsZWFzZShkaXNwKTsNCj4gKwkJcmV0dXJuIE5VTEw7DQo+ICsJfQ0KPiArCXJldHVy
biBkaXNwOw0KPiArDQo+ICt0aW1pbmdmYWlsOg0KPiArCWlmIChuYXRpdmVfbW9kZSkNCj4gKwkJ
b2Zfbm9kZV9wdXQobmF0aXZlX21vZGUpOw0KPiArCWRpc3BsYXlfdGltaW5nc19yZWxlYXNlKGRp
c3ApOw0KPiArZW50cnlmYWlsOg0KPiArCWlmIChkaXNwKQ0KPiArCQlrZnJlZShkaXNwKTsNCj4g
K2Rpc3BmYWlsOg0KPiArCW9mX25vZGVfcHV0KHRpbWluZ3NfbnApOw0KPiArCXJldHVybiBOVUxM
Ow0KPiArfQ0KPiArRVhQT1JUX1NZTUJPTF9HUEwob2ZfZ2V0X2Rpc3BsYXlfdGltaW5ncyk7DQo+
ICsNCj4gKy8qKg0KPiArICogb2ZfZGlzcGxheV90aW1pbmdzX2V4aXN0cyAtIGNoZWNrIGlmIGEg
ZGlzcGxheS10aW1pbmdzIG5vZGUgaXMgcHJvdmlkZWQNCj4gKyAqIEBucDogZGV2aWNlX25vZGUg
d2l0aCB0aGUgdGltaW5nDQo+ICsgKiovDQo+ICtpbnQgb2ZfZGlzcGxheV90aW1pbmdzX2V4aXN0
cyhjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKQ0KPiArew0KPiArCXN0cnVjdCBkZXZpY2Vf
bm9kZSAqdGltaW5nc19ucDsNCj4gKw0KPiArCWlmICghbnApDQo+ICsJCXJldHVybiAtRUlOVkFM
Ow0KPiArDQo+ICsJdGltaW5nc19ucCA9IG9mX3BhcnNlX3BoYW5kbGUobnAsICJkaXNwbGF5LXRp
bWluZ3MiLCAwKTsNCg0KQWxzbyBoZXJlOg0KZHJpdmVycy92aWRlby9vZl9kaXNwbGF5X3RpbWlu
Zy5jOiBJbiBmdW5jdGlvbiAnb2ZfZGlzcGxheV90aW1pbmdzX2V4aXN0cyc6DQpkcml2ZXJzL3Zp
ZGVvL29mX2Rpc3BsYXlfdGltaW5nLmM6MjA5OjI6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQg
MSBvZiAnb2ZfcGFyc2VfcGhhbmRsZScgZGlzY2FyZHMgcXVhbGlmaWVycyBmcm9tIHBvaW50ZXIg
dGFyZ2V0IHR5cGUNCmluY2x1ZGUvbGludXgvb2YuaDoyNTg6Mjg6IG5vdGU6IGV4cGVjdGVkICdz
dHJ1Y3QgZGV2aWNlX25vZGUgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2NvbnN0IHN0cnVj
dCBkZXZpY2Vfbm9kZSAqJw0KDQpUaGFua3MsDQpQcmFrYXNoDQoNCj4gKwlpZiAoIXRpbWluZ3Nf
bnApDQo+ICsJCXJldHVybiAtRUlOVkFMOw0KPiArDQo+ICsJb2Zfbm9kZV9wdXQodGltaW5nc19u
cCk7DQo+ICsJcmV0dXJuIDE7DQo+ICt9DQo+ICtFWFBPUlRfU1lNQk9MX0dQTChvZl9kaXNwbGF5
X3RpbWluZ3NfZXhpc3RzKTsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vb2ZfdmlkZW9t
b2RlLmMgYi9kcml2ZXJzL3ZpZGVvL29mX3ZpZGVvbW9kZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0DQo+IGluZGV4IDAwMDAwMDAuLmM1NzNmOTINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9k
cml2ZXJzL3ZpZGVvL29mX3ZpZGVvbW9kZS5jDQo+IEBAIC0wLDAgKzEsNDggQEANCj4gKy8qDQo+
ICsgKiBnZW5lcmljIHZpZGVvbW9kZSBoZWxwZXINCj4gKyAqDQo+ICsgKiBDb3B5cmlnaHQgKGMp
IDIwMTIgU3RlZmZlbiBUcnVtdHJhciA8cy50cnVtdHJhckBwZW5ndXRyb25peC5kZT4sIFBlbmd1
dHJvbml4DQo+ICsgKg0KPiArICogVGhpcyBmaWxlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHUEx2
Mg0KPiArICovDQo+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9v
Zl9kaXNwbGF5X3RpbWluZ3MuaD4NCj4gKyNpbmNsdWRlIDxsaW51eC9vZl92aWRlb21vZGUuaD4N
Cj4gKyNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4NCj4gKw0KPiArLyoqDQo+ICsgKiBvZl9nZXRf
dmlkZW9tb2RlIC0gZ2V0IHRoZSB2aWRlb21vZGUgIzxpbmRleD4gZnJvbSBkZXZpY2V0cmVlDQo+
ICsgKiBAbnAgLSBkZXZpY2Vub2RlIHdpdGggdGhlIGRpc3BsYXlfdGltaW5ncw0KPiArICogQHZt
IC0gc2V0IHRvIHJldHVybiB2YWx1ZQ0KPiArICogQGluZGV4IC0gaW5kZXggaW50byBsaXN0IG9m
IGRpc3BsYXlfdGltaW5ncw0KPiArICogREVTQ1JJUFRJT046DQo+ICsgKiBHZXQgYSBsaXN0IG9m
IGFsbCBkaXNwbGF5IHRpbWluZ3MgYW5kIHB1dCB0aGUgb25lDQo+ICsgKiBzcGVjaWZpZWQgYnkg
aW5kZXggaW50byAqdm0uIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCwgaWYNCj4g
KyAqIG9ubHkgb25lIHZpZGVvbW9kZSBpcyB0byBiZSByZXRyaWV2ZWQuIEEgZHJpdmVyIHRoYXQg
bmVlZHMgdG8gd29yaw0KPiArICogd2l0aCBtdWx0aXBsZS9hbGwgdmlkZW9tb2RlcyBzaG91bGQg
d29yayB3aXRoDQo+ICsgKiBvZl9nZXRfZGlzcGxheV90aW1pbmdzIGluc3RlYWQuDQo+ICsgKiov
DQo+ICtpbnQgb2ZfZ2V0X3ZpZGVvbW9kZShjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLCBz
dHJ1Y3QgdmlkZW9tb2RlICp2bSwNCj4gKwkJICAgICBpbnQgaW5kZXgpDQo+ICt7DQo+ICsJc3Ry
dWN0IGRpc3BsYXlfdGltaW5ncyAqZGlzcDsNCj4gKwlpbnQgcmV0Ow0KPiArDQo+ICsJZGlzcCA9
IG9mX2dldF9kaXNwbGF5X3RpbWluZ3MobnApOw0KPiArCWlmICghZGlzcCkgew0KPiArCQlwcl9l
cnIoIiVzOiBubyB0aW1pbmdzIHNwZWNpZmllZFxuIiwgX19mdW5jX18pOw0KPiArCQlyZXR1cm4g
LUVJTlZBTDsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoaW5kZXggPT0gT0ZfVVNFX05BVElWRV9NT0RF
KQ0KPiArCQlpbmRleCA9IGRpc3AtPm5hdGl2ZV9tb2RlOw0KPiArDQo+ICsJcmV0ID0gdmlkZW9t
b2RlX2Zyb21fdGltaW5nKGRpc3AsIHZtLCBpbmRleCk7DQo+ICsJaWYgKHJldCkNCj4gKwkJcmV0
dXJuIHJldDsNCj4gKw0KPiArCWRpc3BsYXlfdGltaW5nc19yZWxlYXNlKGRpc3ApOw0KPiArDQo+
ICsJcmV0dXJuIDA7DQo+ICt9DQo+ICtFWFBPUlRfU1lNQk9MX0dQTChvZl9nZXRfdmlkZW9tb2Rl
KTsNCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvb2ZfZGlzcGxheV90aW1pbmdzLmggYi9p
bmNsdWRlL2xpbnV4L29mX2Rpc3BsYXlfdGltaW5ncy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0
DQo+IGluZGV4IDAwMDAwMDAuLjJiNGZhMGENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9pbmNs
dWRlL2xpbnV4L29mX2Rpc3BsYXlfdGltaW5ncy5oDQo+IEBAIC0wLDAgKzEsMjAgQEANCj4gKy8q
DQo+ICsgKiBDb3B5cmlnaHQgMjAxMiBTdGVmZmVuIFRydW10cmFyIDxzLnRydW10cmFyQHBlbmd1
dHJvbml4LmRlPg0KPiArICoNCj4gKyAqIGRpc3BsYXkgdGltaW5ncyBvZiBoZWxwZXJzDQo+ICsg
Kg0KPiArICogVGhpcyBmaWxlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBHUEx2Mg0KPiArICovDQo+
ICsNCj4gKyNpZm5kZWYgX19MSU5VWF9PRl9ESVNQTEFZX1RJTUlOR1NfSA0KPiArI2RlZmluZSBf
X0xJTlVYX09GX0RJU1BMQVlfVElNSU5HU19IDQo+ICsNCj4gKyNpbmNsdWRlIDxsaW51eC9kaXNw
bGF5X3RpbWluZy5oPg0KPiArI2luY2x1ZGUgPGxpbnV4L29mLmg+DQo+ICsNCj4gKyNkZWZpbmUg
T0ZfVVNFX05BVElWRV9NT0RFIC0xDQo+ICsNCj4gK3N0cnVjdCBkaXNwbGF5X3RpbWluZ3MgKm9m
X2dldF9kaXNwbGF5X3RpbWluZ3MoY29uc3Qgc3RydWN0IGRldmljZV9ub2RlICpucCk7DQo+ICtp
bnQgb2ZfZGlzcGxheV90aW1pbmdzX2V4aXN0cyhjb25zdCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w
KTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L29mX3ZpZGVv
bW9kZS5oIGIvaW5jbHVkZS9saW51eC9vZl92aWRlb21vZGUuaA0KPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NA0KPiBpbmRleCAwMDAwMDAwLi40ZGU1ZmNjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv
aW5jbHVkZS9saW51eC9vZl92aWRlb21vZGUuaA0KPiBAQCAtMCwwICsxLDE4IEBADQo+ICsvKg0K
PiArICogQ29weXJpZ2h0IDIwMTIgU3RlZmZlbiBUcnVtdHJhciA8cy50cnVtdHJhckBwZW5ndXRy
b25peC5kZT4NCj4gKyAqDQo+ICsgKiB2aWRlb21vZGUgb2YtaGVscGVycw0KPiArICoNCj4gKyAq
IFRoaXMgZmlsZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgR1BMdjINCj4gKyAqLw0KPiArDQo+ICsj
aWZuZGVmIF9fTElOVVhfT0ZfVklERU9NT0RFX0gNCj4gKyNkZWZpbmUgX19MSU5VWF9PRl9WSURF
T01PREVfSA0KPiArDQo+ICsjaW5jbHVkZSA8bGludXgvdmlkZW9tb2RlLmg+DQo+ICsjaW5jbHVk
ZSA8bGludXgvb2YuaD4NCj4gKw0KPiAraW50IG9mX2dldF92aWRlb21vZGUoY29uc3Qgc3RydWN0
IGRldmljZV9ub2RlICpucCwgc3RydWN0IHZpZGVvbW9kZSAqdm0sDQo+ICsJCSAgICAgaW50IGlu
ZGV4KTsNCj4gKw0KPiArI2VuZGlmIC8qIF9fTElOVVhfT0ZfVklERU9NT0RFX0ggKi8NCj4gLS0g
DQo+IDEuNy4xMC40DQo+IA0KPiAtLQ0KPiBUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDog
c2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtZmJkZXYiIGluDQo+IHRoZSBib2R5IG9m
IGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnDQo+IE1vcmUgbWFqb3Jkb21v
IGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0KPiAN
Cg0K
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help