From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 03/14] drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2) Date: Mon, 14 Sep 2015 19:19:19 -0700 Message-ID: <1442283570-26824-4-git-send-email-matthew.d.roper@intel.com> References: <1442283570-26824-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6163D6E97D for ; Mon, 14 Sep 2015 19:20:06 -0700 (PDT) In-Reply-To: <1442283570-26824-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 SnVzdCBwdWxsIHRoZSBpbmZvIG91dCBvZiB0aGUgQ1JUQyBzdGF0ZSBzdHJ1Y3R1cmUgcmF0aGVy IHRoYW4gc3RhZ2luZwppdCBpbiBhbiBhZGRpdGlvbmFsIHN0cnVjdHVyZS4KCk5vdGUgdGhhdCB3 ZSB1c2UgY3N0YXRlLT5hY3RpdmUgcmF0aGVyIHRoYW4gaW50ZWxfY3J0Yy0+YWN0aXZlIHdoaWNo IG1heQphcHBlYXIgdG8gYmUgYSBjaGFuZ2UgaW4gYmVoYXZpb3IuICBIb3dldmVyIHNpbmNlIHdl J3JlIG5vIGxvbmdlciB0cnlpbmcKdG8gcmVjYWxjdWxhdGUgd2F0ZXJtYXJrcyBkdXJpbmcgdGhl ICJwaXBlIG9mZiIgc3RhZ2Ugb2YgYSBtb2Rlc2V0LAppbnRlbF9jcnRjLT5hY3RpdmUgYW5kIGNz dGF0ZS0+YWN0aXZlIHNob3VsZCBhbHdheXMgYmUgaWRlbnRpY2FsIHdoZW4Kd2F0ZXJtYXJrcyBh cmUgY2FsY3VsYXRlZCAoYXQgbGVhc3QgZm9yIElMSy1zdHlsZSBwbGF0Zm9ybXMpLgoKdjI6IENs YXJpZnkgcmVhc29uaW5nIGZvciBjc3RhdGUtPmFjdGl2ZSBhbmQgYWRkIGEgV0FSTl9PTiB0byB0 aGUgY29kZQogICAgdG8gYXNzZXJ0IHRoYXQgaXQgcmVhbGx5IGlzIGFsd2F5cyBpZGVudGljYWwg dG8gaW50ZWxfY3J0Yy0+YWN0aXZlCiAgICBhcyBleHBlY3RlZC4KClNpZ25lZC1vZmYtYnk6IE1h dHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcG0uYyB8IDg0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggNDQyYTFmNi4uMGNhYWJjZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCkBAIC0xNzk1LDEyICsxNzk1LDYgQEAgc3RydWN0IHNrbF9waXBlX3dt X3BhcmFtZXRlcnMgewogCXN0cnVjdCBpbnRlbF9wbGFuZV93bV9wYXJhbWV0ZXJzIGN1cnNvcjsK IH07CiAKLXN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzIHsKLQlib29sIGFjdGl2ZTsKLQl1 aW50MzJfdCBwaXBlX2h0b3RhbDsKLQl1aW50MzJfdCBwaXhlbF9yYXRlOwotfTsKLQogc3RydWN0 IGlsa193bV9tYXhpbXVtcyB7CiAJdWludDE2X3QgcHJpOwogCXVpbnQxNl90IHNwcjsKQEAgLTE4 MTksNyArMTgxMyw3IEBAIHN0cnVjdCBpbnRlbF93bV9jb25maWcgewogICogRm9yIGJvdGggV01f UElQRSBhbmQgV01fTFAuCiAgKiBtZW1fdmFsdWUgbXVzdCBiZSBpbiAwLjF1cyB1bml0cy4KICAq Lwotc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3Bp cGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAorc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3By aV93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAogCQkJCSAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAogCQkJCSAgIHVpbnQzMl90IG1lbV92 YWx1ZSwKIAkJCQkgICBib29sIGlzX2xwKQpAQCAtMTgyNywxNiArMTgyMSwxNiBAQCBzdGF0aWMg dWludDMyX3QgaWxrX2NvbXB1dGVfcHJpX3dtKGNvbnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJh bWV0ZXJzICpwYXJhbXMsCiAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/IHBzdGF0ZS0+YmFz ZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKIAl1aW50MzJfdCBtZXRob2QxLCBtZXRob2Qy OwogCi0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxlKQorCWlmICghY3N0 YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxlKQogCQlyZXR1cm4gMDsKIAotCW1l dGhvZDEgPSBpbGtfd21fbWV0aG9kMShwYXJhbXMtPnBpeGVsX3JhdGUsIGJwcCwgbWVtX3ZhbHVl KTsKKwltZXRob2QxID0gaWxrX3dtX21ldGhvZDEoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUp LCBicHAsIG1lbV92YWx1ZSk7CiAKIAlpZiAoIWlzX2xwKQogCQlyZXR1cm4gbWV0aG9kMTsKIAot CW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3JhdGUsCi0JCQkJIHBhcmFt cy0+cGlwZV9odG90YWwsCisJbWV0aG9kMiA9IGlsa193bV9tZXRob2QyKGlsa19waXBlX3BpeGVs X3JhdGUoY3N0YXRlKSwKKwkJCQkgY3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19odG90 YWwsCiAJCQkJIGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmRzdCksCiAJCQkJIGJwcCwKIAkJCQkg bWVtX3ZhbHVlKTsKQEAgLTE4NDgsMTkgKzE4NDIsMTkgQEAgc3RhdGljIHVpbnQzMl90IGlsa19j b21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1z LAogICogRm9yIGJvdGggV01fUElQRSBhbmQgV01fTFAuCiAgKiBtZW1fdmFsdWUgbXVzdCBiZSBp biAwLjF1cyB1bml0cy4KICAqLwotc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3Nwcl93bShj b25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAorc3RhdGljIHVpbnQz Ml90IGlsa19jb21wdXRlX3Nwcl93bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0 YXRlLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAogCQkJ CSAgIHVpbnQzMl90IG1lbV92YWx1ZSkKIHsKIAlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8g cHN0YXRlLT5iYXNlLmZiLT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwogCXVpbnQzMl90IG1ldGhv ZDEsIG1ldGhvZDI7CiAKLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwc3RhdGUtPnZpc2libGUp CisJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUtPnZpc2libGUpCiAJCXJldHVy biAwOwogCi0JbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKHBhcmFtcy0+cGl4ZWxfcmF0ZSwgYnBw LCBtZW1fdmFsdWUpOwotCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihwYXJhbXMtPnBpeGVsX3Jh dGUsCi0JCQkJIHBhcmFtcy0+cGlwZV9odG90YWwsCisJbWV0aG9kMSA9IGlsa193bV9tZXRob2Qx KGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwgYnBwLCBtZW1fdmFsdWUpOworCW1ldGhvZDIg PSBpbGtfd21fbWV0aG9kMihpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksCisJCQkJIGNzdGF0 ZS0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAogCQkJCSBkcm1fcmVjdF93aWR0aCgm cHN0YXRlLT5kc3QpLAogCQkJCSBicHAsCiAJCQkJIG1lbV92YWx1ZSk7CkBAIC0xODcxLDMwICsx ODY1LDMwIEBAIHN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9zcHJfd20oY29uc3Qgc3RydWN0 IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKICAqIEZvciBib3RoIFdNX1BJUEUgYW5k IFdNX0xQLgogICogbWVtX3ZhbHVlIG11c3QgYmUgaW4gMC4xdXMgdW5pdHMuCiAgKi8KLXN0YXRp YyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3Bh cmFtZXRlcnMgKnBhcmFtcywKK3N0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9jdXJfd20oY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJCQkgICBjb25zdCBzdHJ1Y3Qg aW50ZWxfcGxhbmVfc3RhdGUgKnBzdGF0ZSwKIAkJCQkgICB1aW50MzJfdCBtZW1fdmFsdWUpCiB7 CiAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJf cGl4ZWwgLyA4IDogMDsKIAotCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJs ZSkKKwlpZiAoIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKIAkJcmV0 dXJuIDA7CiAKLQlyZXR1cm4gaWxrX3dtX21ldGhvZDIocGFyYW1zLT5waXhlbF9yYXRlLAotCQkJ ICAgICAgcGFyYW1zLT5waXBlX2h0b3RhbCwKKwlyZXR1cm4gaWxrX3dtX21ldGhvZDIoaWxrX3Bp cGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAorCQkJICAgICAgY3N0YXRlLT5iYXNlLmFkanVzdGVkX21v ZGUuY3J0Y19odG90YWwsCiAJCQkgICAgICBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLAog CQkJICAgICAgYnBwLAogCQkJICAgICAgbWVtX3ZhbHVlKTsKIH0KIAogLyogT25seSBmb3IgV01f TFAuICovCi1zdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfZmJjX3dtKGNvbnN0IHN0cnVjdCBp bGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCitzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1 dGVfZmJjX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJICAg Y29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUsCiAJCQkJICAgdWludDMyX3Qg cHJpX3ZhbCkKIHsKIAlpbnQgYnBwID0gcHN0YXRlLT5iYXNlLmZiID8gcHN0YXRlLT5iYXNlLmZi LT5iaXRzX3Blcl9waXhlbCAvIDggOiAwOwogCi0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0 YXRlLT52aXNpYmxlKQorCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNp YmxlKQogCQlyZXR1cm4gMDsKIAogCXJldHVybiBpbGtfd21fZmJjKHByaV92YWwsIGRybV9yZWN0 X3dpZHRoKCZwc3RhdGUtPmRzdCksIGJwcCk7CkBAIC0yMDY0LDcgKzIwNTgsNyBAQCBzdGF0aWMg Ym9vbCBpbGtfdmFsaWRhdGVfd21fbGV2ZWwoaW50IGxldmVsLAogc3RhdGljIHZvaWQgaWxrX2Nv bXB1dGVfd21fbGV2ZWwoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CQkJCSBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKIAkJCQkgaW50IGxldmVs LAotCQkJCSBjb25zdCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcCwKKwkJCQkgc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJCQkgc3RydWN0IGludGVsX3dtX2xldmVs ICpyZXN1bHQpCiB7CiAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZTsKQEAgLTIwODUs MTggKzIwNzksMTggQEAgc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fbGV2ZWwoY29uc3Qgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCXN3aXRjaCAoaW50ZWxfcGxhbmUt PmJhc2UudHlwZSkgewogCQljYXNlIERSTV9QTEFORV9UWVBFX1BSSU1BUlk6Ci0JCQlyZXN1bHQt PnByaV92YWwgPSBpbGtfY29tcHV0ZV9wcmlfd20ocCwgcHN0YXRlLAorCQkJcmVzdWx0LT5wcmlf dmFsID0gaWxrX2NvbXB1dGVfcHJpX3dtKGNzdGF0ZSwgcHN0YXRlLAogCQkJCQkJCSAgICAgcHJp X2xhdGVuY3ksCiAJCQkJCQkJICAgICBsZXZlbCk7Ci0JCQlyZXN1bHQtPmZiY192YWwgPSBpbGtf Y29tcHV0ZV9mYmNfd20ocCwgcHN0YXRlLAorCQkJcmVzdWx0LT5mYmNfdmFsID0gaWxrX2NvbXB1 dGVfZmJjX3dtKGNzdGF0ZSwgcHN0YXRlLAogCQkJCQkJCSAgICAgcmVzdWx0LT5wcmlfdmFsKTsK IAkJCWJyZWFrOwogCQljYXNlIERSTV9QTEFORV9UWVBFX09WRVJMQVk6Ci0JCQlyZXN1bHQtPnNw cl92YWwgPSBpbGtfY29tcHV0ZV9zcHJfd20ocCwgcHN0YXRlLAorCQkJcmVzdWx0LT5zcHJfdmFs ID0gaWxrX2NvbXB1dGVfc3ByX3dtKGNzdGF0ZSwgcHN0YXRlLAogCQkJCQkJCSAgICAgc3ByX2xh dGVuY3kpOwogCQkJYnJlYWs7CiAJCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VSU09SOgotCQkJcmVz dWx0LT5jdXJfdmFsID0gaWxrX2NvbXB1dGVfY3VyX3dtKHAsIHBzdGF0ZSwKKwkJCXJlc3VsdC0+ Y3VyX3ZhbCA9IGlsa19jb21wdXRlX2N1cl93bShjc3RhdGUsIHBzdGF0ZSwKIAkJCQkJCQkgICAg IGN1cl9sYXRlbmN5KTsKIAkJCWJyZWFrOwogCQl9CkBAIC0yMzYwLDE5ICsyMzU0LDYgQEAgc3Rh dGljIHZvaWQgc2tsX3NldHVwX3dtX2xhdGVuY3koc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlp bnRlbF9wcmludF93bV9sYXRlbmN5KGRldiwgIkdlbjkgUGxhbmUiLCBkZXZfcHJpdi0+d20uc2ts X2xhdGVuY3kpOwogfQogCi1zdGF0aWMgdm9pZCBpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCQkgICAgICBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1l dGVycyAqcCkKLXsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2Ny dGMoY3J0Yyk7Ci0KLQlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKLQkJcmV0dXJuOwotCi0JcC0+ YWN0aXZlID0gdHJ1ZTsKLQlwLT5waXBlX2h0b3RhbCA9IGludGVsX2NydGMtPmNvbmZpZy0+YmFz ZS5hZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsOwotCXAtPnBpeGVsX3JhdGUgPSBpbGtfcGlwZV9w aXhlbF9yYXRlKGludGVsX2NydGMtPmNvbmZpZyk7Ci19Ci0KIHN0YXRpYyB2b2lkIGlsa19jb21w dXRlX3dtX2NvbmZpZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgc3RydWN0IGludGVs X3dtX2NvbmZpZyAqY29uZmlnKQogewpAQCAtMjM5MiwxMCArMjM3MywxMCBAQCBzdGF0aWMgdm9p ZCBpbGtfY29tcHV0ZV93bV9jb25maWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIH0KIAogLyog Q29tcHV0ZSBuZXcgd2F0ZXJtYXJrcyBmb3IgdGhlIHBpcGUgKi8KLXN0YXRpYyBib29sIGludGVs X2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkJICBjb25zdCBzdHJ1 Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAorc3RhdGljIGJvb2wgaW50ZWxfY29t cHV0ZV9waXBlX3dtKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJICBzdHJ1 Y3QgaW50ZWxfcGlwZV93bSAqcGlwZV93bSkKIHsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBj c3RhdGUtPmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owog CWNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMp OwpAQCAtMjQyMCw4ICsyNDAxLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBlX3dt KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJKGRybV9yZWN0X3dpZHRoKCZzcHJzdGF0ZS0+ZHN0 KSAhPSBkcm1fcmVjdF93aWR0aCgmc3Byc3RhdGUtPnNyYykgPj4gMTYgfHwKIAkJZHJtX3JlY3Rf aGVpZ2h0KCZzcHJzdGF0ZS0+ZHN0KSAhPSBkcm1fcmVjdF9oZWlnaHQoJnNwcnN0YXRlLT5zcmMp ID4+IDE2KTsKIAotCi0JcGlwZV93bS0+cGlwZV9lbmFibGVkID0gcGFyYW1zLT5hY3RpdmU7CisJ cGlwZV93bS0+cGlwZV9lbmFibGVkID0gY3N0YXRlLT5iYXNlLmFjdGl2ZTsKIAlwaXBlX3dtLT5z cHJpdGVzX2VuYWJsZWQgPSBzcHJzdGF0ZS0+dmlzaWJsZTsKIAlwaXBlX3dtLT5zcHJpdGVzX3Nj YWxlZCA9IGNvbmZpZy5zcHJpdGVzX3NjYWxlZDsKIApAQCAtMjQzMyw3ICsyNDEzLDcgQEAgc3Rh dGljIGJvb2wgaW50ZWxfY29tcHV0ZV9waXBlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlp ZiAoY29uZmlnLnNwcml0ZXNfc2NhbGVkKQogCQltYXhfbGV2ZWwgPSAwOwogCi0JaWxrX2NvbXB1 dGVfd21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2NydGMsIDAsIHBhcmFtcywgJnBpcGVfd20tPndt WzBdKTsKKwlpbGtfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgaW50ZWxfY3J0YywgMCwgY3N0 YXRlLCAmcGlwZV93bS0+d21bMF0pOwogCiAJaWYgKElTX0hBU1dFTEwoZGV2KSB8fCBJU19CUk9B RFdFTEwoZGV2KSkKIAkJcGlwZV93bS0+bGluZXRpbWUgPSBoc3dfY29tcHV0ZV9saW5ldGltZV93 bShkZXYsIGNydGMpOwpAQCAtMjQ1MCw3ICsyNDMwLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfY29t cHV0ZV9waXBlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlmb3IgKGxldmVsID0gMTsgbGV2 ZWwgPD0gbWF4X2xldmVsOyBsZXZlbCsrKSB7CiAJCXN0cnVjdCBpbnRlbF93bV9sZXZlbCB3bSA9 IHt9OwogCi0JCWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBpbnRlbF9jcnRjLCBsZXZl bCwgcGFyYW1zLCAmd20pOworCQlpbGtfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgaW50ZWxf Y3J0YywgbGV2ZWwsIGNzdGF0ZSwgJndtKTsKIAogCQkvKgogCQkgKiBEaXNhYmxlIGFueSB3YXRl cm1hcmsgbGV2ZWwgdGhhdCBleGNlZWRzIHRoZQpAQCAtMzc1NywxOSArMzczNywxOSBAQCBza2xf dXBkYXRlX3Nwcml0ZV93bShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRj ICpjcnRjLAogc3RhdGljIHZvaWQgaWxrX3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiB7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMp OworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRl KGNydGMtPnN0YXRlKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3Ry dWN0IGlsa193bV9tYXhpbXVtcyBtYXg7Ci0Jc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMg cGFyYW1zID0ge307CiAJc3RydWN0IGlsa193bV92YWx1ZXMgcmVzdWx0cyA9IHt9OwogCWVudW0g aW50ZWxfZGRiX3BhcnRpdGlvbmluZyBwYXJ0aXRpb25pbmc7CiAJc3RydWN0IGludGVsX3BpcGVf d20gcGlwZV93bSA9IHt9OwogCXN0cnVjdCBpbnRlbF9waXBlX3dtIGxwX3dtXzFfMiA9IHt9LCBs cF93bV81XzYgPSB7fSwgKmJlc3RfbHBfd207CiAJc3RydWN0IGludGVsX3dtX2NvbmZpZyBjb25m aWcgPSB7fTsKIAotCWlsa19jb21wdXRlX3dtX3BhcmFtZXRlcnMoY3J0YywgJnBhcmFtcyk7CisJ V0FSTl9PTihjc3RhdGUtPmJhc2UuYWN0aXZlICE9IGludGVsX2NydGMtPmFjdGl2ZSk7CiAKLQlp bnRlbF9jb21wdXRlX3BpcGVfd20oY3J0YywgJnBhcmFtcywgJnBpcGVfd20pOworCWludGVsX2Nv bXB1dGVfcGlwZV93bShjc3RhdGUsICZwaXBlX3dtKTsKIAogCWlmICghbWVtY21wKCZpbnRlbF9j cnRjLT53bS5hY3RpdmUsICZwaXBlX3dtLCBzaXplb2YocGlwZV93bSkpKQogCQlyZXR1cm47CkBA IC0zODA5LDEyICszNzg5LDYgQEAgaWxrX3VwZGF0ZV9zcHJpdGVfd20oc3RydWN0IGRybV9wbGFu ZSAqcGxhbmUsCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7CiAJc3RydWN0 IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lKTsKIAotCWlu dGVsX3BsYW5lLT53bS5lbmFibGVkID0gZW5hYmxlZDsKLQlpbnRlbF9wbGFuZS0+d20uc2NhbGVk ID0gc2NhbGVkOwotCWludGVsX3BsYW5lLT53bS5ob3Jpel9waXhlbHMgPSBzcHJpdGVfd2lkdGg7 Ci0JaW50ZWxfcGxhbmUtPndtLnZlcnRfcGl4ZWxzID0gc3ByaXRlX3dpZHRoOwotCWludGVsX3Bs YW5lLT53bS5ieXRlc19wZXJfcGl4ZWwgPSBwaXhlbF9zaXplOwotCiAJLyoKIAkgKiBJVkIgd29y a2Fyb3VuZDogbXVzdCBkaXNhYmxlIGxvdyBwb3dlciB3YXRlcm1hcmtzIGZvciBhdCBsZWFzdAog CSAqIG9uZSBmcmFtZSBiZWZvcmUgZW5hYmxpbmcgc2NhbGluZy4gIExQIHdhdGVybWFya3MgY2Fu IGJlIHJlLWVuYWJsZWQKLS0gCjIuMS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=