From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: typec: Separate the definitions for data and power roles From: Heikki Krogerus Message-Id: <20180309110918.65651-1-heikki.krogerus@linux.intel.com> Date: Fri, 9 Mar 2018 14:09:18 +0300 To: Greg Kroah-Hartman Cc: Guenter Roeck , Hans de Goede , Jun Li , linux-usb@vger.kernel.org List-ID: VVNCIFR5cGUtQyBzcGVjaWZpY2F0aW9uIHYxLjIgc2VwYXJhdGVkIHRoZSBwb3dlciBhbmQgZGF0 YQpyb2xlcyBtb3JlIGNsZWFybHkuIER1YWwtUm9sZS1EYXRhIHRlcm0gd2FzIGludHJvZHVjZWQs IGFuZAp0aGUgbWVhbmluZyBvZiBEUlAgd2FzIGNoYW5nZWQgZnJvbSAiRHVhbC1Sb2xlLVBvcnQi IHRvCiJEdWFsLVJvbGUtUG93ZXIiLgoKSW4gb3JkZXIgdG8gYWxsb3cgdGhlIHBvcnQgZHJpdmVy cyB0byBkZXNjcmliZSB0aGUKY2FwYWJpbGl0aWVzIG9mIHRoZSBwb3J0cyBtb3JlIGNsZWFybHkg YWNjb3JkaW5nIHRvIHRoZQpuZXdlc3Qgc3BlY2lmaWNhdGlvbnMsIGludHJvZHVjaW5nIHNlcGFy YXRlIGRlZmluaXRpb25zIGZvcgp0aGUgZGF0YSByb2xlcy4KClNpZ25lZC1vZmYtYnk6IEhlaWtr aSBLcm9nZXJ1cyA8aGVpa2tpLmtyb2dlcnVzQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L3VzYi90eXBlYy9jbGFzcy5jICAgICAgICAgICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvdXNiL3R5cGVjL2Z1c2IzMDIvZnVzYjMwMi5jIHwgIDEg KwogZHJpdmVycy91c2IvdHlwZWMvdGNwbS5jICAgICAgICAgICAgfCAgOSArKystLS0KIGRyaXZl cnMvdXNiL3R5cGVjL3RwczY1OTh4LmMgICAgICAgIHwgMjYgKysrKysrKysrKystLS0tLS0KIGRy aXZlcnMvdXNiL3R5cGVjL3R5cGVjX3djb3ZlLmMgICAgIHwgIDEgKwogZHJpdmVycy91c2IvdHlw ZWMvdWNzaS91Y3NpLmMgICAgICAgfCAxMyArKysrKysrLS0KIGluY2x1ZGUvbGludXgvdXNiL3Rj cG0uaCAgICAgICAgICAgIHwgIDEgKwogaW5jbHVkZS9saW51eC91c2IvdHlwZWMuaCAgICAgICAg ICAgfCAxNCArKysrKysrKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMoKyksIDQx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5cGVjL2NsYXNzLmMgYi9k cml2ZXJzL3VzYi90eXBlYy9jbGFzcy5jCmluZGV4IDI2MjBhNjk0NzA0Zi4uNTNkZjEwZGYyZjlk IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi90eXBlYy9jbGFzcy5jCisrKyBiL2RyaXZlcnMvdXNi L3R5cGVjL2NsYXNzLmMKQEAgLTI4MiwxMCArMjgyLDEwIEBAIHR5cGVjX2FsdG1vZGVfcm9sZXNf c2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAog CXNzaXplX3QgcmV0OwogCiAJc3dpdGNoIChtb2RlLT5yb2xlcykgewotCWNhc2UgVFlQRUNfUE9S VF9ERlA6CisJY2FzZSBUWVBFQ19QT1JUX1NSQzoKIAkJcmV0ID0gc3ByaW50ZihidWYsICJzb3Vy Y2VcbiIpOwogCQlicmVhazsKLQljYXNlIFRZUEVDX1BPUlRfVUZQOgorCWNhc2UgVFlQRUNfUE9S VF9TTks6CiAJCXJldCA9IHNwcmludGYoYnVmLCAic2lua1xuIik7CiAJCWJyZWFrOwogCWNhc2Ug VFlQRUNfUE9SVF9EUlA6CkBAIC03OTcsMTQgKzc5NywxNCBAQCBzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IHR5cGVjX2RhdGFfcm9sZXNbXSA9IHsKIH07CiAKIHN0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgdHlwZWNfcG9ydF90eXBlc1tdID0gewotCVtUWVBFQ19QT1JUX0RGUF0gPSAic291cmNl IiwKLQlbVFlQRUNfUE9SVF9VRlBdID0gInNpbmsiLAorCVtUWVBFQ19QT1JUX1NSQ10gPSAic291 cmNlIiwKKwlbVFlQRUNfUE9SVF9TTktdID0gInNpbmsiLAogCVtUWVBFQ19QT1JUX0RSUF0gPSAi ZHVhbCIsCiB9OwogCiBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHR5cGVjX3BvcnRfdHlwZXNf ZHJwW10gPSB7Ci0JW1RZUEVDX1BPUlRfREZQXSA9ICJkdWFsIFtzb3VyY2VdIHNpbmsiLAotCVtU WVBFQ19QT1JUX1VGUF0gPSAiZHVhbCBzb3VyY2UgW3NpbmtdIiwKKwlbVFlQRUNfUE9SVF9TUkNd ID0gImR1YWwgW3NvdXJjZV0gc2luayIsCisJW1RZUEVDX1BPUlRfU05LXSA9ICJkdWFsIHNvdXJj ZSBbc2lua10iLAogCVtUWVBFQ19QT1JUX0RSUF0gPSAiW2R1YWxdIHNvdXJjZSBzaW5rIiwKIH07 CiAKQEAgLTg3NSw5ICs4NzUsNyBAQCBzdGF0aWMgc3NpemVfdCBkYXRhX3JvbGVfc3RvcmUoc3Ry dWN0IGRldmljZSAqZGV2LAogCQlyZXR1cm4gcmV0OwogCiAJbXV0ZXhfbG9jaygmcG9ydC0+cG9y dF90eXBlX2xvY2spOwotCWlmIChwb3J0LT5wb3J0X3R5cGUgIT0gVFlQRUNfUE9SVF9EUlApIHsK LQkJZGV2X2RiZyhkZXYsICJwb3J0IHR5cGUgZml4ZWQgYXQgXCIlc1wiIiwKLQkJCSAgICAgdHlw ZWNfcG9ydF90eXBlc1twb3J0LT5wb3J0X3R5cGVdKTsKKwlpZiAocG9ydC0+Y2FwLT5kYXRhICE9 IFRZUEVDX1BPUlRfRFJEKSB7CiAJCXJldCA9IC1FT1BOT1RTVVBQOwogCQlnb3RvIHVubG9ja19h bmRfcmV0OwogCX0KQEAgLTg5Nyw3ICs4OTUsNyBAQCBzdGF0aWMgc3NpemVfdCBkYXRhX3JvbGVf c2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiB7CiAJc3RydWN0IHR5cGVjX3BvcnQgKnBvcnQgPSB0 b190eXBlY19wb3J0KGRldik7CiAKLQlpZiAocG9ydC0+Y2FwLT50eXBlID09IFRZUEVDX1BPUlRf RFJQKQorCWlmIChwb3J0LT5jYXAtPmRhdGEgPT0gVFlQRUNfUE9SVF9EUkQpCiAJCXJldHVybiBz cHJpbnRmKGJ1ZiwgIiVzXG4iLCBwb3J0LT5kYXRhX3JvbGUgPT0gVFlQRUNfSE9TVCA/CiAJCQkg ICAgICAgIltob3N0XSBkZXZpY2UiIDogImhvc3QgW2RldmljZV0iKTsKIApAQCAtMTMyOCw3ICsx MzI2LDYgQEAgc3RydWN0IHR5cGVjX3BvcnQgKnR5cGVjX3JlZ2lzdGVyX3BvcnQoc3RydWN0IGRl dmljZSAqcGFyZW50LAogCQkJCSAgICAgICBjb25zdCBzdHJ1Y3QgdHlwZWNfY2FwYWJpbGl0eSAq Y2FwKQogewogCXN0cnVjdCB0eXBlY19wb3J0ICpwb3J0OwotCWludCByb2xlOwogCWludCByZXQ7 CiAJaW50IGlkOwogCkBAIC0xMzU0LDIxICsxMzUxLDM2IEBAIHN0cnVjdCB0eXBlY19wb3J0ICp0 eXBlY19yZWdpc3Rlcl9wb3J0KHN0cnVjdCBkZXZpY2UgKnBhcmVudCwKIAkJZ290byBlcnJfbXV4 OwogCX0KIAotCWlmIChjYXAtPnR5cGUgPT0gVFlQRUNfUE9SVF9ERlApCi0JCXJvbGUgPSBUWVBF Q19TT1VSQ0U7Ci0JZWxzZSBpZiAoY2FwLT50eXBlID09IFRZUEVDX1BPUlRfVUZQKQotCQlyb2xl ID0gVFlQRUNfU0lOSzsKLQllbHNlCi0JCXJvbGUgPSBjYXAtPnByZWZlcl9yb2xlOwotCi0JaWYg KHJvbGUgPT0gVFlQRUNfU09VUkNFKSB7Ci0JCXBvcnQtPmRhdGFfcm9sZSA9IFRZUEVDX0hPU1Q7 CisJc3dpdGNoIChjYXAtPnR5cGUpIHsKKwljYXNlIFRZUEVDX1BPUlRfU1JDOgogCQlwb3J0LT5w d3Jfcm9sZSA9IFRZUEVDX1NPVVJDRTsKIAkJcG9ydC0+dmNvbm5fcm9sZSA9IFRZUEVDX1NPVVJD RTsKLQl9IGVsc2UgewotCQlwb3J0LT5kYXRhX3JvbGUgPSBUWVBFQ19ERVZJQ0U7CisJCWJyZWFr OworCWNhc2UgVFlQRUNfUE9SVF9TTks6CiAJCXBvcnQtPnB3cl9yb2xlID0gVFlQRUNfU0lOSzsK IAkJcG9ydC0+dmNvbm5fcm9sZSA9IFRZUEVDX1NJTks7CisJCWJyZWFrOworCWNhc2UgVFlQRUNf UE9SVF9EUlA6CisJCWlmIChjYXAtPnByZWZlcl9yb2xlICE9IFRZUEVDX05PX1BSRUZFUlJFRF9S T0xFKQorCQkJcG9ydC0+cHdyX3JvbGUgPSBjYXAtPnByZWZlcl9yb2xlOworCQllbHNlCisJCQlw b3J0LT5wd3Jfcm9sZSA9IFRZUEVDX1NJTks7CisJCWJyZWFrOworCX0KKworCXN3aXRjaCAoY2Fw LT5kYXRhKSB7CisJY2FzZSBUWVBFQ19QT1JUX0RGUDoKKwkJcG9ydC0+ZGF0YV9yb2xlID0gVFlQ RUNfSE9TVDsKKwkJYnJlYWs7CisJY2FzZSBUWVBFQ19QT1JUX1VGUDoKKwkJcG9ydC0+ZGF0YV9y b2xlID0gVFlQRUNfREVWSUNFOworCQlicmVhazsKKwljYXNlIFRZUEVDX1BPUlRfRFJEOgorCQlp ZiAoY2FwLT5wcmVmZXJfcm9sZSA9PSBUWVBFQ19TT1VSQ0UpCisJCQlwb3J0LT5kYXRhX3JvbGUg PSBUWVBFQ19IT1NUOworCQllbHNlCisJCQlwb3J0LT5kYXRhX3JvbGUgPSBUWVBFQ19ERVZJQ0U7 CisJCWJyZWFrOwogCX0KIAogCXBvcnQtPmlkID0gaWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Vz Yi90eXBlYy9mdXNiMzAyL2Z1c2IzMDIuYyBiL2RyaXZlcnMvdXNiL3R5cGVjL2Z1c2IzMDIvZnVz YjMwMi5jCmluZGV4IGIyNjdiOTA3YmYyNC4uNzZjOWQ5NTVmYTQwIDEwMDY0NAotLS0gYS9kcml2 ZXJzL3VzYi90eXBlYy9mdXNiMzAyL2Z1c2IzMDIuYworKysgYi9kcml2ZXJzL3VzYi90eXBlYy9m dXNiMzAyL2Z1c2IzMDIuYwpAQCAtMTIzMCw2ICsxMjMwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCB0Y3BjX2NvbmZpZyBmdXNiMzAyX3RjcGNfY29uZmlnID0gewogCS5tYXhfc25rX213ID0gMTUw MDAsCiAJLm9wZXJhdGluZ19zbmtfbXcgPSAyNTAwLAogCS50eXBlID0gVFlQRUNfUE9SVF9EUlAs CisJLmRhdGEgPSBUWVBFQ19QT1JUX0RSRCwKIAkuZGVmYXVsdF9yb2xlID0gVFlQRUNfU0lOSywK IAkuYWx0X21vZGVzID0gTlVMTCwKIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90eXBlYy90 Y3BtLmMgYi9kcml2ZXJzL3VzYi90eXBlYy90Y3BtLmMKaW5kZXggNzM1YTZkZDc0YzIwLi40ZTQ0 N2UxZTllYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3RjcG0uYworKysgYi9kcml2 ZXJzL3VzYi90eXBlYy90Y3BtLmMKQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgZW51bSB0Y3Bt X3N0YXRlIHRjcG1fZGVmYXVsdF9zdGF0ZShzdHJ1Y3QgdGNwbV9wb3J0ICpwb3J0KQogCQllbHNl IGlmIChwb3J0LT50Y3BjLT5jb25maWctPmRlZmF1bHRfcm9sZSA9PSBUWVBFQ19TSU5LKQogCQkJ cmV0dXJuIFNOS19VTkFUVEFDSEVEOwogCQkvKiBGYWxsIHRocm91Z2ggdG8gcmV0dXJuIFNSQ19V TkFUVEFDSEVEICovCi0JfSBlbHNlIGlmIChwb3J0LT5wb3J0X3R5cGUgPT0gVFlQRUNfUE9SVF9V RlApIHsKKwl9IGVsc2UgaWYgKHBvcnQtPnBvcnRfdHlwZSA9PSBUWVBFQ19QT1JUX1NOSykgewog CQlyZXR1cm4gU05LX1VOQVRUQUNIRUQ7CiAJfQogCXJldHVybiBTUkNfVU5BVFRBQ0hFRDsKQEAg LTIyMDcsNyArMjIwNyw3IEBAIHN0YXRpYyBpbmxpbmUgZW51bSB0Y3BtX3N0YXRlIHVuYXR0YWNo ZWRfc3RhdGUoc3RydWN0IHRjcG1fcG9ydCAqcG9ydCkKIAkJCXJldHVybiBTUkNfVU5BVFRBQ0hF RDsKIAkJZWxzZQogCQkJcmV0dXJuIFNOS19VTkFUVEFDSEVEOwotCX0gZWxzZSBpZiAocG9ydC0+ cG9ydF90eXBlID09IFRZUEVDX1BPUlRfREZQKSB7CisJfSBlbHNlIGlmIChwb3J0LT5wb3J0X3R5 cGUgPT0gVFlQRUNfUE9SVF9TUkMpIHsKIAkJcmV0dXJuIFNSQ19VTkFUVEFDSEVEOwogCX0KIApA QCAtMzQ5NywxMSArMzQ5NywxMSBAQCBzdGF0aWMgaW50IHRjcG1fcG9ydF90eXBlX3NldChjb25z dCBzdHJ1Y3QgdHlwZWNfY2FwYWJpbGl0eSAqY2FwLAogCiAJaWYgKCFwb3J0LT5jb25uZWN0ZWQp IHsKIAkJdGNwbV9zZXRfc3RhdGUocG9ydCwgUE9SVF9SRVNFVCwgMCk7Ci0JfSBlbHNlIGlmICh0 eXBlID09IFRZUEVDX1BPUlRfVUZQKSB7CisJfSBlbHNlIGlmICh0eXBlID09IFRZUEVDX1BPUlRf U05LKSB7CiAJCWlmICghKHBvcnQtPnB3cl9yb2xlID09IFRZUEVDX1NJTksgJiYKIAkJICAgICAg cG9ydC0+ZGF0YV9yb2xlID09IFRZUEVDX0RFVklDRSkpCiAJCQl0Y3BtX3NldF9zdGF0ZShwb3J0 LCBQT1JUX1JFU0VULCAwKTsKLQl9IGVsc2UgaWYgKHR5cGUgPT0gVFlQRUNfUE9SVF9ERlApIHsK Kwl9IGVsc2UgaWYgKHR5cGUgPT0gVFlQRUNfUE9SVF9TUkMpIHsKIAkJaWYgKCEocG9ydC0+cHdy X3JvbGUgPT0gVFlQRUNfU09VUkNFICYmCiAJCSAgICAgIHBvcnQtPmRhdGFfcm9sZSA9PSBUWVBF Q19IT1NUKSkKIAkJCXRjcG1fc2V0X3N0YXRlKHBvcnQsIFBPUlRfUkVTRVQsIDApOwpAQCAtMzY2 OSw2ICszNjY5LDcgQEAgc3RydWN0IHRjcG1fcG9ydCAqdGNwbV9yZWdpc3Rlcl9wb3J0KHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0IHRjcGNfZGV2ICp0Y3BjKQogCiAJcG9ydC0+dHlwZWNfY2Fw cy5wcmVmZXJfcm9sZSA9IHRjcGMtPmNvbmZpZy0+ZGVmYXVsdF9yb2xlOwogCXBvcnQtPnR5cGVj X2NhcHMudHlwZSA9IHRjcGMtPmNvbmZpZy0+dHlwZTsKKwlwb3J0LT50eXBlY19jYXBzLmRhdGEg PSB0Y3BjLT5jb25maWctPmRhdGE7CiAJcG9ydC0+dHlwZWNfY2Fwcy5yZXZpc2lvbiA9IDB4MDEy MDsJLyogVHlwZS1DIHNwZWMgcmVsZWFzZSAxLjIgKi8KIAlwb3J0LT50eXBlY19jYXBzLnBkX3Jl dmlzaW9uID0gMHgwMjAwOwkvKiBVU0ItUEQgc3BlYyByZWxlYXNlIDIuMCAqLwogCXBvcnQtPnR5 cGVjX2NhcHMuZHJfc2V0ID0gdGNwbV9kcl9zZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi90 eXBlYy90cHM2NTk4eC5jIGIvZHJpdmVycy91c2IvdHlwZWMvdHBzNjU5OHguYwppbmRleCAzN2Ex NWMxNGE2YzYuLjhiODQwNjg2N2MwMiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvdHlwZWMvdHBz NjU5OHguYworKysgYi9kcml2ZXJzL3VzYi90eXBlYy90cHM2NTk4eC5jCkBAIC0zOTMsMzEgKzM5 MywzOSBAQCBzdGF0aWMgaW50IHRwczY1OTh4X3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGll bnQpCiAJaWYgKHJldCA8IDApCiAJCXJldHVybiByZXQ7CiAKKwl0cHMtPnR5cGVjX2NhcC5yZXZp c2lvbiA9IFVTQl9UWVBFQ19SRVZfMV8yOworCXRwcy0+dHlwZWNfY2FwLnBkX3JldmlzaW9uID0g MHgyMDA7CisJdHBzLT50eXBlY19jYXAucHJlZmVyX3JvbGUgPSBUWVBFQ19OT19QUkVGRVJSRURf Uk9MRTsKKwl0cHMtPnR5cGVjX2NhcC5wcl9zZXQgPSB0cHM2NTk4eF9wcl9zZXQ7CisJdHBzLT50 eXBlY19jYXAuZHJfc2V0ID0gdHBzNjU5OHhfZHJfc2V0OworCiAJc3dpdGNoIChUUFNfU1lTQ09O Rl9QT1JUSU5GTyhjb25mKSkgewogCWNhc2UgVFBTX1BPUlRJTkZPX1NJTktfQUNDRVNTT1JZOgog CWNhc2UgVFBTX1BPUlRJTkZPX1NJTks6Ci0JCXRwcy0+dHlwZWNfY2FwLnR5cGUgPSBUWVBFQ19Q T1JUX1VGUDsKKwkJdHBzLT50eXBlY19jYXAudHlwZSA9IFRZUEVDX1BPUlRfU05LOworCQl0cHMt PnR5cGVjX2NhcC5kYXRhID0gVFlQRUNfUE9SVF9VRlA7CiAJCWJyZWFrOwogCWNhc2UgVFBTX1BP UlRJTkZPX0RSUF9VRlBfRFJEOgogCWNhc2UgVFBTX1BPUlRJTkZPX0RSUF9ERlBfRFJEOgotCQl0 cHMtPnR5cGVjX2NhcC5kcl9zZXQgPSB0cHM2NTk4eF9kcl9zZXQ7Ci0JCS8qIGZhbGwgdGhyb3Vn aCAqLworCQl0cHMtPnR5cGVjX2NhcC50eXBlID0gVFlQRUNfUE9SVF9EUlA7CisJCXRwcy0+dHlw ZWNfY2FwLmRhdGEgPSBUWVBFQ19QT1JUX0RSRDsKKwkJYnJlYWs7CiAJY2FzZSBUUFNfUE9SVElO Rk9fRFJQX1VGUDoKKwkJdHBzLT50eXBlY19jYXAudHlwZSA9IFRZUEVDX1BPUlRfRFJQOworCQl0 cHMtPnR5cGVjX2NhcC5kYXRhID0gVFlQRUNfUE9SVF9VRlA7CisJCWJyZWFrOwogCWNhc2UgVFBT X1BPUlRJTkZPX0RSUF9ERlA6Ci0JCXRwcy0+dHlwZWNfY2FwLnByX3NldCA9IHRwczY1OTh4X3By X3NldDsKIAkJdHBzLT50eXBlY19jYXAudHlwZSA9IFRZUEVDX1BPUlRfRFJQOworCQl0cHMtPnR5 cGVjX2NhcC5kYXRhID0gVFlQRUNfUE9SVF9ERlA7CiAJCWJyZWFrOwogCWNhc2UgVFBTX1BPUlRJ TkZPX1NPVVJDRToKLQkJdHBzLT50eXBlY19jYXAudHlwZSA9IFRZUEVDX1BPUlRfREZQOworCQl0 cHMtPnR5cGVjX2NhcC50eXBlID0gVFlQRUNfUE9SVF9TUkM7CisJCXRwcy0+dHlwZWNfY2FwLmRh dGEgPSBUWVBFQ19QT1JUX0RGUDsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcmV0dXJuIC1FTk9E RVY7CiAJfQogCi0JdHBzLT50eXBlY19jYXAucmV2aXNpb24gPSBVU0JfVFlQRUNfUkVWXzFfMjsK LQl0cHMtPnR5cGVjX2NhcC5wZF9yZXZpc2lvbiA9IDB4MjAwOwotCXRwcy0+dHlwZWNfY2FwLnBy ZWZlcl9yb2xlID0gVFlQRUNfTk9fUFJFRkVSUkVEX1JPTEU7Ci0KIAl0cHMtPnBvcnQgPSB0eXBl Y19yZWdpc3Rlcl9wb3J0KCZjbGllbnQtPmRldiwgJnRwcy0+dHlwZWNfY2FwKTsKIAlpZiAoSVNf RVJSKHRwcy0+cG9ydCkpCiAJCXJldHVybiBQVFJfRVJSKHRwcy0+cG9ydCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL3VzYi90eXBlYy90eXBlY193Y292ZS5jIGIvZHJpdmVycy91c2IvdHlwZWMvdHlw ZWNfd2NvdmUuYwppbmRleCAyZTk5MGUwZDkxN2QuLjE5Y2NhN2YxYjJjNSAxMDA2NDQKLS0tIGEv ZHJpdmVycy91c2IvdHlwZWMvdHlwZWNfd2NvdmUuYworKysgYi9kcml2ZXJzL3VzYi90eXBlYy90 eXBlY193Y292ZS5jCkBAIC01NzIsNiArNTcyLDcgQEAgc3RhdGljIHN0cnVjdCB0Y3BjX2NvbmZp ZyB3Y292ZV90eXBlY19jb25maWcgPSB7CiAJLm9wZXJhdGluZ19zbmtfbXcgPSAxNTAwMCwKIAog CS50eXBlID0gVFlQRUNfUE9SVF9EUlAsCisJLmRhdGEgPSBUWVBFQ19QT1JUX0RSRCwKIAkuZGVm YXVsdF9yb2xlID0gVFlQRUNfU0lOSywKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3R5 cGVjL3Vjc2kvdWNzaS5jIGIvZHJpdmVycy91c2IvdHlwZWMvdWNzaS91Y3NpLmMKaW5kZXggNjlk NTQ0Y2ZjZDQ1Li5iZjA5NzdmYmQxMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3R5cGVjL3Vj c2kvdWNzaS5jCisrKyBiL2RyaXZlcnMvdXNiL3R5cGVjL3Vjc2kvdWNzaS5jCkBAIC01OTIsMTEg KzU5MiwxOCBAQCBzdGF0aWMgaW50IHVjc2lfcmVnaXN0ZXJfcG9ydChzdHJ1Y3QgdWNzaSAqdWNz aSwgaW50IGluZGV4KQogCQlyZXR1cm4gcmV0OwogCiAJaWYgKGNvbi0+Y2FwLm9wX21vZGUgJiBV Q1NJX0NPTkNBUF9PUE1PREVfRFJQKQotCQljYXAtPnR5cGUgPSBUWVBFQ19QT1JUX0RSUDsKKwkJ Y2FwLT5kYXRhID0gVFlQRUNfUE9SVF9EUkQ7CiAJZWxzZSBpZiAoY29uLT5jYXAub3BfbW9kZSAm IFVDU0lfQ09OQ0FQX09QTU9ERV9ERlApCi0JCWNhcC0+dHlwZSA9IFRZUEVDX1BPUlRfREZQOwor CQljYXAtPmRhdGEgPSBUWVBFQ19QT1JUX0RGUDsKIAllbHNlIGlmIChjb24tPmNhcC5vcF9tb2Rl ICYgVUNTSV9DT05DQVBfT1BNT0RFX1VGUCkKLQkJY2FwLT50eXBlID0gVFlQRUNfUE9SVF9VRlA7 CisJCWNhcC0+ZGF0YSA9IFRZUEVDX1BPUlRfVUZQOworCisJaWYgKGNvbi0+Y2FwLnByb3ZpZGVy ICYmIGNvbi0+Y2FwLmNvbnN1bWVyKQorCQljYXAtPnR5cGUgPSBUWVBFQ19QT1JUX0RSUDsKKwll bHNlIGlmIChjb24tPmNhcC5wcm92aWRlcikKKwkJY2FwLT50eXBlID0gVFlQRUNfUE9SVF9TUkM7 CisJZWxzZSBpZiAoY29uLT5jYXAuY29uc3VtZXIpCisJCWNhcC0+dHlwZSA9IFRZUEVDX1BPUlRf U05LOwogCiAJY2FwLT5yZXZpc2lvbiA9IHVjc2ktPmNhcC50eXBlY192ZXJzaW9uOwogCWNhcC0+ cGRfcmV2aXNpb24gPSB1Y3NpLT5jYXAucGRfdmVyc2lvbjsKZGlmZiAtLWdpdCBhL2luY2x1ZGUv bGludXgvdXNiL3RjcG0uaCBiL2luY2x1ZGUvbGludXgvdXNiL3RjcG0uaAppbmRleCBmZTM1MDhl NmUxZGYuLmYwZDgzOWRhZWFlYSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC91c2IvdGNwbS5o CisrKyBiL2luY2x1ZGUvbGludXgvdXNiL3RjcG0uaApAQCAtOTEsNiArOTEsNyBAQCBzdHJ1Y3Qg dGNwY19jb25maWcgewogCXVuc2lnbmVkIGludCBvcGVyYXRpbmdfc25rX213OwogCiAJZW51bSB0 eXBlY19wb3J0X3R5cGUgdHlwZTsKKwllbnVtIHR5cGVjX3BvcnRfZGF0YSBkYXRhOwogCWVudW0g dHlwZWNfcm9sZSBkZWZhdWx0X3JvbGU7CiAJYm9vbCB0cnlfcm9sZV9odzsJLyogdHJ5LntzcmMs c25rfSBpbXBsZW1lbnRlZCBpbiBoYXJkd2FyZSAqLwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xp bnV4L3VzYi90eXBlYy5oIGIvaW5jbHVkZS9saW51eC91c2IvdHlwZWMuaAppbmRleCAyNDA4ZTVj MmVkOTEuLjY3MmIzOWJiMGFkYyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC91c2IvdHlwZWMu aAorKysgYi9pbmNsdWRlL2xpbnV4L3VzYi90eXBlYy5oCkBAIC0yMiw5ICsyMiwxNSBAQCBzdHJ1 Y3QgdHlwZWNfcG9ydDsKIHN0cnVjdCBmd25vZGVfaGFuZGxlOwogCiBlbnVtIHR5cGVjX3BvcnRf dHlwZSB7CisJVFlQRUNfUE9SVF9TUkMsCisJVFlQRUNfUE9SVF9TTkssCisJVFlQRUNfUE9SVF9E UlAsCit9OworCitlbnVtIHR5cGVjX3BvcnRfZGF0YSB7CiAJVFlQRUNfUE9SVF9ERlAsCiAJVFlQ RUNfUE9SVF9VRlAsCi0JVFlQRUNfUE9SVF9EUlAsCisJVFlQRUNfUE9SVF9EUkQsCiB9OwogCiBl bnVtIHR5cGVjX3BsdWdfdHlwZSB7CkBAIC0xODYsMTAgKzE5MiwxMSBAQCBzdHJ1Y3QgdHlwZWNf cGFydG5lcl9kZXNjIHsKIAogLyoKICAqIHN0cnVjdCB0eXBlY19jYXBhYmlsaXR5IC0gVVNCIFR5 cGUtQyBQb3J0IENhcGFiaWxpdGllcwotICogQHJvbGU6IERGUCAoSG9zdC1vbmx5KSwgVUZQIChE ZXZpY2Utb25seSkgb3IgRFJQIChEdWFsIFJvbGUpCisgKiBAdHlwZTogU3VwcG9ydGVkIHBvd2Vy IHJvbGUgb2YgdGhlIHBvcnQKKyAqIEBkYXRhOiBTdXBwb3J0ZWQgZGF0YSByb2xlIG9mIHRoZSBw b3J0CiAgKiBAcmV2aXNpb246IFVTQiBUeXBlLUMgU3BlY2lmaWNhdGlvbiByZWxlYXNlLiBCaW5h cnkgY29kZWQgZGVjaW1hbAogICogQHBkX3JldmlzaW9uOiBVU0IgUG93ZXIgRGVsaXZlcnkgU3Bl Y2lmaWNhdGlvbiByZXZpc2lvbiBpZiBzdXBwb3J0ZWQKLSAqIEBwcmVmZXJfcm9sZTogSW5pdGlh bCByb2xlIHByZWZlcmVuY2UKKyAqIEBwcmVmZXJfcm9sZTogSW5pdGlhbCByb2xlIHByZWZlcmVu Y2UgKERSUCBwb3J0cykuCiAgKiBAYWNjZXNzb3J5OiBTdXBwb3J0ZWQgQWNjZXNzb3J5IE1vZGVz CiAgKiBAc3c6IENhYmxlIHBsdWcgb3JpZW50YXRpb24gc3dpdGNoCiAgKiBAbXV4OiBNdWx0aXBs ZXhlciBzd2l0Y2ggZm9yIEFsdGVybmF0ZS9BY2Nlc3NvcnkgTW9kZXMKQEAgLTIwNSw2ICsyMTIs NyBAQCBzdHJ1Y3QgdHlwZWNfcGFydG5lcl9kZXNjIHsKICAqLwogc3RydWN0IHR5cGVjX2NhcGFi aWxpdHkgewogCWVudW0gdHlwZWNfcG9ydF90eXBlCXR5cGU7CisJZW51bSB0eXBlY19wb3J0X2Rh dGEJZGF0YTsKIAl1MTYJCQlyZXZpc2lvbjsgLyogMDEyMEggPSAiMS4yIiAqLwogCXUxNgkJCXBk X3JldmlzaW9uOyAvKiAwMzAwSCA9ICIzLjAiICovCiAJaW50CQkJcHJlZmVyX3JvbGU7Cg==