From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [PATCH 14/25] drm/exynos: introduce exynos_drm_plane_config structure Date: Fri, 13 Nov 2015 10:08:59 -0200 Message-ID: <20151113120859.GJ2264@joana> References: <1447161821-1877-1-git-send-email-m.szyprowski@samsung.com> <1447161821-1877-15-git-send-email-m.szyprowski@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1447161821-1877-15-git-send-email-m.szyprowski@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Marek Szyprowski Cc: Javier Martinez Canillas , Krzysztof Kozlowski , linux-samsung-soc@vger.kernel.org, Bartlomiej Zolnierkiewicz , Seung-Woo Kim , dri-devel@lists.freedesktop.org, Andrzej Hajda , Tobias Jakobi List-Id: linux-samsung-soc@vger.kernel.org SGkgTWFyZWssCgoyMDE1LTExLTEwIE1hcmVrIFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1z dW5nLmNvbT46Cgo+IFRoaXMgcGF0Y2ggYWRkcyBjb21tb24gc3RydWN0dXJlIGZvciBrZWVwaW5n IHBsYW5lIGNvbmZpZ3VyYXRpb24gYW5kCj4gY2FwYWJpbGl0aWVzIGRhdGEuIFRoaXMgcGF0Y2gg aXMgaW5zcGlyZWQgYnkgc2ltaWxhciBjb2RlIGRldmVsb3BlZCBieQo+IFRvYmlhcyBKYWtvYmku Cj4gCj4gU2lnbmVkLW9mZi1ieTogTWFyZWsgU3p5cHJvd3NraSA8bS5zenlwcm93c2tpQHNhbXN1 bmcuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2Rl Y29uLmMgfCAxOCArKysrKysrLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19k cm1fZGVjb24uYyAgICB8IDIzICsrKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fZHJ2LmggICAgICAgfCAyMiArKysrKysrKysrKysKPiAgZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwgMjUgKysrKysrKystLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYyAgICAgfCAzNCArKysrKysr Ky0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmgg ICAgIHwgIDcgKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5j ICAgICAgfCAyNSArKysrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X21peGVyLmMgICAgICAgICB8IDUxICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLQo+ICA4IGZp bGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspLCA3NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jCj4gaW5kZXggMjcw Mzk0NjgzNjRiLi4zYzhiOGUwMjQwZmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3M1NDMzX2RybV9kZWNvbi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3M1NDMzX2RybV9kZWNvbi5jCj4gQEAgLTI2LDcgKzI2LDYgQEAKPiAgI2luY2x1ZGUg ImV4eW5vc19kcm1faW9tbXUuaCIKPiAgCj4gICNkZWZpbmUgV0lORE9XU19OUgkzCj4gLSNkZWZp bmUgQ1VSU09SX1dJTgkyCj4gICNkZWZpbmUgTUlOX0ZCX1dJRFRIX0ZPUl8xNldPUkRfQlVSU1QJ MTI4Cj4gIAo+ICBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGRlY29uX2Nsa3NfbmFtZVtdID0g ewo+IEBAIC01Nyw2ICs1Niw3IEBAIHN0cnVjdCBkZWNvbl9jb250ZXh0IHsKPiAgCXN0cnVjdCBk cm1fZGV2aWNlCQkqZHJtX2RldjsKPiAgCXN0cnVjdCBleHlub3NfZHJtX2NydGMJCSpjcnRjOwo+ ICAJc3RydWN0IGV4eW5vc19kcm1fcGxhbmUJCXBsYW5lc1tXSU5ET1dTX05SXTsKPiArCXN0cnVj dCBleHlub3NfZHJtX3BsYW5lX2NvbmZpZwljb25maWdzW1dJTkRPV1NfTlJdOwo+ICAJdm9pZCBf X2lvbWVtCQkJKmFkZHI7Cj4gIAlzdHJ1Y3QgY2xrCQkJKmNsa3NbQVJSQVlfU0laRShkZWNvbl9j bGtzX25hbWUpXTsKPiAgCWludAkJCQlwaXBlOwo+IEBAIC03Miw2ICs3MiwxMiBAQCBzdGF0aWMg Y29uc3QgdWludDMyX3QgZGVjb25fZm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9BUkdCODg4 OCwKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBlbnVtIGRybV9wbGFuZV90eXBlIGRlY29uX3dp bl90eXBlc1tXSU5ET1dTX05SXSA9IHsKPiArCURSTV9QTEFORV9UWVBFX1BSSU1BUlksCj4gKwlE Uk1fUExBTkVfVFlQRV9PVkVSTEFZLAo+ICsJRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAo+ICt9Owo+ ICsKPiAgc3RhdGljIGlubGluZSB2b2lkIGRlY29uX3NldF9iaXRzKHN0cnVjdCBkZWNvbl9jb250 ZXh0ICpjdHgsIHUzMiByZWcsIHUzMiBtYXNrLAo+ICAJCQkJICB1MzIgdmFsKQo+ICB7Cj4gQEAg LTQ5OSw3ICs1MDUsNiBAQCBzdGF0aWMgaW50IGRlY29uX2JpbmQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gIAlzdHJ1Y3QgZXh5bm9zX2Ry bV9wcml2YXRlICpwcml2ID0gZHJtX2Rldi0+ZGV2X3ByaXZhdGU7Cj4gIAlzdHJ1Y3QgZXh5bm9z X2RybV9wbGFuZSAqZXh5bm9zX3BsYW5lOwo+ICAJZW51bSBleHlub3NfZHJtX291dHB1dF90eXBl IG91dF90eXBlOwo+IC0JZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlOwo+ICAJdW5zaWduZWQgaW50 IHdpbjsKPiAgCWludCByZXQ7Cj4gIAo+IEBAIC01MDksMTAgKzUxNCwxMyBAQCBzdGF0aWMgaW50 IGRlY29uX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZv aWQgKmRhdGEpCj4gIAlmb3IgKHdpbiA9IGN0eC0+Zmlyc3Rfd2luOyB3aW4gPCBXSU5ET1dTX05S OyB3aW4rKykgewo+ICAJCWludCB0bXAgPSAod2luID09IGN0eC0+Zmlyc3Rfd2luKSA/IDAgOiB3 aW47Cj4gIAo+IC0JCXR5cGUgPSBleHlub3NfcGxhbmVfZ2V0X3R5cGUodG1wLCBDVVJTT1JfV0lO KTsKPiArCQljdHgtPmNvbmZpZ3Nbd2luXS5waXhlbF9mb3JtYXRzID0gZGVjb25fZm9ybWF0czsK PiArCQljdHgtPmNvbmZpZ3Nbd2luXS5udW1fcGl4ZWxfZm9ybWF0cyA9IEFSUkFZX1NJWkUoZGVj b25fZm9ybWF0cyk7Cj4gKwkJY3R4LT5jb25maWdzW3dpbl0uenBvcyA9IHdpbjsKPiArCQljdHgt PmNvbmZpZ3Nbd2luXS50eXBlID0gZGVjb25fd2luX3R5cGVzW3RtcF07Cj4gKwo+ICAJCXJldCA9 IGV4eW5vc19wbGFuZV9pbml0KGRybV9kZXYsICZjdHgtPnBsYW5lc1t3aW5dLAo+IC0JCQkJMSA8 PCBjdHgtPnBpcGUsIHR5cGUsIGRlY29uX2Zvcm1hdHMsCj4gLQkJCQlBUlJBWV9TSVpFKGRlY29u X2Zvcm1hdHMpLCB3aW4pOwo+ICsJCQkJCTEgPDwgY3R4LT5waXBlLCAmY3R4LT5jb25maWdzW3dp bl0pOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJldHVybiByZXQ7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19kcm1fZGVjb24uYyBiL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zN19kcm1fZGVjb24uYwo+IGluZGV4IDc4NjhkMzBkOGVhYy4uNmIy OGUzZjczZTRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19k cm1fZGVjb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zN19kcm1fZGVj b24uYwo+IEBAIC00MSwxMyArNDEsMTMgQEAKPiAgI2RlZmluZSBNSU5fRkJfV0lEVEhfRk9SXzE2 V09SRF9CVVJTVCAxMjgKPiAgCj4gICNkZWZpbmUgV0lORE9XU19OUgkyCj4gLSNkZWZpbmUgQ1VS U09SX1dJTgkxCj4gIAo+ICBzdHJ1Y3QgZGVjb25fY29udGV4dCB7Cj4gIAlzdHJ1Y3QgZGV2aWNl CQkJKmRldjsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlCQkqZHJtX2RldjsKPiAgCXN0cnVjdCBleHlu b3NfZHJtX2NydGMJCSpjcnRjOwo+ICAJc3RydWN0IGV4eW5vc19kcm1fcGxhbmUJCXBsYW5lc1tX SU5ET1dTX05SXTsKPiArCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lX2NvbmZpZwljb25maWdzW1dJ TkRPV1NfTlJdOwo+ICAJc3RydWN0IGNsawkJCSpwY2xrOwo+ICAJc3RydWN0IGNsawkJCSphY2xr Owo+ICAJc3RydWN0IGNsawkJCSplY2xrOwo+IEBAIC04Miw2ICs4MiwxMSBAQCBzdGF0aWMgY29u c3QgdWludDMyX3QgZGVjb25fZm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9CR1JBODg4OCwK PiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBlbnVtIGRybV9wbGFuZV90eXBlIGRlY29uX3dpbl90 eXBlc1tXSU5ET1dTX05SXSA9IHsKPiArCURSTV9QTEFORV9UWVBFX1BSSU1BUlksCj4gKwlEUk1f UExBTkVfVFlQRV9DVVJTT1IsCj4gK307Cj4gKwo+ICBzdGF0aWMgdm9pZCBkZWNvbl93YWl0X2Zv cl92Ymxhbmsoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKPiAgewo+ICAJc3RydWN0IGRl Y29uX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKPiBAQCAtNjcyLDggKzY3Nyw3IEBAIHN0YXRp YyBpbnQgZGVjb25fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rl ciwgdm9pZCAqZGF0YSkKPiAgCXN0cnVjdCBkZWNvbl9jb250ZXh0ICpjdHggPSBkZXZfZ2V0X2Ry dmRhdGEoZGV2KTsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGF0YTsKPiAgCXN0 cnVjdCBleHlub3NfZHJtX3BsYW5lICpleHlub3NfcGxhbmU7Cj4gLQllbnVtIGRybV9wbGFuZV90 eXBlIHR5cGU7Cj4gLQl1bnNpZ25lZCBpbnQgenBvczsKPiArCXVuc2lnbmVkIGludCBpOwo+ICAJ aW50IHJldDsKPiAgCj4gIAlyZXQgPSBkZWNvbl9jdHhfaW5pdGlhbGl6ZShjdHgsIGRybV9kZXYp Owo+IEBAIC02ODIsMTEgKzY4NiwxNCBAQCBzdGF0aWMgaW50IGRlY29uX2JpbmQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCj4gIAkJcmV0dXJu IHJldDsKPiAgCX0KPiAgCj4gLQlmb3IgKHpwb3MgPSAwOyB6cG9zIDwgV0lORE9XU19OUjsgenBv cysrKSB7Cj4gLQkJdHlwZSA9IGV4eW5vc19wbGFuZV9nZXRfdHlwZSh6cG9zLCBDVVJTT1JfV0lO KTsKPiAtCQlyZXQgPSBleHlub3NfcGxhbmVfaW5pdChkcm1fZGV2LCAmY3R4LT5wbGFuZXNbenBv c10sCj4gLQkJCQkJMSA8PCBjdHgtPnBpcGUsIHR5cGUsIGRlY29uX2Zvcm1hdHMsCj4gLQkJCQkJ QVJSQVlfU0laRShkZWNvbl9mb3JtYXRzKSwgenBvcyk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwgV0lO RE9XU19OUjsgaSsrKSB7Cj4gKwkJY3R4LT5jb25maWdzW2ldLnBpeGVsX2Zvcm1hdHMgPSBkZWNv bl9mb3JtYXRzOwo+ICsJCWN0eC0+Y29uZmlnc1tpXS5udW1fcGl4ZWxfZm9ybWF0cyA9IEFSUkFZ X1NJWkUoZGVjb25fZm9ybWF0cyk7Cj4gKwkJY3R4LT5jb25maWdzW2ldLnpwb3MgPSBpOwo+ICsJ CWN0eC0+Y29uZmlnc1tpXS50eXBlID0gZGVjb25fd2luX3R5cGVzW2ldOwo+ICsKPiArCQlyZXQg PSBleHlub3NfcGxhbmVfaW5pdChkcm1fZGV2LCAmY3R4LT5wbGFuZXNbaV0sCj4gKwkJCQkJMSA8 PCBjdHgtPnBpcGUsICZjdHgtPmNvbmZpZ3NbaV0pOwo+ICAJCWlmIChyZXQpCj4gIAkJCXJldHVy biByZXQ7Cj4gIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaAo+IGlu ZGV4IDQ4MmVkMmMyZWQ4OS4uOTYyNDg1NTEyOGExIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9kcnYuaAo+IEBAIC04NCwxMCArODQsMzIgQEAgdG9fZXh5bm9zX3BsYW5l X3N0YXRlKHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQo+ICAKPiAgc3RydWN0IGV4eW5v c19kcm1fcGxhbmUgewo+ICAJc3RydWN0IGRybV9wbGFuZSBiYXNlOwo+ICsJY29uc3Qgc3RydWN0 IGV4eW5vc19kcm1fcGxhbmVfY29uZmlnICpjb25maWc7Cj4gIAl1bnNpZ25lZCBpbnQgenBvczsK PiAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKnBlbmRpbmdfZmI7Cj4gIH07Cj4gIAo+ICsjZGVm aW5lIEVYWU5PU19EUk1fUExBTkVfQ0FQX0RPVUJMRV9YCSgxIDw8IDApCj4gKyNkZWZpbmUgRVhZ Tk9TX0RSTV9QTEFORV9DQVBfRE9VQkxFX1kJKDEgPDwgMSkKCkkgd291bGQgbGVhdmUgdGhpcyBm b3IgYSBmb2xsb3ctdXAgcGF0Y2ggYW5kIGtlZXAgb25seSB0aGUgY2hhbmdlIHRvCnBsYW5lIGNv bmZpZyBvbiB0aGlzIG9uZS4KCj4gKwo+ICsvKgo+ICsgKiBFeHlub3MgRFJNIHBsYW5lIGNvbmZp Z3VyYXRpb24gc3RydWN0dXJlLgo+ICsgKgo+ICsgKiBAenBvczogei1wb3NpdGlvbiBvZiB0aGUg cGxhbmUuCj4gKyAqIEB0eXBlOiB0eXBlIG9mIHRoZSBwbGFuZSAocHJpbWFyeSwgY3Vyc29yIG9y IG92ZXJsYXkpLgo+ICsgKiBAcGl4ZWxfZm9ybWF0czogc3VwcG9ydGVkIHBpeGVsIGZvcm1hdHMu Cj4gKyAqIEBudW1fcGl4ZWxfZm9ybWF0czogbnVtYmVyIG9mIGVsZW1lbnRzIGluICdwaXhlbF9m b3JtYXRzJy4KPiArICogQGNhcGFiaWxpdGllczogc3VwcG9ydGVkIGZlYXR1cmVzIChzZWUgRVhZ Tk9TX0RSTV9QTEFORV9DQVBfKikKPiArICovCj4gKwo+ICtzdHJ1Y3QgZXh5bm9zX2RybV9wbGFu ZV9jb25maWcgewo+ICsJdW5zaWduZWQgaW50IHpwb3M7Cj4gKwllbnVtIGRybV9wbGFuZV90eXBl IHR5cGU7Cj4gKwljb25zdCB1aW50MzJfdCAqcGl4ZWxfZm9ybWF0czsKPiArCXVuc2lnbmVkIGlu dCBudW1fcGl4ZWxfZm9ybWF0czsKPiArCXVuc2lnbmVkIGludCBjYXBhYmlsaXRpZXM7Cj4gK307 Cj4gKwo+ICAvKgo+ICAgKiBFeHlub3MgZHJtIGNydGMgb3BzCj4gICAqCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMgYi9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jCj4gaW5kZXggNDBmYTYyMWUzOTYzLi40NDIyNmIy YjQ2YzcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Zp bWQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMKPiBA QCAtODgsNyArODgsNiBAQAo+ICAKPiAgLyogRklNRCBoYXMgdG90YWxseSBmaXZlIGhhcmR3YXJl IHdpbmRvd3MuICovCj4gICNkZWZpbmUgV0lORE9XU19OUgk1Cj4gLSNkZWZpbmUgQ1VSU09SX1dJ Tgk0Cj4gIAo+ICBzdHJ1Y3QgZmltZF9kcml2ZXJfZGF0YSB7Cj4gIAl1bnNpZ25lZCBpbnQgdGlt aW5nX2Jhc2U7Cj4gQEAgLTE1MSw2ICsxNTAsNyBAQCBzdHJ1Y3QgZmltZF9jb250ZXh0IHsKPiAg CXN0cnVjdCBkcm1fZGV2aWNlCQkqZHJtX2RldjsKPiAgCXN0cnVjdCBleHlub3NfZHJtX2NydGMJ CSpjcnRjOwo+ICAJc3RydWN0IGV4eW5vc19kcm1fcGxhbmUJCXBsYW5lc1tXSU5ET1dTX05SXTsK PiArCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lX2NvbmZpZwljb25maWdzW1dJTkRPV1NfTlJdOwo+ ICAJc3RydWN0IGNsawkJCSpidXNfY2xrOwo+ICAJc3RydWN0IGNsawkJCSpsY2RfY2xrOwo+ICAJ dm9pZCBfX2lvbWVtCQkJKnJlZ3M7Cj4gQEAgLTE4OCw2ICsxODgsMTQgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgZmltZF9kcml2ZXJfZHRfbWF0Y2hbXSA9IHsKPiAgfTsKPiAg TU9EVUxFX0RFVklDRV9UQUJMRShvZiwgZmltZF9kcml2ZXJfZHRfbWF0Y2gpOwo+ICAKPiArc3Rh dGljIGNvbnN0IGVudW0gZHJtX3BsYW5lX3R5cGUgZmltZF93aW5fdHlwZXNbV0lORE9XU19OUl0g PSB7Cj4gKwlEUk1fUExBTkVfVFlQRV9QUklNQVJZLAo+ICsJRFJNX1BMQU5FX1RZUEVfT1ZFUkxB WSwKPiArCURSTV9QTEFORV9UWVBFX09WRVJMQVksCj4gKwlEUk1fUExBTkVfVFlQRV9PVkVSTEFZ LAo+ICsJRFJNX1BMQU5FX1RZUEVfQ1VSU09SLAo+ICt9Owo+ICsKPiAgc3RhdGljIGNvbnN0IHVp bnQzMl90IGZpbWRfZm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9DOCwKPiAgCURSTV9GT1JN QVRfWFJHQjE1NTUsCj4gQEAgLTk0NCwxOCArOTUyLDE5IEBAIHN0YXRpYyBpbnQgZmltZF9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkYXRhOwo+ICAJc3RydWN0IGV4eW5vc19k cm1fcHJpdmF0ZSAqcHJpdiA9IGRybV9kZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGV4eW5v c19kcm1fcGxhbmUgKmV4eW5vc19wbGFuZTsKPiAtCWVudW0gZHJtX3BsYW5lX3R5cGUgdHlwZTsK PiAtCXVuc2lnbmVkIGludCB6cG9zOwo+ICsJdW5zaWduZWQgaW50IGk7Cj4gIAlpbnQgcmV0Owo+ ICAKPiAgCWN0eC0+ZHJtX2RldiA9IGRybV9kZXY7Cj4gIAljdHgtPnBpcGUgPSBwcml2LT5waXBl Kys7Cj4gIAo+IC0JZm9yICh6cG9zID0gMDsgenBvcyA8IFdJTkRPV1NfTlI7IHpwb3MrKykgewo+ IC0JCXR5cGUgPSBleHlub3NfcGxhbmVfZ2V0X3R5cGUoenBvcywgQ1VSU09SX1dJTik7Cj4gLQkJ cmV0ID0gZXh5bm9zX3BsYW5lX2luaXQoZHJtX2RldiwgJmN0eC0+cGxhbmVzW3pwb3NdLAo+IC0J CQkJCTEgPDwgY3R4LT5waXBlLCB0eXBlLCBmaW1kX2Zvcm1hdHMsCj4gLQkJCQkJQVJSQVlfU0la RShmaW1kX2Zvcm1hdHMpLCB6cG9zKTsKPiArCWZvciAoaSA9IDA7IGkgPCBXSU5ET1dTX05SOyBp KyspIHsKPiArCQljdHgtPmNvbmZpZ3NbaV0ucGl4ZWxfZm9ybWF0cyA9IGZpbWRfZm9ybWF0czsK PiArCQljdHgtPmNvbmZpZ3NbaV0ubnVtX3BpeGVsX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGZpbWRf Zm9ybWF0cyk7Cj4gKwkJY3R4LT5jb25maWdzW2ldLnpwb3MgPSBpOwo+ICsJCWN0eC0+Y29uZmln c1tpXS50eXBlID0gZmltZF93aW5fdHlwZXNbaV07Cj4gKwkJcmV0ID0gZXh5bm9zX3BsYW5lX2lu aXQoZHJtX2RldiwgJmN0eC0+cGxhbmVzW2ldLAo+ICsJCQkJCTEgPDwgY3R4LT5waXBlLCAmY3R4 LT5jb25maWdzW2ldKTsKPiAgCQlpZiAocmV0KQo+ICAJCQlyZXR1cm4gcmV0Owo+ICAJfQo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxhbmUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5jCj4gaW5kZXggMzY1YTczODA0 MmUyLi5iNjIwZDdhNzY3OTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9l eHlub3NfZHJtX3BsYW5lLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19k cm1fcGxhbmUuYwo+IEBAIC0yNDYsMjggKzI0NiwyMCBAQCBzdGF0aWMgdm9pZCBleHlub3NfcGxh bmVfYXR0YWNoX3pwb3NfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gIAlkcm1f b2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmcGxhbmUtPmJhc2UsIHByb3AsIHpwb3MpOwo+ICB9Cj4g IAo+IC1lbnVtIGRybV9wbGFuZV90eXBlIGV4eW5vc19wbGFuZV9nZXRfdHlwZSh1bnNpZ25lZCBp bnQgenBvcywKPiAtCQkJCQkgIHVuc2lnbmVkIGludCBjdXJzb3Jfd2luKQo+IC17Cj4gLQkJaWYg KHpwb3MgPT0gREVGQVVMVF9XSU4pCj4gLQkJCXJldHVybiBEUk1fUExBTkVfVFlQRV9QUklNQVJZ Owo+IC0JCWVsc2UgaWYgKHpwb3MgPT0gY3Vyc29yX3dpbikKPiAtCQkJcmV0dXJuIERSTV9QTEFO RV9UWVBFX0NVUlNPUjsKPiAtCQllbHNlCj4gLQkJCXJldHVybiBEUk1fUExBTkVfVFlQRV9PVkVS TEFZOwo+IC19Cj4gLQo+ICBpbnQgZXh5bm9zX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKPiAgCQkgICAgICBzdHJ1Y3QgZXh5bm9zX2RybV9wbGFuZSAqZXh5bm9zX3BsYW5lLAo+ IC0JCSAgICAgIHVuc2lnbmVkIGxvbmcgcG9zc2libGVfY3J0Y3MsIGVudW0gZHJtX3BsYW5lX3R5 cGUgdHlwZSwKPiAtCQkgICAgICBjb25zdCB1aW50MzJfdCAqZm9ybWF0cywgdW5zaWduZWQgaW50 IGZjb3VudCwKPiAtCQkgICAgICB1bnNpZ25lZCBpbnQgenBvcykKPiArCQkgICAgICB1bnNpZ25l ZCBsb25nIHBvc3NpYmxlX2NydGNzLAo+ICsJCSAgICAgIGNvbnN0IHN0cnVjdCBleHlub3NfZHJt X3BsYW5lX2NvbmZpZyAqY29uZmlnKQo+ICB7Cj4gIAlpbnQgZXJyOwo+ICAKPiAtCWVyciA9IGRy bV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsICZleHlub3NfcGxhbmUtPmJhc2UsIHBvc3NpYmxl X2NydGNzLAo+IC0JCQkJICAgICAgICZleHlub3NfcGxhbmVfZnVuY3MsIGZvcm1hdHMsIGZjb3Vu dCwKPiAtCQkJCSAgICAgICB0eXBlKTsKPiArCWVyciA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5p dChkZXYsICZleHlub3NfcGxhbmUtPmJhc2UsCj4gKwkJCQkgICAgICAgcG9zc2libGVfY3J0Y3Ms Cj4gKwkJCQkgICAgICAgJmV4eW5vc19wbGFuZV9mdW5jcywKPiArCQkJCSAgICAgICBjb25maWct PnBpeGVsX2Zvcm1hdHMsCj4gKwkJCQkgICAgICAgY29uZmlnLT5udW1fcGl4ZWxfZm9ybWF0cywK PiArCQkJCSAgICAgICBjb25maWctPnR5cGUpOwo+ICsKPiAgCWlmIChlcnIpIHsKPiAgCQlEUk1f RVJST1IoImZhaWxlZCB0byBpbml0aWFsaXplIHBsYW5lXG4iKTsKPiAgCQlyZXR1cm4gZXJyOwo+ IEBAIC0yNzUsMTAgKzI2NywxMiBAQCBpbnQgZXh5bm9zX3BsYW5lX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCj4gIAlkcm1fcGxhbmVfaGVscGVyX2FkZCgmZXh5bm9zX3BsYW5lLT5i YXNlLCAmcGxhbmVfaGVscGVyX2Z1bmNzKTsKPiAgCj4gLQlleHlub3NfcGxhbmUtPnpwb3MgPSB6 cG9zOwo+ICsJZXh5bm9zX3BsYW5lLT56cG9zID0gY29uZmlnLT56cG9zOwo+ICsJZXh5bm9zX3Bs YW5lLT5jb25maWcgPSBjb25maWc7Cj4gIAo+IC0JaWYgKHR5cGUgPT0gRFJNX1BMQU5FX1RZUEVf T1ZFUkxBWSkKPiAtCQlleHlub3NfcGxhbmVfYXR0YWNoX3pwb3NfcHJvcGVydHkoJmV4eW5vc19w bGFuZS0+YmFzZSwgenBvcyk7Cj4gKwlpZiAoY29uZmlnLT50eXBlID09IERSTV9QTEFORV9UWVBF X09WRVJMQVkpCj4gKwkJZXh5bm9zX3BsYW5lX2F0dGFjaF96cG9zX3Byb3BlcnR5KCZleHlub3Nf cGxhbmUtPmJhc2UsCj4gKwkJCQkJCSAgY29uZmlnLT56cG9zKTsKPiAgCj4gIAlyZXR1cm4gMDsK PiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fcGxh bmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9wbGFuZS5oCj4gaW5kZXgg YWJiNjQxZTY0YzIzLi4wZGQwOTY1NDgyODQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2V4eW5vcy9leHlub3NfZHJtX3BsYW5lLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fcGxhbmUuaAo+IEBAIC05LDEwICs5LDcgQEAKPiAgICoKPiAgICovCj4gIAo+ IC1lbnVtIGRybV9wbGFuZV90eXBlIGV4eW5vc19wbGFuZV9nZXRfdHlwZSh1bnNpZ25lZCBpbnQg enBvcywKPiAtCQkJCQkgIHVuc2lnbmVkIGludCBjdXJzb3Jfd2luKTsKPiAgaW50IGV4eW5vc19w bGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJICAgICAgc3RydWN0IGV4eW5v c19kcm1fcGxhbmUgKmV4eW5vc19wbGFuZSwKPiAtCQkgICAgICB1bnNpZ25lZCBsb25nIHBvc3Np YmxlX2NydGNzLCBlbnVtIGRybV9wbGFuZV90eXBlIHR5cGUsCj4gLQkJICAgICAgY29uc3QgdWlu dDMyX3QgKmZvcm1hdHMsIHVuc2lnbmVkIGludCBmY291bnQsCj4gLQkJICAgICAgdW5zaWduZWQg aW50IHpwb3MpOwo+ICsJCSAgICAgIHVuc2lnbmVkIGxvbmcgcG9zc2libGVfY3J0Y3MsCj4gKwkJ ICAgICAgY29uc3Qgc3RydWN0IGV4eW5vc19kcm1fcGxhbmVfY29uZmlnICpjb25maWcpOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fdmlkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX3ZpZGkuYwo+IGluZGV4IDNjZTE0MTIzNmZh ZC4uOTA3MDE2NDdhZWYxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5 bm9zX2RybV92aWRpLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1f dmlkaS5jCj4gQEAgLTMwLDcgKzMwLDYgQEAKPiAgCj4gIC8qIHZpZGkgaGFzIHRvdGFsbHkgdGhy ZWUgdmlydHVhbCB3aW5kb3dzLiAqLwo+ICAjZGVmaW5lIFdJTkRPV1NfTlIJCTMKPiAtI2RlZmlu ZSBDVVJTT1JfV0lOCQkyCj4gIAo+ICAjZGVmaW5lIGN0eF9mcm9tX2Nvbm5lY3RvcihjKQljb250 YWluZXJfb2YoYywgc3RydWN0IHZpZGlfY29udGV4dCwgXAo+ICAJCQkJCWNvbm5lY3RvcikKPiBA QCAtOTAsNiArODksMTIgQEAgc3RhdGljIGNvbnN0IHVpbnQzMl90IGZvcm1hdHNbXSA9IHsKPiAg CURSTV9GT1JNQVRfTlYxMiwKPiAgfTsKPiAgCj4gK3N0YXRpYyBjb25zdCBlbnVtIGRybV9wbGFu ZV90eXBlIHZpZGlfd2luX3R5cGVzW1dJTkRPV1NfTlJdID0gewo+ICsJRFJNX1BMQU5FX1RZUEVf UFJJTUFSWSwKPiArCURSTV9QTEFORV9UWVBFX09WRVJMQVksCj4gKwlEUk1fUExBTkVfVFlQRV9D VVJTT1IsCj4gK307Cj4gKwo+ICBzdGF0aWMgaW50IHZpZGlfZW5hYmxlX3ZibGFuayhzdHJ1Y3Qg ZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgdmlkaV9jb250ZXh0ICpjdHgg PSBjcnRjLT5jdHg7Cj4gQEAgLTQ0MiwxNyArNDQ3LDIxIEBAIHN0YXRpYyBpbnQgdmlkaV9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQo+ ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkYXRhOwo+ICAJc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyID0gJmN0eC0+ZW5jb2RlcjsKPiAgCXN0cnVjdCBleHlub3NfZHJtX3BsYW5l ICpleHlub3NfcGxhbmU7Cj4gLQllbnVtIGRybV9wbGFuZV90eXBlIHR5cGU7Cj4gLQl1bnNpZ25l ZCBpbnQgenBvczsKPiArCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lX2NvbmZpZyBwbGFuZV9jb25m aWcgPSB7IDAgfTsKPiArCXVuc2lnbmVkIGludCBpOwo+ICAJaW50IHBpcGUsIHJldDsKPiAgCj4g IAl2aWRpX2N0eF9pbml0aWFsaXplKGN0eCwgZHJtX2Rldik7Cj4gIAo+IC0JZm9yICh6cG9zID0g MDsgenBvcyA8IFdJTkRPV1NfTlI7IHpwb3MrKykgewo+IC0JCXR5cGUgPSBleHlub3NfcGxhbmVf Z2V0X3R5cGUoenBvcywgQ1VSU09SX1dJTik7Cj4gLQkJcmV0ID0gZXh5bm9zX3BsYW5lX2luaXQo ZHJtX2RldiwgJmN0eC0+cGxhbmVzW3pwb3NdLAo+IC0JCQkJCTEgPDwgY3R4LT5waXBlLCB0eXBl LCBmb3JtYXRzLAo+IC0JCQkJCUFSUkFZX1NJWkUoZm9ybWF0cyksIHpwb3MpOwo+ICsJcGxhbmVf Y29uZmlnLnBpeGVsX2Zvcm1hdHMgPSBmb3JtYXRzOwo+ICsJcGxhbmVfY29uZmlnLm51bV9waXhl bF9mb3JtYXRzID0gQVJSQVlfU0laRShmb3JtYXRzKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwg V0lORE9XU19OUjsgaSsrKSB7Cj4gKwkJcGxhbmVfY29uZmlnLnpwb3MgPSBpOwo+ICsJCXBsYW5l X2NvbmZpZy50eXBlID0gdmlkaV93aW5fdHlwZXMoaSk7Cj4gKwo+ICsJCXJldCA9IGV4eW5vc19w bGFuZV9pbml0KGRybV9kZXYsICZjdHgtPnBsYW5lc1tpXSwKPiArCQkJCQkxIDw8IGN0eC0+cGlw ZSwgJnBsYW5lX2NvbmZpZyk7Cj4gIAkJaWYgKHJldCkKPiAgCQkJcmV0dXJuIHJldDsKPiAgCX0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX21peGVyLmMKPiBpbmRleCAwMTVlODVjYWJjYzku LmNkZWMzYzE4MjdjNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5v c19taXhlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfbWl4ZXIuYwo+ IEBAIC00Myw3ICs0Myw2IEBACj4gIAo+ICAjZGVmaW5lIE1JWEVSX1dJTl9OUgkJMwo+ICAjZGVm aW5lIFZQX0RFRkFVTFRfV0lOCQkyCj4gLSNkZWZpbmUgQ1VSU09SX1dJTgkJMQo+ICAKPiAgLyog VGhlIHBpeGVsZm9ybWF0cyB0aGF0IGFyZSBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlIG1peGVy LiAqLwo+ICAjZGVmaW5lIE1YUl9GT1JNQVRfUkdCNTY1CTQKPiBAQCAtMTEyLDYgKzExMSwzMSBA QCBzdHJ1Y3QgbWl4ZXJfZHJ2X2RhdGEgewo+ICAJYm9vbAkJCQkJaGFzX3NjbGs7Cj4gIH07Cj4g IAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGV4eW5vc19kcm1fcGxhbmVfY29uZmlnIHBsYW5lX2Nv bmZpZ3NbTUlYRVJfV0lOX05SXSA9IHsKPiArCXsKPiArCQkuenBvcyA9IDAsCj4gKwkJLnR5cGUg PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAo+ICsJCS5waXhlbF9mb3JtYXRzID0gbWl4ZXJfZm9y bWF0cywKPiArCQkubnVtX3BpeGVsX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG1peGVyX2Zvcm1hdHMp LAo+ICsJCS5jYXBhYmlsaXRpZXMgPSBFWFlOT1NfRFJNX1BMQU5FX0NBUF9ET1VCTEVfWCB8Cj4g KwkJCQlFWFlOT1NfRFJNX1BMQU5FX0NBUF9ET1VCTEVfWSwKPiArCX0sIHsKPiArCQkuenBvcyA9 IDEsCj4gKwkJLnR5cGUgPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IsCj4gKwkJLnBpeGVsX2Zvcm1h dHMgPSBtaXhlcl9mb3JtYXRzLAo+ICsJCS5udW1fcGl4ZWxfZm9ybWF0cyA9IEFSUkFZX1NJWkUo bWl4ZXJfZm9ybWF0cyksCj4gKwkJLmNhcGFiaWxpdGllcyA9IEVYWU5PU19EUk1fUExBTkVfQ0FQ X0RPVUJMRV9YIHwKPiArCQkJCUVYWU5PU19EUk1fUExBTkVfQ0FQX0RPVUJMRV9ZLAo+ICsJfSwg ewo+ICsJCS56cG9zID0gMiwKPiArCQkudHlwZSA9IERSTV9QTEFORV9UWVBFX09WRVJMQVksCj4g KwkJLnBpeGVsX2Zvcm1hdHMgPSB2cF9mb3JtYXRzLAo+ICsJCS5udW1fcGl4ZWxfZm9ybWF0cyA9 IEFSUkFZX1NJWkUodnBfZm9ybWF0cyksCj4gKwkJLmNhcGFiaWxpdGllcyA9IEVYWU5PU19EUk1f UExBTkVfQ0FQX0RPVUJMRV9YIHwKPiArCQkJCUVYWU5PU19EUk1fUExBTkVfQ0FQX0RPVUJMRV9Z LAo+ICsJfSwKPiArfTsKPiArCj4gIHN0YXRpYyBjb25zdCB1OCBmaWx0ZXJfeV9ob3Jpel90YXA4 W10gPSB7Cj4gIAkwLAktMSwJLTEsCS0xLAktMSwJLTEsCS0xLAktMSwKPiAgCS0xLAktMSwJLTEs CS0xLAktMSwJMCwJMCwJMCwKPiBAQCAtMTE4OCwzOCArMTIxMiwyNSBAQCBzdGF0aWMgc3RydWN0 IG9mX2RldmljZV9pZCBtaXhlcl9tYXRjaF90eXBlc1tdID0gewo+ICB9Owo+ICBNT0RVTEVfREVW SUNFX1RBQkxFKG9mLCBtaXhlcl9tYXRjaF90eXBlcyk7Cj4gIAo+ICsKCm5pdHBpY2s6IEV4dHJh IGJsYW5rIGxpbmUgaGVyZS4KCglHdXN0YXZvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==