From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hyungwon Hwang Subject: [PATCH v5 06/12] drm/exynos: dsi: make use of driver data for static values Date: Fri, 10 Apr 2015 14:55:24 +0900 Message-ID: <1428645330-1043-7-git-send-email-human.hwang@samsung.com> References: <1428645330-1043-1-git-send-email-human.hwang@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <1428645330-1043-1-git-send-email-human.hwang@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, inki.dae@samsung.com, daniel@fooishbar.org Cc: dh09.lee@samsung.com, sw0312.kim@samsung.com, Hyungwon Hwang , cw00.choi@samsung.com List-Id: devicetree@vger.kernel.org RXh5bm9zIE1JUEkgRFNJIGRyaXZlciB1c2VzIHNvbWUgc3RhdGljIHZhbHVlcyBzdWNoIGFzIGFk ZHJlc3Mgb2Zmc2V0cywKcmVnaXN0ZXIgc2V0dGluZyB2YWx1ZXMsIGFuZCBldGMuIFRoaXMgcGF0 Y2ggbWFrZXMgdGhlIGRyaXZlciBnZXQgdGhvc2UKdmFsdWVzIGZyb20gdGhlIGRyaXZlciBkYXRh LgoKU2lnbmVkLW9mZi1ieTogSHl1bmd3b24gSHdhbmcgPGh1bWFuLmh3YW5nQHNhbXN1bmcuY29t PgotLS0KQ2hhbmdlcyBmb3IgdjU6Ci0gTmV3bHkgYWRkZWQKIGRyaXZlcnMvZ3B1L2RybS9leHlu b3MvZXh5bm9zX2RybV9kc2kuYyB8IDE5NiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKaW5kZXggMTA3NGRjZS4uODNlNjc5 OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kc2kuYwpAQCAtMzMsMzggKzMz LDYgQEAKIC8qIHJldHVybnMgdHJ1ZSBpZmYgYm90aCBhcmd1bWVudHMgbG9naWNhbGx5IGRpZmZl cnMgKi8KICNkZWZpbmUgTkVRVihhLCBiKSAoIShhKSBeICEoYikpCgotI2RlZmluZSBEU0lNX1NU QVRVU19SRUcJCTB4MAkvKiBTdGF0dXMgcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRFNJTV9TV1JTVF9S RUcJCTB4NAkvKiBTb2Z0d2FyZSByZXNldCByZWdpc3RlciAqLwotI2RlZmluZSBEU0lNX0NMS0NU UkxfUkVHCTB4OAkvKiBDbG9jayBjb250cm9sIHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fVElN RU9VVF9SRUcJMHhjCS8qIFRpbWUgb3V0IHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fQ09ORklH X1JFRwkJMHgxMAkvKiBDb25maWd1cmF0aW9uIHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fRVND TU9ERV9SRUcJMHgxNAkvKiBFc2NhcGUgbW9kZSByZWdpc3RlciAqLwotCi0vKiBNYWluIGRpc3Bs YXkgaW1hZ2UgcmVzb2x1dGlvbiByZWdpc3RlciAqLwotI2RlZmluZSBEU0lNX01EUkVTT0xfUkVH CTB4MTgKLSNkZWZpbmUgRFNJTV9NVlBPUkNIX1JFRwkweDFjCS8qIE1haW4gZGlzcGxheSBWcG9y Y2ggcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRFNJTV9NSFBPUkNIX1JFRwkweDIwCS8qIE1haW4gZGlz cGxheSBIcG9yY2ggcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRFNJTV9NU1lOQ19SRUcJCTB4MjQJLyog TWFpbiBkaXNwbGF5IHN5bmMgYXJlYSByZWdpc3RlciAqLwotCi0vKiBTdWIgZGlzcGxheSBpbWFn ZSByZXNvbHV0aW9uIHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fU0RSRVNPTF9SRUcJMHgyOAot I2RlZmluZSBEU0lNX0lOVFNSQ19SRUcJCTB4MmMJLyogSW50ZXJydXB0IHNvdXJjZSByZWdpc3Rl ciAqLwotI2RlZmluZSBEU0lNX0lOVE1TS19SRUcJCTB4MzAJLyogSW50ZXJydXB0IG1hc2sgcmVn aXN0ZXIgKi8KLSNkZWZpbmUgRFNJTV9QS1RIRFJfUkVHCQkweDM0CS8qIFBhY2tldCBIZWFkZXIg RklGTyByZWdpc3RlciAqLwotI2RlZmluZSBEU0lNX1BBWUxPQURfUkVHCTB4MzgJLyogUGF5bG9h ZCBGSUZPIHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fUlhGSUZPX1JFRwkJMHgzYwkvKiBSZWFk IEZJRk8gcmVnaXN0ZXIgKi8KLSNkZWZpbmUgRFNJTV9GSUZPVEhMRF9SRUcJMHg0MAkvKiBGSUZP IHRocmVzaG9sZCBsZXZlbCByZWdpc3RlciAqLwotI2RlZmluZSBEU0lNX0ZJRk9DVFJMX1JFRwkw eDQ0CS8qIEZJRk8gc3RhdHVzIGFuZCBjb250cm9sIHJlZ2lzdGVyICovCi0KLS8qIEZJRk8gbWVt b3J5IEFDIGNoYXJhY3RlcmlzdGljIHJlZ2lzdGVyICovCi0jZGVmaW5lIERTSU1fUExMQ1RSTF9S RUcJMHg0YwkvKiBQTEwgY29udHJvbCByZWdpc3RlciAqLwotI2RlZmluZSBEU0lNX1BIWUFDQ0hS X1JFRwkweDU0CS8qIEQtUEhZIEFDIGNoYXJhY3RlcmlzdGljIHJlZ2lzdGVyICovCi0jZGVmaW5l IERTSU1fUEhZQUNDSFIxX1JFRwkweDU4CS8qIEQtUEhZIEFDIGNoYXJhY3RlcmlzdGljIHJlZ2lz dGVyMSAqLwotI2RlZmluZSBEU0lNX1BIWUNUUkxfUkVHCTB4NWMKLSNkZWZpbmUgRFNJTV9QSFlU SU1JTkdfUkVHCTB4NjQKLSNkZWZpbmUgRFNJTV9QSFlUSU1JTkcxX1JFRwkweDY4Ci0jZGVmaW5l IERTSU1fUEhZVElNSU5HMl9SRUcJMHg2YwotCiAvKiBEU0lNX1NUQVRVUyAqLwogI2RlZmluZSBE U0lNX1NUT1BfU1RBVEVfREFUKHgpCQkoKCh4KSAmIDB4ZikgPDwgMCkKICNkZWZpbmUgRFNJTV9T VE9QX1NUQVRFX0NMSwkJKDEgPDwgOCkKQEAgLTEyOCw4ICs5Niw4IEBACgogLyogRFNJTV9NRFJF U09MICovCiAjZGVmaW5lIERTSU1fTUFJTl9TVEFORF9CWQkJKDEgPDwgMzEpCi0jZGVmaW5lIERT SU1fTUFJTl9WUkVTT0woeCkJCSgoKHgpICYgMHg3ZmYpIDw8IDE2KQotI2RlZmluZSBEU0lNX01B SU5fSFJFU09MKHgpCQkoKCh4KSAmIDBYN2ZmKSA8PCAwKQorI2RlZmluZSBEU0lNX01BSU5fVlJF U09MKHgsIG51bV9iaXRzKQkoKCh4KSAmICgoMSA8PCAobnVtX2JpdHMpKSAtIDEpKSA8PCAxNikK KyNkZWZpbmUgRFNJTV9NQUlOX0hSRVNPTCh4LCBudW1fYml0cykJKCgoeCkgJiAoKDEgPDwgKG51 bV9iaXRzKSkgLSAxKSkgPDwgMCkKCiAvKiBEU0lNX01WUE9SQ0ggKi8KICNkZWZpbmUgRFNJTV9D TURfQUxMT1coeCkJCSgoeCkgPDwgMjgpCkBAIC0yMzQsOCArMjAyLDExIEBACiAjZGVmaW5lIERT SV9YRkVSX1RJTUVPVVRfTVMJCTEwMAogI2RlZmluZSBEU0lfUlhfRklGT19FTVBUWQkJMHgzMDgw MDAwMgoKLSNkZWZpbmUgRFNJX1dSSVRFKGRzaSwgcmVnLCB2YWwpCXdyaXRlbCgodmFsKSwgKGRz aSktPnJlZ19iYXNlICsgKHJlZykpCi0jZGVmaW5lIERTSV9SRUFEKGRzaSwgcmVnKQkJcmVhZGwo KGRzaSktPnJlZ19iYXNlICsgKHJlZykpCisjZGVmaW5lIFJFR19BRERSKGRzaSwgcmVnX2lkeCkJ CSgoZHNpKS0+cmVnX2Jhc2UgKyBcCisJCQkJCWRzaS0+ZHJpdmVyX2RhdGEtPnJlZ19vZnNbKHJl Z19pZHgpXSkKKyNkZWZpbmUgRFNJX1dSSVRFKGRzaSwgcmVnX2lkeCwgdmFsKQl3cml0ZWwoKHZh bCksIFwKKwkJCQkJUkVHX0FERFIoKGRzaSksIChyZWdfaWR4KSkpCisjZGVmaW5lIERTSV9SRUFE KGRzaSwgcmVnX2lkeCkJCXJlYWRsKFJFR19BRERSKChkc2kpLCAocmVnX2lkeCkpKQoKIGVudW0g ZXh5bm9zX2RzaV90cmFuc2Zlcl90eXBlIHsKIAlFWFlOT1NfRFNJX1RYLApAQCAtMjY0LDEwICsy MzUsMTUgQEAgc3RydWN0IGV4eW5vc19kc2lfdHJhbnNmZXIgewogI2RlZmluZSBEU0lNX1NUQVRF X0NNRF9MUE0JCUJJVCgyKQoKIHN0cnVjdCBleHlub3NfZHNpX2RyaXZlcl9kYXRhIHsKKwl1bnNp Z25lZCBpbnQgKnJlZ19vZnM7CiAJdW5zaWduZWQgaW50IHBsbHRtcl9yZWc7Ci0KIAl1bnNpZ25l ZCBpbnQgaGFzX2ZyZXFiYW5kOjE7CiAJdW5zaWduZWQgaW50IGhhc19jbGtsYW5lX3N0b3A6MTsK Kwl1bnNpZ25lZCBpbnQgbnVtX2Nsa3M7CisJdW5zaWduZWQgaW50IG1heF9mcmVxOworCXVuc2ln bmVkIGludCB3YWl0X2Zvcl9yZXNldDsKKwl1bnNpZ25lZCBpbnQgbnVtX2JpdHNfcmVzb2w7CisJ dW5zaWduZWQgaW50ICpyZWdfdmFsdWVzOwogfTsKCiBzdHJ1Y3QgZXh5bm9zX2RzaSB7CkBAIC0z MTIsMjUgKzI4OCwxMzMgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZXh5bm9zX2RzaSAqZGlzcGxh eV90b19kc2koc3RydWN0IGV4eW5vc19kcm1fZGlzcGxheSAqZCkKIAlyZXR1cm4gY29udGFpbmVy X29mKGQsIHN0cnVjdCBleHlub3NfZHNpLCBkaXNwbGF5KTsKIH0KCitlbnVtIHJlZ19pZHggewor CURTSU1fU1RBVFVTX1JFRywJLyogU3RhdHVzIHJlZ2lzdGVyICovCisJRFNJTV9TV1JTVF9SRUcs CQkvKiBTb2Z0d2FyZSByZXNldCByZWdpc3RlciAqLworCURTSU1fQ0xLQ1RSTF9SRUcsCS8qIENs b2NrIGNvbnRyb2wgcmVnaXN0ZXIgKi8KKwlEU0lNX1RJTUVPVVRfUkVHLAkvKiBUaW1lIG91dCBy ZWdpc3RlciAqLworCURTSU1fQ09ORklHX1JFRywJLyogQ29uZmlndXJhdGlvbiByZWdpc3RlciAq LworCURTSU1fRVNDTU9ERV9SRUcsCS8qIEVzY2FwZSBtb2RlIHJlZ2lzdGVyICovCisJRFNJTV9N RFJFU09MX1JFRywKKwlEU0lNX01WUE9SQ0hfUkVHLAkvKiBNYWluIGRpc3BsYXkgVnBvcmNoIHJl Z2lzdGVyICovCisJRFNJTV9NSFBPUkNIX1JFRywJLyogTWFpbiBkaXNwbGF5IEhwb3JjaCByZWdp c3RlciAqLworCURTSU1fTVNZTkNfUkVHLAkJLyogTWFpbiBkaXNwbGF5IHN5bmMgYXJlYSByZWdp c3RlciAqLworCURTSU1fSU5UU1JDX1JFRywJLyogSW50ZXJydXB0IHNvdXJjZSByZWdpc3RlciAq LworCURTSU1fSU5UTVNLX1JFRywJLyogSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIgKi8KKwlEU0lN X1BLVEhEUl9SRUcsCS8qIFBhY2tldCBIZWFkZXIgRklGTyByZWdpc3RlciAqLworCURTSU1fUEFZ TE9BRF9SRUcsCS8qIFBheWxvYWQgRklGTyByZWdpc3RlciAqLworCURTSU1fUlhGSUZPX1JFRywJ LyogUmVhZCBGSUZPIHJlZ2lzdGVyICovCisJRFNJTV9GSUZPQ1RSTF9SRUcsCS8qIEZJRk8gc3Rh dHVzIGFuZCBjb250cm9sIHJlZ2lzdGVyICovCisJRFNJTV9QTExDVFJMX1JFRywJLyogUExMIGNv bnRyb2wgcmVnaXN0ZXIgKi8KKwlEU0lNX1BIWUNUUkxfUkVHLAorCURTSU1fUEhZVElNSU5HX1JF RywKKwlEU0lNX1BIWVRJTUlORzFfUkVHLAorCURTSU1fUEhZVElNSU5HMl9SRUcsCisJTlVNX1JF R1MKK307CitzdGF0aWMgdW5zaWduZWQgaW50IGV4eW5vc19yZWdfb2ZzW10gPSB7CisJW0RTSU1f U1RBVFVTX1JFR10gPSAgMHgwMCwKKwlbRFNJTV9TV1JTVF9SRUddID0gIDB4MDQsCisJW0RTSU1f Q0xLQ1RSTF9SRUddID0gIDB4MDgsCisJW0RTSU1fVElNRU9VVF9SRUddID0gIDB4MGMsCisJW0RT SU1fQ09ORklHX1JFR10gPSAgMHgxMCwKKwlbRFNJTV9FU0NNT0RFX1JFR10gPSAgMHgxNCwKKwlb RFNJTV9NRFJFU09MX1JFR10gPSAgMHgxOCwKKwlbRFNJTV9NVlBPUkNIX1JFR10gPSAgMHgxYywK KwlbRFNJTV9NSFBPUkNIX1JFR10gPSAgMHgyMCwKKwlbRFNJTV9NU1lOQ19SRUddID0gIDB4MjQs CisJW0RTSU1fSU5UU1JDX1JFR10gPSAgMHgyYywKKwlbRFNJTV9JTlRNU0tfUkVHXSA9ICAweDMw LAorCVtEU0lNX1BLVEhEUl9SRUddID0gIDB4MzQsCisJW0RTSU1fUEFZTE9BRF9SRUddID0gIDB4 MzgsCisJW0RTSU1fUlhGSUZPX1JFR10gPSAgMHgzYywKKwlbRFNJTV9GSUZPQ1RSTF9SRUddID0g IDB4NDQsCisJW0RTSU1fUExMQ1RSTF9SRUddID0gIDB4NGMsCisJW0RTSU1fUEhZQ1RSTF9SRUdd ID0gIDB4NWMsCisJW0RTSU1fUEhZVElNSU5HX1JFR10gPSAgMHg2NCwKKwlbRFNJTV9QSFlUSU1J TkcxX1JFR10gPSAgMHg2OCwKKwlbRFNJTV9QSFlUSU1JTkcyX1JFR10gPSAgMHg2YywKK307CisK K2VudW0gcmVnX3ZhbHVlX2lkeCB7CisJUkVTRVRfVFlQRSwKKwlQTExfVElNRVIsCisJU1RPUF9T VEFURV9DTlQsCisJUEhZQ1RSTF9VTFBTX0VYSVQsCisJUEhZQ1RSTF9WUkVHX0xQLAorCVBIWUNU UkxfU0xFV19VUCwKKwlQSFlUSU1JTkdfTFBYLAorCVBIWVRJTUlOR19IU19FWElULAorCVBIWVRJ TUlOR19DTEtfUFJFUEFSRSwKKwlQSFlUSU1JTkdfQ0xLX1pFUk8sCisJUEhZVElNSU5HX0NMS19Q T1NULAorCVBIWVRJTUlOR19DTEtfVFJBSUwsCisJUEhZVElNSU5HX0hTX1BSRVBBUkUsCisJUEhZ VElNSU5HX0hTX1pFUk8sCisJUEhZVElNSU5HX0hTX1RSQUlMCit9OworCitzdGF0aWMgdW5zaWdu ZWQgaW50IHJlZ192YWx1ZXNbXSA9IHsKKwlbUkVTRVRfVFlQRV0gPSBEU0lNX1NXUlNULAorCVtQ TExfVElNRVJdID0gNTAwLAorCVtTVE9QX1NUQVRFX0NOVF0gPSAweGYsCisJW1BIWUNUUkxfVUxQ U19FWElUXSA9IERTSU1fUEhZQ1RSTF9VTFBTX0VYSVQoMHgwYWYpLAorCVtQSFlDVFJMX1ZSRUdf TFBdID0gMCwKKwlbUEhZQ1RSTF9TTEVXX1VQXSA9IDAsCisJW1BIWVRJTUlOR19MUFhdID0gRFNJ TV9QSFlUSU1JTkdfTFBYKDB4MDYpLAorCVtQSFlUSU1JTkdfSFNfRVhJVF0gPSBEU0lNX1BIWVRJ TUlOR19IU19FWElUKDB4MGIpLAorCVtQSFlUSU1JTkdfQ0xLX1BSRVBBUkVdID0gRFNJTV9QSFlU SU1JTkcxX0NMS19QUkVQQVJFKDB4MDcpLAorCVtQSFlUSU1JTkdfQ0xLX1pFUk9dID0gRFNJTV9Q SFlUSU1JTkcxX0NMS19aRVJPKDB4MjcpLAorCVtQSFlUSU1JTkdfQ0xLX1BPU1RdID0gRFNJTV9Q SFlUSU1JTkcxX0NMS19QT1NUKDB4MGQpLAorCVtQSFlUSU1JTkdfQ0xLX1RSQUlMXSA9IERTSU1f UEhZVElNSU5HMV9DTEtfVFJBSUwoMHgwOCksCisJW1BIWVRJTUlOR19IU19QUkVQQVJFXSA9IERT SU1fUEhZVElNSU5HMl9IU19QUkVQQVJFKDB4MDkpLAorCVtQSFlUSU1JTkdfSFNfWkVST10gPSBE U0lNX1BIWVRJTUlORzJfSFNfWkVSTygweDBkKSwKKwlbUEhZVElNSU5HX0hTX1RSQUlMXSA9IERT SU1fUEhZVElNSU5HMl9IU19UUkFJTCgweDBiKSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgZXh5bm9z X2RzaV9kcml2ZXJfZGF0YSBleHlub3MzX2RzaV9kcml2ZXJfZGF0YSA9IHsKKwkucmVnX29mcyA9 IGV4eW5vc19yZWdfb2ZzLAogCS5wbGx0bXJfcmVnID0gMHg1MCwKIAkuaGFzX2ZyZXFiYW5kID0g MSwKIAkuaGFzX2Nsa2xhbmVfc3RvcCA9IDEsCisJLm51bV9jbGtzID0gMiwKKwkubWF4X2ZyZXEg PSAxMDAwLAorCS53YWl0X2Zvcl9yZXNldCA9IDEsCisJLm51bV9iaXRzX3Jlc29sID0gMTEsCisJ LnJlZ192YWx1ZXMgPSByZWdfdmFsdWVzLAogfTsKCiBzdGF0aWMgc3RydWN0IGV4eW5vc19kc2lf ZHJpdmVyX2RhdGEgZXh5bm9zNF9kc2lfZHJpdmVyX2RhdGEgPSB7CisJLnJlZ19vZnMgPSBleHlu b3NfcmVnX29mcywKIAkucGxsdG1yX3JlZyA9IDB4NTAsCiAJLmhhc19mcmVxYmFuZCA9IDEsCiAJ Lmhhc19jbGtsYW5lX3N0b3AgPSAxLAorCS5udW1fY2xrcyA9IDIsCisJLm1heF9mcmVxID0gMTAw MCwKKwkud2FpdF9mb3JfcmVzZXQgPSAxLAorCS5udW1fYml0c19yZXNvbCA9IDExLAorCS5yZWdf dmFsdWVzID0gcmVnX3ZhbHVlcywKIH07Cgogc3RhdGljIHN0cnVjdCBleHlub3NfZHNpX2RyaXZl cl9kYXRhIGV4eW5vczQ0MTVfZHNpX2RyaXZlcl9kYXRhID0geworCS5yZWdfb2ZzID0gZXh5bm9z X3JlZ19vZnMsCiAJLnBsbHRtcl9yZWcgPSAweDU4LAogCS5oYXNfY2xrbGFuZV9zdG9wID0gMSwK KwkubnVtX2Nsa3MgPSAyLAorCS5tYXhfZnJlcSA9IDEwMDAsCisJLndhaXRfZm9yX3Jlc2V0ID0g MSwKKwkubnVtX2JpdHNfcmVzb2wgPSAxMSwKKwkucmVnX3ZhbHVlcyA9IHJlZ192YWx1ZXMsCiB9 OwoKIHN0YXRpYyBzdHJ1Y3QgZXh5bm9zX2RzaV9kcml2ZXJfZGF0YSBleHlub3M1X2RzaV9kcml2 ZXJfZGF0YSA9IHsKKwkucmVnX29mcyA9IGV4eW5vc19yZWdfb2ZzLAogCS5wbGx0bXJfcmVnID0g MHg1OCwKKwkubnVtX2Nsa3MgPSAyLAorCS5tYXhfZnJlcSA9IDEwMDAsCisJLndhaXRfZm9yX3Jl c2V0ID0gMSwKKwkubnVtX2JpdHNfcmVzb2wgPSAxMSwKKwkucmVnX3ZhbHVlcyA9IHJlZ192YWx1 ZXMsCiB9OwoKIHN0YXRpYyBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGV4eW5vc19kc2lfb2ZfbWF0Y2hb XSA9IHsKQEAgLTM2Nyw3ICs0NTEsNyBAQCBzdGF0aWMgdm9pZCBleHlub3NfZHNpX3Jlc2V0KHN0 cnVjdCBleHlub3NfZHNpICpkc2kpCiAJc3RydWN0IGV4eW5vc19kc2lfZHJpdmVyX2RhdGEgKmRy aXZlcl9kYXRhID0gZHNpLT5kcml2ZXJfZGF0YTsKCiAJcmVpbml0X2NvbXBsZXRpb24oJmRzaS0+ Y29tcGxldGVkKTsKLQlEU0lfV1JJVEUoZHNpLCBEU0lNX1NXUlNUX1JFRywgRFNJTV9TV1JTVCk7 CisJRFNJX1dSSVRFKGRzaSwgRFNJTV9TV1JTVF9SRUcsIGRyaXZlcl9kYXRhLT5yZWdfdmFsdWVz W1JFU0VUX1RZUEVdKTsKIH0KCiAjaWZuZGVmIE1IWgpAQCAtNDAxLDcgKzQ4NSw4IEBAIHN0YXRp YyB1bnNpZ25lZCBsb25nIGV4eW5vc19kc2lfcGxsX2ZpbmRfcG1zKHN0cnVjdCBleHlub3NfZHNp ICpkc2ksCgogCQkJdG1wID0gKHU2NClfbSAqIGZpbjsKIAkJCWRvX2Rpdih0bXAsIF9wKTsKLQkJ CWlmICh0bXAgPCA1MDAgKiBNSFogfHwgdG1wID4gMTAwMCAqIE1IWikKKwkJCWlmICh0bXAgPCA1 MDAgKiBNSFogfHwKKwkJCQkJdG1wID4gZHJpdmVyX2RhdGEtPm1heF9mcmVxICogTUhaKQogCQkJ CWNvbnRpbnVlOwoKIAkJCXRtcCA9ICh1NjQpX20gKiBmaW47CkBAIC00NDYsNyArNTMxLDggQEAg c3RhdGljIHVuc2lnbmVkIGxvbmcgZXh5bm9zX2RzaV9zZXRfcGxsKHN0cnVjdCBleHlub3NfZHNp ICpkc2ksCiAJfQogCWRldl9kYmcoZHNpLT5kZXYsICJQTEwgZnJlcSAlbHUsIChwICVkLCBtICVk LCBzICVkKVxuIiwgZm91dCwgcCwgbSwgcyk7CgotCXdyaXRlbCg1MDAsIGRzaS0+cmVnX2Jhc2Ug KyBkcml2ZXJfZGF0YS0+cGxsdG1yX3JlZyk7CisJd3JpdGVsKGRyaXZlcl9kYXRhLT5yZWdfdmFs dWVzW1BMTF9USU1FUl0sCisJCQlkc2ktPnJlZ19iYXNlICsgZHJpdmVyX2RhdGEtPnBsbHRtcl9y ZWcpOwoKIAlyZWcgPSBEU0lNX1BMTF9FTiB8IERTSU1fUExMX1AocCkgfCBEU0lNX1BMTF9NKG0p IHwgRFNJTV9QTExfUyhzKTsKCkBAIC01MjQsMTMgKzYxMCwxNSBAQCBzdGF0aWMgaW50IGV4eW5v c19kc2lfZW5hYmxlX2Nsb2NrKHN0cnVjdCBleHlub3NfZHNpICpkc2kpCiBzdGF0aWMgdm9pZCBl eHlub3NfZHNpX3NldF9waHlfY3RybChzdHJ1Y3QgZXh5bm9zX2RzaSAqZHNpKQogewogCXN0cnVj dCBleHlub3NfZHNpX2RyaXZlcl9kYXRhICpkcml2ZXJfZGF0YSA9IGRzaS0+ZHJpdmVyX2RhdGE7 CisJdW5zaWduZWQgaW50ICpyZWdfdmFsdWVzID0gZHJpdmVyX2RhdGEtPnJlZ192YWx1ZXM7CiAJ dTMyIHJlZzsKCiAJaWYgKGRyaXZlcl9kYXRhLT5oYXNfZnJlcWJhbmQpCiAJCXJldHVybjsKCiAJ LyogQiBELVBIWTogRC1QSFkgTWFzdGVyICYgU2xhdmUgQW5hbG9nIEJsb2NrIGNvbnRyb2wgKi8K LQlyZWcgPSBEU0lNX1BIWUNUUkxfVUxQU19FWElUKDB4MGFmKTsKKwlyZWcgPSByZWdfdmFsdWVz W1BIWUNUUkxfVUxQU19FWElUXSB8IHJlZ192YWx1ZXNbUEhZQ1RSTF9WUkVHX0xQXSB8CisJCXJl Z192YWx1ZXNbUEhZQ1RSTF9TTEVXX1VQXTsKIAlEU0lfV1JJVEUoZHNpLCBEU0lNX1BIWUNUUkxf UkVHLCByZWcpOwoKIAkvKgpAQCAtNTM4LDcgKzYyNiw3IEBAIHN0YXRpYyB2b2lkIGV4eW5vc19k c2lfc2V0X3BoeV9jdHJsKHN0cnVjdCBleHlub3NfZHNpICpkc2kpCiAJICogVCBIUy1FWElUOiBU aW1lIHRoYXQgdGhlIHRyYW5zbWl0dGVyIGRyaXZlcyBMUC0xMSBmb2xsb3dpbmcgYSBIUwogCSAq CWJ1cnN0CiAJICovCi0JcmVnID0gRFNJTV9QSFlUSU1JTkdfTFBYKDB4MDYpIHwgRFNJTV9QSFlU SU1JTkdfSFNfRVhJVCgweDBiKTsKKwlyZWcgPSByZWdfdmFsdWVzW1BIWVRJTUlOR19MUFhdIHwg cmVnX3ZhbHVlc1tQSFlUSU1JTkdfSFNfRVhJVF07CiAJRFNJX1dSSVRFKGRzaSwgRFNJTV9QSFlU SU1JTkdfUkVHLCByZWcpOwoKIAkvKgpAQCAtNTU0LDEwICs2NDIsMTEgQEAgc3RhdGljIHZvaWQg ZXh5bm9zX2RzaV9zZXRfcGh5X2N0cmwoc3RydWN0IGV4eW5vc19kc2kgKmRzaSkKIAkgKiBUIENM Sy1UUkFJTDogVGltZSB0aGF0IHRoZSB0cmFuc21pdHRlciBkcml2ZXMgdGhlIEhTLTAgc3RhdGUg YWZ0ZXIKIAkgKgl0aGUgbGFzdCBwYXlsb2FkIGNsb2NrIGJpdCBvZiBhIEhTIHRyYW5zbWlzc2lv biBidXJzdAogCSAqLwotCXJlZyA9IERTSU1fUEhZVElNSU5HMV9DTEtfUFJFUEFSRSgweDA3KSB8 Ci0JCQlEU0lNX1BIWVRJTUlORzFfQ0xLX1pFUk8oMHgyNykgfAotCQkJRFNJTV9QSFlUSU1JTkcx X0NMS19QT1NUKDB4MGQpIHwKLQkJCURTSU1fUEhZVElNSU5HMV9DTEtfVFJBSUwoMHgwOCk7CisJ cmVnID0gcmVnX3ZhbHVlc1tQSFlUSU1JTkdfQ0xLX1BSRVBBUkVdIHwKKwkJcmVnX3ZhbHVlc1tQ SFlUSU1JTkdfQ0xLX1pFUk9dIHwKKwkJcmVnX3ZhbHVlc1tQSFlUSU1JTkdfQ0xLX1BPU1RdIHwK KwkJcmVnX3ZhbHVlc1tQSFlUSU1JTkdfQ0xLX1RSQUlMXTsKKwogCURTSV9XUklURShkc2ksIERT SU1fUEhZVElNSU5HMV9SRUcsIHJlZyk7CgogCS8qCkBAIC01NjksOCArNjU4LDggQEAgc3RhdGlj IHZvaWQgZXh5bm9zX2RzaV9zZXRfcGh5X2N0cmwoc3RydWN0IGV4eW5vc19kc2kgKmRzaSkKIAkg KiBUIEhTLVRSQUlMOiBUaW1lIHRoYXQgdGhlIHRyYW5zbWl0dGVyIGRyaXZlcyB0aGUgZmxpcHBl ZCBkaWZmZXJlbnRpYWwKIAkgKglzdGF0ZSBhZnRlciBsYXN0IHBheWxvYWQgZGF0YSBiaXQgb2Yg YSBIUyB0cmFuc21pc3Npb24gYnVyc3QKIAkgKi8KLQlyZWcgPSBEU0lNX1BIWVRJTUlORzJfSFNf UFJFUEFSRSgweDA5KSB8IERTSU1fUEhZVElNSU5HMl9IU19aRVJPKDB4MGQpIHwKLQkJCURTSU1f UEhZVElNSU5HMl9IU19UUkFJTCgweDBiKTsKKwlyZWcgPSByZWdfdmFsdWVzW1BIWVRJTUlOR19I U19QUkVQQVJFXSB8IHJlZ192YWx1ZXNbUEhZVElNSU5HX0hTX1pFUk9dIHwKKwkJcmVnX3ZhbHVl c1tQSFlUSU1JTkdfSFNfVFJBSUxdOwogCURTSV9XUklURShkc2ksIERTSU1fUEhZVElNSU5HMl9S RUcsIHJlZyk7CiB9CgpAQCAtNzAxLDcgKzc5MCw3IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RzaV9p bml0X2xpbmsoc3RydWN0IGV4eW5vc19kc2kgKmRzaSkKCiAJcmVnID0gRFNJX1JFQUQoZHNpLCBE U0lNX0VTQ01PREVfUkVHKTsKIAlyZWcgJj0gfkRTSU1fU1RPUF9TVEFURV9DTlRfTUFTSzsKLQly ZWcgfD0gRFNJTV9TVE9QX1NUQVRFX0NOVCgweGYpOworCXJlZyB8PSBEU0lNX1NUT1BfU1RBVEVf Q05UKGRyaXZlcl9kYXRhLT5yZWdfdmFsdWVzW1NUT1BfU1RBVEVfQ05UXSk7CiAJRFNJX1dSSVRF KGRzaSwgRFNJTV9FU0NNT0RFX1JFRywgcmVnKTsKCiAJcmVnID0gRFNJTV9CVEFfVElNRU9VVCgw eGZmKSB8IERTSU1fTFBEUl9USU1FT1VUKDB4ZmZmZik7CkBAIC03MTMsNiArODAyLDcgQEAgc3Rh dGljIGludCBleHlub3NfZHNpX2luaXRfbGluayhzdHJ1Y3QgZXh5bm9zX2RzaSAqZHNpKQogc3Rh dGljIHZvaWQgZXh5bm9zX2RzaV9zZXRfZGlzcGxheV9tb2RlKHN0cnVjdCBleHlub3NfZHNpICpk c2kpCiB7CiAJc3RydWN0IHZpZGVvbW9kZSAqdm0gPSAmZHNpLT52bTsKKwl1bnNpZ25lZCBpbnQg bnVtX2JpdHNfcmVzb2wgPSBkc2ktPmRyaXZlcl9kYXRhLT5udW1fYml0c19yZXNvbDsKIAl1MzIg cmVnOwoKIAlpZiAoZHNpLT5tb2RlX2ZsYWdzICYgTUlQSV9EU0lfTU9ERV9WSURFTykgewpAQCAt NzI5LDggKzgxOSw5IEBAIHN0YXRpYyB2b2lkIGV4eW5vc19kc2lfc2V0X2Rpc3BsYXlfbW9kZShz dHJ1Y3QgZXh5bm9zX2RzaSAqZHNpKQogCQkJfCBEU0lNX01BSU5fSFNBKHZtLT5oc3luY19sZW4p OwogCQlEU0lfV1JJVEUoZHNpLCBEU0lNX01TWU5DX1JFRywgcmVnKTsKIAl9CisJcmVnID0gIERT SU1fTUFJTl9IUkVTT0wodm0tPmhhY3RpdmUsIG51bV9iaXRzX3Jlc29sKSB8CisJCURTSU1fTUFJ Tl9WUkVTT0wodm0tPnZhY3RpdmUsIG51bV9iaXRzX3Jlc29sKTsKCi0JcmVnID0gRFNJTV9NQUlO X0hSRVNPTCh2bS0+aGFjdGl2ZSkgfCBEU0lNX01BSU5fVlJFU09MKHZtLT52YWN0aXZlKTsKIAlE U0lfV1JJVEUoZHNpLCBEU0lNX01EUkVTT0xfUkVHLCByZWcpOwoKIAlkZXZfZGJnKGRzaS0+ZGV2 LCAiTENEIHNpemUgPSAlZHglZFxuIiwgdm0tPmhhY3RpdmUsIHZtLT52YWN0aXZlKTsKQEAgLTEx MzcsMTAgKzEyMjgsMTMgQEAgc3RhdGljIHZvaWQgZXh5bm9zX2RzaV9kaXNhYmxlX2lycShzdHJ1 Y3QgZXh5bm9zX2RzaSAqZHNpKQoKIHN0YXRpYyBpbnQgZXh5bm9zX2RzaV9pbml0KHN0cnVjdCBl eHlub3NfZHNpICpkc2kpCiB7CisJc3RydWN0IGV4eW5vc19kc2lfZHJpdmVyX2RhdGEgKmRyaXZl cl9kYXRhID0gZHNpLT5kcml2ZXJfZGF0YTsKKwogCWV4eW5vc19kc2lfcmVzZXQoZHNpKTsKIAll eHlub3NfZHNpX2VuYWJsZV9pcnEoZHNpKTsKIAlleHlub3NfZHNpX2VuYWJsZV9jbG9jayhkc2kp OwotCWV4eW5vc19kc2lfd2FpdF9mb3JfcmVzZXQoZHNpKTsKKwlpZiAoZHJpdmVyX2RhdGEtPndh aXRfZm9yX3Jlc2V0KQorCQlleHlub3NfZHNpX3dhaXRfZm9yX3Jlc2V0KGRzaSk7CiAJZXh5bm9z X2RzaV9zZXRfcGh5X2N0cmwoZHNpKTsKIAlleHlub3NfZHNpX2luaXRfbGluayhkc2kpOwoKLS0K MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==