From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 03/15] drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM (v2) Date: Thu, 24 Sep 2015 15:53:08 -0700 Message-ID: <1443135200-9870-4-git-send-email-matthew.d.roper@intel.com> References: <1443135200-9870-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 7A3D56E233 for ; Thu, 24 Sep 2015 15:53:53 -0700 (PDT) In-Reply-To: <1443135200-9870-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+ClJldmlld2VkLWJ5OiBNYWFydGVu IExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgfCA4NCArKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDU1IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGJmZWE0NDYuLjllNmU5YzIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMTc5NSwxMiArMTc5NSw2IEBAIHN0cnVjdCBz a2xfcGlwZV93bV9wYXJhbWV0ZXJzIHsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVy cyBjdXJzb3I7CiB9OwogCi1zdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyB7Ci0JYm9vbCBh Y3RpdmU7Ci0JdWludDMyX3QgcGlwZV9odG90YWw7Ci0JdWludDMyX3QgcGl4ZWxfcmF0ZTsKLX07 Ci0KIHN0cnVjdCBpbGtfd21fbWF4aW11bXMgewogCXVpbnQxNl90IHByaTsKIAl1aW50MTZfdCBz cHI7CkBAIC0xODE5LDcgKzE4MTMsNyBAQCBzdHJ1Y3QgaW50ZWxfd21fY29uZmlnIHsKICAqIEZv ciBib3RoIFdNX1BJUEUgYW5kIFdNX0xQLgogICogbWVtX3ZhbHVlIG11c3QgYmUgaW4gMC4xdXMg dW5pdHMuCiAgKi8KLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9wcmlfd20oY29uc3Qgc3Ry dWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKK3N0YXRpYyB1aW50MzJfdCBpbGtf Y29tcHV0ZV9wcmlfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSwKIAkJ CQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBzdGF0ZSwKIAkJCQkgICB1aW50 MzJfdCBtZW1fdmFsdWUsCiAJCQkJICAgYm9vbCBpc19scCkKQEAgLTE4MjcsMTYgKzE4MjEsMTYg QEAgc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX3ByaV93bShjb25zdCBzdHJ1Y3QgaWxrX3Bp cGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAogCWludCBicHAgPSBwc3RhdGUtPmJhc2UuZmIgPyBw c3RhdGUtPmJhc2UuZmItPmJpdHNfcGVyX3BpeGVsIC8gOCA6IDA7CiAJdWludDMyX3QgbWV0aG9k MSwgbWV0aG9kMjsKIAotCWlmICghcGFyYW1zLT5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkK KwlpZiAoIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKIAkJcmV0dXJu IDA7CiAKLQltZXRob2QxID0gaWxrX3dtX21ldGhvZDEocGFyYW1zLT5waXhlbF9yYXRlLCBicHAs IG1lbV92YWx1ZSk7CisJbWV0aG9kMSA9IGlsa193bV9tZXRob2QxKGlsa19waXBlX3BpeGVsX3Jh dGUoY3N0YXRlKSwgYnBwLCBtZW1fdmFsdWUpOwogCiAJaWYgKCFpc19scCkKIAkJcmV0dXJuIG1l dGhvZDE7CiAKLQltZXRob2QyID0gaWxrX3dtX21ldGhvZDIocGFyYW1zLT5waXhlbF9yYXRlLAot CQkJCSBwYXJhbXMtPnBpcGVfaHRvdGFsLAorCW1ldGhvZDIgPSBpbGtfd21fbWV0aG9kMihpbGtf cGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksCisJCQkJIGNzdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2Rl LmNydGNfaHRvdGFsLAogCQkJCSBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLAogCQkJCSBi cHAsCiAJCQkJIG1lbV92YWx1ZSk7CkBAIC0xODQ4LDE5ICsxODQyLDE5IEBAIHN0YXRpYyB1aW50 MzJfdCBpbGtfY29tcHV0ZV9wcmlfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRl cnMgKnBhcmFtcywKICAqIEZvciBib3RoIFdNX1BJUEUgYW5kIFdNX0xQLgogICogbWVtX3ZhbHVl IG11c3QgYmUgaW4gMC4xdXMgdW5pdHMuCiAgKi8KLXN0YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0 ZV9zcHJfd20oY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKK3N0 YXRpYyB1aW50MzJfdCBpbGtfY29tcHV0ZV9zcHJfd20oY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNzdGF0ZSwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnBz dGF0ZSwKIAkJCQkgICB1aW50MzJfdCBtZW1fdmFsdWUpCiB7CiAJaW50IGJwcCA9IHBzdGF0ZS0+ YmFzZS5mYiA/IHBzdGF0ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKIAl1aW50 MzJfdCBtZXRob2QxLCBtZXRob2QyOwogCi0JaWYgKCFwYXJhbXMtPmFjdGl2ZSB8fCAhcHN0YXRl LT52aXNpYmxlKQorCWlmICghY3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCAhcHN0YXRlLT52aXNpYmxl KQogCQlyZXR1cm4gMDsKIAotCW1ldGhvZDEgPSBpbGtfd21fbWV0aG9kMShwYXJhbXMtPnBpeGVs X3JhdGUsIGJwcCwgbWVtX3ZhbHVlKTsKLQltZXRob2QyID0gaWxrX3dtX21ldGhvZDIocGFyYW1z LT5waXhlbF9yYXRlLAotCQkJCSBwYXJhbXMtPnBpcGVfaHRvdGFsLAorCW1ldGhvZDEgPSBpbGtf d21fbWV0aG9kMShpbGtfcGlwZV9waXhlbF9yYXRlKGNzdGF0ZSksIGJwcCwgbWVtX3ZhbHVlKTsK KwltZXRob2QyID0gaWxrX3dtX21ldGhvZDIoaWxrX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAor CQkJCSBjc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbCwKIAkJCQkgZHJtX3Jl Y3Rfd2lkdGgoJnBzdGF0ZS0+ZHN0KSwKIAkJCQkgYnBwLAogCQkJCSBtZW1fdmFsdWUpOwpAQCAt MTg3MSwzMCArMTg2NSwzMCBAQCBzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfc3ByX3dtKGNv bnN0IHN0cnVjdCBpbGtfcGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCiAgKiBGb3IgYm90aCBX TV9QSVBFIGFuZCBXTV9MUC4KICAqIG1lbV92YWx1ZSBtdXN0IGJlIGluIDAuMXVzIHVuaXRzLgog ICovCi1zdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVfY3VyX3dtKGNvbnN0IHN0cnVjdCBpbGtf cGlwZV93bV9wYXJhbWV0ZXJzICpwYXJhbXMsCitzdGF0aWMgdWludDMyX3QgaWxrX2NvbXB1dGVf Y3VyX3dtKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJICAgY29u c3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwc3RhdGUsCiAJCQkJICAgdWludDMyX3QgbWVt X3ZhbHVlKQogewogCWludCBicHAgPSBwc3RhdGUtPmJhc2UuZmIgPyBwc3RhdGUtPmJhc2UuZmIt PmJpdHNfcGVyX3BpeGVsIC8gOCA6IDA7CiAKLQlpZiAoIXBhcmFtcy0+YWN0aXZlIHx8ICFwc3Rh dGUtPnZpc2libGUpCisJaWYgKCFjc3RhdGUtPmJhc2UuYWN0aXZlIHx8ICFwc3RhdGUtPnZpc2li bGUpCiAJCXJldHVybiAwOwogCi0JcmV0dXJuIGlsa193bV9tZXRob2QyKHBhcmFtcy0+cGl4ZWxf cmF0ZSwKLQkJCSAgICAgIHBhcmFtcy0+cGlwZV9odG90YWwsCisJcmV0dXJuIGlsa193bV9tZXRo b2QyKGlsa19waXBlX3BpeGVsX3JhdGUoY3N0YXRlKSwKKwkJCSAgICAgIGNzdGF0ZS0+YmFzZS5h ZGp1c3RlZF9tb2RlLmNydGNfaHRvdGFsLAogCQkJICAgICAgZHJtX3JlY3Rfd2lkdGgoJnBzdGF0 ZS0+ZHN0KSwKIAkJCSAgICAgIGJwcCwKIAkJCSAgICAgIG1lbV92YWx1ZSk7CiB9CiAKIC8qIE9u bHkgZm9yIFdNX0xQLiAqLwotc3RhdGljIHVpbnQzMl90IGlsa19jb21wdXRlX2ZiY193bShjb25z dCBzdHJ1Y3QgaWxrX3BpcGVfd21fcGFyYW1ldGVycyAqcGFyYW1zLAorc3RhdGljIHVpbnQzMl90 IGlsa19jb21wdXRlX2ZiY193bShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl LAogCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcHN0YXRlLAogCQkJCSAg IHVpbnQzMl90IHByaV92YWwpCiB7CiAJaW50IGJwcCA9IHBzdGF0ZS0+YmFzZS5mYiA/IHBzdGF0 ZS0+YmFzZS5mYi0+Yml0c19wZXJfcGl4ZWwgLyA4IDogMDsKIAotCWlmICghcGFyYW1zLT5hY3Rp dmUgfHwgIXBzdGF0ZS0+dmlzaWJsZSkKKwlpZiAoIWNzdGF0ZS0+YmFzZS5hY3RpdmUgfHwgIXBz dGF0ZS0+dmlzaWJsZSkKIAkJcmV0dXJuIDA7CiAKIAlyZXR1cm4gaWxrX3dtX2ZiYyhwcmlfdmFs LCBkcm1fcmVjdF93aWR0aCgmcHN0YXRlLT5kc3QpLCBicHApOwpAQCAtMjA2NCw3ICsyMDU4LDcg QEAgc3RhdGljIGJvb2wgaWxrX3ZhbGlkYXRlX3dtX2xldmVsKGludCBsZXZlbCwKIHN0YXRpYyB2 b2lkIGlsa19jb21wdXRlX3dtX2xldmVsKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCQkJ IGludCBsZXZlbCwKLQkJCQkgY29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnAs CisJCQkJIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsCiAJCQkJIHN0cnVjdCBpbnRl bF93bV9sZXZlbCAqcmVzdWx0KQogewogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmU7 CkBAIC0yMDg1LDE4ICsyMDc5LDE4IEBAIHN0YXRpYyB2b2lkIGlsa19jb21wdXRlX3dtX2xldmVs KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCQlzd2l0Y2ggKGlu dGVsX3BsYW5lLT5iYXNlLnR5cGUpIHsKIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOgot CQkJcmVzdWx0LT5wcmlfdmFsID0gaWxrX2NvbXB1dGVfcHJpX3dtKHAsIHBzdGF0ZSwKKwkJCXJl c3VsdC0+cHJpX3ZhbCA9IGlsa19jb21wdXRlX3ByaV93bShjc3RhdGUsIHBzdGF0ZSwKIAkJCQkJ CQkgICAgIHByaV9sYXRlbmN5LAogCQkJCQkJCSAgICAgbGV2ZWwpOwotCQkJcmVzdWx0LT5mYmNf dmFsID0gaWxrX2NvbXB1dGVfZmJjX3dtKHAsIHBzdGF0ZSwKKwkJCXJlc3VsdC0+ZmJjX3ZhbCA9 IGlsa19jb21wdXRlX2ZiY193bShjc3RhdGUsIHBzdGF0ZSwKIAkJCQkJCQkgICAgIHJlc3VsdC0+ cHJpX3ZhbCk7CiAJCQlicmVhazsKIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOgotCQkJ cmVzdWx0LT5zcHJfdmFsID0gaWxrX2NvbXB1dGVfc3ByX3dtKHAsIHBzdGF0ZSwKKwkJCXJlc3Vs dC0+c3ByX3ZhbCA9IGlsa19jb21wdXRlX3Nwcl93bShjc3RhdGUsIHBzdGF0ZSwKIAkJCQkJCQkg ICAgIHNwcl9sYXRlbmN5KTsKIAkJCWJyZWFrOwogCQljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNP UjoKLQkJCXJlc3VsdC0+Y3VyX3ZhbCA9IGlsa19jb21wdXRlX2N1cl93bShwLCBwc3RhdGUsCisJ CQlyZXN1bHQtPmN1cl92YWwgPSBpbGtfY29tcHV0ZV9jdXJfd20oY3N0YXRlLCBwc3RhdGUsCiAJ CQkJCQkJICAgICBjdXJfbGF0ZW5jeSk7CiAJCQlicmVhazsKIAkJfQpAQCAtMjM2MCwxOSArMjM1 NCw2IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXR1cF93bV9sYXRlbmN5KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiAJaW50ZWxfcHJpbnRfd21fbGF0ZW5jeShkZXYsICJHZW45IFBsYW5lIiwgZGV2X3By aXYtPndtLnNrbF9sYXRlbmN5KTsKIH0KIAotc3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fcGFy YW1ldGVycyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCi0JCQkJICAgICAgc3RydWN0IGlsa19waXBl X3dtX3BhcmFtZXRlcnMgKnApCi17Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGMpOwotCi0JaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCXJldHVy bjsKLQotCXAtPmFjdGl2ZSA9IHRydWU7Ci0JcC0+cGlwZV9odG90YWwgPSBpbnRlbF9jcnRjLT5j b25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2h0b3RhbDsKLQlwLT5waXhlbF9yYXRlID0g aWxrX3BpcGVfcGl4ZWxfcmF0ZShpbnRlbF9jcnRjLT5jb25maWcpOwotfQotCiBzdGF0aWMgdm9p ZCBpbGtfY29tcHV0ZV93bV9jb25maWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgIHN0 cnVjdCBpbnRlbF93bV9jb25maWcgKmNvbmZpZykKIHsKQEAgLTIzOTIsMTAgKzIzNzMsMTAgQEAg c3RhdGljIHZvaWQgaWxrX2NvbXB1dGVfd21fY29uZmlnKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiB9CiAKIC8qIENvbXB1dGUgbmV3IHdhdGVybWFya3MgZm9yIHRoZSBwaXBlICovCi1zdGF0aWMg Ym9vbCBpbnRlbF9jb21wdXRlX3BpcGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjLAotCQkJCSAg Y29uc3Qgc3RydWN0IGlsa19waXBlX3dtX3BhcmFtZXRlcnMgKnBhcmFtcywKK3N0YXRpYyBib29s IGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlLAog CQkJCSAgc3RydWN0IGludGVsX3BpcGVfd20gKnBpcGVfd20pCiB7CisJc3RydWN0IGRybV9jcnRj ICpjcnRjID0gY3N0YXRlLT5iYXNlLmNydGM7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNy dGMtPmRldjsKIAljb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYt PmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKQEAgLTI0MjAsOCArMjQwMSw3IEBAIHN0YXRpYyBib29sIGludGVsX2NvbXB1 dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCShkcm1fcmVjdF93aWR0aCgmc3By c3RhdGUtPmRzdCkgIT0gZHJtX3JlY3Rfd2lkdGgoJnNwcnN0YXRlLT5zcmMpID4+IDE2IHx8CiAJ CWRybV9yZWN0X2hlaWdodCgmc3Byc3RhdGUtPmRzdCkgIT0gZHJtX3JlY3RfaGVpZ2h0KCZzcHJz dGF0ZS0+c3JjKSA+PiAxNik7CiAKLQotCXBpcGVfd20tPnBpcGVfZW5hYmxlZCA9IHBhcmFtcy0+ YWN0aXZlOworCXBpcGVfd20tPnBpcGVfZW5hYmxlZCA9IGNzdGF0ZS0+YmFzZS5hY3RpdmU7CiAJ cGlwZV93bS0+c3ByaXRlc19lbmFibGVkID0gc3Byc3RhdGUtPnZpc2libGU7CiAJcGlwZV93bS0+ c3ByaXRlc19zY2FsZWQgPSBjb25maWcuc3ByaXRlc19zY2FsZWQ7CiAKQEAgLTI0MzMsNyArMjQx Myw3IEBAIHN0YXRpYyBib29sIGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJaWYgKGNvbmZpZy5zcHJpdGVzX3NjYWxlZCkKIAkJbWF4X2xldmVsID0gMDsKIAot CWlsa19jb21wdXRlX3dtX2xldmVsKGRldl9wcml2LCBpbnRlbF9jcnRjLCAwLCBwYXJhbXMsICZw aXBlX3dtLT53bVswXSk7CisJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3ByaXYsIGludGVsX2Ny dGMsIDAsIGNzdGF0ZSwgJnBpcGVfd20tPndtWzBdKTsKIAogCWlmIChJU19IQVNXRUxMKGRldikg fHwgSVNfQlJPQURXRUxMKGRldikpCiAJCXBpcGVfd20tPmxpbmV0aW1lID0gaHN3X2NvbXB1dGVf bGluZXRpbWVfd20oZGV2LCBjcnRjKTsKQEAgLTI0NTAsNyArMjQzMCw3IEBAIHN0YXRpYyBib29s IGludGVsX2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJZm9yIChsZXZl bCA9IDE7IGxldmVsIDw9IG1heF9sZXZlbDsgbGV2ZWwrKykgewogCQlzdHJ1Y3QgaW50ZWxfd21f bGV2ZWwgd20gPSB7fTsKIAotCQlpbGtfY29tcHV0ZV93bV9sZXZlbChkZXZfcHJpdiwgaW50ZWxf Y3J0YywgbGV2ZWwsIHBhcmFtcywgJndtKTsKKwkJaWxrX2NvbXB1dGVfd21fbGV2ZWwoZGV2X3By aXYsIGludGVsX2NydGMsIGxldmVsLCBjc3RhdGUsICZ3bSk7CiAKIAkJLyoKIAkJICogRGlzYWJs ZSBhbnkgd2F0ZXJtYXJrIGxldmVsIHRoYXQgZXhjZWVkcyB0aGUKQEAgLTM3ODEsMTkgKzM3NjEs MTkgQEAgc2tsX3VwZGF0ZV9zcHJpdGVfd20oc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIHN0YXRpYyB2b2lkIGlsa191cGRhdGVfd20oc3RydWN0IGRybV9j cnRjICpjcnRjKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlID0gdG9faW50ZWxf Y3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOwogCXN0cnVjdCBpbGtfd21fbWF4aW11bXMgbWF4OwotCXN0cnVjdCBpbGtfcGlwZV93bV9w YXJhbWV0ZXJzIHBhcmFtcyA9IHt9OwogCXN0cnVjdCBpbGtfd21fdmFsdWVzIHJlc3VsdHMgPSB7 fTsKIAllbnVtIGludGVsX2RkYl9wYXJ0aXRpb25pbmcgcGFydGl0aW9uaW5nOwogCXN0cnVjdCBp bnRlbF9waXBlX3dtIHBpcGVfd20gPSB7fTsKIAlzdHJ1Y3QgaW50ZWxfcGlwZV93bSBscF93bV8x XzIgPSB7fSwgbHBfd21fNV82ID0ge30sICpiZXN0X2xwX3dtOwogCXN0cnVjdCBpbnRlbF93bV9j b25maWcgY29uZmlnID0ge307CiAKLQlpbGtfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKGNydGMsICZw YXJhbXMpOworCVdBUk5fT04oY3N0YXRlLT5iYXNlLmFjdGl2ZSAhPSBpbnRlbF9jcnRjLT5hY3Rp dmUpOwogCi0JaW50ZWxfY29tcHV0ZV9waXBlX3dtKGNydGMsICZwYXJhbXMsICZwaXBlX3dtKTsK KwlpbnRlbF9jb21wdXRlX3BpcGVfd20oY3N0YXRlLCAmcGlwZV93bSk7CiAKIAlpZiAoIW1lbWNt cCgmaW50ZWxfY3J0Yy0+d20uYWN0aXZlLCAmcGlwZV93bSwgc2l6ZW9mKHBpcGVfd20pKSkKIAkJ cmV0dXJuOwpAQCAtMzgzMywxMiArMzgxMyw2IEBAIGlsa191cGRhdGVfc3ByaXRlX3dtKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwbGFuZS0+ZGV2 OwogCXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFu ZSk7CiAKLQlpbnRlbF9wbGFuZS0+d20uZW5hYmxlZCA9IGVuYWJsZWQ7Ci0JaW50ZWxfcGxhbmUt PndtLnNjYWxlZCA9IHNjYWxlZDsKLQlpbnRlbF9wbGFuZS0+d20uaG9yaXpfcGl4ZWxzID0gc3By aXRlX3dpZHRoOwotCWludGVsX3BsYW5lLT53bS52ZXJ0X3BpeGVscyA9IHNwcml0ZV93aWR0aDsK LQlpbnRlbF9wbGFuZS0+d20uYnl0ZXNfcGVyX3BpeGVsID0gcGl4ZWxfc2l6ZTsKLQogCS8qCiAJ ICogSVZCIHdvcmthcm91bmQ6IG11c3QgZGlzYWJsZSBsb3cgcG93ZXIgd2F0ZXJtYXJrcyBmb3Ig YXQgbGVhc3QKIAkgKiBvbmUgZnJhbWUgYmVmb3JlIGVuYWJsaW5nIHNjYWxpbmcuICBMUCB3YXRl cm1hcmtzIGNhbiBiZSByZS1lbmFibGVkCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK