From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 4/5] drm/i915: Add rotation support for the cursor plane Date: Wed, 12 Feb 2014 23:15:03 +0200 Message-ID: <1392239704-21776-5-git-send-email-ville.syrjala@linux.intel.com> References: <1392239704-21776-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1392239704-21776-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Sagar Kamble , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBjdXJzb3IgcGxhbmUgYWxzbyBzdXBwb3J0cyAxODAgZGVncmVlIHJvdGF0aW9uLiBBZGQgYSBu ZXcKImN1cnNvci1yb3RhdGlvbiIgcHJvcGVydHkgb24gdGhlIGNydGMgd2hpY2ggY29udHJvbHMg dGhpcy4KClVubGlrZSBzcHJpdGVzLCB0aGUgY3Vyc29yIGhhcyBhIGZpeGVkIHNpemUsIHNvIGlm IHlvdSBoYXZlIGEgc21hbGwKY3Vyc29yIGltYWdlIHdpdGggdGhlIHJlc3Qgb2YgdGhlIGJvIGZp bGxlZCBieSB0cmFuc3BhcmVudCBwaXhlbHMsCnNpbXBseSBmbGlwcGluZyB0aGUgcm90YXRpb24g cHJvcGVydHkgd2lsbCBjYXVzZSB0aGUgdmlzaWJsZSBwYXJ0Cm9mIHRoZSBjdXJzb3IgdG8gc2hp ZnQuIFRoaXMgaXMgc29tZXRoaW5nIHRvIGtlZXAgaW4gbWluZCB3aGVuCnVzaW5nIGN1cnNvciBy b3RhdGlvbi4KCkNjOiBTYWdhciBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KU2ln bmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jICAgICAgfCAgOSArKysrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDEgKwogNSBmaWxlcyBjaGFu Z2VkLCA1MSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RtYS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k bWEuYwppbmRleCA0YTNlZjM0Li4zZGQ5YWJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RtYS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMKQEAg LTE5MTYsNiArMTkxNiwxNSBAQCB2b2lkIGk5MTVfZHJpdmVyX2xhc3RjbG9zZShzdHJ1Y3QgZHJt X2RldmljZSAqIGRldikKIAkJfQogCX0KIAorCWlmIChkZXZfcHJpdi0+Y3Vyc29yX3JvdGF0aW9u X3Byb3BlcnR5KSB7CisJCWxpc3RfZm9yX2VhY2hfZW50cnkoY3J0YywgJmRldi0+bW9kZV9jb25m aWcuY3J0Y19saXN0LCBiYXNlLmhlYWQpIHsKKwkJCWNydGMtPmN1cnNvcl9yb3RhdGlvbiA9IEJJ VChEUk1fUk9UQVRFXzApOworCQkJZHJtX29iamVjdF9wcm9wZXJ0eV9zZXRfdmFsdWUoJmNydGMt PmJhc2UuYmFzZSwKKwkJCQkJCWRldl9wcml2LT5jdXJzb3Jfcm90YXRpb25fcHJvcGVydHksCisJ CQkJCQljcnRjLT5jdXJzb3Jfcm90YXRpb24pOworCQl9CisJfQorCiAJaWYgKGRybV9jb3JlX2No ZWNrX2ZlYXR1cmUoZGV2LCBEUklWRVJfTU9ERVNFVCkpIHsKIAkJaW50ZWxfZmJkZXZfcmVzdG9y ZV9tb2RlKGRldik7CiAJCXZnYV9zd2l0Y2hlcm9vX3Byb2Nlc3NfZGVsYXllZF9zd2l0Y2goKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDZhZjc4ZWUuLjhlY2QzYmIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaApAQCAtMTU2Miw2ICsxNTYyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSB7CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqZm9yY2VfYXVkaW9fcHJvcGVydHk7 CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqcm90YXRpb25fcHJvcGVydHk7IC8qICJyb3RhdGlvbiIg Ki8KIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwbGFuZV9yb3RhdGlvbl9wcm9wZXJ0eTsgLyogInBs YW5lLXJvdGF0aW9uIiAqLworCXN0cnVjdCBkcm1fcHJvcGVydHkgKmN1cnNvcl9yb3RhdGlvbl9w cm9wZXJ0eTsgLyogImN1cnNvci1yb3RhdGlvbiIgKi8KIAogCXVpbnQzMl90IGh3X2NvbnRleHRf c2l6ZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGNvbnRleHRfbGlzdDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCmluZGV4IGFiMWFlYjgyLi5mZWUwNjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAg LTM1MzQsNiArMzUzNCw3IEBACiAjZGVmaW5lICAgTUNVUlNPUl9QSVBFX0EJMHgwMAogI2RlZmlu ZSAgIE1DVVJTT1JfUElQRV9CCSgxIDw8IDI4KQogI2RlZmluZSAgIE1DVVJTT1JfR0FNTUFfRU5B QkxFICAoMSA8PCAyNikKKyNkZWZpbmUgICBDVVJTT1JfUk9UQVRFXzE4MAkoMTw8MTUpCiAjZGVm aW5lICAgQ1VSU09SX1RSSUNLTEVfRkVFRF9ESVNBQkxFCSgxIDw8IDE0KQogI2RlZmluZSBfQ1VS QUJBU0UJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3MDA4NCkKICNk ZWZpbmUgX0NVUkFQT1MJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg3 MDA4OCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAzN2IyM2QxLi5lOTQx NjdiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC00Miw3ICs0Miw3IEBA CiAjaW5jbHVkZSA8bGludXgvZG1hX3JlbWFwcGluZy5oPgogCiBzdGF0aWMgdm9pZCBpbnRlbF9p bmNyZWFzZV9wbGxjbG9jayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwotc3RhdGljIHZvaWQgaW50 ZWxfY3J0Y191cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBvbik7Citz dGF0aWMgdm9pZCBpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRj LCBib29sIG9uLCBib29sIGZvcmNlKTsKIAogc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Nsb2NrX2dl dChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCQlzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcg KnBpcGVfY29uZmlnKTsKQEAgLTM2NDAsNyArMzY0MCw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtl X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlpbnRlbF9lbmFibGVfcGlwZShp bnRlbF9jcnRjKTsKIAlpbnRlbF9lbmFibGVfcHJpbWFyeV9wbGFuZShkZXZfcHJpdiwgcGxhbmUs IHBpcGUpOwogCWludGVsX2VuYWJsZV9wbGFuZXMoY3J0Yyk7Ci0JaW50ZWxfY3J0Y191cGRhdGVf Y3Vyc29yKGNydGMsIHRydWUpOworCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCB0cnVl LCBmYWxzZSk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLmhhc19wY2hfZW5jb2RlcikKIAkJ aXJvbmxha2VfcGNoX2VuYWJsZShjcnRjKTsKQEAgLTM2ODIsNyArMzY4Miw3IEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfY3J0Y19lbmFibGVfcGxhbmVzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAog CWludGVsX2VuYWJsZV9wcmltYXJ5X3BsYW5lKGRldl9wcml2LCBwbGFuZSwgcGlwZSk7CiAJaW50 ZWxfZW5hYmxlX3BsYW5lcyhjcnRjKTsKLQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0Yywg dHJ1ZSk7CisJaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKGNydGMsIHRydWUsIGZhbHNlKTsKIAog CWhzd19lbmFibGVfaXBzKGludGVsX2NydGMpOwogCkBAIC0zNzA4LDcgKzM3MDgsNyBAQCBzdGF0 aWMgdm9pZCBoYXN3ZWxsX2NydGNfZGlzYWJsZV9wbGFuZXMoc3RydWN0IGRybV9jcnRjICpjcnRj KQogCiAJaHN3X2Rpc2FibGVfaXBzKGludGVsX2NydGMpOwogCi0JaW50ZWxfY3J0Y191cGRhdGVf Y3Vyc29yKGNydGMsIGZhbHNlKTsKKwlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgZmFs c2UsIGZhbHNlKTsKIAlpbnRlbF9kaXNhYmxlX3BsYW5lcyhjcnRjKTsKIAlpbnRlbF9kaXNhYmxl X3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIHBsYW5lLCBwaXBlKTsKIH0KQEAgLTM4MzYsNyArMzgz Niw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiAJaWYgKGRldl9wcml2LT5mYmMucGxhbmUgPT0gcGxhbmUpCiAJCWludGVsX2Rpc2Fi bGVfZmJjKGRldik7CiAKLQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgZmFsc2UpOwor CWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCBmYWxzZSwgZmFsc2UpOwogCWludGVsX2Rp c2FibGVfcGxhbmVzKGNydGMpOwogCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShkZXZfcHJp diwgcGxhbmUsIHBpcGUpOwogCkBAIC00MjExLDcgKzQyMTEsNyBAQCBzdGF0aWMgdm9pZCB2YWxs ZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlpbnRlbF9zZXRfY3B1 X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldiwgcGlwZSwgdHJ1ZSk7CiAJaW50ZWxfZW5hYmxl X3ByaW1hcnlfcGxhbmUoZGV2X3ByaXYsIHBsYW5lLCBwaXBlKTsKIAlpbnRlbF9lbmFibGVfcGxh bmVzKGNydGMpOwotCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCB0cnVlKTsKKwlpbnRl bF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgdHJ1ZSwgZmFsc2UpOwogCiAJaW50ZWxfdXBkYXRl X2ZiYyhkZXYpOwogCkBAIC00MjUzLDcgKzQyNTMsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkvKiBUaGUgZml4dXAgbmVlZHMgdG8gaGFw cGVuIGJlZm9yZSBjdXJzb3IgaXMgZW5hYmxlZCAqLwogCWlmIChJU19HNFgoZGV2KSkKIAkJZzR4 X2ZpeHVwX3BsYW5lKGRldl9wcml2LCBwaXBlKTsKLQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3Io Y3J0YywgdHJ1ZSk7CisJaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKGNydGMsIHRydWUsIGZhbHNl KTsKIAogCS8qIEdpdmUgdGhlIG92ZXJsYXkgc2NhbGVyIGEgY2hhbmNlIHRvIGVuYWJsZSBpZiBp dCdzIG9uIHRoaXMgcGlwZSAqLwogCWludGVsX2NydGNfZHBtc19vdmVybGF5KGludGVsX2NydGMs IHRydWUpOwpAQCAtNDMwMiw3ICs0MzAyLDcgQEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2Rpc2Fi bGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlpbnRlbF9kaXNhYmxlX2ZiYyhkZXYpOwogCiAJ aW50ZWxfY3J0Y19kcG1zX292ZXJsYXkoaW50ZWxfY3J0YywgZmFsc2UpOwotCWludGVsX2NydGNf dXBkYXRlX2N1cnNvcihjcnRjLCBmYWxzZSk7CisJaW50ZWxfY3J0Y191cGRhdGVfY3Vyc29yKGNy dGMsIGZhbHNlLCBmYWxzZSk7CiAJaW50ZWxfZGlzYWJsZV9wbGFuZXMoY3J0Yyk7CiAJaW50ZWxf ZGlzYWJsZV9wcmltYXJ5X3BsYW5lKGRldl9wcml2LCBwbGFuZSwgcGlwZSk7CiAKQEAgLTc0Mjks NyArNzQyOSw3IEBAIHZvaWQgaW50ZWxfd3JpdGVfZWxkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5j b2RlciwKIAkJZGV2X3ByaXYtPmRpc3BsYXkud3JpdGVfZWxkKGNvbm5lY3RvciwgY3J0YywgbW9k ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGk4NDVfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIHUzMiBiYXNlKQorc3RhdGljIHZvaWQgaTg0NV91cGRhdGVfY3Vyc29yKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywgdTMyIGJhc2UsIGJvb2wgZm9yY2UpCiB7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwpAQCAtNzQzNyw3ICs3NDM3LDcgQEAgc3RhdGljIHZvaWQgaTg0 NV91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJhc2UpCiAJYm9vbCB2 aXNpYmxlID0gYmFzZSAhPSAwOwogCXUzMiBjbnRsOwogCi0JaWYgKGludGVsX2NydGMtPmN1cnNv cl92aXNpYmxlID09IHZpc2libGUpCisJaWYgKCFmb3JjZSAmJiBpbnRlbF9jcnRjLT5jdXJzb3Jf dmlzaWJsZSA9PSB2aXNpYmxlKQogCQlyZXR1cm47CiAKIAljbnRsID0gSTkxNV9SRUFEKF9DVVJB Q05UUik7CkBAIC03NDU5LDcgKzc0NTksNyBAQCBzdGF0aWMgdm9pZCBpODQ1X3VwZGF0ZV9jdXJz b3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSkKIAlpbnRlbF9jcnRjLT5jdXJzb3Jf dmlzaWJsZSA9IHZpc2libGU7CiB9CiAKLXN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIHUzMiBiYXNlKQorc3RhdGljIHZvaWQgaTl4eF91cGRhdGVf Y3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJhc2UsIGJvb2wgZm9yY2UpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtNzQ2Nyw3ICs3NDY3LDcgQEAg c3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMy IGJhc2UpCiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCWJvb2wgdmlzaWJsZSA9IGJh c2UgIT0gMDsKIAotCWlmIChpbnRlbF9jcnRjLT5jdXJzb3JfdmlzaWJsZSAhPSB2aXNpYmxlKSB7 CisJaWYgKGZvcmNlIHx8IGludGVsX2NydGMtPmN1cnNvcl92aXNpYmxlICE9IHZpc2libGUpIHsK IAkJdWludDMyX3QgY250bCA9IEk5MTVfUkVBRChDVVJDTlRSKHBpcGUpKTsKIAkJaWYgKGJhc2Up IHsKIAkJCWNudGwgJj0gfihDVVJTT1JfTU9ERSB8IE1DVVJTT1JfUElQRV9TRUxFQ1QpOwpAQCAt NzQ3Nyw2ICs3NDc3LDEwIEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIHUzMiBiYXNlKQogCQkJY250bCAmPSB+KENVUlNPUl9NT0RFIHwgTUNV UlNPUl9HQU1NQV9FTkFCTEUpOwogCQkJY250bCB8PSBDVVJTT1JfTU9ERV9ESVNBQkxFOwogCQl9 CisJCWlmIChpbnRlbF9jcnRjLT5jdXJzb3Jfcm90YXRpb24gPT0gQklUKERSTV9ST1RBVEVfMTgw KSkKKwkJCWNudGwgfD0gQ1VSU09SX1JPVEFURV8xODA7CisJCWVsc2UKKwkJCWNudGwgJj0gfkNV UlNPUl9ST1RBVEVfMTgwOwogCQlJOTE1X1dSSVRFKENVUkNOVFIocGlwZSksIGNudGwpOwogCiAJ CWludGVsX2NydGMtPmN1cnNvcl92aXNpYmxlID0gdmlzaWJsZTsKQEAgLTc0ODcsNyArNzQ5MSw3 IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMs IHUzMiBiYXNlKQogCVBPU1RJTkdfUkVBRChDVVJCQVNFKHBpcGUpKTsKIH0KIAotc3RhdGljIHZv aWQgaXZiX3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSkKK3N0 YXRpYyB2b2lkIGl2Yl91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMyIGJh c2UsIGJvb2wgZm9yY2UpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsK IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpA QCAtNzQ5NSw3ICs3NDk5LDcgQEAgc3RhdGljIHZvaWQgaXZiX3VwZGF0ZV9jdXJzb3Ioc3RydWN0 IGRybV9jcnRjICpjcnRjLCB1MzIgYmFzZSkKIAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7 CiAJYm9vbCB2aXNpYmxlID0gYmFzZSAhPSAwOwogCi0JaWYgKGludGVsX2NydGMtPmN1cnNvcl92 aXNpYmxlICE9IHZpc2libGUpIHsKKwlpZiAoZm9yY2UgfHwgaW50ZWxfY3J0Yy0+Y3Vyc29yX3Zp c2libGUgIT0gdmlzaWJsZSkgewogCQl1aW50MzJfdCBjbnRsID0gSTkxNV9SRUFEKENVUkNOVFJf SVZCKHBpcGUpKTsKIAkJaWYgKGJhc2UpIHsKIAkJCWNudGwgJj0gfkNVUlNPUl9NT0RFOwpAQCAt NzUwOCw2ICs3NTEyLDEwIEBAIHN0YXRpYyB2b2lkIGl2Yl91cGRhdGVfY3Vyc29yKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywgdTMyIGJhc2UpCiAJCQljbnRsIHw9IENVUlNPUl9QSVBFX0NTQ19FTkFC TEU7CiAJCQljbnRsICY9IH5DVVJTT1JfVFJJQ0tMRV9GRUVEX0RJU0FCTEU7CiAJCX0KKwkJaWYg KGludGVsX2NydGMtPmN1cnNvcl9yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKQorCQkJ Y250bCB8PSBDVVJTT1JfUk9UQVRFXzE4MDsKKwkJZWxzZQorCQkJY250bCAmPSB+Q1VSU09SX1JP VEFURV8xODA7CiAJCUk5MTVfV1JJVEUoQ1VSQ05UUl9JVkIocGlwZSksIGNudGwpOwogCiAJCWlu dGVsX2NydGMtPmN1cnNvcl92aXNpYmxlID0gdmlzaWJsZTsKQEAgLTc1MjAsNyArNzUyOCw3IEBA IHN0YXRpYyB2b2lkIGl2Yl91cGRhdGVfY3Vyc29yKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdTMy IGJhc2UpCiAKIC8qIElmIG5vLXBhcnQgb2YgdGhlIGN1cnNvciBpcyB2aXNpYmxlIG9uIHRoZSBm cmFtZWJ1ZmZlciwgdGhlbiB0aGUgR1BVIG1heSBoYW5nLi4uICovCiBzdGF0aWMgdm9pZCBpbnRl bF9jcnRjX3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJCSAgICAgYm9v bCBvbikKKwkJCQkgICAgIGJvb2wgb24sIGJvb2wgZm9yY2UpCiB7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwpAQCAtNzU2NCwxMyArNzU3MiwxMyBAQCBzdGF0aWMgdm9pZCBp bnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3Ioc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJaWYgKElT X0lWWUJSSURHRShkZXYpIHx8IElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkg ewogCQlJOTE1X1dSSVRFKENVUlBPU19JVkIocGlwZSksIHBvcyk7Ci0JCWl2Yl91cGRhdGVfY3Vy c29yKGNydGMsIGJhc2UpOworCQlpdmJfdXBkYXRlX2N1cnNvcihjcnRjLCBiYXNlLCBmb3JjZSk7 CiAJfSBlbHNlIHsKIAkJSTkxNV9XUklURShDVVJQT1MocGlwZSksIHBvcyk7CiAJCWlmIChJU184 NDVHKGRldikgfHwgSVNfSTg2NUcoZGV2KSkKLQkJCWk4NDVfdXBkYXRlX2N1cnNvcihjcnRjLCBi YXNlKTsKKwkJCWk4NDVfdXBkYXRlX2N1cnNvcihjcnRjLCBiYXNlLCBmb3JjZSk7CiAJCWVsc2UK LQkJCWk5eHhfdXBkYXRlX2N1cnNvcihjcnRjLCBiYXNlKTsKKwkJCWk5eHhfdXBkYXRlX2N1cnNv cihjcnRjLCBiYXNlLCBmb3JjZSk7CiAJfQogfQogCkBAIC03Njc3LDcgKzc2ODUsNyBAQCBzdGF0 aWMgaW50IGludGVsX2NydGNfY3Vyc29yX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJaW50 ZWxfY3J0Yy0+Y3Vyc29yX2hlaWdodCA9IGhlaWdodDsKIAogCWlmIChpbnRlbF9jcnRjLT5hY3Rp dmUpCi0JCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCBpbnRlbF9jcnRjLT5jdXJzb3Jf Ym8gIT0gTlVMTCk7CisJCWludGVsX2NydGNfdXBkYXRlX2N1cnNvcihjcnRjLCBpbnRlbF9jcnRj LT5jdXJzb3JfYm8gIT0gTlVMTCwgZmFsc2UpOwogCiAJcmV0dXJuIDA7CiBmYWlsX3VucGluOgpA QCAtNzY5Nyw3ICs3NzA1LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2N1cnNvcl9tb3ZlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IHgsIGludCB5KQogCWludGVsX2NydGMtPmN1cnNvcl95 ID0gY2xhbXBfdChpbnQsIHksIFNIUlRfTUlOLCBTSFJUX01BWCk7CiAKIAlpZiAoaW50ZWxfY3J0 Yy0+YWN0aXZlKQotCQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgaW50ZWxfY3J0Yy0+ Y3Vyc29yX2JvICE9IE5VTEwpOworCQlpbnRlbF9jcnRjX3VwZGF0ZV9jdXJzb3IoY3J0YywgaW50 ZWxfY3J0Yy0+Y3Vyc29yX2JvICE9IE5VTEwsIGZhbHNlKTsKIAogCXJldHVybiAwOwogfQpAQCAt MTAzODgsNiArMTAzOTYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCiAJaW50ZWxfY3J0Yy0+cGlwZSA9IHBpcGU7CiAJaW50 ZWxfY3J0Yy0+cGxhbmUgPSBwaXBlOwogCWludGVsX2NydGMtPnByaW1hcnlfcm90YXRpb24gPSBC SVQoRFJNX1JPVEFURV8wKTsKKwlpbnRlbF9jcnRjLT5jdXJzb3Jfcm90YXRpb24gPSBCSVQoRFJN X1JPVEFURV8wKTsKIAlpZiAoSEFTX0ZCQyhkZXYpICYmIElOVEVMX0lORk8oZGV2KS0+Z2VuIDwg NCkgewogCQlEUk1fREVCVUdfS01TKCJzd2FwcGluZyBwaXBlcyAmIHBsYW5lcyBmb3IgRkJDXG4i KTsKIAkJaW50ZWxfY3J0Yy0+cGxhbmUgPSAhcGlwZTsKQEAgLTEwNDA4LDYgKzEwNDE3LDE2IEBA IHN0YXRpYyB2b2lkIGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQg cGlwZSkKIAkJCWRybV9vYmplY3RfYXR0YWNoX3Byb3BlcnR5KCZpbnRlbF9jcnRjLT5iYXNlLmJh c2UsCiAJCQkJCQlkZXZfcHJpdi0+cGxhbmVfcm90YXRpb25fcHJvcGVydHksCiAJCQkJCQlpbnRl bF9jcnRjLT5wcmltYXJ5X3JvdGF0aW9uKTsKKworCQlpZiAoIWRldl9wcml2LT5jdXJzb3Jfcm90 YXRpb25fcHJvcGVydHkpCisJCQlkZXZfcHJpdi0+Y3Vyc29yX3JvdGF0aW9uX3Byb3BlcnR5ID0K KwkJCQlkcm1fbW9kZV9jcmVhdGVfcm90YXRpb25fcHJvcGVydHkoZGV2LCAiY3Vyc29yLXJvdGF0 aW9uIiwKKwkJCQkJCQkJQklUKERSTV9ST1RBVEVfMCkgfAorCQkJCQkJCQlCSVQoRFJNX1JPVEFU RV8xODApKTsKKwkJaWYgKGRldl9wcml2LT5jdXJzb3Jfcm90YXRpb25fcHJvcGVydHkpCisJCQlk cm1fb2JqZWN0X2F0dGFjaF9wcm9wZXJ0eSgmaW50ZWxfY3J0Yy0+YmFzZS5iYXNlLAorCQkJCQkJ ZGV2X3ByaXYtPmN1cnNvcl9yb3RhdGlvbl9wcm9wZXJ0eSwKKwkJCQkJCWludGVsX2NydGMtPmN1 cnNvcl9yb3RhdGlvbik7CiAJfQogCiAJZHJtX2NydGNfaGVscGVyX2FkZCgmaW50ZWxfY3J0Yy0+ YmFzZSwgJmludGVsX2hlbHBlcl9mdW5jcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4 IDhjMTdhODIuLjRhN2Y0ZjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0zMzIsNiAr MzMyLDcgQEAgc3RydWN0IGludGVsX2NydGMgewogCWVudW0gcGlwZSBwaXBlOwogCWVudW0gcGxh bmUgcGxhbmU7CiAJdW5zaWduZWQgaW50IHByaW1hcnlfcm90YXRpb247IC8qIHByaW1hcnkgcGxh bmUgaW4gcmVsYXRpb24gdG8gdGhlIHBpcGUgKi8KKwl1bnNpZ25lZCBpbnQgY3Vyc29yX3JvdGF0 aW9uOyAvKiBjdXJzb3IgcGxhbmUgaW4gcmVsYXRpb24gdG8gdGhlIHBpcGUgKi8KIAogCXU4IGx1 dF9yWzI1Nl0sIGx1dF9nWzI1Nl0sIGx1dF9iWzI1Nl07CiAJLyoKLS0gCjEuOC4zLjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==