From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH 2/2] drm/exynos: implement atomic_{begin/flush} of FIMD and DECON Date: Thu, 27 Aug 2015 17:00:41 +0900 Message-ID: <55DEC3A9.6060708@samsung.com> References: <1440038007-32192-1-git-send-email-human.hwang@samsung.com> <1440038007-32192-2-git-send-email-human.hwang@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by gabe.freedesktop.org (Postfix) with ESMTPS id 721636E805 for ; Thu, 27 Aug 2015 01:00:45 -0700 (PDT) Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NTQ02SUHE963A50@mailout2.samsung.com> for dri-devel@lists.freedesktop.org; Thu, 27 Aug 2015 17:00:42 +0900 (KST) In-reply-to: <1440038007-32192-2-git-send-email-human.hwang@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Hyungwon Hwang , dri-devel@lists.freedesktop.org Cc: sw0312.kim@samsung.com List-Id: dri-devel@lists.freedesktop.org T24gMjAxNeuFhCAwOOyblCAyMOydvCAxMTozMywgSHl1bmd3b24gSHdhbmcgd3JvdGU6Cj4gRWFj aCBDUlRDJ3MgYXRvbWljX3tiZWdpbi9mbHVzaH0gbXVzdCBzdG9wL3N0YXJ0IHRoZSB1cGRhdGUg b2Ygc2hhZG93Cj4gcmVnaXN0ZXJzIHRvIGFjdGl2ZSByZWdpc3RlciBpbiB0aGUgZnVuY3Rpb25z LiBUaGlzIHBhdGNoIGFjaGlldmVzIHRoZXNlCj4gcHVycG9zZSBieSBtb3ZpbmcgdGhlIHNldHRp bmcgb2YgcHJvdGVjdGlvbiBiaXRzIHRvIHRob3NlIGZ1bmN0aW9ucyBmcm9tCj4ge2ZpbWQvZGVj b259X3VwZGF0ZV9wbGFuZS4KCkh5dW5nd29uLApHdXN0YXZvIGFscmVhZHkgcG9zdGVkIGF0b21p Y19iZWdpbi9mbHVzaCBzdXBwb3J0LiBIb3dldmVyLCBoZSBkaWRuJ3QKY29uc2lkZXIgZGVjb24g ZHJpdmVycy4KCkNhbiB5b3UgcG9zdCBvbmx5IGF0b21pY19iZWdpbi9mbHVzaCBzdXBwb3J0IGZv ciBkZWNvbiBkcml2ZXJzPwoKVGhhbmtzLApJbmtpIERhZQoKPiAKPiBTaWduZWQtb2ZmLWJ5OiBI eXVuZ3dvbiBId2FuZyA8aHVtYW4uaHdhbmdAc2Ftc3VuZy5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYyB8IDQ3ICsrKysrKysrKysrKysr KysrLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29uLmMg ICAgfCA0NyArKysrKysrKysrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2V4eW5v cy9leHlub3NfZHJtX2ZpbWQuYyAgICAgIHwgNTEgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t Cj4gIDMgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2Rl Y29uLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczU0MzNfZHJtX2RlY29uLmMKPiBp bmRleCA0ODRlMzEyLi5mZWYwMzMzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zNTQzM19kcm1fZGVjb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3Mv ZXh5bm9zNTQzM19kcm1fZGVjb24uYwo+IEBAIC0zMSw2ICszMSw3IEBAIHN0cnVjdCBkZWNvbl9j b250ZXh0IHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlCQkqZHJtX2RldjsKPiAgCXN0cnVjdCBleHlu b3NfZHJtX2NydGMJCSpjcnRjOwo+ICAJc3RydWN0IGV4eW5vc19kcm1fcGxhbmUJCXBsYW5lc1tX SU5ET1dTX05SXTsKPiArCXVuc2lnbmVkIGludAkJCXVwZGF0ZWRfcGxhbmU7Cj4gIAl2b2lkIF9f aW9tZW0JCQkqYWRkcjsKPiAgCXN0cnVjdCBjbGsJCQkqY2xrc1s2XTsKPiAgCXVuc2lnbmVkIGlu dAkJCWRlZmF1bHRfd2luOwo+IEBAIC0yMDQsMTcgKzIwNSwxNyBAQCBzdGF0aWMgdm9pZCBkZWNv bl93aW5fc2V0X3BpeGZtdChzdHJ1Y3QgZGVjb25fY29udGV4dCAqY3R4LCB1bnNpZ25lZCBpbnQg d2luLAo+ICAJd3JpdGVsKHZhbCwgY3R4LT5hZGRyICsgREVDT05fV0lOQ09OeCh3aW4pKTsKPiAg fQo+ICAKPiAtc3RhdGljIHZvaWQgZGVjb25fc2hhZG93X3Byb3RlY3Rfd2luKHN0cnVjdCBkZWNv bl9jb250ZXh0ICpjdHgsIGludCB3aW4sCj4gLQkJCQkJYm9vbCBwcm90ZWN0KQo+ICtzdGF0aWMg dm9pZCBkZWNvbl9zaGFkb3dfcHJvdGVjdF93aW4oc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCwK PiArCQkJCXVuc2lnbmVkIGludCB3aW5fYml0cywgYm9vbCBwcm90ZWN0KQo+ICB7Cj4gIAl1MzIg dmFsOwo+ICAKPiAgCXZhbCA9IHJlYWRsKGN0eC0+YWRkciArIERFQ09OX1NIQURPV0NPTik7Cj4g IAo+ICAJaWYgKHByb3RlY3QpCj4gLQkJdmFsIHw9IFNIQURPV0NPTl9XeF9QUk9URUNUKHdpbik7 Cj4gKwkJdmFsIHw9IHdpbl9iaXRzOwo+ICAJZWxzZQo+IC0JCXZhbCAmPSB+U0hBRE9XQ09OX1d4 X1BST1RFQ1Qod2luKTsKPiArCQl2YWwgJj0gfndpbl9iaXRzOwo+ICAKPiAgCXdyaXRlbCh2YWws IGN0eC0+YWRkciArIERFQ09OX1NIQURPV0NPTik7Cj4gIH0KPiBAQCAtMjMyLDggKzIzMyw2IEBA IHN0YXRpYyB2b2lkIGRlY29uX3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpj cnRjLAo+ICAJaWYgKGN0eC0+c3VzcGVuZGVkKQo+ICAJCXJldHVybjsKPiAgCj4gLQlkZWNvbl9z aGFkb3dfcHJvdGVjdF93aW4oY3R4LCB3aW4sIHRydWUpOwo+IC0KPiAgCXZhbCA9IENPT1JESU5B VEVfWChwbGFuZS0+Y3J0Y194KSB8IENPT1JESU5BVEVfWShwbGFuZS0+Y3J0Y195KTsKPiAgCXdy aXRlbCh2YWwsIGN0eC0+YWRkciArIERFQ09OX1ZJRE9TRHhBKHdpbikpOwo+ICAKPiBAQCAtMjY1 LDE1ICsyNjQsMTIgQEAgc3RhdGljIHZvaWQgZGVjb25fdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlu b3NfZHJtX2NydGMgKmNydGMsCj4gIAl2YWwgfD0gV0lOQ09OeF9FTldJTl9GOwo+ICAJd3JpdGVs KHZhbCwgY3R4LT5hZGRyICsgREVDT05fV0lOQ09OeCh3aW4pKTsKPiAgCj4gLQlkZWNvbl9zaGFk b3dfcHJvdGVjdF93aW4oY3R4LCB3aW4sIGZhbHNlKTsKPiAtCj4gIAkvKiBzdGFuZGFsb25lIHVw ZGF0ZSAqLwo+ICAJdmFsID0gcmVhZGwoY3R4LT5hZGRyICsgREVDT05fVVBEQVRFKTsKPiAgCXZh bCB8PSBTVEFOREFMT05FX1VQREFURV9GOwo+ICAJd3JpdGVsKHZhbCwgY3R4LT5hZGRyICsgREVD T05fVVBEQVRFKTsKPiAgCj4gLQlpZiAoY3R4LT5pODBfaWYpCj4gLQkJYXRvbWljX3NldCgmY3R4 LT53aW5fdXBkYXRlZCwgMSk7Cj4gKwljdHgtPnVwZGF0ZWRfcGxhbmUgfD0gU0hBRE9XQ09OX1d4 X1BST1RFQ1Qod2luKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQgZGVjb25fZGlzYWJsZV9wbGFu ZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+IEBAIC0yODYsMTQgKzI4MiwxNCBAQCBz dGF0aWMgdm9pZCBkZWNvbl9kaXNhYmxlX3BsYW5lKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNy dGMsCj4gIAlpZiAoY3R4LT5zdXNwZW5kZWQpCj4gIAkJcmV0dXJuOwo+ICAKPiAtCWRlY29uX3No YWRvd19wcm90ZWN0X3dpbihjdHgsIHdpbiwgdHJ1ZSk7Cj4gKwlkZWNvbl9zaGFkb3dfcHJvdGVj dF93aW4oY3R4LCBTSEFET1dDT05fV3hfUFJPVEVDVCh3aW4pLCB0cnVlKTsKPiAgCj4gIAkvKiB3 aW5kb3cgZGlzYWJsZSAqLwo+ICAJdmFsID0gcmVhZGwoY3R4LT5hZGRyICsgREVDT05fV0lOQ09O eCh3aW4pKTsKPiAgCXZhbCAmPSB+V0lOQ09OeF9FTldJTl9GOwo+ICAJd3JpdGVsKHZhbCwgY3R4 LT5hZGRyICsgREVDT05fV0lOQ09OeCh3aW4pKTsKPiAgCj4gLQlkZWNvbl9zaGFkb3dfcHJvdGVj dF93aW4oY3R4LCB3aW4sIGZhbHNlKTsKPiArCWRlY29uX3NoYWRvd19wcm90ZWN0X3dpbihjdHgs IFNIQURPV0NPTl9XeF9QUk9URUNUKHdpbiksIGZhbHNlKTsKPiAgCj4gIAkvKiBzdGFuZGFsb25l IHVwZGF0ZSAqLwo+ICAJdmFsID0gcmVhZGwoY3R4LT5hZGRyICsgREVDT05fVVBEQVRFKTsKPiBA QCAtNDA1LDYgKzQwMSwzMSBAQCB2b2lkIGRlY29uX3RlX2lycV9oYW5kbGVyKHN0cnVjdCBleHlu b3NfZHJtX2NydGMgKmNydGMpCj4gIAlkcm1fY3J0Y19oYW5kbGVfdmJsYW5rKCZjdHgtPmNydGMt PmJhc2UpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBkZWNvbl9iZWdpbihzdHJ1Y3QgZXh5bm9z X2RybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlzdHJ1Y3QgZGVjb25fY29udGV4dCAqY3R4ID0gY3J0 Yy0+Y3R4Owo+ICsJaW50IGk7Cj4gKwl1bnNpZ25lZCBpbnQgdmFsID0gMDsKPiArCj4gKwlmb3Ig KGkgPSAwOyBpIDwgV0lORE9XU19OUjsgaSsrKQo+ICsJCXZhbCB8PSBTSEFET1dDT05fV3hfUFJP VEVDVChpKTsKPiArCj4gKwkvKiBwcm90ZWN0IHdpbmRvd3MgKi8KPiArCWRlY29uX3NoYWRvd19w cm90ZWN0X3dpbihjdHgsIHZhbCwgdHJ1ZSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRlY29u X2ZsdXNoKHN0cnVjdCBleHlub3NfZHJtX2NydGMgKmNydGMpCj4gK3sKPiArCXN0cnVjdCBkZWNv bl9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7Cj4gKwo+ICsJaWYgKGN0eC0+dXBkYXRlZF9wbGFu ZSkgewo+ICsJCWRlY29uX3NoYWRvd19wcm90ZWN0X3dpbihjdHgsIGN0eC0+dXBkYXRlZF9wbGFu ZSwgZmFsc2UpOwo+ICsKPiArCQlpZiAoY3R4LT5pODBfaWYpCj4gKwkJCWF0b21pY19zZXQoJmN0 eC0+d2luX3VwZGF0ZWQsIDEpOwo+ICsJfQo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBkZWNvbl9j bGVhcl9jaGFubmVscyhzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+ICB7Cj4gIAlzdHJ1 Y3QgZGVjb25fY29udGV4dCAqY3R4ID0gY3J0Yy0+Y3R4Owo+IEBAIC00NTgsNiArNDc5LDggQEAg c3RhdGljIHN0cnVjdCBleHlub3NfZHJtX2NydGNfb3BzIGRlY29uX2NydGNfb3BzID0gewo+ICAJ LnVwZGF0ZV9wbGFuZQkJPSBkZWNvbl91cGRhdGVfcGxhbmUsCj4gIAkuZGlzYWJsZV9wbGFuZQkJ PSBkZWNvbl9kaXNhYmxlX3BsYW5lLAo+ICAJLnRlX2hhbmRsZXIJCT0gZGVjb25fdGVfaXJxX2hh bmRsZXIsCj4gKwkuYXRvbWljX2JlZ2luCQk9IGRlY29uX2JlZ2luLAo+ICsJLmF0b21pY19mbHVz aAkJPSBkZWNvbl9mbHVzaCwKPiAgfTsKPiAgCj4gIHN0YXRpYyBpbnQgZGVjb25fYmluZChzdHJ1 Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M3X2RybV9kZWNvbi5jIGIvZHJp dmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3M3X2RybV9kZWNvbi5jCj4gaW5kZXggMDc5MjY1NC4u YzgxZGU4NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJt X2RlY29uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vczdfZHJtX2RlY29u LmMKPiBAQCAtNDcsNiArNDcsNyBAQCBzdHJ1Y3QgZGVjb25fY29udGV4dCB7Cj4gIAlzdHJ1Y3Qg ZHJtX2RldmljZQkJKmRybV9kZXY7Cj4gIAlzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjCQkqY3J0YzsK PiAgCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lCQlwbGFuZXNbV0lORE9XU19OUl07Cj4gKwl1bnNp Z25lZCBpbnQJCQl1cGRhdGVkX3BsYW5lOwo+ICAJc3RydWN0IGNsawkJCSpwY2xrOwo+ICAJc3Ry dWN0IGNsawkJCSphY2xrOwo+ICAJc3RydWN0IGNsawkJCSplY2xrOwo+IEBAIC0zNjksMTcgKzM3 MCwxNSBAQCBzdGF0aWMgdm9pZCBkZWNvbl93aW5fc2V0X2NvbGtleShzdHJ1Y3QgZGVjb25fY29u dGV4dCAqY3R4LCB1bnNpZ25lZCBpbnQgd2luKQo+ICAgKiBAcHJvdGVjdDogMSB0byBwcm90ZWN0 IChkaXNhYmxlIHVwZGF0ZXMpCj4gICAqLwo+ICBzdGF0aWMgdm9pZCBkZWNvbl9zaGFkb3dfcHJv dGVjdF93aW4oc3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCwKPiAtCQkJCSAgICAgdW5zaWduZWQg aW50IHdpbiwgYm9vbCBwcm90ZWN0KQo+ICsJCQkJICAgICB1bnNpZ25lZCBpbnQgd2luX2JpdHMs IGJvb2wgcHJvdGVjdCkKPiAgewo+IC0JdTMyIGJpdHMsIHZhbDsKPiAtCj4gLQliaXRzID0gU0hB RE9XQ09OX1dJTnhfUFJPVEVDVCh3aW4pOwo+ICsJdTMyIHZhbDsKPiAgCj4gIAl2YWwgPSByZWFk bChjdHgtPnJlZ3MgKyBTSEFET1dDT04pOwo+ICAJaWYgKHByb3RlY3QpCj4gLQkJdmFsIHw9IGJp dHM7Cj4gKwkJdmFsIHw9IHdpbl9iaXRzOwo+ICAJZWxzZQo+IC0JCXZhbCAmPSB+Yml0czsKPiAr CQl2YWwgJj0gfndpbl9iaXRzOwo+ICAJd3JpdGVsKHZhbCwgY3R4LT5yZWdzICsgU0hBRE9XQ09O KTsKPiAgfQo+ICAKPiBAQCAtNDEwLDkgKzQwOSw2IEBAIHN0YXRpYyB2b2lkIGRlY29uX3VwZGF0 ZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+ICAJICogaXMgc2V0Lgo+ICAJ ICovCj4gIAo+IC0JLyogcHJvdGVjdCB3aW5kb3dzICovCj4gLQlkZWNvbl9zaGFkb3dfcHJvdGVj dF93aW4oY3R4LCB3aW4sIHRydWUpOwo+IC0KPiAgCS8qIGJ1ZmZlciBzdGFydCBhZGRyZXNzICov Cj4gIAl2YWwgPSAodW5zaWduZWQgbG9uZylwbGFuZS0+ZG1hX2FkZHJbMF07Cj4gIAl3cml0ZWwo dmFsLCBjdHgtPnJlZ3MgKyBWSURXX0JVRl9TVEFSVCh3aW4pKTsKPiBAQCAtNDg0LDEyICs0ODAs MTEgQEAgc3RhdGljIHZvaWQgZGVjb25fdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlub3NfZHJtX2Ny dGMgKmNydGMsCj4gIAl2YWwgfD0gV0lOQ09OeF9FTldJTjsKPiAgCXdyaXRlbCh2YWwsIGN0eC0+ cmVncyArIFdJTkNPTih3aW4pKTsKPiAgCj4gLQkvKiBFbmFibGUgRE1BIGNoYW5uZWwgYW5kIHVu cHJvdGVjdCB3aW5kb3dzICovCj4gLQlkZWNvbl9zaGFkb3dfcHJvdGVjdF93aW4oY3R4LCB3aW4s IGZhbHNlKTsKPiAtCj4gIAl2YWwgPSByZWFkbChjdHgtPnJlZ3MgKyBERUNPTl9VUERBVEUpOwo+ ICAJdmFsIHw9IERFQ09OX1VQREFURV9TVEFOREFMT05FX0Y7Cj4gIAl3cml0ZWwodmFsLCBjdHgt PnJlZ3MgKyBERUNPTl9VUERBVEUpOwo+ICsKPiArCWN0eC0+dXBkYXRlZF9wbGFuZSB8PSBTSEFE T1dDT05fV0lOeF9QUk9URUNUKHdpbik7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGRlY29uX2Rp c2FibGVfcGxhbmUoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKPiBAQCAtNTAzLDcgKzQ5 OCw3IEBAIHN0YXRpYyB2b2lkIGRlY29uX2Rpc2FibGVfcGxhbmUoc3RydWN0IGV4eW5vc19kcm1f Y3J0YyAqY3J0YywKPiAgCQlyZXR1cm47Cj4gIAo+ICAJLyogcHJvdGVjdCB3aW5kb3dzICovCj4g LQlkZWNvbl9zaGFkb3dfcHJvdGVjdF93aW4oY3R4LCB3aW4sIHRydWUpOwo+ICsJZGVjb25fc2hh ZG93X3Byb3RlY3Rfd2luKGN0eCwgU0hBRE9XQ09OX1dJTnhfUFJPVEVDVCh3aW4pLCB0cnVlKTsK PiAgCj4gIAkvKiB3aW5jb24gKi8KPiAgCXZhbCA9IHJlYWRsKGN0eC0+cmVncyArIFdJTkNPTih3 aW4pKTsKPiBAQCAtNTExLDcgKzUwNiw3IEBAIHN0YXRpYyB2b2lkIGRlY29uX2Rpc2FibGVfcGxh bmUoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKPiAgCXdyaXRlbCh2YWwsIGN0eC0+cmVn cyArIFdJTkNPTih3aW4pKTsKPiAgCj4gIAkvKiB1bnByb3RlY3Qgd2luZG93cyAqLwo+IC0JZGVj b25fc2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgd2luLCBmYWxzZSk7Cj4gKwlkZWNvbl9zaGFkb3df cHJvdGVjdF93aW4oY3R4LCBTSEFET1dDT05fV0lOeF9QUk9URUNUKHdpbiksIGZhbHNlKTsKPiAg Cj4gIAl2YWwgPSByZWFkbChjdHgtPnJlZ3MgKyBERUNPTl9VUERBVEUpOwo+ICAJdmFsIHw9IERF Q09OX1VQREFURV9TVEFOREFMT05FX0Y7Cj4gQEAgLTYwNiw2ICs2MDEsMjggQEAgc3RhdGljIHZv aWQgZGVjb25fZGlzYWJsZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+ICAJY3R4LT5z dXNwZW5kZWQgPSB0cnVlOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBkZWNvbl9iZWdpbihzdHJ1 Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlzdHJ1Y3QgZGVjb25fY29udGV4dCAq Y3R4ID0gY3J0Yy0+Y3R4Owo+ICsJaW50IGk7Cj4gKwl1bnNpZ25lZCBpbnQgdmFsID0gMDsKPiAr Cj4gKwlmb3IgKGkgPSAwOyBpIDwgV0lORE9XU19OUjsgaSsrKQo+ICsJCXZhbCB8PSBTSEFET1dD T05fV0lOeF9QUk9URUNUKGkpOwo+ICsKPiArCS8qIHByb3RlY3Qgd2luZG93cyAqLwo+ICsJZGVj b25fc2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgdmFsLCB0cnVlKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgZGVjb25fZmx1c2goc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YykKPiArewo+ICsJ c3RydWN0IGRlY29uX2NvbnRleHQgKmN0eCA9IGNydGMtPmN0eDsKPiArCj4gKwlpZiAoY3R4LT51 cGRhdGVkX3BsYW5lKQo+ICsJCWRlY29uX3NoYWRvd19wcm90ZWN0X3dpbihjdHgsIGN0eC0+dXBk YXRlZF9wbGFuZSwgZmFsc2UpOwo+ICt9Cj4gKwo+ICsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBl eHlub3NfZHJtX2NydGNfb3BzIGRlY29uX2NydGNfb3BzID0gewo+ICAJLmVuYWJsZSA9IGRlY29u X2VuYWJsZSwKPiAgCS5kaXNhYmxlID0gZGVjb25fZGlzYWJsZSwKPiBAQCAtNjE2LDYgKzYzMyw4 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjX29wcyBkZWNvbl9jcnRjX29w cyA9IHsKPiAgCS53YWl0X2Zvcl92YmxhbmsgPSBkZWNvbl93YWl0X2Zvcl92YmxhbmssCj4gIAku dXBkYXRlX3BsYW5lID0gZGVjb25fdXBkYXRlX3BsYW5lLAo+ICAJLmRpc2FibGVfcGxhbmUgPSBk ZWNvbl9kaXNhYmxlX3BsYW5lLAo+ICsJLmF0b21pY19iZWdpbiA9IGRlY29uX2JlZ2luLAo+ICsJ LmF0b21pY19mbHVzaCA9IGRlY29uX2ZsdXNoLAo+ICB9Owo+ICAKPiAgCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9maW1kLmMgYi9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jCj4gaW5kZXggNWRlZjZiYy4uMGI0MWJiMiAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZmltZC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2ZpbWQuYwo+IEBAIC0xNDksNiAr MTQ5LDcgQEAgc3RydWN0IGZpbWRfY29udGV4dCB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZQkJKmRy bV9kZXY7Cj4gIAlzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjCQkqY3J0YzsKPiAgCXN0cnVjdCBleHlu b3NfZHJtX3BsYW5lCQlwbGFuZXNbV0lORE9XU19OUl07Cj4gKwl1bnNpZ25lZCBpbnQJCQl1cGRh dGVkX3BsYW5lOwo+ICAJc3RydWN0IGNsawkJCSpidXNfY2xrOwo+ICAJc3RydWN0IGNsawkJCSps Y2RfY2xrOwo+ICAJdm9pZCBfX2lvbWVtCQkJKnJlZ3M7Cj4gQEAgLTU4NywyMyArNTg4LDIyIEBA IHN0YXRpYyB2b2lkIGZpbWRfd2luX3NldF9jb2xrZXkoc3RydWN0IGZpbWRfY29udGV4dCAqY3R4 LCB1bnNpZ25lZCBpbnQgd2luKQo+ICAgKiBAcHJvdGVjdDogMSB0byBwcm90ZWN0IChkaXNhYmxl IHVwZGF0ZXMpCj4gICAqLwo+ICBzdGF0aWMgdm9pZCBmaW1kX3NoYWRvd19wcm90ZWN0X3dpbihz dHJ1Y3QgZmltZF9jb250ZXh0ICpjdHgsCj4gLQkJCQkgICAgdW5zaWduZWQgaW50IHdpbiwgYm9v bCBwcm90ZWN0KQo+ICsJCQkJICAgIHVuc2lnbmVkIGludCB3aW5fYml0cywgYm9vbCBwcm90ZWN0 KQo+ICB7Cj4gLQl1MzIgcmVnLCBiaXRzLCB2YWw7Cj4gKwl1MzIgcmVnLCB2YWw7Cj4gIAo+ICAJ aWYgKGN0eC0+ZHJpdmVyX2RhdGEtPmhhc19zaGFkb3djb24pIHsKPiAgCQlyZWcgPSBTSEFET1dD T047Cj4gLQkJYml0cyA9IFNIQURPV0NPTl9XSU54X1BST1RFQ1Qod2luKTsKPiAgCX0gZWxzZSB7 Cj4gIAkJcmVnID0gUFJUQ09OOwo+IC0JCWJpdHMgPSBQUlRDT05fUFJPVEVDVDsKPiArCQl3aW5f Yml0cyA9IFBSVENPTl9QUk9URUNUOwo+ICAJfQo+ICAKPiAgCXZhbCA9IHJlYWRsKGN0eC0+cmVn cyArIHJlZyk7Cj4gIAlpZiAocHJvdGVjdCkKPiAtCQl2YWwgfD0gYml0czsKPiArCQl2YWwgfD0g d2luX2JpdHM7Cj4gIAllbHNlCj4gLQkJdmFsICY9IH5iaXRzOwo+ICsJCXZhbCAmPSB+d2luX2Jp dHM7Cj4gIAl3cml0ZWwodmFsLCBjdHgtPnJlZ3MgKyByZWcpOwo+ICB9Cj4gIAo+IEBAIC02MzIs MTAgKzYzMiw2IEBAIHN0YXRpYyB2b2lkIGZpbWRfdXBkYXRlX3BsYW5lKHN0cnVjdCBleHlub3Nf ZHJtX2NydGMgKmNydGMsCj4gIAkgKiBpcyBzZXQuCj4gIAkgKi8KPiAgCj4gLQkvKiBwcm90ZWN0 IHdpbmRvd3MgKi8KPiAtCWZpbWRfc2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgd2luLCB0cnVlKTsK PiAtCj4gLQo+ICAJb2Zmc2V0ID0gcGxhbmUtPnNyY194ICogYnBwOwo+ICAJb2Zmc2V0ICs9IHBs YW5lLT5zcmNfeSAqIHBpdGNoOwo+ICAKPiBAQCAtNzA3LDExICs3MDMsMzIgQEAgc3RhdGljIHZv aWQgZmltZF91cGRhdGVfcGxhbmUoc3RydWN0IGV4eW5vc19kcm1fY3J0YyAqY3J0YywKPiAgCWlm IChjdHgtPmRyaXZlcl9kYXRhLT5oYXNfc2hhZG93Y29uKQo+ICAJCWZpbWRfZW5hYmxlX3NoYWRv d19jaGFubmVsX3BhdGgoY3R4LCB3aW4sIHRydWUpOwo+ICAKPiAtCS8qIEVuYWJsZSBETUEgY2hh bm5lbCBhbmQgdW5wcm90ZWN0IHdpbmRvd3MgKi8KPiAtCWZpbWRfc2hhZG93X3Byb3RlY3Rfd2lu KGN0eCwgd2luLCBmYWxzZSk7Cj4gKwljdHgtPnVwZGF0ZWRfcGxhbmUgfD0gU0hBRE9XQ09OX1dJ TnhfUFJPVEVDVCh3aW4pOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBmaW1kX2JlZ2luKHN0cnVj dCBleHlub3NfZHJtX2NydGMgKmNydGMpCj4gK3sKPiArCXN0cnVjdCBmaW1kX2NvbnRleHQgKmN0 eCA9IGNydGMtPmN0eDsKPiArCWludCBpOwo+ICsJdW5zaWduZWQgaW50IHZhbCA9IDA7Cj4gKwo+ ICsJZm9yIChpID0gMDsgaSA8IFdJTkRPV1NfTlI7IGkrKykKPiArCQl2YWwgfD0gU0hBRE9XQ09O X1dJTnhfUFJPVEVDVChpKTsKPiAgCj4gLQlpZiAoY3R4LT5pODBfaWYpCj4gLQkJYXRvbWljX3Nl dCgmY3R4LT53aW5fdXBkYXRlZCwgMSk7Cj4gKwkvKiBwcm90ZWN0IHdpbmRvd3MgKi8KPiArCWZp bWRfc2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgdmFsLCB0cnVlKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgZmltZF9mbHVzaChzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjKQo+ICt7Cj4gKwlz dHJ1Y3QgZmltZF9jb250ZXh0ICpjdHggPSBjcnRjLT5jdHg7Cj4gKwo+ICsJaWYgKGN0eC0+dXBk YXRlZF9wbGFuZSkgewo+ICsJCWZpbWRfc2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgY3R4LT51cGRh dGVkX3BsYW5lLCBmYWxzZSk7Cj4gKwo+ICsJCWlmIChjdHgtPmk4MF9pZikKPiArCQkJYXRvbWlj X3NldCgmY3R4LT53aW5fdXBkYXRlZCwgMSk7Cj4gKwl9Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lk IGZpbWRfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+IEBAIC03 MjQsNyArNzQxLDcgQEAgc3RhdGljIHZvaWQgZmltZF9kaXNhYmxlX3BsYW5lKHN0cnVjdCBleHlu b3NfZHJtX2NydGMgKmNydGMsCj4gIAkJcmV0dXJuOwo+ICAKPiAgCS8qIHByb3RlY3Qgd2luZG93 cyAqLwo+IC0JZmltZF9zaGFkb3dfcHJvdGVjdF93aW4oY3R4LCB3aW4sIHRydWUpOwo+ICsJZmlt ZF9zaGFkb3dfcHJvdGVjdF93aW4oY3R4LCBTSEFET1dDT05fV0lOeF9QUk9URUNUKHdpbiksIHRy dWUpOwo+ICAKPiAgCWZpbWRfZW5hYmxlX3ZpZGVvX291dHB1dChjdHgsIHdpbiwgZmFsc2UpOwo+ ICAKPiBAQCAtNzMyLDcgKzc0OSw3IEBAIHN0YXRpYyB2b2lkIGZpbWRfZGlzYWJsZV9wbGFuZShz dHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjLAo+ICAJCWZpbWRfZW5hYmxlX3NoYWRvd19jaGFu bmVsX3BhdGgoY3R4LCB3aW4sIGZhbHNlKTsKPiAgCj4gIAkvKiB1bnByb3RlY3Qgd2luZG93cyAq Lwo+IC0JZmltZF9zaGFkb3dfcHJvdGVjdF93aW4oY3R4LCB3aW4sIGZhbHNlKTsKPiArCWZpbWRf c2hhZG93X3Byb3RlY3Rfd2luKGN0eCwgU0hBRE9XQ09OX1dJTnhfUFJPVEVDVCh3aW4pLCBmYWxz ZSk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGZpbWRfZW5hYmxlKHN0cnVjdCBleHlub3NfZHJt X2NydGMgKmNydGMpCj4gQEAgLTg3OSw2ICs4OTYsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4 eW5vc19kcm1fY3J0Y19vcHMgZmltZF9jcnRjX29wcyA9IHsKPiAgCS5kaXNhYmxlX3BsYW5lID0g ZmltZF9kaXNhYmxlX3BsYW5lLAo+ICAJLnRlX2hhbmRsZXIgPSBmaW1kX3RlX2hhbmRsZXIsCj4g IAkuY2xvY2tfZW5hYmxlID0gZmltZF9kcF9jbG9ja19lbmFibGUsCj4gKwkuYXRvbWljX2JlZ2lu ID0gZmltZF9iZWdpbiwKPiArCS5hdG9taWNfZmx1c2ggPSBmaW1kX2ZsdXNoLAo+ICB9Owo+ICAK PiAgc3RhdGljIGlycXJldHVybl90IGZpbWRfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2 X2lkKQo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK