From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Subject: [PATCHv4 16/29] drm/omap: use dispc_ops Date: Thu, 30 Mar 2017 14:15:16 +0300 Message-ID: <1490872529-23084-17-git-send-email-tomi.valkeinen@ti.com> References: <1490872529-23084-1-git-send-email-tomi.valkeinen@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fllnx209.ext.ti.com (fllnx209.ext.ti.com [198.47.19.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id BFDD66E8C3 for ; Thu, 30 Mar 2017 11:16:25 +0000 (UTC) In-Reply-To: <1490872529-23084-1-git-send-email-tomi.valkeinen@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, Laurent Pinchart Cc: Tomi Valkeinen , Jyri Sarha List-Id: dri-devel@lists.freedesktop.org Q2hhbmdlIG9tYXBkcm0gdG8gZ2V0IGRpc3BjX29wcyBhbmQgdXNlIHRoYXQgdG8gY2FsbCB0aGUg ZGlzcGMgZnVuY3Rpb25zCmluc3RlYWQgb3IgZGlyZWN0IGZ1bmN0aW9uIGNhbGxzLgoKVGhlIGNo YW5nZSBpcyB2ZXJ5IHN0cmFpZ2h0Zm9yd2FyZC4KClRoZSBvbmx5IHByb2JsZW0gd2FzIGluIG9t YXBfY3J0Y19pbml0KCkgd2hpY2ggY2FsbHMgcGlwZTJ2YmwoY3J0YyksIGFuZAphdCB0aGF0IHBv aW50IG9mIHRpbWUgdGhlIGNydGMtPmRldiBsaW5rLCB3aGljaCBpcyB1c2VkIHRvIGdldCB0aGUK ZGlzcGNfb3BzLCBoYXMgbm90IGJlZW4gc2V0IHVwIHlldC4gVGhpcyBwYXRjaCBtYWtlcyBvbWFw X2NydGNfaW5pdCgpCnNraXAgdGhlIGNhbGwgdG8gcGlwZTJ2YmwoKSBhbmQgaW5zdGVhZCBjYWxs cwpkaXNwY19vcHMtPm1ncl9nZXRfdnN5bmNfaXJxKCkgZGlyZWN0bHkuCgpTaWduZWQtb2ZmLWJ5 OiBUb21pIFZhbGtlaW5lbiA8dG9taS52YWxrZWluZW5AdGkuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAgIHwgMTAgKysr KysrLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuaCAgIHwgIDIgKysKIGRy aXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfaXJxLmMgICB8IDMzICsrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jIHwg MTUgKysrKysrKysrLS0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDM5 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBf Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKaW5kZXggNDlmYzYx OTYzYWY0Li4xZGI5NmIwNzdhZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0Yy5jCkBA IC0xMDcsMTAgKzEwNywxMiBAQCBzdGF0aWMgc3RydWN0IG9tYXBfZHNzX2RldmljZSAqb21hcF9j cnRjX291dHB1dFs4XTsKIHN0YXRpYyBpbnQgb21hcF9jcnRjX2Rzc19jb25uZWN0KGVudW0gb21h cF9jaGFubmVsIGNoYW5uZWwsCiAJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzdCkKIHsKKwlj b25zdCBzdHJ1Y3QgZGlzcGNfb3BzICpkaXNwY19vcHMgPSBkaXNwY19nZXRfb3BzKCk7CisKIAlp ZiAob21hcF9jcnRjX291dHB1dFtjaGFubmVsXSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKLQlpZiAo KGRpc3BjX21ncl9nZXRfc3VwcG9ydGVkX291dHB1dHMoY2hhbm5lbCkgJiBkc3QtPmlkKSA9PSAw KQorCWlmICgoZGlzcGNfb3BzLT5tZ3JfZ2V0X3N1cHBvcnRlZF9vdXRwdXRzKGNoYW5uZWwpICYg ZHN0LT5pZCkgPT0gMCkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKIAlvbWFwX2NydGNfb3V0cHV0W2No YW5uZWxdID0gZHN0OwpAQCAtMTM0LDYgKzEzNiw3IEBAIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19k c3Nfc3RhcnRfdXBkYXRlKGVudW0gb21hcF9jaGFubmVsIGNoYW5uZWwpCiBzdGF0aWMgdm9pZCBv bWFwX2NydGNfc2V0X2VuYWJsZWQoc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkK IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OworCXN0cnVjdCBvbWFwX2Ry bV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3Qgb21hcF9jcnRjICpv bWFwX2NydGMgPSB0b19vbWFwX2NydGMoY3J0Yyk7CiAJZW51bSBvbWFwX2NoYW5uZWwgY2hhbm5l bCA9IG9tYXBfY3J0Yy0+Y2hhbm5lbDsKIAlzdHJ1Y3Qgb21hcF9pcnFfd2FpdCAqd2FpdDsKQEAg LTE0NCw3ICsxNDcsNyBAQCBzdGF0aWMgdm9pZCBvbWFwX2NydGNfc2V0X2VuYWJsZWQoc3RydWN0 IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKIAkJcmV0dXJuOwogCiAJaWYgKG9tYXBfY3J0 Y19vdXRwdXRbY2hhbm5lbF0tPm91dHB1dF90eXBlID09IE9NQVBfRElTUExBWV9UWVBFX0hETUkp IHsKLQkJZGlzcGNfbWdyX2VuYWJsZShjaGFubmVsLCBlbmFibGUpOworCQlwcml2LT5kaXNwY19v cHMtPm1ncl9lbmFibGUoY2hhbm5lbCwgZW5hYmxlKTsKIAkJb21hcF9jcnRjLT5lbmFibGVkID0g ZW5hYmxlOwogCQlyZXR1cm47CiAJfQpAQCAtMTU3LDggKzE2MCw4IEBAIHN0YXRpYyB2b2lkIG9t YXBfY3J0Y19zZXRfZW5hYmxlZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQog CQlvbWFwX2NydGMtPmlnbm9yZV9kaWdpdF9zeW5jX2xvc3QgPSB0cnVlOwogCX0KIAotCWZyYW1l ZG9uZV9pcnEgPSBkaXNwY19tZ3JfZ2V0X2ZyYW1lZG9uZV9pcnEoY2hhbm5lbCk7Ci0JdnN5bmNf aXJxID0gZGlzcGNfbWdyX2dldF92c3luY19pcnEoY2hhbm5lbCk7CisJZnJhbWVkb25lX2lycSA9 IHByaXYtPmRpc3BjX29wcy0+bWdyX2dldF9mcmFtZWRvbmVfaXJxKGNoYW5uZWwpOworCXZzeW5j X2lycSA9IHByaXYtPmRpc3BjX29wcy0+bWdyX2dldF92c3luY19pcnEoY2hhbm5lbCk7CiAKIAlp ZiAoZW5hYmxlKSB7CiAJCXdhaXQgPSBvbWFwX2lycV93YWl0X2luaXQoZGV2LCB2c3luY19pcnEs IDEpOwpAQCAtMTc4LDcgKzE4MSw3IEBAIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19zZXRfZW5hYmxl ZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCQkJd2FpdCA9IG9tYXBfaXJx X3dhaXRfaW5pdChkZXYsIHZzeW5jX2lycSwgMik7CiAJfQogCi0JZGlzcGNfbWdyX2VuYWJsZShj aGFubmVsLCBlbmFibGUpOworCXByaXYtPmRpc3BjX29wcy0+bWdyX2VuYWJsZShjaGFubmVsLCBl bmFibGUpOwogCW9tYXBfY3J0Yy0+ZW5hYmxlZCA9IGVuYWJsZTsKIAogCXJldCA9IG9tYXBfaXJx X3dhaXQoZGV2LCB3YWl0LCBtc2Vjc190b19qaWZmaWVzKDEwMCkpOwpAQCAtMTk4LDkgKzIwMSw5 IEBAIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19zZXRfZW5hYmxlZChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsIGJvb2wgZW5hYmxlKQogc3RhdGljIGludCBvbWFwX2NydGNfZHNzX2VuYWJsZShlbnVtIG9t YXBfY2hhbm5lbCBjaGFubmVsKQogewogCXN0cnVjdCBvbWFwX2NydGMgKm9tYXBfY3J0YyA9IG9t YXBfY3J0Y3NbY2hhbm5lbF07CisJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBvbWFw X2NydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKIAotCWRpc3BjX21ncl9zZXRfdGltaW5ncyhv bWFwX2NydGMtPmNoYW5uZWwsCi0JCQkmb21hcF9jcnRjLT52bSk7CisJcHJpdi0+ZGlzcGNfb3Bz LT5tZ3Jfc2V0X3RpbWluZ3Mob21hcF9jcnRjLT5jaGFubmVsLCAmb21hcF9jcnRjLT52bSk7CiAJ b21hcF9jcnRjX3NldF9lbmFibGVkKCZvbWFwX2NydGMtPmJhc2UsIHRydWUpOwogCiAJcmV0dXJu IDA7CkBAIC0yMjUsOCArMjI4LDEwIEBAIHN0YXRpYyB2b2lkIG9tYXBfY3J0Y19kc3Nfc2V0X2xj ZF9jb25maWcoZW51bSBvbWFwX2NoYW5uZWwgY2hhbm5lbCwKIAkJY29uc3Qgc3RydWN0IGRzc19s Y2RfbWdyX2NvbmZpZyAqY29uZmlnKQogewogCXN0cnVjdCBvbWFwX2NydGMgKm9tYXBfY3J0YyA9 IG9tYXBfY3J0Y3NbY2hhbm5lbF07CisJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBv bWFwX2NydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKwogCURCRygiJXMiLCBvbWFwX2NydGMt Pm5hbWUpOwotCWRpc3BjX21ncl9zZXRfbGNkX2NvbmZpZyhvbWFwX2NydGMtPmNoYW5uZWwsIGNv bmZpZyk7CisJcHJpdi0+ZGlzcGNfb3BzLT5tZ3Jfc2V0X2xjZF9jb25maWcob21hcF9jcnRjLT5j aGFubmVsLCBjb25maWcpOwogfQogCiBzdGF0aWMgaW50IG9tYXBfY3J0Y19kc3NfcmVnaXN0ZXJf ZnJhbWVkb25lKApAQCAtMjc0LDYgKzI3OSw4IEBAIHZvaWQgb21hcF9jcnRjX2Vycm9yX2lycShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVpbnQzMl90IGlycXN0YXR1cykKIHZvaWQgb21hcF9jcnRj X3ZibGFua19pcnEoc3RydWN0IGRybV9jcnRjICpjcnRjKQogewogCXN0cnVjdCBvbWFwX2NydGMg Km9tYXBfY3J0YyA9IHRvX29tYXBfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gb21hcF9jcnRjLT5iYXNlLmRldjsKKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CiAJYm9vbCBwZW5kaW5nOwogCiAJc3Bpbl9sb2NrKCZjcnRjLT5k ZXYtPmV2ZW50X2xvY2spOwpAQCAtMjgxLDcgKzI4OCw3IEBAIHZvaWQgb21hcF9jcnRjX3ZibGFu a19pcnEoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCSAqIElmIHRoZSBkaXNwYyBpcyBidXN5IHdl J3JlIHJhY2luZyB0aGUgZmx1c2ggb3BlcmF0aW9uLiBUcnkgYWdhaW4gb24KIAkgKiB0aGUgbmV4 dCB2YmxhbmsgaW50ZXJydXB0LgogCSAqLwotCWlmIChkaXNwY19tZ3JfZ29fYnVzeShvbWFwX2Ny dGMtPmNoYW5uZWwpKSB7CisJaWYgKHByaXYtPmRpc3BjX29wcy0+bWdyX2dvX2J1c3kob21hcF9j cnRjLT5jaGFubmVsKSkgewogCQlzcGluX3VubG9jaygmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrKTsK IAkJcmV0dXJuOwogCX0KQEAgLTMwNyw2ICszMTQsNyBAQCB2b2lkIG9tYXBfY3J0Y192Ymxhbmtf aXJxKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogc3RhdGljIHZvaWQgb21hcF9jcnRjX3dyaXRl X2NydGNfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CisJc3RydWN0IG9tYXBf ZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBvbWFw X2NydGMgKm9tYXBfY3J0YyA9IHRvX29tYXBfY3J0YyhjcnRjKTsKIAlzdHJ1Y3Qgb21hcF9vdmVy bGF5X21hbmFnZXJfaW5mbyBpbmZvOwogCkBAIC0zMTcsNyArMzI1LDcgQEAgc3RhdGljIHZvaWQg b21hcF9jcnRjX3dyaXRlX2NydGNfcHJvcGVydGllcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJ aW5mby5wYXJ0aWFsX2FscGhhX2VuYWJsZWQgPSBmYWxzZTsKIAlpbmZvLmNwcl9lbmFibGUgPSBm YWxzZTsKIAotCWRpc3BjX21ncl9zZXR1cChvbWFwX2NydGMtPmNoYW5uZWwsICZpbmZvKTsKKwlw cml2LT5kaXNwY19vcHMtPm1ncl9zZXR1cChvbWFwX2NydGMtPmNoYW5uZWwsICZpbmZvKTsKIH0K IAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTQwMSw2ICs0MDksNyBAQCBzdGF0aWMgdm9p ZCBvbWFwX2NydGNfYXRvbWljX2JlZ2luKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIHN0YXRpYyB2 b2lkIG9tYXBfY3J0Y19hdG9taWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSAg IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUpCiB7CisJc3RydWN0IG9tYXBf ZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBvbWFw X2NydGMgKm9tYXBfY3J0YyA9IHRvX29tYXBfY3J0YyhjcnRjKTsKIAlpbnQgcmV0OwogCkBAIC00 MTQsNyArNDIzLDcgQEAgc3RhdGljIHZvaWQgb21hcF9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAJCQlsZW5ndGggPSBjcnRjLT5zdGF0ZS0+Z2FtbWFfbHV0LT5sZW5n dGggLwogCQkJCXNpemVvZigqbHV0KTsKIAkJfQotCQlkaXNwY19tZ3Jfc2V0X2dhbW1hKG9tYXBf Y3J0Yy0+Y2hhbm5lbCwgbHV0LCBsZW5ndGgpOworCQlwcml2LT5kaXNwY19vcHMtPm1ncl9zZXRf Z2FtbWEob21hcF9jcnRjLT5jaGFubmVsLCBsdXQsIGxlbmd0aCk7CiAJfQogCiAJb21hcF9jcnRj X3dyaXRlX2NydGNfcHJvcGVydGllcyhjcnRjKTsKQEAgLTQyOSw3ICs0MzgsNyBAQCBzdGF0aWMg dm9pZCBvbWFwX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlXQVJO X09OKHJldCAhPSAwKTsKIAogCXNwaW5fbG9ja19pcnEoJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7 Ci0JZGlzcGNfbWdyX2dvKG9tYXBfY3J0Yy0+Y2hhbm5lbCk7CisJcHJpdi0+ZGlzcGNfb3BzLT5t Z3JfZ28ob21hcF9jcnRjLT5jaGFubmVsKTsKIAogCVdBUk5fT04ob21hcF9jcnRjLT5wZW5kaW5n KTsKIAlvbWFwX2NydGMtPnBlbmRpbmcgPSB0cnVlOwpAQCAtNTQyLDYgKzU1MSw3IEBAIHZvaWQg b21hcF9jcnRjX3ByZV91bmluaXQodm9pZCkKIHN0cnVjdCBkcm1fY3J0YyAqb21hcF9jcnRjX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIGVu dW0gb21hcF9jaGFubmVsIGNoYW5uZWwsIGludCBpZCkKIHsKKwlzdHJ1Y3Qgb21hcF9kcm1fcHJp dmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjID0g TlVMTDsKIAlzdHJ1Y3Qgb21hcF9jcnRjICpvbWFwX2NydGM7CiAJaW50IHJldDsKQEAgLTU3NSw3 ICs1ODUsNyBAQCBzdHJ1Y3QgZHJtX2NydGMgKm9tYXBfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJICogZXh0cmFjdGVkIHdpdGggZGlzcGNfbWdyX2dhbW1hX3NpemUoKS4gSWYg aXQgcmV0dXJucyAwCiAJICogZ2FtbWEgdGFibGUgaXMgbm90IHN1cHBydGVkLgogCSAqLwotCWlm IChkaXNwY19tZ3JfZ2FtbWFfc2l6ZShjaGFubmVsKSkgeworCWlmIChwcml2LT5kaXNwY19vcHMt Pm1ncl9nYW1tYV9zaXplKGNoYW5uZWwpKSB7CiAJCXVpbnQgZ2FtbWFfbHV0X3NpemUgPSAyNTY7 CiAKIAkJZHJtX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoY3J0YywgMCwgZmFsc2UsIGdhbW1hX2x1 dF9zaXplKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCmluZGV4IGRiMGI0ODVlZjZjMi4u YzdkYmYzMGE2MWZhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Ry di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKQEAgLTkzLDcgKzkz LDcgQEAgc3RhdGljIHZvaWQgb21hcF9hdG9taWNfY29tcGxldGUoc3RydWN0IG9tYXBfYXRvbWlj X3N0YXRlX2NvbW1pdCAqY29tbWl0KQogCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3Rh dGUgPSBjb21taXQtPnN0YXRlOwogCiAJLyogQXBwbHkgdGhlIGF0b21pYyB1cGRhdGUuICovCi0J ZGlzcGNfcnVudGltZV9nZXQoKTsKKwlwcml2LT5kaXNwY19vcHMtPnJ1bnRpbWVfZ2V0KCk7CiAK IAlkcm1fYXRvbWljX2hlbHBlcl9jb21taXRfbW9kZXNldF9kaXNhYmxlcyhkZXYsIG9sZF9zdGF0 ZSk7CiAKQEAgLTExNyw3ICsxMTcsNyBAQCBzdGF0aWMgdm9pZCBvbWFwX2F0b21pY19jb21wbGV0 ZShzdHJ1Y3Qgb21hcF9hdG9taWNfc3RhdGVfY29tbWl0ICpjb21taXQpCiAKIAlkcm1fYXRvbWlj X2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIG9sZF9zdGF0ZSk7CiAKLQlkaXNwY19ydW50aW1l X3B1dCgpOworCXByaXYtPmRpc3BjX29wcy0+cnVudGltZV9wdXQoKTsKIAogCWRybV9hdG9taWNf c3RhdGVfcHV0KG9sZF9zdGF0ZSk7CiAKQEAgLTMyMCw4ICszMjAsOCBAQCBzdGF0aWMgaW50IG9t YXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IG9tYXBf ZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBvbWFwX2Rzc19k ZXZpY2UgKmRzc2RldiA9IE5VTEw7Ci0JaW50IG51bV9vdmxzID0gZGlzcGNfZ2V0X251bV9vdmxz KCk7Ci0JaW50IG51bV9tZ3JzID0gZGlzcGNfZ2V0X251bV9tZ3JzKCk7CisJaW50IG51bV9vdmxz ID0gcHJpdi0+ZGlzcGNfb3BzLT5nZXRfbnVtX292bHMoKTsKKwlpbnQgbnVtX21ncnMgPSBwcml2 LT5kaXNwY19vcHMtPmdldF9udW1fbWdycygpOwogCWludCBudW1fY3J0Y3M7CiAJaW50IGksIGlk ID0gMDsKIAlpbnQgcmV0OwpAQCAtNzgyLDYgKzc4Miw4IEBAIHN0YXRpYyBpbnQgcGRldl9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlnb3RvIGVycl9kaXNjb25uZWN0X2Rz c2RldnM7CiAJfQogCisJcHJpdi0+ZGlzcGNfb3BzID0gZGlzcGNfZ2V0X29wcygpOworCiAJcHJp di0+b21hcHJldiA9IHBkYXRhLT5vbWFwcmV2OwogCXByaXYtPndxID0gYWxsb2Nfb3JkZXJlZF93 b3JrcXVldWUoIm9tYXBkcm0iLCAwKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29t YXBkcm0vb21hcF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmgKaW5k ZXggOTA5OGVhMTM4MjY5Li4zY2I3YmYyNTk2NzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL29tYXBfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9k cnYuaApAQCAtNTksNiArNTksOCBAQCBpbnQgb21hcF9pcnFfd2FpdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3Qgb21hcF9pcnFfd2FpdCAqd2FpdCwKIHN0cnVjdCBvbWFwX2RybV9wcml2 YXRlIHsKIAl1aW50MzJfdCBvbWFwcmV2OwogCisJY29uc3Qgc3RydWN0IGRpc3BjX29wcyAqZGlz cGNfb3BzOworCiAJdW5zaWduZWQgaW50IG51bV9jcnRjczsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNy dGNzWzhdOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2lycS5j IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9pcnEuYwppbmRleCBhM2ZkNmU4MjY2Yzgu LjI2YTNjMDZhYTE0ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9p cnEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2lycS5jCkBAIC00MCw4ICs0 MCw4IEBAIHN0YXRpYyB2b2lkIG9tYXBfaXJxX3VwZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCiAJREJHKCJpcnFtYXNrPSUwOHgiLCBpcnFtYXNrKTsKIAotCWRpc3BjX3dyaXRlX2lycWVu YWJsZShpcnFtYXNrKTsKLQlkaXNwY19yZWFkX2lycWVuYWJsZSgpOyAgICAgICAgLyogZmx1c2gg cG9zdGVkIHdyaXRlICovCisJcHJpdi0+ZGlzcGNfb3BzLT53cml0ZV9pcnFlbmFibGUoaXJxbWFz ayk7CisJcHJpdi0+ZGlzcGNfb3BzLT5yZWFkX2lycWVuYWJsZSgpOyAgICAgICAgLyogZmx1c2gg cG9zdGVkIHdyaXRlICovCiB9CiAKIHN0YXRpYyB2b2lkIG9tYXBfaXJxX3dhaXRfaGFuZGxlcihz dHJ1Y3Qgb21hcF9pcnFfd2FpdCAqd2FpdCkKQEAgLTExMSw3ICsxMTEsNyBAQCBpbnQgb21hcF9p cnFfZW5hYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJREJHKCJkZXY9JXAsIGNy dGM9JXUiLCBkZXYsIGNoYW5uZWwpOwogCiAJc3Bpbl9sb2NrX2lycXNhdmUoJnByaXYtPndhaXRf bG9jaywgZmxhZ3MpOwotCXByaXYtPmlycV9tYXNrIHw9IGRpc3BjX21ncl9nZXRfdnN5bmNfaXJx KGNoYW5uZWwpOworCXByaXYtPmlycV9tYXNrIHw9IHByaXYtPmRpc3BjX29wcy0+bWdyX2dldF92 c3luY19pcnEoY2hhbm5lbCk7CiAJb21hcF9pcnFfdXBkYXRlKGRldik7CiAJc3Bpbl91bmxvY2tf aXJxcmVzdG9yZSgmcHJpdi0+d2FpdF9sb2NrLCBmbGFncyk7CiAKQEAgLTEzNyw3ICsxMzcsNyBA QCB2b2lkIG9tYXBfaXJxX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlE QkcoImRldj0lcCwgY3J0Yz0ldSIsIGRldiwgY2hhbm5lbCk7CiAKIAlzcGluX2xvY2tfaXJxc2F2 ZSgmcHJpdi0+d2FpdF9sb2NrLCBmbGFncyk7Ci0JcHJpdi0+aXJxX21hc2sgJj0gfmRpc3BjX21n cl9nZXRfdnN5bmNfaXJxKGNoYW5uZWwpOworCXByaXYtPmlycV9tYXNrICY9IH5wcml2LT5kaXNw Y19vcHMtPm1ncl9nZXRfdnN5bmNfaXJxKGNoYW5uZWwpOwogCW9tYXBfaXJxX3VwZGF0ZShkZXYp OwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPndhaXRfbG9jaywgZmxhZ3MpOwogfQpA QCAtMjAwLDkgKzIwMCw5IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX2lycV9oYW5kbGVyKGlu dCBpcnEsIHZvaWQgKmFyZykKIAl1bnNpZ25lZCBpbnQgaWQ7CiAJdTMyIGlycXN0YXR1czsKIAot CWlycXN0YXR1cyA9IGRpc3BjX3JlYWRfaXJxc3RhdHVzKCk7Ci0JZGlzcGNfY2xlYXJfaXJxc3Rh dHVzKGlycXN0YXR1cyk7Ci0JZGlzcGNfcmVhZF9pcnFzdGF0dXMoKTsgICAgICAgIC8qIGZsdXNo IHBvc3RlZCB3cml0ZSAqLworCWlycXN0YXR1cyA9IHByaXYtPmRpc3BjX29wcy0+cmVhZF9pcnFz dGF0dXMoKTsKKwlwcml2LT5kaXNwY19vcHMtPmNsZWFyX2lycXN0YXR1cyhpcnFzdGF0dXMpOwor CXByaXYtPmRpc3BjX29wcy0+cmVhZF9pcnFzdGF0dXMoKTsgICAgICAgIC8qIGZsdXNoIHBvc3Rl ZCB3cml0ZSAqLwogCiAJVkVSQigiaXJxczogJTA4eCIsIGlycXN0YXR1cyk7CiAKQEAgLTIxMCwx MiArMjEwLDEyIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBvbWFwX2lycV9oYW5kbGVyKGludCBpcnEs IHZvaWQgKmFyZykKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gcHJpdi0+Y3J0Y3NbaWRdOwog CQllbnVtIG9tYXBfY2hhbm5lbCBjaGFubmVsID0gb21hcF9jcnRjX2NoYW5uZWwoY3J0Yyk7CiAK LQkJaWYgKGlycXN0YXR1cyAmIGRpc3BjX21ncl9nZXRfdnN5bmNfaXJxKGNoYW5uZWwpKSB7CisJ CWlmIChpcnFzdGF0dXMgJiBwcml2LT5kaXNwY19vcHMtPm1ncl9nZXRfdnN5bmNfaXJxKGNoYW5u ZWwpKSB7CiAJCQlkcm1faGFuZGxlX3ZibGFuayhkZXYsIGlkKTsKIAkJCW9tYXBfY3J0Y192Ymxh bmtfaXJxKGNydGMpOwogCQl9CiAKLQkJaWYgKGlycXN0YXR1cyAmIGRpc3BjX21ncl9nZXRfc3lu Y19sb3N0X2lycShjaGFubmVsKSkKKwkJaWYgKGlycXN0YXR1cyAmIHByaXYtPmRpc3BjX29wcy0+ bWdyX2dldF9zeW5jX2xvc3RfaXJxKGNoYW5uZWwpKQogCQkJb21hcF9jcnRjX2Vycm9yX2lycShj cnRjLCBpcnFzdGF0dXMpOwogCX0KIApAQCAtMjQ5LDcgKzI0OSw3IEBAIHN0YXRpYyBjb25zdCB1 MzIgb21hcF91bmRlcmZsb3dfaXJxc1tdID0gewogaW50IG9tYXBfZHJtX2lycV9pbnN0YWxsKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYg PSBkZXYtPmRldl9wcml2YXRlOwotCXVuc2lnbmVkIGludCBudW1fbWdycyA9IGRpc3BjX2dldF9u dW1fbWdycygpOworCXVuc2lnbmVkIGludCBudW1fbWdycyA9IHByaXYtPmRpc3BjX29wcy0+Z2V0 X251bV9tZ3JzKCk7CiAJdW5zaWduZWQgaW50IG1heF9wbGFuZXM7CiAJdW5zaWduZWQgaW50IGk7 CiAJaW50IHJldDsKQEAgLTI2NywxMyArMjY3LDEzIEBAIGludCBvbWFwX2RybV9pcnFfaW5zdGFs bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIAogCWZvciAoaSA9IDA7IGkgPCBudW1fbWdy czsgKytpKQotCQlwcml2LT5pcnFfbWFzayB8PSBkaXNwY19tZ3JfZ2V0X3N5bmNfbG9zdF9pcnEo aSk7CisJCXByaXYtPmlycV9tYXNrIHw9IHByaXYtPmRpc3BjX29wcy0+bWdyX2dldF9zeW5jX2xv c3RfaXJxKGkpOwogCi0JZGlzcGNfcnVudGltZV9nZXQoKTsKLQlkaXNwY19jbGVhcl9pcnFzdGF0 dXMoMHhmZmZmZmZmZik7Ci0JZGlzcGNfcnVudGltZV9wdXQoKTsKKwlwcml2LT5kaXNwY19vcHMt PnJ1bnRpbWVfZ2V0KCk7CisJcHJpdi0+ZGlzcGNfb3BzLT5jbGVhcl9pcnFzdGF0dXMoMHhmZmZm ZmZmZik7CisJcHJpdi0+ZGlzcGNfb3BzLT5ydW50aW1lX3B1dCgpOwogCi0JcmV0ID0gZGlzcGNf cmVxdWVzdF9pcnEob21hcF9pcnFfaGFuZGxlciwgZGV2KTsKKwlyZXQgPSBwcml2LT5kaXNwY19v cHMtPnJlcXVlc3RfaXJxKG9tYXBfaXJxX2hhbmRsZXIsIGRldik7CiAJaWYgKHJldCA8IDApCiAJ CXJldHVybiByZXQ7CiAKQEAgLTI4NCw2ICsyODQsNyBAQCBpbnQgb21hcF9kcm1faXJxX2luc3Rh bGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogdm9pZCBvbWFwX2RybV9pcnFfdW5pbnN0YWxs KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CisJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnBy aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAJaW50IGk7 CiAKQEAgLTMwNCw1ICszMDUsNSBAQCB2b2lkIG9tYXBfZHJtX2lycV91bmluc3RhbGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT52YmxfbG9j aywgaXJxZmxhZ3MpOwogCX0KIAotCWRpc3BjX2ZyZWVfaXJxKGRldik7CisJcHJpdi0+ZGlzcGNf b3BzLT5mcmVlX2lycShkZXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCmlu ZGV4IDEwNjc2OTVhZjQwMS4uYmRkNzQ2OTJlMGNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX3BsYW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21h cF9wbGFuZS5jCkBAIC03Niw2ICs3Niw3IEBAIHN0YXRpYyB2b2lkIG9tYXBfcGxhbmVfY2xlYW51 cF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIHN0YXRpYyB2b2lkIG9tYXBfcGxhbmVfYXRv bWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCQkgICAgIHN0cnVjdCBkcm1f cGxhbmVfc3RhdGUgKm9sZF9zdGF0ZSkKIHsKKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJp diA9IHBsYW5lLT5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBvbWFwX3BsYW5lICpvbWFwX3Bs YW5lID0gdG9fb21hcF9wbGFuZShwbGFuZSk7CiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3Rh dGUgPSBwbGFuZS0+c3RhdGU7CiAJc3RydWN0IG9tYXBfcGxhbmVfc3RhdGUgKm9tYXBfc3RhdGUg PSB0b19vbWFwX3BsYW5lX3N0YXRlKHN0YXRlKTsKQEAgLTEyMywyNSArMTI0LDI2IEBAIHN0YXRp YyB2b2lkIG9tYXBfcGxhbmVfYXRvbWljX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwK IAlEQkcoIiVkLCVkICVwYWQgJXBhZCIsIGluZm8ucG9zX3gsIGluZm8ucG9zX3ksCiAJCQkmaW5m by5wYWRkciwgJmluZm8ucF91dl9hZGRyKTsKIAotCWRpc3BjX292bF9zZXRfY2hhbm5lbF9vdXQo b21hcF9wbGFuZS0+aWQsCisJcHJpdi0+ZGlzcGNfb3BzLT5vdmxfc2V0X2NoYW5uZWxfb3V0KG9t YXBfcGxhbmUtPmlkLAogCQkJCSAgb21hcF9jcnRjX2NoYW5uZWwoc3RhdGUtPmNydGMpKTsKIAog CS8qIGFuZCBmaW5hbGx5LCB1cGRhdGUgb21hcGRzczogKi8KLQlyZXQgPSBkaXNwY19vdmxfc2V0 dXAob21hcF9wbGFuZS0+aWQsICZpbmZvLCBmYWxzZSwKKwlyZXQgPSBwcml2LT5kaXNwY19vcHMt Pm92bF9zZXR1cChvbWFwX3BsYW5lLT5pZCwgJmluZm8sIGZhbHNlLAogCQkJICAgICAgb21hcF9j cnRjX3RpbWluZ3Moc3RhdGUtPmNydGMpLCBmYWxzZSk7CiAJaWYgKHJldCkgewogCQlkZXZfZXJy KHBsYW5lLT5kZXYtPmRldiwgIkZhaWxlZCB0byBzZXR1cCBwbGFuZSAlc1xuIiwKIAkJCW9tYXBf cGxhbmUtPm5hbWUpOwotCQlkaXNwY19vdmxfZW5hYmxlKG9tYXBfcGxhbmUtPmlkLCBmYWxzZSk7 CisJCXByaXYtPmRpc3BjX29wcy0+b3ZsX2VuYWJsZShvbWFwX3BsYW5lLT5pZCwgZmFsc2UpOwog CQlyZXR1cm47CiAJfQogCi0JZGlzcGNfb3ZsX2VuYWJsZShvbWFwX3BsYW5lLT5pZCwgdHJ1ZSk7 CisJcHJpdi0+ZGlzcGNfb3BzLT5vdmxfZW5hYmxlKG9tYXBfcGxhbmUtPmlkLCB0cnVlKTsKIH0K IAogc3RhdGljIHZvaWQgb21hcF9wbGFuZV9hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUpCiB7 CisJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBwbGFuZS0+ZGV2LT5kZXZfcHJpdmF0 ZTsKIAlzdHJ1Y3Qgb21hcF9wbGFuZV9zdGF0ZSAqb21hcF9zdGF0ZSA9IHRvX29tYXBfcGxhbmVf c3RhdGUocGxhbmUtPnN0YXRlKTsKIAlzdHJ1Y3Qgb21hcF9wbGFuZSAqb21hcF9wbGFuZSA9IHRv X29tYXBfcGxhbmUocGxhbmUpOwogCkBAIC0xNDksNyArMTUxLDcgQEAgc3RhdGljIHZvaWQgb21h cF9wbGFuZV9hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlvbWFwX3N0 YXRlLT56b3JkZXIgPSBwbGFuZS0+dHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZCiAJCQkg ICA/IDAgOiBvbWFwX3BsYW5lLT5pZDsKIAotCWRpc3BjX292bF9lbmFibGUob21hcF9wbGFuZS0+ aWQsIGZhbHNlKTsKKwlwcml2LT5kaXNwY19vcHMtPm92bF9lbmFibGUob21hcF9wbGFuZS0+aWQs IGZhbHNlKTsKIH0KIAogc3RhdGljIGludCBvbWFwX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSwKQEAgLTM0MCw2ICszNDIsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpv bWFwX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJaW50IGlkLCBlbnVtIGRy bV9wbGFuZV90eXBlIHR5cGUsCiAJCXUzMiBwb3NzaWJsZV9jcnRjcykKIHsKKwlzdHJ1Y3Qgb21h cF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7CiAJc3RydWN0IG9tYXBfcGxhbmUgKm9tYXBfcGxhbmU7CiAJaW50IHJldDsKQEAg LTM1Miw3ICszNTUsNyBAQCBzdHJ1Y3QgZHJtX3BsYW5lICpvbWFwX3BsYW5lX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAogCW9tYXBfcGxhbmUtPm5mb3JtYXRzID0gb21hcF9mcmFtZWJ1 ZmZlcl9nZXRfZm9ybWF0cygKIAkJCW9tYXBfcGxhbmUtPmZvcm1hdHMsIEFSUkFZX1NJWkUob21h cF9wbGFuZS0+Zm9ybWF0cyksCi0JCQlkaXNwY19vdmxfZ2V0X2NvbG9yX21vZGVzKGlkKSk7CisJ CQlwcml2LT5kaXNwY19vcHMtPm92bF9nZXRfY29sb3JfbW9kZXMoaWQpKTsKIAlvbWFwX3BsYW5l LT5pZCA9IGlkOwogCW9tYXBfcGxhbmUtPm5hbWUgPSBwbGFuZV9uYW1lc1tpZF07CiAKLS0gCjIu Ny40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK