From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v2 22/24] drm/msm: dpu: Separate crtc assignment from vblank enable Date: Fri, 16 Nov 2018 13:42:32 -0500 Message-ID: <20181116184238.170034-23-sean@poorly.run> References: <20181116184238.170034-1-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181116184238.170034-1-sean@poorly.run> 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, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org Cc: Sean Paul List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpJbnN0ZWFkIG9mIGFzc2ln bmluZy9jbGVhcmluZyB0aGUgY3J0YyBvbiB2YmxhbmsgZW5hYmxlL2Rpc2FibGUsIHdlIGNhbgpq dXN0IGFzc2lnbiBhbmQgY2xlYXIgdGhlIGNydGMgb24gbW9kZXNldC4gVGhhdCBhbGxvd3MgdXMg dG8ganVzdCB0b2dnbGUKdGhlIGVuY29kZXIncyB2YmxhbmsgaW50ZXJydXB0cyBvbiB2Ymxhbmtf ZW5hYmxlLgoKU28gd2h5IGlzIHRoaXMgaW1wb3J0YW50PyBQcmV2aW91c2x5IHRoZSBkcml2ZXIg d2FzIHVzaW5nIHRoZSBsZWdhY3kKcG9pbnRlcnMgdG8gYXNzaWduL2NsZWFyIHRoZSBjcnRjLiBM ZWdhY3kgcG9pbnRlcnMgYXJlIGNsZWFyZWQgX2FmdGVyXwpkaXNhYmxpbmcgdGhlIGhhcmR3YXJl LCBzbyB0aGUgbGVnYWN5IHBvaW50ZXIgd2FzIHZhbGlkIGR1cmluZwp2YmxhbmtfZGlzYWJsZSwg YnV0IHRoYXQncyBub3Qgc29tZXRoaW5nIHdlIHNob3VsZCByZWx5IG9uLgoKSW5zdGVhZCBvZiBy ZWx5aW5nIG9uIHRoZSBjb3JlIG9yZGVyaW5nIHRoZSBsZWdhY3kgcG9pbnRlciBhc3NpZ25tZW50 cwpqdXN0IHNvLCB3ZSdsbCBhc3NpZ24gdGhlIGNydGMgaW4gZHB1X2NydGMgZW5hYmxlL2Rpc2Fi bGUuIFRoaXMgaXMgdGhlCm9ubHkgcGxhY2UgdGhhdCBtYXBwaW5nIGNhbiBjaGFuZ2UsIHNvIHdl J3JlIGNvdmVyZWQgdGhlcmUuCgpXZSdyZSBhbHNvIHRha2luZyBhZHZhbnRhZ2Ugb2YgZHJtX2Ny dGNfdmJsYW5rX29uL29mZi4gQnkgdXNpbmcgdGhpcywgd2UKZW5zdXJlIHRoYXQgdmJsYW5rX2Vu YWJsZS9kaXNhYmxlIGNhbiBuZXZlciBiZSBjYWxsZWQgd2hpbGUgdGhlIGNydGMgaXMKb2ZmICh3 aGljaCBtZWFucyB0aGUgYXNzaWduZWQgY3J0YyB3aWxsIGFsd2F5cyBiZSB2YWxpZCkuIEFzIHN1 Y2gsIHdlCmRvbid0IG5lZWQgdG8gdXNlIG1vZGVzZXQgbG9ja3Mgb3IgdGhlIGNydGNfbG9jayBp biB0aGUKdmJsYW5rX2VuYWJsZS9kaXNhYmxlIHJvdXRpbmUgdG8gYmUgc3VyZSBzdGF0ZSBpcyBj b25zaXN0ZW50LgoKLi4uSSB0aGluay4KCkNoYW5nZXMgaW4gdjI6Ci0gQ2hhbmdlZCBjcnRjIGNo ZWNrIGluIHRvZ2dsZV92YmxhbmsgdG8gIT0gKEpleWt1bWFyKQoKQ2M6IEpleWt1bWFyIFNhbmth cmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2Vh bnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jcnRjLmMgICAgfCA3NyArKysrKysrKystLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgfCAyNyArKysrKy0tLQogZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaCB8IDEwICsrKwogMyBmaWxlcyBjaGFuZ2VkLCA1 OSBpbnNlcnRpb25zKCspLCA1NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYwppbmRleCA1NGJiNzc3YjJkMGMuLjcyNWUxNTE3OGNkYiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCkBAIC03NDksNDMgKzc0OSw2IEBA IHZvaWQgZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCURQ VV9BVFJBQ0VfRU5EKCJjcnRjX2NvbW1pdCIpOwogfQogCi0vKioKLSAqIF9kcHVfY3J0Y192Ymxh bmtfZW5hYmxlX25vX2xvY2sgLSB1cGRhdGUgcG93ZXIgcmVzb3VyY2UgYW5kIHZibGFuayByZXF1 ZXN0Ci0gKiBAZHB1X2NydGM6IFBvaW50ZXIgdG8gZHB1IGNydGMgc3RydWN0dXJlCi0gKiBAZW5h YmxlOiBXaGV0aGVyIHRvIGVuYWJsZS9kaXNhYmxlIHZibGFua3MKLSAqLwotc3RhdGljIHZvaWQg X2RwdV9jcnRjX3ZibGFua19lbmFibGVfbm9fbG9jaygKLQkJc3RydWN0IGRwdV9jcnRjICpkcHVf Y3J0YywgYm9vbCBlbmFibGUpCi17Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjID0gJmRwdV9jcnRj LT5iYXNlOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Ci0Jc3RydWN0IGRy bV9lbmNvZGVyICplbmM7Ci0KLQlpZiAoZW5hYmxlKSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnko ZW5jLCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpIHsKLQkJCWlmIChlbmMt PmNydGMgIT0gY3J0YykKLQkJCQljb250aW51ZTsKLQotCQkJdHJhY2VfZHB1X2NydGNfdmJsYW5r X2VuYWJsZShEUk1JRCgmZHB1X2NydGMtPmJhc2UpLAotCQkJCQkJICAgICBEUk1JRChlbmMpLCBl bmFibGUsCi0JCQkJCQkgICAgIGRwdV9jcnRjKTsKLQotCQkJZHB1X2VuY29kZXJfYXNzaWduX2Ny dGMoZW5jLCBjcnRjKTsKLQkJfQotCX0gZWxzZSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5j LCAmZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpIHsKLQkJCWlmIChlbmMtPmNy dGMgIT0gY3J0YykKLQkJCQljb250aW51ZTsKLQotCQkJdHJhY2VfZHB1X2NydGNfdmJsYW5rX2Vu YWJsZShEUk1JRCgmZHB1X2NydGMtPmJhc2UpLAotCQkJCQkJICAgICBEUk1JRChlbmMpLCBlbmFi bGUsCi0JCQkJCQkgICAgIGRwdV9jcnRjKTsKLQotCQkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMo ZW5jLCBOVUxMKTsKLQkJfQotCX0KLX0KLQogLyoqCiAgKiBkcHVfY3J0Y19kdXBsaWNhdGVfc3Rh dGUgLSBzdGF0ZSBkdXBsaWNhdGUgaG9vawogICogQGNydGM6IFBvaW50ZXIgdG8gZHJtIGNydGMg c3RydWN0dXJlCkBAIC04MzksNiArODAyLDEwIEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCS8qIERpc2FibGUvc2F2ZSB2YmxhbmsgaXJxIGhh bmRsaW5nICovCiAJZHJtX2NydGNfdmJsYW5rX29mZihjcnRjKTsKIAorCWRybV9mb3JfZWFjaF9l bmNvZGVyX21hc2soZW5jb2RlciwgY3J0Yy0+ZGV2LAorCQkJCSAgb2xkX2NydGNfc3RhdGUtPmVu Y29kZXJfbWFzaykKKwkJZHB1X2VuY29kZXJfYXNzaWduX2NydGMoZW5jb2RlciwgTlVMTCk7CisK IAltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKIAogCS8qIHdhaXQgZm9yIGZyYW1l X2V2ZW50X2RvbmUgY29tcGxldGlvbiAqLwpAQCAtODQ4LDkgKzgxNSw2IEBAIHN0YXRpYyB2b2lk IGRwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCWF0b21pY19yZWFk KCZkcHVfY3J0Yy0+ZnJhbWVfcGVuZGluZykpOwogCiAJdHJhY2VfZHB1X2NydGNfZGlzYWJsZShE Uk1JRChjcnRjKSwgZmFsc2UsIGRwdV9jcnRjKTsKLQlpZiAoZHB1X2NydGMtPmVuYWJsZWQgJiYg ZHB1X2NydGMtPnZibGFua19yZXF1ZXN0ZWQpIHsKLQkJX2RwdV9jcnRjX3ZibGFua19lbmFibGVf bm9fbG9jayhkcHVfY3J0YywgZmFsc2UpOwotCX0KIAlkcHVfY3J0Yy0+ZW5hYmxlZCA9IGZhbHNl OwogCiAJaWYgKGF0b21pY19yZWFkKCZkcHVfY3J0Yy0+ZnJhbWVfcGVuZGluZykpIHsKQEAgLTkw OCwxMyArODcyLDEzIEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAKIAltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKIAl0cmFjZV9k cHVfY3J0Y19lbmFibGUoRFJNSUQoY3J0YyksIHRydWUsIGRwdV9jcnRjKTsKLQlpZiAoIWRwdV9j cnRjLT5lbmFibGVkICYmIGRwdV9jcnRjLT52YmxhbmtfcmVxdWVzdGVkKSB7Ci0JCV9kcHVfY3J0 Y192YmxhbmtfZW5hYmxlX25vX2xvY2soZHB1X2NydGMsIHRydWUpOwotCX0KIAlkcHVfY3J0Yy0+ ZW5hYmxlZCA9IHRydWU7CiAKIAltdXRleF91bmxvY2soJmRwdV9jcnRjLT5jcnRjX2xvY2spOwog CisJZHJtX2Zvcl9lYWNoX2VuY29kZXJfbWFzayhlbmNvZGVyLCBjcnRjLT5kZXYsIGNydGMtPnN0 YXRlLT5lbmNvZGVyX21hc2spCisJCWRwdV9lbmNvZGVyX2Fzc2lnbl9jcnRjKGVuY29kZXIsIGNy dGMpOworCiAJLyogRW5hYmxlL3Jlc3RvcmUgdmJsYW5rIGlycSBoYW5kbGluZyAqLwogCWRybV9j cnRjX3ZibGFua19vbihjcnRjKTsKIH0KQEAgLTExNTksMTAgKzExMjMsMzMgQEAgc3RhdGljIGlu dCBkcHVfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogaW50IGRwdV9j cnRjX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW4pCiB7CiAJc3RydWN0IGRw dV9jcnRjICpkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOworCXN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jOwogCi0JbXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7CiAJdHJhY2VfZHB1 X2NydGNfdmJsYW5rKERSTUlEKCZkcHVfY3J0Yy0+YmFzZSksIGVuLCBkcHVfY3J0Yyk7Ci0JX2Rw dV9jcnRjX3ZibGFua19lbmFibGVfbm9fbG9jayhkcHVfY3J0YywgZW4pOworCisJLyoKKwkgKiBO b3JtYWxseSB3ZSB3b3VsZCBpdGVyYXRlIHRocm91Z2ggZW5jb2Rlcl9tYXNrIGluIGNydGMgc3Rh dGUgdG8gZmluZAorCSAqIGF0dGFjaGVkIGVuY29kZXJzLiBJbiB0aGlzIGNhc2UsIHdlIG1pZ2h0 IGJlIGRpc2FibGluZyB2YmxhbmsgX2FmdGVyXworCSAqIGVuY29kZXJfbWFzayBoYXMgYmVlbiBj bGVhcmVkLgorCSAqCisJICogSW5zdGVhZCwgd2UgImFzc2lnbiIgYSBjcnRjIHRvIHRoZSBlbmNv ZGVyIGluIGVuYWJsZSBhbmQgY2xlYXIgaXQgaW4KKwkgKiBkaXNhYmxlICh3aGljaCBpcyBhbHNv IGFmdGVyIGVuY29kZXJfbWFzayBpcyBjbGVhcmVkKS4gU28gaW5zdGVhZCBvZgorCSAqIHVzaW5n IGVuY29kZXIgbWFzaywgd2UnbGwgYXNrIHRoZSBlbmNvZGVyIHRvIHRvZ2dsZSBpdHNlbGYgaWZm IGl0J3MKKwkgKiBjdXJyZW50bHkgYXNzaWduZWQgdG8gb3VyIGNydGMuCisJICoKKwkgKiBOb3Rl IGFsc28gdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbm5vdCBiZSBjYWxsZWQgd2hpbGUgY3J0YyBpcyBk aXNhYmxlZAorCSAqIHNpbmNlIHdlIHVzZSBkcm1fY3J0Y192Ymxhbmtfb24vb2ZmLiBTbyB3ZSBk b24ndCBuZWVkIHRvIHdvcnJ5CisJICogYWJvdXQgdGhlIGFzc2lnbmVkIGNydGNzIGJlaW5nIGlu Y29uc2lzdGVudCB3aXRoIHRoZSBjdXJyZW50IHN0YXRlCisJICogKHdoaWNoIG1lYW5zIG5vIG5l ZWQgdG8gd29ycnkgYWJvdXQgbW9kZXNldCBsb2NrcykuCisJICovCisJbGlzdF9mb3JfZWFjaF9l bnRyeShlbmMsICZjcnRjLT5kZXYtPm1vZGVfY29uZmlnLmVuY29kZXJfbGlzdCwgaGVhZCkgewor CQl0cmFjZV9kcHVfY3J0Y192YmxhbmtfZW5hYmxlKERSTUlEKGNydGMpLCBEUk1JRChlbmMpLCBl biwKKwkJCQkJICAgICBkcHVfY3J0Yyk7CisKKwkJZHB1X2VuY29kZXJfdG9nZ2xlX3ZibGFua19m b3JfY3J0YyhlbmMsIGNydGMsIGVuKTsKKwl9CisKKwltdXRleF9sb2NrKCZkcHVfY3J0Yy0+Y3J0 Y19sb2NrKTsKIAlkcHVfY3J0Yy0+dmJsYW5rX3JlcXVlc3RlZCA9IGVuOwogCW11dGV4X3VubG9j aygmZHB1X2NydGMtPmNydGNfbG9jayk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlci5jCmluZGV4IGZkNjUxNGY2ODFhZS4uOTBiNzdkOThkZGU4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKQEAgLTEyNjcsMjIgKzEy NjcsMjkgQEAgdm9pZCBkcHVfZW5jb2Rlcl9hc3NpZ25fY3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIg KmRybV9lbmMsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJf dmlydCAqZHB1X2VuYyA9IHRvX2RwdV9lbmNvZGVyX3ZpcnQoZHJtX2VuYyk7CiAJdW5zaWduZWQg bG9uZyBsb2NrX2ZsYWdzOwotCWJvb2wgZW5hYmxlOwotCWludCBpOwotCi0JZW5hYmxlID0gY3J0 YyA/IHRydWUgOiBmYWxzZTsKLQotCWlmICghZHJtX2VuYykgewotCQlEUFVfRVJST1IoImludmFs aWQgZW5jb2RlclxuIik7Ci0JCXJldHVybjsKLQl9Ci0JdHJhY2VfZHB1X2VuY192YmxhbmtfY2Io RFJNSUQoZHJtX2VuYyksIGVuYWJsZSk7CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmZHB1X2VuYy0+ ZW5jX3NwaW5sb2NrLCBsb2NrX2ZsYWdzKTsKIAkvKiBjcnRjIHNob3VsZCBhbHdheXMgYmUgY2xl YXJlZCBiZWZvcmUgcmUtYXNzaWduaW5nICovCiAJV0FSTl9PTihjcnRjICYmIGRwdV9lbmMtPmNy dGMpOwogCWRwdV9lbmMtPmNydGMgPSBjcnRjOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRw dV9lbmMtPmVuY19zcGlubG9jaywgbG9ja19mbGFncyk7Cit9CisKK3ZvaWQgZHB1X2VuY29kZXJf dG9nZ2xlX3ZibGFua19mb3JfY3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCisJCQkJ CXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFibGUpCit7CisJc3RydWN0IGRwdV9lbmNv ZGVyX3ZpcnQgKmRwdV9lbmMgPSB0b19kcHVfZW5jb2Rlcl92aXJ0KGRybV9lbmMpOworCXVuc2ln bmVkIGxvbmcgbG9ja19mbGFnczsKKwlpbnQgaTsKKworCXRyYWNlX2RwdV9lbmNfdmJsYW5rX2Ni KERSTUlEKGRybV9lbmMpLCBlbmFibGUpOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmRwdV9lbmMt PmVuY19zcGlubG9jaywgbG9ja19mbGFncyk7CisJaWYgKGRwdV9lbmMtPmNydGMgIT0gY3J0Yykg eworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkcHVfZW5jLT5lbmNfc3BpbmxvY2ssIGxvY2tf ZmxhZ3MpOworCQlyZXR1cm47CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRwdV9lbmMt PmVuY19zcGlubG9jaywgbG9ja19mbGFncyk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgZHB1X2VuYy0+ bnVtX3BoeXNfZW5jczsgaSsrKSB7CiAJCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzID0g ZHB1X2VuYy0+cGh5c19lbmNzW2ldOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9k aXNwL2RwdTEvZHB1X2VuY29kZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9lbmNvZGVyLmgKaW5kZXggYmUxZDgwODY3ODM0Li42ODk2ZWEyYWI4NTQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaApAQCAtNjIsNiArNjIsMTYgQEAg dm9pZCBkcHVfZW5jb2Rlcl9nZXRfaHdfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIHZvaWQgZHB1X2VuY29kZXJfYXNzaWduX2NydGMoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAogCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogCisvKioKKyAqIGRwdV9l bmNvZGVyX3RvZ2dsZV92YmxhbmtfZm9yX2NydGMgLSBUb2dnbGVzIHZibGFuayBpbnRlcnJ1cHRz IG9uIG9yIG9mZiBpZgorICoJdGhlIGVuY29kZXIgaXMgYXNzaWduZWQgdG8gdGhlIGdpdmVuIGNy dGMKKyAqIEBlbmNvZGVyOgllbmNvZGVyIHBvaW50ZXIKKyAqIEBjcnRjOgljcnRjIHBvaW50ZXIK KyAqIEBlbmFibGU6CXRydWUgaWYgdmJsYW5rIHNob3VsZCBiZSBlbmFibGVkCisgKi8KK3ZvaWQg ZHB1X2VuY29kZXJfdG9nZ2xlX3ZibGFua19mb3JfY3J0YyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCisJCQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFibGUpOworCiAvKioK ICAqIGRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2NhbGxiYWNrIC0gcHJvdmlkZSBj YWxsYmFjayB0byBlbmNvZGVyIHRoYXQKICAqCXdpbGwgYmUgY2FsbGVkIGFmdGVyIHRoZSByZXF1 ZXN0IGlzIGNvbXBsZXRlLCBvciBvdGhlciBldmVudHMuCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJl IEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==