From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v6 1/6] drm/i915: Fallback to lower link rate and lane count during link training Date: Thu, 15 Sep 2016 17:03:59 -0700 Message-ID: <1473984244-4349-2-git-send-email-manasi.d.navare@intel.com> References: <1473984244-4349-1-git-send-email-manasi.d.navare@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 ESMTPS id D9AA16E959 for ; Fri, 16 Sep 2016 00:04:04 +0000 (UTC) In-Reply-To: <1473984244-4349-1-git-send-email-manasi.d.navare@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 QWNjb3JkaW5nIHRvIHRoZSBEaXNwbGF5UG9ydCBTcGVjLCBpbiBjYXNlIG9mIENsb2NrIFJlY292 ZXJ5IGZhaWx1cmUKdGhlIGxpbmsgdHJhaW5pbmcgc2VxdWVuY2Ugc2hvdWxkIGZhbGwgYmFjayB0 byB0aGUgbG93ZXIgbGluayByYXRlCmZvbGxvd2VkIGJ5IGxvd2VyIGxhbmUgY291bnQgdW50aWwg Q1Igc3VjY2VlZHMuCk9uIENSIHN1Y2Nlc3MsIHRoZSBzZXF1ZW5jZSBwcm9jZWVkcyB3aXRoIENo YW5uZWwgRVEuCkluIGNhc2Ugb2YgQ2hhbm5lbCBFUSBmYWlsdXJlcywgaXQgc2hvdWxkIGZhbGxi YWNrIHRvCmxvd2VyIGxpbmsgcmF0ZSBhbmQgbGFuZSBjb3VudCBhbmQgc3RhcnQgdGhlIENSIHBo YXNlIGFnYWluLgoKdjY6CiogRG8gbm90IHNwbGl0IHF1b3RlZCBzdHJpbmcgYWNyb3NzIGxpbmUg KE1pa2EgS2Fob2xhKQp2NToKKiBSZXNldCB0aGUgbGluayByYXRlIGluZGV4IHRvIHRoZSBtYXgg bGluayByYXRlIGluZGV4CmJlZm9yZSBsb3dlcmluZyB0aGUgbGFuZSBjb3VudCAoSmFuaSBOaWt1 bGEpCiogVXNlIHRoZSBwYXJhZGlnbSBmb3IgbG9vcCBpbiBpbnRlbF9kcF9saW5rX3JhdGVfaW5k ZXgKdjQ6CiogRml4ZWQgdGhlIGxpbmsgcmF0ZSBmYWxsYmFjayBsb29wIChNYW5hc2kgTmF2YXJl KQp2MzoKKiBGaXhlZCBzb21lIHJlYmFzZSBpc3N1ZXMgKE1pa2EgS2Fob2xhKQp2MjoKKiBBZGQg YSBoZWxwZXIgZnVuY3Rpb24gdG8gcmV0dXJuIGluZGV4IG9mIHJlcXVlc3RlZCBsaW5rIHJhdGUK aW50byBjb21tb25fcmF0ZXMgYXJyYXkKKiBDaGFuZ2VkIHRoZSBsaW5rIHJhdGUgZmFsbGJhY2sg bG9vcCB0byBtYWtlIHVzZQpvZiBjb21tb25fcmF0ZXMgYXJyYXkgKE1pa2EgS2Fob2xhKQoqIENo YW5nZWQgSU5URUxfSU5GTyB0byBJTlRFTF9HRU4gKERhdmlkIFdlaW5laGFsbCkKClNpZ25lZC1v ZmYtYnk6IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgICAgICAgIHwgMTExICsrKysrKysr KysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAg ICAgICAgICAgfCAgMTUgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190 cmFpbmluZy5jIHwgIDEyICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg ICAgICAgICAgIHwgICA2ICstCiA0IGZpbGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCAx NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCmluZGV4IDgwNjVhNWYuLjgy NmQ5ZjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBAIC0xNjM3LDE5ICsxNjM3LDE4IEBA IHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJfQogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlciwKK3N0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2Vk cChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICAgaW50IGxpbmtfcmF0ZSwg dWludDMyX3QgbGFuZV9jb3VudCwKLQkJCQkgICAgc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpw bGwsCi0JCQkJICAgIGJvb2wgbGlua19tc3QpCisJCQkJICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsKQogewogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxf ZHAoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRp X2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7CiAKIAlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMo aW50ZWxfZHAsIGxpbmtfcmF0ZSwgbGFuZV9jb3VudCwKLQkJCQkgbGlua19tc3QpOwotCWlmIChl bmNvZGVyLT50eXBlID09IElOVEVMX09VVFBVVF9FRFApCi0JCWludGVsX2VkcF9wYW5lbF9vbihp bnRlbF9kcCk7CisJCQkJIGZhbHNlKTsKKworCWludGVsX2VkcF9wYW5lbF9vbihpbnRlbF9kcCk7 CiAKIAlpbnRlbF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBwbGwpOwogCWludGVsX3ByZXBhcmVf ZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7CkBAIC0xNjYwLDYgKzE2NTksMjggQEAgc3RhdGljIHZv aWQgaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCWludGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7CiB9CiAKK3N0YXRpYyB2b2lk IGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAor CQkJCSAgICBpbnQgbGlua19yYXRlLCB1aW50MzJfdCBsYW5lX2NvdW50LAorCQkJCSAgICBzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCwKKwkJCQkgICAgYm9vbCBsaW5rX21zdCkKK3sKKwlz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNl KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXIt PmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGxfY29uZmlnIHRtcF9wbGxfY29u ZmlnOworCisJLyogRGlzYWJsZSB0aGUgUExMIGFuZCBvYnRhaW4gdGhlIFBMTCBmb3IgTGluayBU cmFpbmluZworCSAqIHRoYXQgc3RhcnRzIHdpdGggaGlnaGVzdCBsaW5rIHJhdGUgYW5kIGxhbmUg Y291bnQuCisJICovCisJdG1wX3BsbF9jb25maWcgPSBwbGwtPmNvbmZpZzsKKwlwbGwtPmZ1bmNz LmRpc2FibGUoZGV2X3ByaXYsIHBsbCk7CisJcGxsLT5jb25maWcuY3J0Y19tYXNrID0gMDsKKwor CS8qIElmIExpbmsgVHJhaW5pbmcgZmFpbHMsIHNlbmQgYSB1ZXZlbnQgdG8gZ2VuZXJhdGUgYSBo b3RwbHVnICovCisJaWYgKCFpbnRlbF9kZGlfbGlua190cmFpbihpbnRlbF9kcCwgbGlua19yYXRl LCBsYW5lX2NvdW50LCBsaW5rX21zdCkpCisJCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQo ZW5jb2Rlci0+YmFzZS5kZXYpOworCXBsbC0+Y29uZmlnID0gdG1wX3BsbF9jb25maWc7Cit9CisK IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJICAgICAgYm9vbCBoYXNfaGRtaV9zaW5rLAogCQkJCSAgICAgIHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlLApAQCAtMTY5MywyMCArMTcxNCwy NiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2Rl ciAqaW50ZWxfZW5jb2RlciwKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2Ny dGMoZW5jb2Rlci0+Y3J0Yyk7CiAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwogCi0J aWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkg eworCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9FRFApCisJCWludGVsX2RkaV9wcmVfZW5hYmxl X2VkcChpbnRlbF9lbmNvZGVyLAorCQkJCQljcnRjLT5jb25maWctPnBvcnRfY2xvY2ssCisJCQkJ CWNydGMtPmNvbmZpZy0+bGFuZV9jb3VudCwKKwkJCQkJY3J0Yy0+Y29uZmlnLT5zaGFyZWRfZHBs bCk7CisKKwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRFApCiAJCWludGVsX2RkaV9wcmVfZW5h YmxlX2RwKGludGVsX2VuY29kZXIsCiAJCQkJCWNydGMtPmNvbmZpZy0+cG9ydF9jbG9jaywKIAkJ CQkJY3J0Yy0+Y29uZmlnLT5sYW5lX2NvdW50LAogCQkJCQljcnRjLT5jb25maWctPnNoYXJlZF9k cGxsLAogCQkJCQlpbnRlbF9jcnRjX2hhc190eXBlKGNydGMtPmNvbmZpZywKIAkJCQkJCQkgICAg SU5URUxfT1VUUFVUX0RQX01TVCkpOwotCX0KLQlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERN SSkgeworCisJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpCiAJCWludGVsX2RkaV9wcmVf ZW5hYmxlX2hkbWkoaW50ZWxfZW5jb2RlciwKIAkJCQkJICBjcnRjLT5jb25maWctPmhhc19oZG1p X3NpbmssCiAJCQkJCSAgJmNydGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLAogCQkJCQkg IGNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwpOwotCX0KKwogfQogCiBzdGF0aWMgdm9pZCBpbnRl bF9kZGlfcG9zdF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyLApA QCAtMjQzNSw2ICsyNDYyLDcwIEBAIGludGVsX2RkaV9nZXRfbGlua19kcGxsKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAsIGludCBjbG9jaykKIAlyZXR1cm4gcGxsOwogfQogCitib29sCitpbnRl bF9kZGlfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgbWF4X2xpbmtf cmF0ZSwKKwkJICAgICB1aW50OF90IG1heF9sYW5lX2NvdW50LCBib29sIGxpbmtfbXN0KQorewor CXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9j b25uZWN0b3I7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSBjb25uZWN0b3ItPmVu Y29kZXI7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNv ZGVyLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGw7CisJc3RydWN0 IGludGVsX3NoYXJlZF9kcGxsX2NvbmZpZyB0bXBfcGxsX2NvbmZpZzsKKwlpbnQgbGlua19yYXRl LCBtYXhfbGlua19yYXRlX2luZGV4LCBsaW5rX3JhdGVfaW5kZXg7CisJdWludDhfdCBsYW5lX2Nv dW50OworCWludCBjb21tb25fcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU10gPSB7fTsKKwli b29sIHJldCA9IGZhbHNlOworCisJbWF4X2xpbmtfcmF0ZV9pbmRleCA9IGludGVsX2RwX2xpbmtf cmF0ZV9pbmRleChpbnRlbF9kcCwgY29tbW9uX3JhdGVzLAorCQkJCQkJICAgbWF4X2xpbmtfcmF0 ZSk7CisJaWYgKG1heF9saW5rX3JhdGVfaW5kZXggPCAwKSB7CisJCURSTV9FUlJPUigiSW52YWxp ZCBMaW5rIFJhdGVcbiIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCWZvciAobGFuZV9jb3VudCA9 IG1heF9sYW5lX2NvdW50OyBsYW5lX2NvdW50ID4gMDsgbGFuZV9jb3VudCA+Pj0gMSkgeworCQlm b3IgKGxpbmtfcmF0ZV9pbmRleCA9IG1heF9saW5rX3JhdGVfaW5kZXg7CisJCSAgICAgbGlua19y YXRlX2luZGV4ID49IDA7IGxpbmtfcmF0ZV9pbmRleC0tKSB7CisJCQlsaW5rX3JhdGUgPSBjb21t b25fcmF0ZXNbbGlua19yYXRlX2luZGV4XTsKKwkJCXBsbCA9IGludGVsX2RkaV9nZXRfbGlua19k cGxsKGludGVsX2RwLCBsaW5rX3JhdGUpOworCQkJaWYgKHBsbCA9PSBOVUxMKSB7CisJCQkJRFJN X0VSUk9SKCJDb3VsZCBub3QgZmluZCBEUExMIGZvciBsaW5rIHRyYWluaW5nLlxuIik7CisJCQkJ cmV0dXJuIGZhbHNlOworCQkJfQorCQkJdG1wX3BsbF9jb25maWcgPSBwbGwtPmNvbmZpZzsKKwkJ CXBsbC0+ZnVuY3MuZW5hYmxlKGRldl9wcml2LCBwbGwpOworCisJCQlpbnRlbF9kcF9zZXRfbGlu a19wYXJhbXMoaW50ZWxfZHAsIGxpbmtfcmF0ZSwKKwkJCQkJCSBsYW5lX2NvdW50LCBsaW5rX21z dCk7CisKKwkJCWludGVsX2RkaV9jbGtfc2VsZWN0KGVuY29kZXIsIHBsbCk7CisJCQlpbnRlbF9w cmVwYXJlX2RwX2RkaV9idWZmZXJzKGVuY29kZXIpOworCQkJaW50ZWxfZGRpX2luaXRfZHBfYnVm X3JlZyhlbmNvZGVyKTsKKwkJCWludGVsX2RwX3NpbmtfZHBtcyhpbnRlbF9kcCwgRFJNX01PREVf RFBNU19PTik7CisJCQlyZXQgPSBpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVsX2RwKTsK KwkJCWlmIChyZXQpCisJCQkJYnJlYWs7CisKKwkJCS8qIERpc2FibGUgcG9ydCBmb2xsb3dlZCBi eSBQTEwgZm9yIG5leHQKKwkJCSAqcmV0cnkvY2xlYW4gdXAKKwkJCSAqLworCQkJaW50ZWxfZGRp X3Bvc3RfZGlzYWJsZShlbmNvZGVyLCBOVUxMLCBOVUxMKTsKKwkJCXBsbC0+ZnVuY3MuZGlzYWJs ZShkZXZfcHJpdiwgcGxsKTsKKwkJCXBsbC0+Y29uZmlnID0gdG1wX3BsbF9jb25maWc7CisJCX0K KwkJaWYgKHJldCkgeworCQkJRFJNX0RFQlVHX0tNUygiTGluayBUcmFpbmluZyBzdWNjZXNzZnVs IGF0IGxpbmsgcmF0ZTogJWQgbGFuZTogJWRcbiIsCisJCQkJICAgICAgbGlua19yYXRlLCBsYW5l X2NvdW50KTsKKwkJCWJyZWFrOworCQl9CisJfQorCWludGVsX2RwX3N0b3BfbGlua190cmFpbihp bnRlbF9kcCk7CisKKwlpZiAoIWxhbmVfY291bnQpCisJCURSTV9FUlJPUigiTGluayBUcmFpbmlu ZyBGYWlsZWRcbiIpOworCisJcmV0dXJuIHJldDsKK30KKwogdm9pZCBpbnRlbF9kZGlfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCkKIHsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YwppbmRleCA2OWNlZTliLi5kODFjNjdjYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC0x NTA2LDYgKzE1MDYsMjEgQEAgaW50ZWxfZHBfbWF4X2xpbmtfcmF0ZShzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogCXJldHVybiByYXRlc1tsZW4gLSAxXTsKIH0KIAoraW50IGludGVsX2RwX2xp bmtfcmF0ZV9pbmRleChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgKmNvbW1vbl9yYXRl cywKKwkJCSAgICAgaW50IGxpbmtfcmF0ZSkKK3sKKwlpbnQgY29tbW9uX2xlbjsKKwlpbnQgaW5k ZXg7CisKKwljb21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX3JhdGVzKGludGVsX2RwLCBjb21t b25fcmF0ZXMpOworCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IGNvbW1vbl9sZW47IGluZGV4Kysp IHsKKwkJaWYgKGxpbmtfcmF0ZSA9PSBjb21tb25fcmF0ZXNbY29tbW9uX2xlbiAtIGluZGV4IC0g MV0pCisJCQlyZXR1cm4gY29tbW9uX2xlbiAtIGluZGV4IC0gMTsKKwl9CisKKwlyZXR1cm4gLTE7 Cit9CisKIGludCBpbnRlbF9kcF9yYXRlX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LCBpbnQgcmF0ZSkKIHsKIAlyZXR1cm4gcmF0ZV90b19pbmRleChyYXRlLCBpbnRlbF9kcC0+c2lu a19yYXRlcyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5r X3RyYWluaW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5n LmMKaW5kZXggYzQzOGIwMi4uZjFlMDhmMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX2xpbmtfdHJhaW5pbmcuYwpAQCAtMzEzLDkgKzMxMywxNSBAQCB2b2lkIGludGVsX2Rw X3N0b3BfbGlua190cmFpbihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCQkJCURQX1RSQUlO SU5HX1BBVFRFUk5fRElTQUJMRSk7CiB9CiAKLXZvaWQKK2Jvb2wKIGludGVsX2RwX3N0YXJ0X2xp bmtfdHJhaW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKLQlpbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKTsKLQlpbnRlbF9kcF9saW5rX3RyYWluaW5n X2NoYW5uZWxfZXF1YWxpemF0aW9uKGludGVsX2RwKTsKKwlib29sIHJldDsKKworCWlmIChpbnRl bF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KGludGVsX2RwKSkgeworCQlyZXQgPSBp bnRlbF9kcF9saW5rX3RyYWluaW5nX2NoYW5uZWxfZXF1YWxpemF0aW9uKGludGVsX2RwKTsKKwkJ aWYgKHJldCkKKwkJCXJldHVybiB0cnVlOworCX0KKwlyZXR1cm4gZmFsc2U7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCmluZGV4IDhmZDE2YWQuLjA4Y2I1NzEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCkBAIC0xMTY0LDYgKzExNjQsOCBAQCB2b2lkIGludGVsX2RkaV9jbG9ja19nZXQo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKnBpcGVfY29uZmlnKTsKIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBzdGF0ZSk7CiB1aW50MzJfdCBkZGlfc2lnbmFsX2xl dmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKK2Jvb2wgaW50ZWxfZGRpX2xpbmtfdHJh aW4oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IG1heF9saW5rX3JhdGUsCisJCQkgIHVp bnQ4X3QgbWF4X2xhbmVfY291bnQsIGJvb2wgbGlua19tc3QpOwogc3RydWN0IGludGVsX3NoYXJl ZF9kcGxsICppbnRlbF9kZGlfZ2V0X2xpbmtfZHBsbChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAogCQkJCQkJICBpbnQgY2xvY2spOwogdW5zaWduZWQgaW50IGludGVsX2ZiX2FsaWduX2hlaWdo dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtMTM4NSw3ICsxMzg3LDcgQEAgYm9vbCBpbnRl bF9kcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwKIHZvaWQgaW50ZWxfZHBfc2V0X2xpbmtfcGFyYW1zKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsCiAJCQkgICAgICBpbnQgbGlua19yYXRlLCB1aW50OF90IGxhbmVfY291bnQsCiAJCQkg ICAgICBib29sIGxpbmtfbXN0KTsKLXZvaWQgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKK2Jvb2wgaW50ZWxfZHBfc3RhcnRfbGlua190cmFpbihz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIHZvaWQgaW50ZWxfZHBfc3RvcF9saW5rX3RyYWlu KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwogdm9pZCBpbnRlbF9kcF9zaW5rX2RwbXMoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IG1vZGUpOwogdm9pZCBpbnRlbF9kcF9lbmNvZGVy X3Jlc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CkBAIC0xNDA3LDYgKzE0MDksOCBA QCB2b2lkIGludGVsX2RwX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAs IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjbwogdm9pZCBpbnRlbF9kcF9tc3Rfc3VzcGVuZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfZHBfbXN0X3Jlc3VtZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKIGludCBpbnRlbF9kcF9tYXhfbGlua19yYXRlKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApOworaW50IGludGVsX2RwX2xpbmtfcmF0ZV9pbmRleChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwLCBpbnQgKmNvbW1vbl9yYXRlcywKKwkJCSAgICAgaW50IGxpbmtfcmF0ZSk7 CiBpbnQgaW50ZWxfZHBfcmF0ZV9zZWxlY3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50 IHJhdGUpOwogdm9pZCBpbnRlbF9kcF9ob3RfcGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50 ZWxfZW5jb2Rlcik7CiB2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=