From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [RFC 1/8] drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code Date: Wed, 1 Jul 2015 19:25:54 -0700 Message-ID: <1435803961-30079-2-git-send-email-matthew.d.roper@intel.com> References: <1435803961-30079-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 9BD746E408 for ; Wed, 1 Jul 2015 19:26:44 -0700 (PDT) In-Reply-To: <1435803961-30079-1-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SnVzdCBwdWxsIHRoZSBpbmZvIG91dCBvZiB0aGUgcGxhbmUgc3RhdGUgc3RydWN0dXJlIHJhdGhl ciB0aGFuIHN0YWdpbmcKaXQgaW4gYW4gYWRkaXRpb25hbCBzdHJ1Y3R1cmUuCgpTaWduZWQtb2Zm LWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCAxMzMgKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDYzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDZlYjVkNzYuLjJmMzgwNzAgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMTc3OCw5ICsxNzc4LDYgQEAgc3RydWN0IGlsa19w aXBlX3dtX3BhcmFtZXRlcnMgewogCWJvb2wgYWN0aXZlOwogCXVpbnQzMl90IHBpcGVfaHRvdGFs OwogCXVpbnQzMl90IHBpeGVsX3JhdGU7Ci0Jc3RydWN0IGludGVsX3BsYW5lX3dtX3BhcmFtZXRl cnMgcHJpOwotCXN0cnVjdCBpbnRlbF9wbGFuZV93bV9wYXJhbWV0ZXJzIHNwcjsKLQlzdHJ1Y3Qg aW50ZWxfcGxhbmVfd21fcGFyYW1ldGVycyBjdXI7CiB9OwogCiBzdHJ1Y3QgaWxrX3dtX21heGlt dW1zIHsKQEAgLTE4MDIsMjUgKzE3OTksMjUgQEAgc3RydWN0IGludGVsX3dtX2NvbmZpZyB7CiAg KiBtZW1fdmFsdWUgbXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KICAqLwogc3RhdGljIHVpbnQzMl90 IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAq cGFyYW1zLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAog CQkJCSAgIHVpbnQzMl90IG1lbV92YWx1ZSwKIAkJCQkgICBib29sIGlzX2xwKQogeworCWludCBi cHAgPSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2UuZmItPmJpdHNfcGVyX3BpeGVsIC8g OCA6IDA7CiAJdWludDMyX3QgbWV0aG9kMSwgbWV0aG9kMjsKIAotCWlmICghcGFyYW1zLT5hY3Rp dmUgfHwgIXBhcmFtcy0+cHJpLmVuYWJsZWQpCisJaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0 YXRlLT52aXNpYmxlKQogCQlyZXR1cm4gMDsKIAotCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShw YXJhbXMtPnBpeGVsX3JhdGUsCi0JCQkJIHBhcmFtcy0+cHJpLmJ5dGVzX3Blcl9waXhlbCwKLQkJ CQkgbWVtX3ZhbHVlKTsKKwltZXRob2QxID0gaWxrX3dtX21ldGhvZDEocGFyYW1zLT5waXhlbF9y YXRlLCBicHAsIG1lbV92YWx1ZSk7CiAKIAlpZiAoIWlzX2xwKQogCQlyZXR1cm4gbWV0aG9kMTsK IAogCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCiAJCQkJIHBh cmFtcy0+cGlwZV9odG90YWwsCi0JCQkJIHBhcmFtcy0+cHJpLmhvcml6X3BpeGVscywKLQkJCQkg cGFyYW1zLT5wcmkuYnl0ZXNfcGVyX3BpeGVsLAorCQkJCSBkcm1fcmVjdF93aWR0aCgmcHN0YXRl LT5kc3QpLAorCQkJCSBicHAsCiAJCQkJIG1lbV92YWx1ZSk7CiAKIAlyZXR1cm4gbWluKG1ldGhv ZDEsIG1ldGhvZDIpOwpAQCAtMTgzMSwyMCArMTgyOCwyMCBAQCBzdGF0aWMgdWludDMyX3QgaWxr X2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJh bXMsCiAgKiBtZW1fdmFsdWUgbXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KICAqLwogc3RhdGljIHVp bnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1l dGVycyAqcGFyYW1zLAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0 YXRlLAogCQkJCSAgIHVpbnQzMl90IG1lbV92YWx1ZSkKIHsKKwlpbnQgYnBwID0gcHN0YXRlLT5i YXNlLmZiID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwogCXVpbnQz Ml90IG1ldGhvZDEsIG1ldGhvZDI7CiAKLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwYXJhbXMt PnNwci5lbmFibGVkKQorCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkK IAkJcmV0dXJuIDA7CiAKLQltZXRob2QxID0gaWxrX3dtX21ldGhvZDEocGFyYW1zLT5waXhlbF9y YXRlLAotCQkJCSBwYXJhbXMtPnNwci5ieXRlc19wZXJfcGl4ZWwsCi0JCQkJIG1lbV92YWx1ZSk7 CisJbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKHBhcmFtcy0+cGl4ZWxfcmF0ZSwgYnBwLCBtZW1f dmFsdWUpOwogCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCiAJ CQkJIHBhcmFtcy0+cGlwZV9odG90YWwsCi0JCQkJIHBhcmFtcy0+c3ByLmhvcml6X3BpeGVscywK LQkJCQkgcGFyYW1zLT5zcHIuYnl0ZXNfcGVyX3BpeGVsLAorCQkJCSBkcm1fcmVjdF93aWR0aCgm cHN0YXRlLT5kc3QpLAorCQkJCSBicHAsCiAJCQkJIG1lbV92YWx1ZSk7CiAJcmV0dXJuIG1pbiht ZXRob2QxLCBtZXRob2QyKTsKIH0KQEAgLTE4NTQsMjggKzE4NTEsMzIgQEAgc3RhdGljIHVpbnQz Ml90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVy cyAqcGFyYW1zLAogICogbWVtX3ZhbHVlIG11c3QgYmUgaW4gMC4xdXMgdW5pdHMuCiAgKi8KIHN0 YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dt X3BhcmFtZXRlcnMgKnBhcmFtcywKKwkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3Rh dGUgKnBzdGF0ZSwKIAkJCQkgICB1aW50MzJfdCBtZW1fdmFsdWUpCiB7Ci0JaWYgKCFwYXJhbXMt PmFjdGl2ZSB8fCAhcGFyYW1zLT5jdXIuZW5hYmxlZCkKKwlpbnQgYnBwID0gcHN0YXRlLT5iYXNl LmZiID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOworCisJaWYgKCFw YXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxlKQogCQlyZXR1cm4gMDsKIAogCXJldHVy biBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCiAJCQkgICAgICBwYXJhbXMtPnBp cGVfaHRvdGFsLAotCQkJICAgICAgcGFyYW1zLT5jdXIuaG9yaXpfcGl4ZWxzLAotCQkJICAgICAg cGFyYW1zLT5jdXIuYnl0ZXNfcGVyX3BpeGVsLAorCQkJICAgICAgZHJtX3JlY3Rfd2lkdGgoJnBz dGF0ZS0+ZHN0KSwKKwkJCSAgICAgIGJwcCwKIAkJCSAgICAgIG1lbV92YWx1ZSk7CiB9CiAKIC8q IE9ubHkgZm9yIFdNX0xQLiAqLwogc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX2ZiY193bShj b25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAorCQkJCSAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAogCQkJCSAgIHVpbnQzMl90IHByaV92 YWwpCiB7Ci0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcGFyYW1zLT5wcmkuZW5hYmxlZCkKKwlp bnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8gcHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhl bCAvIDggOiAwOworCisJaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxlKQog CQlyZXR1cm4gMDsKIAotCXJldHVybiBpbGtfd21fZmJjKHByaV92YWwsCi0JCQkgIHBhcmFtcy0+ cHJpLmhvcml6X3BpeGVscywKLQkJCSAgcGFyYW1zLT5wcmkuYnl0ZXNfcGVyX3BpeGVsKTsKKwly ZXR1cm4gaWxrX3dtX2ZiYyhwcmlfdmFsLCBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLCBi cHApOwogfQogCiBzdGF0aWMgdW5zaWduZWQgaW50IGlsa19kaXNwbGF5X2ZpZm9fc2l6ZShjb25z dCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQpAQCAtMjA0MCwxMCArMjA0MSwxMiBAQCBzdGF0aWMg Ym9vbCBpbGtfdmFsaWRhdGVfd21fbGV2ZWwoaW50IGxldmVsLAogfQogCiBzdGF0aWMgdm9pZCBp bGtfY29tcHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCisJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAogCQkJCSBpbnQg bGV2ZWwsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwLAogCQkJ CSBzdHJ1Y3QgaW50ZWxfd21fbGV2ZWwgKnJlc3VsdCkKIHsKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lOwogCXVpbnQxNl90IHByaV9sYXRlbmN5ID0gZGV2X3ByaXYtPndtLnByaV9s YXRlbmN5W2xldmVsXTsKIAl1aW50MTZfdCBzcHJfbGF0ZW5jeSA9IGRldl9wcml2LT53bS5zcHJf bGF0ZW5jeVtsZXZlbF07CiAJdWludDE2X3QgY3VyX2xhdGVuY3kgPSBkZXZfcHJpdi0+d20uY3Vy X2xhdGVuY3lbbGV2ZWxdOwpAQCAtMjA1NSwxMCArMjA1OCwyOSBAQCBzdGF0aWMgdm9pZCBpbGtf Y29tcHV0ZV93bV9sZXZlbChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJCWN1cl9sYXRlbmN5ICo9IDU7CiAJfQogCi0JcmVzdWx0LT5wcmlfdmFsID0gaWxrX2NvbXB1 dGVfcHJpX3dtKHAsIHByaV9sYXRlbmN5LCBsZXZlbCk7Ci0JcmVzdWx0LT5zcHJfdmFsID0gaWxr X2NvbXB1dGVfc3ByX3dtKHAsIHNwcl9sYXRlbmN5KTsKLQlyZXN1bHQtPmN1cl92YWwgPSBpbGtf Y29tcHV0ZV9jdXJfd20ocCwgY3VyX2xhdGVuY3kpOwotCXJlc3VsdC0+ZmJjX3ZhbCA9IGlsa19j b21wdXRlX2ZiY193bShwLCByZXN1bHQtPnByaV92YWwpOworCWZvcl9lYWNoX2ludGVsX3BsYW5l X29uX2NydGMoZGV2X3ByaXYtPmRldiwgaW50ZWxfY3J0YywgaW50ZWxfcGxhbmUpIHsKKwkJc3Ry dWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUgPQorCQkJdG9faW50ZWxfcGxhbmVfc3RhdGUo aW50ZWxfcGxhbmUtPmJhc2Uuc3RhdGUpOworCisJCXN3aXRjaCAoaW50ZWxfcGxhbmUtPmJhc2Uu dHlwZSkgeworCQljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6CisJCQlyZXN1bHQtPnByaV92 YWwgPSBpbGtfY29tcHV0ZV9wcmlfd20ocCwgcHN0YXRlLAorCQkJCQkJCSAgICAgcHJpX2xhdGVu Y3ksCisJCQkJCQkJICAgICBsZXZlbCk7CisJCQlyZXN1bHQtPmZiY192YWwgPSBpbGtfY29tcHV0 ZV9mYmNfd20ocCwgcHN0YXRlLAorCQkJCQkJCSAgICAgcmVzdWx0LT5wcmlfdmFsKTsKKwkJCWJy ZWFrOworCQljYXNlIERSTV9QTEFORV9UWVBFX09WRVJMQVk6CisJCQlyZXN1bHQtPnNwcl92YWwg PSBpbGtfY29tcHV0ZV9zcHJfd20ocCwgcHN0YXRlLAorCQkJCQkJCSAgICAgc3ByX2xhdGVuY3kp OworCQkJYnJlYWs7CisJCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VSU09SOgorCQkJcmVzdWx0LT5j dXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKHAsIHBzdGF0ZSwKKwkJCQkJCQkgICAgIGN1cl9s YXRlbmN5KTsKKwkJCWJyZWFrOworCQl9CisJfQorCiAJcmVzdWx0LT5lbmFibGUgPSB0cnVlOwog fQogCkBAIC0yMzIwLDEwICsyMzQyLDcgQEAgc3RhdGljIHZvaWQgc2tsX3NldHVwX3dtX2xhdGVu Y3koc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX3Bh cmFtZXRlcnMoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJCSAgICAgIHN0cnVjdCBpbGtfcGlw ZV93bV9wYXJhbWV0ZXJzICpwKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5k ZXY7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMp OwotCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKLQlzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZTsKIAogCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlKQogCQlyZXR1cm47CkBAIC0yMzMx LDMyICsyMzUwLDYgQEAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fcGFyYW1ldGVycyhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJcC0+YWN0aXZlID0gdHJ1ZTsKIAlwLT5waXBlX2h0b3RhbCA9 IGludGVsX2NydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsOwogCXAt PnBpeGVsX3JhdGUgPSBpbGtfcGlwZV9waXhlbF9yYXRlKGludGVsX2NydGMtPmNvbmZpZyk7Ci0K LQlpZiAoY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiKQotCQlwLT5wcmkuYnl0ZXNfcGVyX3BpeGVs ID0KLQkJCWNydGMtPnByaW1hcnktPnN0YXRlLT5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4OwotCWVs c2UKLQkJcC0+cHJpLmJ5dGVzX3Blcl9waXhlbCA9IDQ7Ci0KLQlwLT5jdXIuYnl0ZXNfcGVyX3Bp eGVsID0gNDsKLQkvKgotCSAqIFRPRE86IGZvciBub3csIGFzc3VtZSBwcmltYXJ5IGFuZCBjdXJz b3IgcGxhbmVzIGFyZSBhbHdheXMgZW5hYmxlZC4KLQkgKiBTZXR0aW5nIHRoZW0gdG8gZmFsc2Ug bWFrZXMgdGhlIHNjcmVlbiBmbGlja2VyLgotCSAqLwotCXAtPnByaS5lbmFibGVkID0gdHJ1ZTsK LQlwLT5jdXIuZW5hYmxlZCA9IHRydWU7Ci0KLQlwLT5wcmkuaG9yaXpfcGl4ZWxzID0gaW50ZWxf Y3J0Yy0+Y29uZmlnLT5waXBlX3NyY193OwotCXAtPmN1ci5ob3Jpel9waXhlbHMgPSBpbnRlbF9j cnRjLT5iYXNlLmN1cnNvci0+c3RhdGUtPmNydGNfdzsKLQotCWRybV9mb3JfZWFjaF9sZWdhY3lf cGxhbmUocGxhbmUsICZkZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpIHsKLQkJc3RydWN0IGlu dGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKLQotCQlpZiAo aW50ZWxfcGxhbmUtPnBpcGUgPT0gcGlwZSkgewotCQkJcC0+c3ByID0gaW50ZWxfcGxhbmUtPndt OwotCQkJYnJlYWs7Ci0JCX0KLQl9CiB9CiAKIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX2Nv bmZpZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtMjM4NCwyOCArMjM3Nyw0MiBAQCBzdGF0 aWMgYm9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjLAogewog CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJY29uc3Qgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaW50ZWxf Y3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CisJc3RydWN0IGludGVsX3Bs YW5lICppbnRlbF9wbGFuZTsKKwlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnNwcnN0YXRlID0g TlVMTDsKIAlpbnQgbGV2ZWwsIG1heF9sZXZlbCA9IGlsa193bV9tYXhfbGV2ZWwoZGV2KTsKIAkv KiBMUDAgd2F0ZXJtYXJrIG1heGltdW1zIGRlcGVuZCBvbiB0aGlzIHBpcGUgYWxvbmUgKi8KIAlz dHJ1Y3QgaW50ZWxfd21fY29uZmlnIGNvbmZpZyA9IHsKIAkJLm51bV9waXBlc19hY3RpdmUgPSAx LAotCQkuc3ByaXRlc19lbmFibGVkID0gcGFyYW1zLT5zcHIuZW5hYmxlZCwKLQkJLnNwcml0ZXNf c2NhbGVkID0gcGFyYW1zLT5zcHIuc2NhbGVkLAogCX07CiAJc3RydWN0IGlsa193bV9tYXhpbXVt cyBtYXg7CiAKKwlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRjKGRldiwgaW50ZWxfY3J0Yywg aW50ZWxfcGxhbmUpIHsKKwkJaWYgKGludGVsX3BsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5F X1RZUEVfT1ZFUkxBWSkgeworCQkJc3Byc3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShpbnRl bF9wbGFuZS0+YmFzZS5zdGF0ZSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWNvbmZpZy5zcHJp dGVzX2VuYWJsZWQgPSBzcHJzdGF0ZS0+dmlzaWJsZTsKKwljb25maWcuc3ByaXRlc19zY2FsZWQg PQorCQlkcm1fcmVjdF93aWR0aCgmc3Byc3RhdGUtPmRzdCkgIT0gZHJtX3JlY3Rfd2lkdGgoJnNw cnN0YXRlLT5zcmMpID4+IDE2IHx8CisJCWRybV9yZWN0X2hlaWdodCgmc3Byc3RhdGUtPmRzdCkg IT0gZHJtX3JlY3RfaGVpZ2h0KCZzcHJzdGF0ZS0+c3JjKSA+PiAxNjsKKworCiAJcGlwZV93bS0+ cGlwZV9lbmFibGVkID0gcGFyYW1zLT5hY3RpdmU7Ci0JcGlwZV93bS0+c3ByaXRlc19lbmFibGVk ID0gcGFyYW1zLT5zcHIuZW5hYmxlZDsKLQlwaXBlX3dtLT5zcHJpdGVzX3NjYWxlZCA9IHBhcmFt cy0+c3ByLnNjYWxlZDsKKwlwaXBlX3dtLT5zcHJpdGVzX2VuYWJsZWQgPSBzcHJzdGF0ZS0+dmlz aWJsZTsKKwlwaXBlX3dtLT5zcHJpdGVzX3NjYWxlZCA9IGNvbmZpZy5zcHJpdGVzX3NjYWxlZDsK IAogCS8qIElMSy9TTkI6IExQMisgd2F0ZXJtYXJrcyBvbmx5IHcvbyBzcHJpdGVzICovCi0JaWYg KElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9IDYgJiYgcGFyYW1zLT5zcHIuZW5hYmxlZCkKKwlpZiAo SU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNiAmJiBzcHJzdGF0ZS0+dmlzaWJsZSkKIAkJbWF4X2xl dmVsID0gMTsKIAogCS8qIElMSy9TTkIvSVZCOiBMUDErIHdhdGVybWFya3Mgb25seSB3L28gc2Nh bGluZyAqLwotCWlmIChwYXJhbXMtPnNwci5zY2FsZWQpCisJaWYgKGNvbmZpZy5zcHJpdGVzX3Nj YWxlZCkKIAkJbWF4X2xldmVsID0gMDsKIAotCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2 LCAwLCBwYXJhbXMsICZwaXBlX3dtLT53bVswXSk7CisJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2 X3ByaXYsIGludGVsX2NydGMsIDAsIHBhcmFtcywgJnBpcGVfd20tPndtWzBdKTsKIAogCWlmIChJ U19IQVNXRUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikpCiAJCXBpcGVfd20tPmxpbmV0aW1l ID0gaHN3X2NvbXB1dGVfbGluZXRpbWVfd20oZGV2LCBjcnRjKTsKQEAgLTI0MjIsNyArMjQyOSw3 IEBAIHN0YXRpYyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCiAJZm9yIChsZXZlbCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgewogCQlz dHJ1Y3QgaW50ZWxfd21fbGV2ZWwgd20gPSB7fTsKIAotCQlpbGtfY29tcHV0ZV93bV9sZXZlbChk ZXZfcHJpdiwgbGV2ZWwsIHBhcmFtcywgJndtKTsKKwkJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2 X3ByaXYsIGludGVsX2NydGMsIGxldmVsLCBwYXJhbXMsICZ3bSk7CiAKIAkJLyoKIAkJICogRGlz YWJsZSBhbnkgd2F0ZXJtYXJrIGxldmVsIHRoYXQgZXhjZWVkcyB0aGUKLS0gCjIuMS40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=