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==