From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Keeping Subject: Re: [PATCH] drm/rockchip: get rid of rockchip_drm_crtc_mode_config Date: Mon, 18 Apr 2016 10:25:38 +0100 Message-ID: <20160418102538.0ed730ca.john@metanate.com> References: <1460948611-32259-1-git-send-email-mark.yao@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1460948611-32259-1-git-send-email-mark.yao@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org SGkgTWFyaywKCk9uIE1vbiwgMTggQXByIDIwMTYgMTE6MDM6MzEgKzA4MDAsIE1hcmsgWWFvIHdy b3RlOgoKPiBXZSBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGUgdm9wIHN0YXR1cyB3aGVuIHVzZQo+ IHJvY2tjaGlwX2RybV9jcnRjX21vZGVfY29uZmlnLCBpZiB2b3AgaXMgZGlzYWJsZWQsCj4gdGhl IGZ1bmN0aW9uIHdvdWxkIGZhaWxlZCwgdGhhdCBpcyB0ZXJyaWJsZS4KPiAKPiBTYXZlIGNvbm5l Y3RvciB0eXBlIGFuZCBvdXRwdXQgbW9kZSBvbiBkcm1fZGlzcGxheV9tb2RlLT5wcml2YXRlX2Zs YWdzCj4gYXQgZW5jb2RlciBtb2RlX2ZpeHVwLCB0aGVuIHdlIGNhbiBjb25maWd1cmUgdGhlIHR5 cGUgYW5kIG1vZGUgc2FmZWx5Cj4gb24gY3J0YyBtb2RlX3NldC4KClNpbmNlIFJvY2tjaGlwIGlz IGF0b21pYywgc2hvdWxkbid0IHRoaXMgYmUgdXNpbmcgYXRvbWljX2NoZWNrIGhvb2tzIGFuZAph IHN1YmNsYXNzZWQgY3J0Y19zdGF0ZSBzdHJ1Y3R1cmU/Cgo+IFNpZ25lZC1vZmYtYnk6IE1hcmsg WWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMgfCAgIDM3ICsrKysrKystLS0tLS0tLS0KPiAg ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgICAgICAgICAgfCAgIDQ0ICsr KysrKysrKystLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9j a2NoaXAuYyAgICAgfCAgICA1ICstLQo+ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19o ZG1pLmMgICAgICAgICAgICB8ICAgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF9kcm1fZHJ2LmggICAgIHwgICAgMiAtCj4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmMgICAgIHwgICA1MSArKysrKysrKystLS0tLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oICAgICB8ICAgIDYg KysrCj4gIDcgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgODEgZGVsZXRpb25zKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9hbmFsb2dpeF9kcC1y b2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlw LmMKPiBpbmRleCBhMWQ5NGQ4Li4wMzQ0ZTUyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yb2NrY2hpcC9hbmFsb2dpeF9kcC1yb2NrY2hpcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL2FuYWxvZ2l4X2RwLXJvY2tjaGlwLmMKPiBAQCAtOTcsNyArOTcsMjEgQEAgcm9j a2NoaXBfZHBfZHJtX2VuY29kZXJfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIsCj4gIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAgCQkJ CSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlKQo+ICB7Cj4gLQkvKiBk byBub3RoaW5nICovCj4gKwkvKgo+ICsJICogRklYTUUoWWFraXIpOiBkcml2ZXIgc2hvdWxkIGNv bmZpZ3VyZSB0aGUgQ1JUQyBvdXRwdXQgdmlkZW8KPiArCSAqIG1vZGUgd2l0aCB0aGUgZGlzcGxh eSBpbmZvcm1hdGlvbiB3aGljaCBpbmRpY2F0ZWQgdGhlIG1vbml0b3IKPiArCSAqIHN1cHBvcnQg Y29sb3JpbWV0cnkuCj4gKwkgKgo+ICsJICogQnV0IGRvbid0IGtub3cgd2h5IHRoZSBDUlRDIGRy aXZlciBzZWVtcyBjb3VsZCBvbmx5IG91dHB1dCB0aGUKPiArCSAqIFJHQmFhYSByaWdodGx5LiBG b3IgZXhhbXBsZSwgaWYgY29ubmVjdCB0aGUgImlubm9sdXgsbjExNmJnZSIKPiArCSAqIGVEUCBz Y3JlZW4sIEVESUQgd291bGQgaW5kaWNhdGVkIHRoYXQgc2NyZWVuIG9ubHkgYWNjZXB0ZWQgdGhl Cj4gKwkgKiA2YnBjIG1vZGUuIEJ1dCBpZiBJIGNvbmZpZ3VyZSBDUlRDIHRvIFJHQjY2NiBvdXRw dXQsIHRoZW4gZURQCj4gKwkgKiBzY3JlZW4gd291bGQgc2hvdyBhIGJsdWUgcGljdHVyZSAoUkdC ODg4IHNob3cgYSBncmVlbiBwaWN0dXJlKS4KPiArCSAqIEJ1dCBpZiBJIGNvbmZpZ3VyZSBDVFJD IHRvIFJHQmFhYSwgYW5kIGVEUCBkcml2ZXIgc3RpbGwga2VlcAo+ICsJICogUkdCNjY2IGlucHV0 IHZpZGVvIG1vZGUsIHRoZW4gc2NyZWVuIHdvdWxkIHdvcmtzIHByZWZlY3QuCj4gKwkgKi8KPiAr CWFkanVzdGVkX21vZGUtPnByaXZhdGVfZmxhZ3MgPSBST0NLQ0hJUF9EU1BfTU9ERShlRFAsIEFB QUEpOwo+ICsKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IEBAIC0xMTQsMjcgKzEyOCw2IEBA IHN0YXRpYyB2b2lkIHJvY2tjaGlwX2RwX2RybV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCj4gIAlpbnQgcmV0Owo+ICAJdTMyIHZhbDsKPiAgCj4gLQkvKgo+IC0J ICogRklYTUUoWWFraXIpOiBkcml2ZXIgc2hvdWxkIGNvbmZpZ3VyZSB0aGUgQ1JUQyBvdXRwdXQg dmlkZW8KPiAtCSAqIG1vZGUgd2l0aCB0aGUgZGlzcGxheSBpbmZvcm1hdGlvbiB3aGljaCBpbmRp Y2F0ZWQgdGhlIG1vbml0b3IKPiAtCSAqIHN1cHBvcnQgY29sb3JpbWV0cnkuCj4gLQkgKgo+IC0J ICogQnV0IGRvbid0IGtub3cgd2h5IHRoZSBDUlRDIGRyaXZlciBzZWVtcyBjb3VsZCBvbmx5IG91 dHB1dCB0aGUKPiAtCSAqIFJHQmFhYSByaWdodGx5LiBGb3IgZXhhbXBsZSwgaWYgY29ubmVjdCB0 aGUgImlubm9sdXgsbjExNmJnZSIKPiAtCSAqIGVEUCBzY3JlZW4sIEVESUQgd291bGQgaW5kaWNh dGVkIHRoYXQgc2NyZWVuIG9ubHkgYWNjZXB0ZWQgdGhlCj4gLQkgKiA2YnBjIG1vZGUuIEJ1dCBp ZiBJIGNvbmZpZ3VyZSBDUlRDIHRvIFJHQjY2NiBvdXRwdXQsIHRoZW4gZURQCj4gLQkgKiBzY3Jl ZW4gd291bGQgc2hvdyBhIGJsdWUgcGljdHVyZSAoUkdCODg4IHNob3cgYSBncmVlbiBwaWN0dXJl KS4KPiAtCSAqIEJ1dCBpZiBJIGNvbmZpZ3VyZSBDVFJDIHRvIFJHQmFhYSwgYW5kIGVEUCBkcml2 ZXIgc3RpbGwga2VlcAo+IC0JICogUkdCNjY2IGlucHV0IHZpZGVvIG1vZGUsIHRoZW4gc2NyZWVu IHdvdWxkIHdvcmtzIHByZWZlY3QuCj4gLQkgKi8KPiAtCXJldCA9IHJvY2tjaGlwX2RybV9jcnRj X21vZGVfY29uZmlnKGVuY29kZXItPmNydGMsCj4gLQkJCQkJICAgIERSTV9NT0RFX0NPTk5FQ1RP Ul9lRFAsCj4gLQkJCQkJICAgIFJPQ0tDSElQX09VVF9NT0RFX0FBQUEpOwo+IC0JaWYgKHJldCA8 IDApIHsKPiAtCQlkZXZfZXJyKGRwLT5kZXYsICJDb3VsZCBub3Qgc2V0IGNydGMgbW9kZSBjb25m aWcgKCVkKVxuIiwgcmV0KTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+ICAJcmV0ID0gZHJtX29m X2VuY29kZXJfYWN0aXZlX2VuZHBvaW50X2lkKGRwLT5kZXYtPm9mX25vZGUsIGVuY29kZXIpOwo+ ICAJaWYgKHJldCA8IDApCj4gIAkJcmV0dXJuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1t aXBpLWRzaS5jCj4gaW5kZXggNzk3NTE1OC4uNDljNGM3MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9kdy1taXBpLWRzaS5jCj4gQEAgLTg3NSwxMSArODc1LDM0IEBAIHN0YXRpYyB2b2lk IGR3X21pcGlfZHNpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Cj4gIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKPiAgfQo+ICAKPiArc3RhdGlj IGJvb2wgZHdfbWlwaV9kc2lfZW5jb2Rlcl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKPiArCQkJCQljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAr CQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKPiArewo+ICsJc3Ry dWN0IGR3X21pcGlfZHNpICpkc2kgPSBlbmNvZGVyX3RvX2RzaShlbmNvZGVyKTsKPiArCj4gKwlz d2l0Y2ggKGRzaS0+Zm9ybWF0KSB7Cj4gKwljYXNlIE1JUElfRFNJX0ZNVF9SR0I4ODg6Cj4gKwkJ YWRqdXN0ZWRfbW9kZS0+cHJpdmF0ZV9mbGFncyA9IFJPQ0tDSElQX0RTUF9NT0RFKERTSSwgUDg4 OCk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIE1JUElfRFNJX0ZNVF9SR0I2NjY6Cj4gKwkJYWRqdXN0 ZWRfbW9kZS0+cHJpdmF0ZV9mbGFncyA9IFJPQ0tDSElQX0RTUF9NT0RFKERTSSwgUDY2Nik7Cj4g KwkJYnJlYWs7Cj4gKwljYXNlIE1JUElfRFNJX0ZNVF9SR0I1NjU6Cj4gKwkJYWRqdXN0ZWRfbW9k ZS0+cHJpdmF0ZV9mbGFncyA9IFJPQ0tDSElQX0RTUF9NT0RFKERTSSwgUDU2NSk7Cj4gKwkJYnJl YWs7Cj4gKwlkZWZhdWx0Ogo+ICsJCVdBUk5fT04oMSk7Cj4gKwkJcmV0dXJuIGZhbHNlOwo+ICsJ fQo+ICsKPiArCXJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBkd19taXBpX2Rz aV9lbmNvZGVyX2NvbW1pdChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIHsKPiAgCXN0 cnVjdCBkd19taXBpX2RzaSAqZHNpID0gZW5jb2Rlcl90b19kc2koZW5jb2Rlcik7Cj4gIAlpbnQg bXV4ID0gZHJtX29mX2VuY29kZXJfYWN0aXZlX2VuZHBvaW50X2lkKGRzaS0+ZGV2LT5vZl9ub2Rl LCBlbmNvZGVyKTsKPiAtCXUzMiBpbnRlcmZhY2VfcGl4X2ZtdDsKPiAgCXUzMiB2YWw7Cj4gIAo+ ICAJaWYgKGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBjbGspKSB7Cj4gQEAgLTg5NSwyNCArOTE4 LDYgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyKQo+ICAKPiAgCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPnBjbGsp Owo+ICAKPiAtCXN3aXRjaCAoZHNpLT5mb3JtYXQpIHsKPiAtCWNhc2UgTUlQSV9EU0lfRk1UX1JH Qjg4ODoKPiAtCQlpbnRlcmZhY2VfcGl4X2ZtdCA9IFJPQ0tDSElQX09VVF9NT0RFX1A4ODg7Cj4g LQkJYnJlYWs7Cj4gLQljYXNlIE1JUElfRFNJX0ZNVF9SR0I2NjY6Cj4gLQkJaW50ZXJmYWNlX3Bp eF9mbXQgPSBST0NLQ0hJUF9PVVRfTU9ERV9QNjY2Owo+IC0JCWJyZWFrOwo+IC0JY2FzZSBNSVBJ X0RTSV9GTVRfUkdCNTY1Ogo+IC0JCWludGVyZmFjZV9waXhfZm10ID0gUk9DS0NISVBfT1VUX01P REVfUDU2NTsKPiAtCQlicmVhazsKPiAtCWRlZmF1bHQ6Cj4gLQkJV0FSTl9PTigxKTsKPiAtCQly ZXR1cm47Cj4gLQl9Cj4gLQo+IC0Jcm9ja2NoaXBfZHJtX2NydGNfbW9kZV9jb25maWcoZW5jb2Rl ci0+Y3J0YywgRFJNX01PREVfQ09OTkVDVE9SX0RTSSwKPiAtCQkJCSAgICAgIGludGVyZmFjZV9w aXhfZm10KTsKPiAtCj4gIAlpZiAobXV4KQo+ICAJCXZhbCA9IERTSTBfU0VMX1ZPUF9MSVQgfCAo RFNJMF9TRUxfVk9QX0xJVCA8PCAxNik7Cj4gIAllbHNlCj4gQEAgLTkyNCw2ICs5MjksNyBAQCBz dGF0aWMgdm9pZCBkd19taXBpX2RzaV9lbmNvZGVyX2NvbW1pdChzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXIpCj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcwo+ ICBkd19taXBpX2RzaV9lbmNvZGVyX2hlbHBlcl9mdW5jcyA9IHsKPiArCS5tb2RlX2ZpeHVwID0g ZHdfbWlwaV9kc2lfZW5jb2Rlcl9tb2RlX2ZpeHVwLAo+ICAJLmNvbW1pdCA9IGR3X21pcGlfZHNp X2VuY29kZXJfY29tbWl0LAo+ICAJLm1vZGVfc2V0ID0gZHdfbWlwaV9kc2lfZW5jb2Rlcl9tb2Rl X3NldCwKPiAgCS5kaXNhYmxlID0gZHdfbWlwaV9kc2lfZW5jb2Rlcl9kaXNhYmxlLAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHdfaGRtaS1yb2NrY2hpcC5jIGIvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWktcm9ja2NoaXAuYwo+IGluZGV4IGQ1Y2ZlZjcu LmE3MmFmMzAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3X2hkbWkt cm9ja2NoaXAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kd19oZG1pLXJvY2tj aGlwLmMKPiBAQCAtMTg2LDYgKzE4Niw4IEBAIGR3X2hkbWlfcm9ja2NoaXBfZW5jb2Rlcl9tb2Rl X2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiAgCQkJCSAgICBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqYWRqX21vZGUpCj4gIHsKPiArCWFkal9tb2RlLT5wcml2YXRlX2ZsYWdzID0gUk9DS0NI SVBfRFNQX01PREUoSERNSUEsIEFBQUEpOwo+ICsKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+ IEBAIC0yMDEsOSArMjAzLDYgQEAgc3RhdGljIHZvaWQgZHdfaGRtaV9yb2NrY2hpcF9lbmNvZGVy X2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gIAl1MzIgdmFsOwo+ICAJaW50 IG11eDsKPiAgCj4gLQlyb2NrY2hpcF9kcm1fY3J0Y19tb2RlX2NvbmZpZyhlbmNvZGVyLT5jcnRj LCBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEsCj4gLQkJCQkgICAgICBST0NLQ0hJUF9PVVRfTU9E RV9BQUFBKTsKPiAtCj4gIAltdXggPSBkcm1fb2ZfZW5jb2Rlcl9hY3RpdmVfZW5kcG9pbnRfaWQo aGRtaS0+ZGV2LT5vZl9ub2RlLCBlbmNvZGVyKTsKPiAgCWlmIChtdXgpCj4gIAkJdmFsID0gSERN SV9TRUxfVk9QX0xJVCB8IChIRE1JX1NFTF9WT1BfTElUIDw8IDE2KTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9faGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL2lubm9faGRtaS5jCj4gaW5kZXggMTBkNjJmZi4uZWY2YWQ5MSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKPiBAQCAtNTAwLDkgKzUwMCw2IEBAIHN0YXRpYyB2 b2lkIGlubm9faGRtaV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp Cj4gIHsKPiAgCXN0cnVjdCBpbm5vX2hkbWkgKmhkbWkgPSB0b19pbm5vX2hkbWkoZW5jb2Rlcik7 Cj4gIAo+IC0Jcm9ja2NoaXBfZHJtX2NydGNfbW9kZV9jb25maWcoZW5jb2Rlci0+Y3J0YywgRFJN X01PREVfQ09OTkVDVE9SX0hETUlBLAo+IC0JCQkJICAgICAgUk9DS0NISVBfT1VUX01PREVfUDg4 OCk7Cj4gLQo+ICAJaW5ub19oZG1pX3NldF9wd3JfbW9kZShoZG1pLCBOT1JNQUwpOwo+ICB9Cj4g IAo+IEBAIC01MTcsNiArNTE0LDggQEAgc3RhdGljIGJvb2wgaW5ub19oZG1pX2VuY29kZXJfbW9k ZV9maXh1cChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQkJIGNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+ICAJCQkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqYWRqX21vZGUpCj4gIHsKPiArCWFkal9tb2RlLT5wcml2YXRlX2ZsYWdzID0gUk9DS0NISVBf RFNQX01PREUoSERNSUEsIFA4ODgpOwo+ICsKPiAgCXJldHVybiB0cnVlOwo+ICB9Cj4gIAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaAo+IGluZGV4IDAwZDE3 ZDcuLjY4MzIxMGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tj aGlwX2RybV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fZHJ2LmgKPiBAQCAtNjgsOCArNjgsNiBAQCB2b2lkIHJvY2tjaGlwX2RybV9hdG9taWNfd29y ayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwo+ICBpbnQgcm9ja2NoaXBfcmVnaXN0ZXJfY3J0 Y19mdW5jcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCQkgY29uc3Qgc3RydWN0IHJvY2tj aGlwX2NydGNfZnVuY3MgKmNydGNfZnVuY3MpOwo+ICB2b2lkIHJvY2tjaGlwX3VucmVnaXN0ZXJf Y3J0Y19mdW5jcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+IC1pbnQgcm9ja2NoaXBfZHJtX2Ny dGNfbW9kZV9jb25maWcoc3RydWN0IGRybV9jcnRjICpjcnRjLCBpbnQgY29ubmVjdG9yX3R5cGUs Cj4gLQkJCQkgIGludCBvdXRfbW9kZSk7Cj4gIGludCByb2NrY2hpcF9kcm1fZG1hX2F0dGFjaF9k ZXZpY2Uoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gIAkJCQkgICBzdHJ1Y3QgZGV2aWNl ICpkZXYpOwo+ICB2b2lkIHJvY2tjaGlwX2RybV9kbWFfZGV0YWNoX2RldmljZShzdHJ1Y3QgZHJt X2RldmljZSAqZHJtX2RldiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV92b3AuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fdm9wLmMKPiBpbmRleCBhNjE5ZjEyLi4xYTYxMWNmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gQEAgLTgxOCwzOCArODE4LDYgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mgdm9wX3BsYW5lX2Z1bmNzID0gewo+ICAJ LmF0b21pY19kZXN0cm95X3N0YXRlID0gdm9wX2F0b21pY19wbGFuZV9kZXN0cm95X3N0YXRlLAo+ ICB9Owo+ICAKPiAtaW50IHJvY2tjaGlwX2RybV9jcnRjX21vZGVfY29uZmlnKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKPiAtCQkJCSAgaW50IGNvbm5lY3Rvcl90eXBlLAo+IC0JCQkJICBpbnQgb3V0 X21vZGUpCj4gLXsKPiAtCXN0cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChjcnRjKTsKPiAtCj4gLQlp ZiAoV0FSTl9PTighdm9wLT5pc19lbmFibGVkKSkKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCj4g LQlzd2l0Y2ggKGNvbm5lY3Rvcl90eXBlKSB7Cj4gLQljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9M VkRTOgo+IC0JCVZPUF9DVFJMX1NFVCh2b3AsIHJnYl9lbiwgMSk7Cj4gLQkJYnJlYWs7Cj4gLQlj YXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9lRFA6Cj4gLQkJVk9QX0NUUkxfU0VUKHZvcCwgZWRwX2Vu LCAxKTsKPiAtCQlicmVhazsKPiAtCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBOgo+IC0J CVZPUF9DVFJMX1NFVCh2b3AsIGhkbWlfZW4sIDEpOwo+IC0JCWJyZWFrOwo+IC0JY2FzZSBEUk1f TU9ERV9DT05ORUNUT1JfRFNJOgo+IC0JCVZPUF9DVFJMX1NFVCh2b3AsIG1pcGlfZW4sIDEpOwo+ IC0JCWJyZWFrOwo+IC0JZGVmYXVsdDoKPiAtCQlEUk1fRVJST1IoInVuc3VwcG9ydCBjb25uZWN0 b3JfdHlwZVslZF1cbiIsIGNvbm5lY3Rvcl90eXBlKTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAt CX07Cj4gLQlWT1BfQ1RSTF9TRVQodm9wLCBvdXRfbW9kZSwgb3V0X21vZGUpOwo+IC0KPiAtCXJl dHVybiAwOwo+IC19Cj4gLUVYUE9SVF9TWU1CT0xfR1BMKHJvY2tjaGlwX2RybV9jcnRjX21vZGVf Y29uZmlnKTsKPiAtCj4gIHN0YXRpYyBpbnQgdm9wX2NydGNfZW5hYmxlX3ZibGFuayhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChjcnRjKTsK PiBAQCAtOTQzLDYgKzkxMSw4IEBAIHN0YXRpYyB2b2lkIHZvcF9jcnRjX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gIAl1MTYgdmFjdF9zdCA9IGFkanVzdGVkX21vZGUtPnZ0b3RhbCAt IGFkanVzdGVkX21vZGUtPnZzeW5jX3N0YXJ0Owo+ICAJdTE2IHZhY3RfZW5kID0gdmFjdF9zdCAr IHZkaXNwbGF5Owo+ICAJdWludDMyX3QgdmFsOwo+ICsJaW50IHR5cGUgPSBST0NLQ0hJUF9PVVRf TU9ERV9UWVBFKGFkanVzdGVkX21vZGUtPnByaXZhdGVfZmxhZ3MpOwo+ICsJaW50IG91dF9tb2Rl ID0gUk9DS0NISVBfT1VUX01PREUoYWRqdXN0ZWRfbW9kZS0+cHJpdmF0ZV9mbGFncyk7Cj4gIAo+ ICAJdm9wX2VuYWJsZShjcnRjKTsKPiAgCS8qCj4gQEAgLTk4NSw2ICs5NTUsMjMgQEAgc3RhdGlj IHZvaWQgdm9wX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXZhbCB8PSAo YWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX05IU1lOQykgPyAwIDogMTsKPiAg CXZhbCB8PSAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX05WU1lOQykgPyAw IDogKDEgPDwgMSk7Cj4gIAlWT1BfQ1RSTF9TRVQodm9wLCBwaW5fcG9sLCB2YWwpOwo+ICsJc3dp dGNoICh0eXBlKSB7Cj4gKwljYXNlIERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTOgo+ICsJCVZPUF9D VFJMX1NFVCh2b3AsIHJnYl9lbiwgMSk7Cj4gKwkJYnJlYWs7Cj4gKwljYXNlIERSTV9NT0RFX0NP Tk5FQ1RPUl9lRFA6Cj4gKwkJVk9QX0NUUkxfU0VUKHZvcCwgZWRwX2VuLCAxKTsKPiArCQlicmVh azsKPiArCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0hETUlBOgo+ICsJCVZPUF9DVFJMX1NFVCh2 b3AsIGhkbWlfZW4sIDEpOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1Jf RFNJOgo+ICsJCVZPUF9DVFJMX1NFVCh2b3AsIG1pcGlfZW4sIDEpOwo+ICsJCWJyZWFrOwo+ICsJ ZGVmYXVsdDoKPiArCQlEUk1fRVJST1IoInVuc3VwcG9ydCBjb25uZWN0b3JfdHlwZVslZF1cbiIs IHR5cGUpOwo+ICsJfQo+ICsJVk9QX0NUUkxfU0VUKHZvcCwgb3V0X21vZGUsIG91dF9tb2RlKTsK PiAgCj4gIAlWT1BfQ1RSTF9TRVQodm9wLCBodG90YWxfcHcsIChodG90YWwgPDwgMTYpIHwgaHN5 bmNfbGVuKTsKPiAgCXZhbCA9IGhhY3Rfc3QgPDwgMTY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmggYi9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oCj4gaW5kZXggMDcxZmYwYi4uNGM2M2E2NiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaAo+IEBAIC0xODMs NiArMTgzLDEyIEBAIHN0cnVjdCB2b3BfZGF0YSB7Cj4gIC8qIGZvciB1c2Ugc3BlY2lhbCBvdXRm YWNlICovCj4gICNkZWZpbmUgUk9DS0NISVBfT1VUX01PREVfQUFBQQkxNQo+ICAKPiArI2RlZmlu ZSBST0NLQ0hJUF9PVVRfTU9ERV9UWVBFKHgpCSgoeCkgPj4gMTYpCj4gKyNkZWZpbmUgUk9DS0NI SVBfT1VUX01PREUoeCkJCSgoeCkgJiAweGZmZmYpCj4gKyNkZWZpbmUgUk9DS0NISVBfRFNQX01P REUodHlwZSwgbW9kZSkgXAo+ICsJCSgoRFJNX01PREVfQ09OTkVDVE9SXyMjdHlwZSA8PCAxNikg fCBcCj4gKwkJIChST0NLQ0hJUF9PVVRfTU9ERV8jI21vZGUgJiAweGZmZmYpKQo+ICsKPiAgZW51 bSBhbHBoYV9tb2RlIHsKPiAgCUFMUEhBX1NUUkFJR0hULAo+ICAJQUxQSEFfSU5WRVJTRSwKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==