From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH 2/3] drm/imx: convey the pixelclk-active and de-active
flags from DT to the ipu-di driver
Date: Fri, 20 May 2016 16:31:43 +0200
Message-ID: <1463754703.4322.42.camel@pengutronix.de>
References: <1463751294-24769-1-git-send-email-LW@KARO-electronics.de>
<1463751294-24769-3-git-send-email-LW@KARO-electronics.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de
[IPv6:2001:67c:670:201:290:27ff:fe1d:cc33])
by gabe.freedesktop.org (Postfix) with ESMTPS id BF02A6E382
for ; Fri, 20 May 2016 14:31:52 +0000 (UTC)
In-Reply-To: <1463751294-24769-3-git-send-email-LW@KARO-electronics.de>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: Lothar =?ISO-8859-1?Q?Wa=DFmann?=
Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Russell King - ARM Linux , Tomi Valkeinen , Sascha Hauer , Uwe =?ISO-8859-1?Q?Kleine-K=F6nig?= , Jean-Christophe Plagniol-Villard
List-Id: dri-devel@lists.freedesktop.org
SGkgTG90aGFyLAoKQW0gRnJlaXRhZywgZGVuIDIwLjA1LjIwMTYsIDE1OjM0ICswMjAwIHNjaHJp
ZWIgTG90aGFyIFdhw59tYW5uOgo+IEN1cnJlbnRseSB0aGVzZSBmbGFncyBhcmUgbG9zdCBpbiB0
aGUgY2FsbAo+IGRybV9kaXNwbGF5X21vZGVfZnJvbV92aWRlb21vZGUoKQo+IAo+IFNpZ25lZC1v
ZmYtYnk6IExvdGhhciBXYcOfbWFubiA8TFdAS0FSTy1lbGVjdHJvbmljcy5kZT4KCnRoYW5rIHlv
dSBmb3IgdGhlIHBhdGNoZXMuIFRoZSBvdGhlciB0d28gbG9vayBmaW5lIHRvIG1lLCBjb3VsZCB5
b3UKcmViYXNlIHRoaXMgb25lIG9uIHRvcCBvZjoKaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9y
Zy9wYXRjaC85MTEzNzkxLyAoImRybS9pbXg6IHVzZSBidXNfZmxhZ3MgZm9yCnBpeGVsIGNsb2Nr
IHBvbGFyaXR5Iik/CgpyZWdhcmRzClBoaWxpcHAKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p
bXgvaW14LWRybS1jb3JlLmMgICAgIHwgMTIgKysrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJt
L2lteC9pbXgtZHJtLmggICAgICAgICAgfCAgNyArKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9p
bXgvaW14LWxkYi5jICAgICAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t
LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyAgICAgICB8ICA3ICsrKyst
LS0KPiAgZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMgfCAzMSArKysrKysr
KysrKysrKysrKysrKysrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2lwdS12My9pcHUtZGkuYyAgICAg
ICAgICAgIHwgMTQgKysrKysrKy0tLS0tLQo+ICBpbmNsdWRlL3ZpZGVvL2lteC1pcHUtdjMuaCAg
ICAgICAgICAgICB8ICA1ICstLS0tCj4gIDcgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygr
KSwgMzIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv
aW14LWRybS1jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCj4gaW5k
ZXggMjQ1M2ZiMS4uNTE3MzViMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lt
eC1kcm0tY29yZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLWNvcmUuYwo+
IEBAIC05Niw3ICs5Niw4IEBAIHN0YXRpYyBzdHJ1Y3QgaW14X2RybV9jcnRjICppbXhfZHJtX2Zp
bmRfY3J0YyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlyZXR1cm4gTlVMTDsKPiAgfQo+ICAK
PiAtaW50IGlteF9kcm1fc2V0X2J1c19mb3JtYXRfcGlucyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu
Y29kZXIsIHUzMiBidXNfZm9ybWF0LAo+ICtpbnQgaW14X2RybV9zZXRfYnVzX2Zvcm1hdF9waW5z
KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiArCQl1MzIgYnVzX2Zvcm1hdCwgdTMyIGJ1
c19mbGFncywKPiAgCQlpbnQgaHN5bmNfcGluLCBpbnQgdnN5bmNfcGluKQo+ICB7Cj4gIAlzdHJ1
Y3QgaW14X2RybV9jcnRjX2hlbHBlcl9mdW5jcyAqaGVscGVyOwo+IEBAIC0xMDksMTQgKzExMCwx
NyBAQCBpbnQgaW14X2RybV9zZXRfYnVzX2Zvcm1hdF9waW5zKHN0cnVjdCBkcm1fZW5jb2RlciAq
ZW5jb2RlciwgdTMyIGJ1c19mb3JtYXQsCj4gIAloZWxwZXIgPSAmaW14X2NydGMtPmlteF9kcm1f
aGVscGVyX2Z1bmNzOwo+ICAJaWYgKGhlbHBlci0+c2V0X2ludGVyZmFjZV9waXhfZm10KQo+ICAJ
CXJldHVybiBoZWxwZXItPnNldF9pbnRlcmZhY2VfcGl4X2ZtdChlbmNvZGVyLT5jcnRjLAo+IC0J
CQkJCWJ1c19mb3JtYXQsIGhzeW5jX3BpbiwgdnN5bmNfcGluKTsKPiArCQkJCQlidXNfZm9ybWF0
LCBidXNfZmxhZ3MsCj4gKwkJCQkJaHN5bmNfcGluLCB2c3luY19waW4pOwo+ICAJcmV0dXJuIDA7
Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTF9HUEwoaW14X2RybV9zZXRfYnVzX2Zvcm1hdF9waW5zKTsK
PiAgCj4gLWludCBpbXhfZHJtX3NldF9idXNfZm9ybWF0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j
b2RlciwgdTMyIGJ1c19mb3JtYXQpCj4gK2ludCBpbXhfZHJtX3NldF9idXNfZm9ybWF0KHN0cnVj
dCBkcm1fZW5jb2RlciAqZW5jb2RlciwgdTMyIGJ1c19mb3JtYXQsCj4gKwkJdTMyIGJ1c19mbGFn
cykKPiAgewo+IC0JcmV0dXJuIGlteF9kcm1fc2V0X2J1c19mb3JtYXRfcGlucyhlbmNvZGVyLCBi
dXNfZm9ybWF0LCAyLCAzKTsKPiArCXJldHVybiBpbXhfZHJtX3NldF9idXNfZm9ybWF0X3BpbnMo
ZW5jb2RlciwgYnVzX2Zvcm1hdCwgYnVzX2ZsYWdzLAo+ICsJCQkJCTIsIDMpOwo+ICB9Cj4gIEVY
UE9SVF9TWU1CT0xfR1BMKGlteF9kcm1fc2V0X2J1c19mb3JtYXQpOwo+ICAKPiBkaWZmIC0tZ2l0
IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtZHJtLmggYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lt
eC1kcm0uaAo+IGluZGV4IGIwMjQxYjkuLmI3NGJhZjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n
cHUvZHJtL2lteC9pbXgtZHJtLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0u
aAo+IEBAIC0xOSw3ICsxOSw4IEBAIHN0cnVjdCBpbXhfZHJtX2NydGNfaGVscGVyX2Z1bmNzIHsK
PiAgCWludCAoKmVuYWJsZV92YmxhbmspKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIAl2b2lk
ICgqZGlzYWJsZV92YmxhbmspKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIAlpbnQgKCpzZXRf
aW50ZXJmYWNlX3BpeF9mbXQpKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAtCQkJdTMyIGJ1c19m
b3JtYXQsIGludCBoc3luY19waW4sIGludCB2c3luY19waW4pOwo+ICsJCQl1MzIgYnVzX2Zvcm1h
dCwgdTMyIGJ1c19mbGFncywKPiArCQkJaW50IGhzeW5jX3BpbiwgaW50IHZzeW5jX3Bpbik7Cj4g
IAljb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzICpjcnRjX2hlbHBlcl9mdW5jczsK
PiAgCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyAqY3J0Y19mdW5jczsKPiAgfTsKPiBAQCAt
NDIsOSArNDMsOSBAQCB2b2lkIGlteF9kcm1fbW9kZV9jb25maWdfaW5pdChzdHJ1Y3QgZHJtX2Rl
dmljZSAqZHJtKTsKPiAgc3RydWN0IGRybV9nZW1fY21hX29iamVjdCAqaW14X2RybV9mYl9nZXRf
b2JqKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKTsKPiAgCj4gIGludCBpbXhfZHJtX3NldF9i
dXNfZm9ybWF0X3BpbnMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAo+IC0JCXUzMiBidXNf
Zm9ybWF0LCBpbnQgaHN5bmNfcGluLCBpbnQgdnN5bmNfcGluKTsKPiArCQl1MzIgYnVzX2Zvcm1h
dCwgdTMyIGJ1c19mbGFncywgaW50IGhzeW5jX3BpbiwgaW50IHZzeW5jX3Bpbik7Cj4gIGludCBp
bXhfZHJtX3NldF9idXNfZm9ybWF0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAtCQl1
MzIgYnVzX2Zvcm1hdCk7Cj4gKwkJdTMyIGJ1c19mb3JtYXQsIHUzMiBidXNfZmxhZ3MpOwo+ICAK
PiAgaW50IGlteF9kcm1fZW5jb2Rlcl9wYXJzZV9vZihzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLAo+
ICAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKTsK
PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9pbXgtbGRiLmMgYi9kcml2ZXJzL2dw
dS9kcm0vaW14L2lteC1sZGIuYwo+IGluZGV4IGIyZGM0ZGYuLjY3NzA2ZWVhIDEwMDY0NAo+IC0t
LSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWxkYi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt
L2lteC9pbXgtbGRiLmMKPiBAQCAtMjcsNiArMjcsNyBAQAo+ICAjaW5jbHVkZSA8bGludXgvb2Zf
Z3JhcGguaD4KPiAgI2luY2x1ZGUgPHZpZGVvL29mX2Rpc3BsYXlfdGltaW5nLmg+Cj4gICNpbmNs
dWRlIDx2aWRlby9vZl92aWRlb21vZGUuaD4KPiArI2luY2x1ZGUgPHZpZGVvL3ZpZGVvbW9kZS5o
Pgo+ICAjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+Cj4gICNpbmNsdWRlIDxsaW51eC92aWRlb2Rl
djIuaD4KPiAgCj4gQEAgLTY1LDcgKzY2LDggQEAgc3RydWN0IGlteF9sZGJfY2hhbm5lbCB7Cj4g
IAlpbnQgZWRpZF9sZW47Cj4gIAlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBtb2RlOwo+ICAJaW50
IG1vZGVfdmFsaWQ7Cj4gLQlpbnQgYnVzX2Zvcm1hdDsKPiArCXUzMiBidXNfZm9ybWF0Owo+ICsJ
dTMyIGJ1c19mbGFnczsKPiAgfTsKPiAgCj4gIHN0cnVjdCBidXNfbXV4IHsKPiBAQCAtMTAyLDgg
KzEwNCwxMCBAQCBzdGF0aWMgaW50IGlteF9sZGJfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3Qg
ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICAJCXN0cnVjdCBkcm1fZGlzcGxheV9pbmZvICpk
aSA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbzsKPiAgCj4gIAkJbnVtX21vZGVzID0gaW14X2xk
Yl9jaC0+cGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMoaW14X2xkYl9jaC0+cGFuZWwpOwo+IC0JCWlm
ICghaW14X2xkYl9jaC0+YnVzX2Zvcm1hdCAmJiBkaS0+bnVtX2J1c19mb3JtYXRzKQo+ICsJCWlm
ICghaW14X2xkYl9jaC0+YnVzX2Zvcm1hdCAmJiBkaS0+bnVtX2J1c19mb3JtYXRzKSB7Cj4gIAkJ
CWlteF9sZGJfY2gtPmJ1c19mb3JtYXQgPSBkaS0+YnVzX2Zvcm1hdHNbMF07Cj4gKwkJCWlteF9s
ZGJfY2gtPmJ1c19mbGFncyA9IGRpLT5idXNfZmxhZ3M7Cj4gKwkJfQo+ICAJCWlmIChudW1fbW9k
ZXMgPiAwKQo+ICAJCQlyZXR1cm4gbnVtX21vZGVzOwo+ICAJfQo+IEBAIC0yMDIsNyArMjA2LDgg
QEAgc3RhdGljIHZvaWQgaW14X2xkYl9lbmNvZGVyX3ByZXBhcmUoc3RydWN0IGRybV9lbmNvZGVy
ICplbmNvZGVyKQo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiAtCWlteF9kcm1fc2V0X2J1c19mb3Jt
YXQoZW5jb2RlciwgYnVzX2Zvcm1hdCk7Cj4gKwlpbXhfZHJtX3NldF9idXNfZm9ybWF0KGVuY29k
ZXIsIGJ1c19mb3JtYXQsCj4gKwkJCWlteF9sZGJfY2gtPmJ1c19mbGFncyk7Cj4gIH0KPiAgCj4g
IHN0YXRpYyB2b2lkIGlteF9sZGJfZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICpl
bmNvZGVyKQo+IEBAIC01NTgsNyArNTYzLDcgQEAgc3RhdGljIGludCBpbXhfbGRiX2JpbmQoc3Ry
dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gIAo+
ICAJCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKGNoaWxkLCAicmVnIiwgJmkpOwo+ICAJCWlm
IChyZXQgfHwgaSA8IDAgfHwgaSA+IDEpCj4gLQkJCXJldHVybiAtRUlOVkFMOwo+ICsJCQlyZXR1
cm4gcmV0ID86IC1FSU5WQUw7Cj4gIAo+ICAJCWlmIChkdWFsICYmIGkgPiAwKSB7Cj4gIAkJCWRl
dl93YXJuKGRldiwgImR1YWwtY2hhbm5lbCBtb2RlLCBpZ25vcmluZyBzZWNvbmQgb3V0cHV0XG4i
KTsKPiBAQCAtNjAxLDEwICs2MDYsMjYgQEAgc3RhdGljIGludCBpbXhfbGRiX2JpbmQoc3RydWN0
IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gIAkJCWNo
YW5uZWwtPmVkaWQgPSBrbWVtZHVwKGVkaWRwLCBjaGFubmVsLT5lZGlkX2xlbiwKPiAgCQkJCQkJ
R0ZQX0tFUk5FTCk7Cj4gIAkJfSBlbHNlIGlmICghY2hhbm5lbC0+cGFuZWwpIHsKPiAtCQkJcmV0
ID0gb2ZfZ2V0X2RybV9kaXNwbGF5X21vZGUoY2hpbGQsICZjaGFubmVsLT5tb2RlLAo+IC0JCQkJ
CQlPRl9VU0VfTkFUSVZFX01PREUpOwo+IC0JCQlpZiAoIXJldCkKPiAtCQkJCWNoYW5uZWwtPm1v
ZGVfdmFsaWQgPSAxOwo+ICsJCQlzdHJ1Y3QgdmlkZW9tb2RlIHZtOwo+ICsKPiArCQkJcmV0ID0g
b2ZfZ2V0X3ZpZGVvbW9kZShjaGlsZCwgJnZtLCBPRl9VU0VfTkFUSVZFX01PREUpOwo+ICsJCQlp
ZiAocmV0KQo+ICsJCQkJcmV0dXJuIHJldDsKPiArCj4gKwkJCWRybV9kaXNwbGF5X21vZGVfZnJv
bV92aWRlb21vZGUoJnZtLCAmY2hhbm5lbC0+bW9kZSk7Cj4gKwo+ICsJCQlpZiAodm0uZmxhZ3Mg
JiBESVNQTEFZX0ZMQUdTX1BJWERBVEFfUE9TRURHRSkKPiArCQkJCWNoYW5uZWwtPmJ1c19mbGFn
cyB8PSBEUk1fQlVTX0ZMQUdfUElYREFUQV9QT1NFREdFOwo+ICsJCQlpZiAodm0uZmxhZ3MgJiBE
SVNQTEFZX0ZMQUdTX1BJWERBVEFfTkVHRURHRSkKPiArCQkJCWNoYW5uZWwtPmJ1c19mbGFncyB8
PSBEUk1fQlVTX0ZMQUdfUElYREFUQV9ORUdFREdFOwo+ICsKPiArCQkJaWYgKHZtLmZsYWdzICYg
RElTUExBWV9GTEFHU19ERV9MT1cpCj4gKwkJCQljaGFubmVsLT5idXNfZmxhZ3MgfD0gRFJNX0JV
U19GTEFHX0RFX0xPVzsKPiArCQkJaWYgKHZtLmZsYWdzICYgRElTUExBWV9GTEFHU19ERV9ISUdI
KQo+ICsJCQkJY2hhbm5lbC0+YnVzX2ZsYWdzIHw9IERSTV9CVVNfRkxBR19ERV9ISUdIOwo+ICsK
PiArCQkJZHJtX21vZGVfZGVidWdfcHJpbnRtb2RlbGluZSgmY2hhbm5lbC0+bW9kZSk7Cj4gKwkJ
CWNoYW5uZWwtPm1vZGVfdmFsaWQgPSAxOwo+ICAJCX0KPiAgCj4gIAkJY2hhbm5lbC0+YnVzX2Zv
cm1hdCA9IG9mX2dldF9idXNfZm9ybWF0KGRldiwgY2hpbGQpOwo+IGRpZmYgLS1naXQgYS9kcml2
ZXJzL2dwdS9kcm0vaW14L2lwdXYzLWNydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt
Y3J0Yy5jCj4gaW5kZXggZGVlOGU4Yi4uM2ZiOWFjNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw
dS9kcm0vaW14L2lwdXYzLWNydGMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1djMt
Y3J0Yy5jCj4gQEAgLTY2LDYgKzY2LDcgQEAgc3RydWN0IGlwdV9jcnRjIHsKPiAgCXN0cnVjdCBp
cHVfZmxpcF93b3JrCSpmbGlwX3dvcms7Cj4gIAlpbnQJCQlpcnE7Cj4gIAl1MzIJCQlidXNfZm9y
bWF0Owo+ICsJdTMyCQkJYnVzX2ZsYWdzOwo+ICAJaW50CQkJZGlfaHN5bmNfcGluOwo+ICAJaW50
CQkJZGlfdnN5bmNfcGluOwo+ICB9Owo+IEBAIC0yNzEsOSArMjcyLDggQEAgc3RhdGljIGludCBp
cHVfY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAllbHNlCj4gIAkJc2ln
X2NmZy5jbGtmbGFncyA9IDA7Cj4gIAo+IC0Jc2lnX2NmZy5lbmFibGVfcG9sID0gMTsKPiAtCXNp
Z19jZmcuY2xrX3BvbCA9IDA7Cj4gIAlzaWdfY2ZnLmJ1c19mb3JtYXQgPSBpcHVfY3J0Yy0+YnVz
X2Zvcm1hdDsKPiArCXNpZ19jZmcuYnVzX2ZsYWdzID0gaXB1X2NydGMtPmJ1c19mbGFnczsKPiAg
CXNpZ19jZmcudl90b19oX3N5bmMgPSAwOwo+ICAJc2lnX2NmZy5oc3luY19waW4gPSBpcHVfY3J0
Yy0+ZGlfaHN5bmNfcGluOwo+ICAJc2lnX2NmZy52c3luY19waW4gPSBpcHVfY3J0Yy0+ZGlfdnN5
bmNfcGluOwo+IEBAIC0zOTYsMTEgKzM5NiwxMiBAQCBzdGF0aWMgdm9pZCBpcHVfZGlzYWJsZV92
Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IGlwdV9z
ZXRfaW50ZXJmYWNlX3BpeF9mbXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0JCXUzMiBidXNf
Zm9ybWF0LCBpbnQgaHN5bmNfcGluLCBpbnQgdnN5bmNfcGluKQo+ICsJCXUzMiBidXNfZm9ybWF0
LCB1MzIgYnVzX2ZsYWdzLCBpbnQgaHN5bmNfcGluLCBpbnQgdnN5bmNfcGluKQo+ICB7Cj4gIAlz
dHJ1Y3QgaXB1X2NydGMgKmlwdV9jcnRjID0gdG9faXB1X2NydGMoY3J0Yyk7Cj4gIAo+ICAJaXB1
X2NydGMtPmJ1c19mb3JtYXQgPSBidXNfZm9ybWF0Owo+ICsJaXB1X2NydGMtPmJ1c19mbGFncyA9
IGJ1c19mbGFnczsKPiAgCWlwdV9jcnRjLT5kaV9oc3luY19waW4gPSBoc3luY19waW47Cj4gIAlp
cHVfY3J0Yy0+ZGlfdnN5bmNfcGluID0gdnN5bmNfcGluOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJp
dmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14
L3BhcmFsbGVsLWRpc3BsYXkuYwo+IGluZGV4IDM2M2UyYzcuLjQ0MGYzNGQgMTAwNjQ0Cj4gLS0t
IGEvZHJpdmVycy9ncHUvZHJtL2lteC9wYXJhbGxlbC1kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJz
L2dwdS9kcm0vaW14L3BhcmFsbGVsLWRpc3BsYXkuYwo+IEBAIC0xOSw5ICsxOSwxMiBAQAo+ICAj
aW5jbHVkZSA8ZHJtL2RybV9mYl9oZWxwZXIuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0Y19o
ZWxwZXIuaD4KPiAgI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KPiArI2luY2x1ZGUgPGxpbnV4
L29mX2dyYXBoLmg+Cj4gICNpbmNsdWRlIDxsaW51eC92aWRlb2RldjIuaD4KPiArI2luY2x1ZGUg
PHZpZGVvL2Rpc3BsYXlfdGltaW5nLmg+Cj4gICNpbmNsdWRlIDx2aWRlby9vZl9kaXNwbGF5X3Rp
bWluZy5oPgo+IC0jaW5jbHVkZSA8bGludXgvb2ZfZ3JhcGguaD4KPiArI2luY2x1ZGUgPHZpZGVv
L29mX3ZpZGVvbW9kZS5oPgo+ICsjaW5jbHVkZSA8dmlkZW8vdmlkZW9tb2RlLmg+Cj4gIAo+ICAj
aW5jbHVkZSAiaW14LWRybS5oIgo+ICAKPiBAQCAtMzUsNiArMzgsNyBAQCBzdHJ1Y3QgaW14X3Bh
cmFsbGVsX2Rpc3BsYXkgewo+ICAJdm9pZCAqZWRpZDsKPiAgCWludCBlZGlkX2xlbjsKPiAgCXUz
MiBidXNfZm9ybWF0Owo+ICsJdTMyIGJ1c19mbGFnczsKPiAgCWludCBtb2RlX3ZhbGlkOwo+ICAJ
c3RydWN0IGRybV9kaXNwbGF5X21vZGUgbW9kZTsKPiAgCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs
Owo+IEBAIC01Nyw4ICs2MSwxMCBAQCBzdGF0aWMgaW50IGlteF9wZF9jb25uZWN0b3JfZ2V0X21v
ZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gIAkJc3RydWN0IGRybV9kaXNw
bGF5X2luZm8gKmRpID0gJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvOwo+ICAKPiAgCQludW1fbW9k
ZXMgPSBpbXhwZC0+cGFuZWwtPmZ1bmNzLT5nZXRfbW9kZXMoaW14cGQtPnBhbmVsKTsKPiAtCQlp
ZiAoIWlteHBkLT5idXNfZm9ybWF0ICYmIGRpLT5udW1fYnVzX2Zvcm1hdHMpCj4gKwkJaWYgKCFp
bXhwZC0+YnVzX2Zvcm1hdCAmJiBkaS0+bnVtX2J1c19mb3JtYXRzKSB7Cj4gIAkJCWlteHBkLT5i
dXNfZm9ybWF0ID0gZGktPmJ1c19mb3JtYXRzWzBdOwo+ICsJCQlpbXhwZC0+YnVzX2ZsYWdzID0g
ZGktPmJ1c19mbGFnczsKPiArCQl9Cj4gIAkJaWYgKG51bV9tb2RlcyA+IDApCj4gIAkJCXJldHVy
biBudW1fbW9kZXM7Cj4gIAl9Cj4gQEAgLTgxLDEwICs4NywyNyBAQCBzdGF0aWMgaW50IGlteF9w
ZF9jb25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g
IAo+ICAJaWYgKG5wKSB7Cj4gIAkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBkcm1f
bW9kZV9jcmVhdGUoY29ubmVjdG9yLT5kZXYpOwo+ICsJCXN0cnVjdCB2aWRlb21vZGUgdm07Cj4g
KwkJaW50IHJldDsKPiAgCj4gIAkJaWYgKCFtb2RlKQo+ICAJCQlyZXR1cm4gLUVJTlZBTDsKPiAt
CQlvZl9nZXRfZHJtX2Rpc3BsYXlfbW9kZShucCwgJmlteHBkLT5tb2RlLCBPRl9VU0VfTkFUSVZF
X01PREUpOwo+ICsKPiArCQlyZXQgPSBvZl9nZXRfdmlkZW9tb2RlKG5wLCAmdm0sIE9GX1VTRV9O
QVRJVkVfTU9ERSk7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJldDsKPiArCQlkcm1fZGlz
cGxheV9tb2RlX2Zyb21fdmlkZW9tb2RlKCZ2bSwgJmlteHBkLT5tb2RlKTsKPiArCQlkcm1fbW9k
ZV9kZWJ1Z19wcmludG1vZGVsaW5lKCZpbXhwZC0+bW9kZSk7Cj4gKwo+ICsJCWlmICh2bS5mbGFn
cyAmIERJU1BMQVlfRkxBR1NfUElYREFUQV9QT1NFREdFKQo+ICsJCQlpbXhwZC0+YnVzX2ZsYWdz
IHw9IERSTV9CVVNfRkxBR19QSVhEQVRBX1BPU0VER0U7Cj4gKwkJaWYgKHZtLmZsYWdzICYgRElT
UExBWV9GTEFHU19QSVhEQVRBX05FR0VER0UpCj4gKwkJCWlteHBkLT5idXNfZmxhZ3MgfD0gRFJN
X0JVU19GTEFHX1BJWERBVEFfTkVHRURHRTsKPiArCj4gKwkJaWYgKHZtLmZsYWdzICYgRElTUExB
WV9GTEFHU19ERV9MT1cpCj4gKwkJCWlteHBkLT5idXNfZmxhZ3MgfD0gRFJNX0JVU19GTEFHX0RF
X0xPVzsKPiArCQlpZiAodm0uZmxhZ3MgJiBESVNQTEFZX0ZMQUdTX0RFX0hJR0gpCj4gKwkJCWlt
eHBkLT5idXNfZmxhZ3MgfD0gRFJNX0JVU19GTEFHX0RFX0hJR0g7Cj4gIAkJZHJtX21vZGVfY29w
eShtb2RlLCAmaW14cGQtPm1vZGUpOwo+ICAJCW1vZGUtPnR5cGUgfD0gRFJNX01PREVfVFlQRV9E
UklWRVIgfCBEUk1fTU9ERV9UWVBFX1BSRUZFUlJFRCwKPiAgCQlkcm1fbW9kZV9wcm9iZWRfYWRk
KGNvbm5lY3RvciwgbW9kZSk7Cj4gQEAgLTExNiw3ICsxMzksNyBAQCBzdGF0aWMgdm9pZCBpbXhf
cGRfZW5jb2Rlcl9wcmVwYXJlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKPiAgewo+ICAJ
c3RydWN0IGlteF9wYXJhbGxlbF9kaXNwbGF5ICppbXhwZCA9IGVuY190b19pbXhwZChlbmNvZGVy
KTsKPiAgCj4gLQlpbXhfZHJtX3NldF9idXNfZm9ybWF0KGVuY29kZXIsIGlteHBkLT5idXNfZm9y
bWF0KTsKPiArCWlteF9kcm1fc2V0X2J1c19mb3JtYXQoZW5jb2RlciwgaW14cGQtPmJ1c19mb3Jt
YXQsIGlteHBkLT5idXNfZmxhZ3MpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBpbXhfcGRfZW5j
b2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL2dwdS9pcHUtdjMvaXB1LWRpLmMgYi9kcml2ZXJzL2dwdS9pcHUtdjMvaXB1LWRpLmMK
PiBpbmRleCAzNTkyNjhlLi5iZmY0NzAxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2lwdS12
My9pcHUtZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2lwdS12My9pcHUtZGkuYwo+IEBAIC0yMCw2
ICsyMCw3IEBACj4gICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L3Bs
YXRmb3JtX2RldmljZS5oPgo+ICAKPiArI2luY2x1ZGUgPGRybS9kcm1fY3J0Yy5oPgo+ICAjaW5j
bHVkZSA8dmlkZW8vaW14LWlwdS12My5oPgo+ICAjaW5jbHVkZSAiaXB1LXBydi5oIgo+ICAKPiBA
QCAtNjIyLDcgKzYyMyw5IEBAIGludCBpcHVfZGlfaW5pdF9zeW5jX3BhbmVsKHN0cnVjdCBpcHVf
ZGkgKmRpLCBzdHJ1Y3QgaXB1X2RpX3NpZ25hbF9jZmcgKnNpZykKPiAgCWlmIChzaWctPm1vZGUu
ZmxhZ3MgJiBESVNQTEFZX0ZMQUdTX1ZTWU5DX0hJR0gpCj4gIAkJZGlfZ2VuIHw9IGlwdV9kaV9n
ZW5fcG9sYXJpdHkoc2lnLT52c3luY19waW4pOwo+ICAKPiAtCWlmIChzaWctPmNsa19wb2wpCj4g
KwlpZiAoc2lnLT5idXNfZmxhZ3MgJiBEUk1fQlVTX0ZMQUdfUElYREFUQV9ORUdFREdFKQo+ICsJ
CWRpX2dlbiAmPSB+RElfR0VOX1BPTEFSSVRZX0RJU1BfQ0xLOwo+ICsJZWxzZSBpZiAoc2lnLT5i
dXNfZmxhZ3MgJiBEUk1fQlVTX0ZMQUdfUElYREFUQV9QT1NFREdFKQo+ICAJCWRpX2dlbiB8PSBE
SV9HRU5fUE9MQVJJVFlfRElTUF9DTEs7Cj4gIAo+ICAJaXB1X2RpX3dyaXRlKGRpLCBkaV9nZW4s
IERJX0dFTkVSQUwpOwo+IEBAIC02MzAsMTMgKzYzMywxMiBAQCBpbnQgaXB1X2RpX2luaXRfc3lu
Y19wYW5lbChzdHJ1Y3QgaXB1X2RpICpkaSwgc3RydWN0IGlwdV9kaV9zaWduYWxfY2ZnICpzaWcp
Cj4gIAlpcHVfZGlfd3JpdGUoZGksICgtLXZzeW5jX2NudCA8PCBESV9WU1lOQ19TRUxfT0ZGU0VU
KSB8IDB4MDAwMDAwMDIsCj4gIAkJICAgICBESV9TWU5DX0FTX0dFTik7Cj4gIAo+IC0JcmVnID0g
aXB1X2RpX3JlYWQoZGksIERJX1BPTCk7Cj4gLQlyZWcgJj0gfihESV9QT0xfRFJEWV9EQVRBX1BP
TEFSSVRZIHwgRElfUE9MX0RSRFlfUE9MQVJJVFlfMTUpOwo+ICsJcmVnID0gaXB1X2RpX3JlYWQo
ZGksIERJX1BPTCkgJiB+RElfUE9MX0RSRFlfREFUQV9QT0xBUklUWTsKPiAgCj4gLQlpZiAoc2ln
LT5lbmFibGVfcG9sKQo+ICsJaWYgKHNpZy0+YnVzX2ZsYWdzICYgRFJNX0JVU19GTEFHX0RFX0hJ
R0gpCj4gIAkJcmVnIHw9IERJX1BPTF9EUkRZX1BPTEFSSVRZXzE1Owo+IC0JaWYgKHNpZy0+ZGF0
YV9wb2wpCj4gLQkJcmVnIHw9IERJX1BPTF9EUkRZX0RBVEFfUE9MQVJJVFk7Cj4gKwllbHNlIGlm
IChzaWctPmJ1c19mbGFncyAmIERSTV9CVVNfRkxBR19ERV9MT1cpCj4gKwkJcmVnICY9IH5ESV9Q
T0xfRFJEWV9QT0xBUklUWV8xNTsKPiAgCj4gIAlpcHVfZGlfd3JpdGUoZGksIHJlZywgRElfUE9M
KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdmlkZW8vaW14LWlwdS12My5oIGIvaW5jbHVk
ZS92aWRlby9pbXgtaXB1LXYzLmgKPiBpbmRleCBhZDY2NTg5Li43YzY0YzU1IDEwMDY0NAo+IC0t
LSBhL2luY2x1ZGUvdmlkZW8vaW14LWlwdS12My5oCj4gKysrIGIvaW5jbHVkZS92aWRlby9pbXgt
aXB1LXYzLmgKPiBAQCAtMzMsMTMgKzMzLDEwIEBAIGVudW0gaXB1djNfdHlwZSB7Cj4gICAqIEJp
dGZpZWxkIG9mIERpc3BsYXkgSW50ZXJmYWNlIHNpZ25hbCBwb2xhcml0aWVzLgo+ICAgKi8KPiAg
c3RydWN0IGlwdV9kaV9zaWduYWxfY2ZnIHsKPiAtCXVuc2lnbmVkIGRhdGFfcG9sOjE7CS8qIHRy
dWUgPSBpbnZlcnRlZCAqLwo+IC0JdW5zaWduZWQgY2xrX3BvbDoxOwkvKiB0cnVlID0gcmlzaW5n
IGVkZ2UgKi8KPiAtCXVuc2lnbmVkIGVuYWJsZV9wb2w6MTsKPiAtCj4gIAlzdHJ1Y3QgdmlkZW9t
b2RlIG1vZGU7Cj4gIAo+ICAJdTMyIGJ1c19mb3JtYXQ7Cj4gKwl1MzIgYnVzX2ZsYWdzOwo+ICAJ
dTMyIHZfdG9faF9zeW5jOwo+ICAKPiAgI2RlZmluZSBJUFVfRElfQ0xLTU9ERV9TWU5DCSgxIDw8
IDApCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp
LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz
Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==