From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philippe CORNU Subject: [PATCH v3 2/3] drm/bridge/synopsys: dsi: Register list clean up Date: Tue, 1 Aug 2017 15:23:07 +0200 Message-ID: <1501593788-21036-3-git-send-email-philippe.cornu@st.com> References: <1501593788-21036-1-git-send-email-philippe.cornu@st.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id E7D9E6F9C9 for ; Tue, 1 Aug 2017 13:23:40 +0000 (UTC) In-Reply-To: <1501593788-21036-1-git-send-email-philippe.cornu@st.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja , Andrzej Hajda , Laurent Pinchart , David Airlie , Philippe Cornu , Philipp Zabel , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Alexandre Torgue , Fabien Dessenne , Yannick Fertre , Maxime Coquelin , Mickael Reulier , Vincent Abriou , Gabriel Fernandez , Ludovic Barre List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBjbGVhbnMgdXAgdGhlIFN5bm9wc3lzIG1pcGkgZHNpIHJlZ2lzdGVyIGxpc3Q6 Ci0gcmVuYW1lIHJlZ2lzdGVycyBhY2NvcmRpbmcgdG8gdGhlIFN5bm9wc3lzIGRvY3VtZW50YXRp b24KICAoMS4zMCAmIDEuMzEpCi0gZml4IHR5cG9zCi0gcmUtb3JkZXIgcmVnaXN0ZXJzIGZvciBh IGJldHRlciBjb2hlcmVuY3kKClNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIENPUk5VIDxwaGlsaXBw ZS5jb3JudUBzdC5jb20+ClJldmlld2VkLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBp bmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5v cHN5cy9kdy1taXBpLWRzaS5jIHwgOTIgKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5jIGIvZHJpdmVy cy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5jCmluZGV4IDYzYzdhMDEuLjc4 MTM0MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlw aS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNp LmMKQEAgLTMwLDE5ICszMCwyMCBAQAogI2luY2x1ZGUgPHZpZGVvL21pcGlfZGlzcGxheS5oPgog CiAjZGVmaW5lIERTSV9WRVJTSU9OCQkJMHgwMAorCiAjZGVmaW5lIERTSV9QV1JfVVAJCQkweDA0 CiAjZGVmaW5lIFJFU0VUCQkJCTAKICNkZWZpbmUgUE9XRVJVUAkJCQlCSVQoMCkKIAogI2RlZmlu ZSBEU0lfQ0xLTUdSX0NGRwkJCTB4MDgKLSNkZWZpbmUgVE9fQ0xLX0RJVklEU0lPTihkaXYpCQko KChkaXYpICYgMHhmZikgPDwgOCkKLSNkZWZpbmUgVFhfRVNDX0NMS19ESVZJRFNJT04oZGl2KQko KChkaXYpICYgMHhmZikgPDwgMCkKKyNkZWZpbmUgVE9fQ0xLX0RJVklTSU9OKGRpdikJCSgoKGRp dikgJiAweGZmKSA8PCA4KQorI2RlZmluZSBUWF9FU0NfQ0xLX0RJVklTSU9OKGRpdikJKChkaXYp ICYgMHhmZikKIAogI2RlZmluZSBEU0lfRFBJX1ZDSUQJCQkweDBjCi0jZGVmaW5lIERQSV9WSUQo dmlkKQkJCSgoKHZpZCkgJiAweDMpIDw8IDApCisjZGVmaW5lIERQSV9WQ0lEKHZjaWQpCQkJKCh2 Y2lkKSAmIDB4MykKIAogI2RlZmluZSBEU0lfRFBJX0NPTE9SX0NPRElORwkJMHgxMAotI2RlZmlu ZSBFTjE4X0xPT1NFTFkJCQlCSVQoOCkKKyNkZWZpbmUgTE9PU0VMWTE4X0VOCQkJQklUKDgpCiAj ZGVmaW5lIERQSV9DT0xPUl9DT0RJTkdfMTZCSVRfMQkweDAKICNkZWZpbmUgRFBJX0NPTE9SX0NP RElOR18xNkJJVF8yCTB4MQogI2RlZmluZSBEUElfQ09MT1JfQ09ESU5HXzE2QklUXzMJMHgyCkBA IC02MSwyMiArNjIsMjUgQEAKICNkZWZpbmUgT1VUVkFDVF9MUENNRF9USU1FKHApCQkoKChwKSAm IDB4ZmYpIDw8IDE2KQogI2RlZmluZSBJTlZBQ1RfTFBDTURfVElNRShwKQkJKChwKSAmIDB4ZmYp CiAKKyNkZWZpbmUgRFNJX0RCSV9WQ0lECQkJMHgxYwogI2RlZmluZSBEU0lfREJJX0NGRwkJCTB4 MjAKKyNkZWZpbmUgRFNJX0RCSV9QQVJUSVRJT05JTkdfRU4JCTB4MjQKICNkZWZpbmUgRFNJX0RC SV9DTURTSVpFCQkJMHgyOAogCiAjZGVmaW5lIERTSV9QQ0tIRExfQ0ZHCQkJMHgyYwotI2RlZmlu ZSBFTl9DUkNfUlgJCQlCSVQoNCkKLSNkZWZpbmUgRU5fRUNDX1JYCQkJQklUKDMpCi0jZGVmaW5l IEVOX0JUQQkJCQlCSVQoMikKLSNkZWZpbmUgRU5fRU9UUF9SWAkJCUJJVCgxKQotI2RlZmluZSBF Tl9FT1RQX1RYCQkJQklUKDApCisjZGVmaW5lIENSQ19SWF9FTgkJCUJJVCg0KQorI2RlZmluZSBF Q0NfUlhfRU4JCQlCSVQoMykKKyNkZWZpbmUgQlRBX0VOCQkJCUJJVCgyKQorI2RlZmluZSBFT1RQ X1JYX0VOCQkJQklUKDEpCisjZGVmaW5lIEVPVFBfVFhfRU4JCQlCSVQoMCkKKworI2RlZmluZSBE U0lfR0VOX1ZDSUQJCQkweDMwCiAKICNkZWZpbmUgRFNJX01PREVfQ0ZHCQkJMHgzNAogI2RlZmlu ZSBFTkFCTEVfVklERU9fTU9ERQkJMAogI2RlZmluZSBFTkFCTEVfQ01EX01PREUJCQlCSVQoMCkK IAogI2RlZmluZSBEU0lfVklEX01PREVfQ0ZHCQkweDM4Ci0jZGVmaW5lIEZSQU1FX0JUQV9BQ0sJ CQlCSVQoMTQpCiAjZGVmaW5lIEVOQUJMRV9MT1dfUE9XRVIJCSgweDNmIDw8IDgpCiAjZGVmaW5l IEVOQUJMRV9MT1dfUE9XRVJfTUFTSwkJKDB4M2YgPDwgOCkKICNkZWZpbmUgVklEX01PREVfVFlQ RV9OT05fQlVSU1RfU1lOQ19QVUxTRVMJMHgwCkBAIC04NSw4ICs4OSwxMyBAQAogI2RlZmluZSBW SURfTU9ERV9UWVBFX01BU0sJCQkweDMKIAogI2RlZmluZSBEU0lfVklEX1BLVF9TSVpFCQkweDNj Ci0jZGVmaW5lIFZJRF9QS1RfU0laRShwKQkJCSgoKHApICYgMHgzZmZmKSA8PCAwKQotI2RlZmlu ZSBWSURfUEtUX01BWF9TSVpFCQkweDNmZmYKKyNkZWZpbmUgVklEX1BLVF9TSVpFKHApCQkJKChw KSAmIDB4M2ZmZikKKworI2RlZmluZSBEU0lfVklEX05VTV9DSFVOS1MJCTB4NDAKKyNkZWZpbmUg VklEX05VTV9DSFVOS1MoYykJCSgoYykgJiAweDFmZmYpCisKKyNkZWZpbmUgRFNJX1ZJRF9OVUxM X1NJWkUJCTB4NDQKKyNkZWZpbmUgVklEX05VTExfU0laRShiKQkJKChiKSAmIDB4MWZmZikKIAog I2RlZmluZSBEU0lfVklEX0hTQV9USU1FCQkweDQ4CiAjZGVmaW5lIERTSV9WSURfSEJQX1RJTUUJ CTB4NGMKQEAgLTk1LDYgKzEwNCw4IEBACiAjZGVmaW5lIERTSV9WSURfVkJQX0xJTkVTCQkweDU4 CiAjZGVmaW5lIERTSV9WSURfVkZQX0xJTkVTCQkweDVjCiAjZGVmaW5lIERTSV9WSURfVkFDVElW RV9MSU5FUwkJMHg2MAorI2RlZmluZSBEU0lfRURQSV9DTURfU0laRQkJMHg2NAorCiAjZGVmaW5l IERTSV9DTURfTU9ERV9DRkcJCTB4NjgKICNkZWZpbmUgTUFYX1JEX1BLVF9TSVpFX0xQCQlCSVQo MjQpCiAjZGVmaW5lIERDU19MV19UWF9MUAkJCUJJVCgxOSkKQEAgLTEwOCw4ICsxMTksOCBAQAog I2RlZmluZSBHRU5fU1dfMlBfVFhfTFAJCQlCSVQoMTApCiAjZGVmaW5lIEdFTl9TV18xUF9UWF9M UAkJCUJJVCg5KQogI2RlZmluZSBHRU5fU1dfMFBfVFhfTFAJCQlCSVQoOCkKLSNkZWZpbmUgRU5f QUNLX1JRU1QJCQlCSVQoMSkKLSNkZWZpbmUgRU5fVEVBUl9GWAkJCUJJVCgwKQorI2RlZmluZSBB Q0tfUlFTVF9FTgkJCUJJVCgxKQorI2RlZmluZSBURUFSX0ZYX0VOCQkJQklUKDApCiAKICNkZWZp bmUgQ01EX01PREVfQUxMX0xQCQkJKE1BWF9SRF9QS1RfU0laRV9MUCB8IFwKIAkJCQkJIERDU19M V19UWF9MUCB8IFwKQEAgLTEyNSwyNyArMTM2LDMxIEBACiAJCQkJCSBHRU5fU1dfMFBfVFhfTFAp CiAKICNkZWZpbmUgRFNJX0dFTl9IRFIJCQkweDZjCisvKiBUT0RPIFRoZXNlIDIgZGVmaW5lcyB3 aWxsIGJlIHJld29ya2VkIHRoYW5rcyB0byBtaXBpX2RzaV9jcmVhdGVfcGFja2V0KCkgKi8KICNk ZWZpbmUgR0VOX0hEQVRBKGRhdGEpCQkJKCgoZGF0YSkgJiAweGZmZmYpIDw8IDgpCi0jZGVmaW5l IEdFTl9IREFUQV9NQVNLCQkJKDB4ZmZmZiA8PCA4KQogI2RlZmluZSBHRU5fSFRZUEUodHlwZSkJ CQkoKCh0eXBlKSAmIDB4ZmYpIDw8IDApCi0jZGVmaW5lIEdFTl9IVFlQRV9NQVNLCQkJMHhmZgog CiAjZGVmaW5lIERTSV9HRU5fUExEX0RBVEEJCTB4NzAKIAogI2RlZmluZSBEU0lfQ01EX1BLVF9T VEFUVVMJCTB4NzQKLSNkZWZpbmUgR0VOX0NNRF9FTVBUWQkJCUJJVCgwKQotI2RlZmluZSBHRU5f Q01EX0ZVTEwJCQlCSVQoMSkKLSNkZWZpbmUgR0VOX1BMRF9XX0VNUFRZCQkJQklUKDIpCi0jZGVm aW5lIEdFTl9QTERfV19GVUxMCQkJQklUKDMpCi0jZGVmaW5lIEdFTl9QTERfUl9FTVBUWQkJCUJJ VCg0KQotI2RlZmluZSBHRU5fUExEX1JfRlVMTAkJCUJJVCg1KQogI2RlZmluZSBHRU5fUkRfQ01E X0JVU1kJCQlCSVQoNikKKyNkZWZpbmUgR0VOX1BMRF9SX0ZVTEwJCQlCSVQoNSkKKyNkZWZpbmUg R0VOX1BMRF9SX0VNUFRZCQkJQklUKDQpCisjZGVmaW5lIEdFTl9QTERfV19GVUxMCQkJQklUKDMp CisjZGVmaW5lIEdFTl9QTERfV19FTVBUWQkJCUJJVCgyKQorI2RlZmluZSBHRU5fQ01EX0ZVTEwJ CQlCSVQoMSkKKyNkZWZpbmUgR0VOX0NNRF9FTVBUWQkJCUJJVCgwKQogCiAjZGVmaW5lIERTSV9U T19DTlRfQ0ZHCQkJMHg3OAogI2RlZmluZSBIU1RYX1RPX0NOVChwKQkJCSgoKHApICYgMHhmZmZm KSA8PCAxNikKICNkZWZpbmUgTFBSWF9UT19DTlQocCkJCQkoKHApICYgMHhmZmZmKQogCisjZGVm aW5lIERTSV9IU19SRF9UT19DTlQJCTB4N2MKKyNkZWZpbmUgRFNJX0xQX1JEX1RPX0NOVAkJMHg4 MAorI2RlZmluZSBEU0lfSFNfV1JfVE9fQ05UCQkweDg0CisjZGVmaW5lIERTSV9MUF9XUl9UT19D TlQJCTB4ODgKICNkZWZpbmUgRFNJX0JUQV9UT19DTlQJCQkweDhjCisKICNkZWZpbmUgRFNJX0xQ Q0xLX0NUUkwJCQkweDk0CiAjZGVmaW5lIEFVVE9fQ0xLTEFORV9DVFJMCQlCSVQoMSkKICNkZWZp bmUgUEhZX1RYUkVRVUVTVENMS0hTCQlCSVQoMCkKQEAgLTE1NCw2ICsxNjksNyBAQAogI2RlZmlu ZSBQSFlfQ0xLSFMyTFBfVElNRShsYmNjKQkJKCgobGJjYykgJiAweDNmZikgPDwgMTYpCiAjZGVm aW5lIFBIWV9DTEtMUDJIU19USU1FKGxiY2MpCQkoKGxiY2MpICYgMHgzZmYpCiAKKy8qIFRPRE8g TmV4dCByZWdpc3RlciBpcyBzbGlnaHRseSBkaWZmZXJlbnQgYmV0d2VlbiAxLjMwICYgMS4zMSBJ UCB2ZXJzaW9uICovCiAjZGVmaW5lIERTSV9QSFlfVE1SX0NGRwkJCTB4OWMKICNkZWZpbmUgUEhZ X0hTMkxQX1RJTUUobGJjYykJCSgoKGxiY2MpICYgMHhmZikgPDwgMjQpCiAjZGVmaW5lIFBIWV9M UDJIU19USU1FKGxiY2MpCQkoKChsYmNjKSAmIDB4ZmYpIDw8IDE2KQpAQCAtMTcwLDEyICsxODYs MTUgQEAKICNkZWZpbmUgUEhZX1VOU0hVVERPV05aCQkJQklUKDApCiAKICNkZWZpbmUgRFNJX1BI WV9JRl9DRkcJCQkweGE0Ci0jZGVmaW5lIE5fTEFORVMobikJCQkoKCgobikgLSAxKSAmIDB4Mykg PDwgMCkKICNkZWZpbmUgUEhZX1NUT1BfV0FJVF9USU1FKGN5Y2xlKQkoKChjeWNsZSkgJiAweGZm KSA8PCA4KQorI2RlZmluZSBOX0xBTkVTKG4pCQkJKCgobikgLSAxKSAmIDB4MykKKworI2RlZmlu ZSBEU0lfUEhZX1VMUFNfQ1RSTAkJMHhhOAorI2RlZmluZSBEU0lfUEhZX1RYX1RSSUdHRVJTCQkw eGFjCiAKICNkZWZpbmUgRFNJX1BIWV9TVEFUVVMJCQkweGIwCi0jZGVmaW5lIExPQ0sJCQkJQklU KDApCi0jZGVmaW5lIFNUT1BfU1RBVEVfQ0xLX0xBTkUJCUJJVCgyKQorI2RlZmluZSBQSFlfU1RP UF9TVEFURV9DTEtfTEFORQkJQklUKDIpCisjZGVmaW5lIFBIWV9MT0NLCQkJQklUKDApCiAKICNk ZWZpbmUgRFNJX1BIWV9UU1RfQ1RSTDAJCTB4YjQKICNkZWZpbmUgUEhZX1RFU1RDTEsJCQlCSVQo MSkKQEAgLTE4NywxMiArMjA2LDEzIEBACiAjZGVmaW5lIFBIWV9URVNURU4JCQlCSVQoMTYpCiAj ZGVmaW5lIFBIWV9VTlRFU1RFTgkJCTAKICNkZWZpbmUgUEhZX1RFU1RET1VUKG4pCQkJKCgobikg JiAweGZmKSA8PCA4KQotI2RlZmluZSBQSFlfVEVTVERJTihuKQkJCSgoKG4pICYgMHhmZikgPDwg MCkKKyNkZWZpbmUgUEhZX1RFU1RESU4obikJCQkoKG4pICYgMHhmZikKIAogI2RlZmluZSBEU0lf SU5UX1NUMAkJCTB4YmMKICNkZWZpbmUgRFNJX0lOVF9TVDEJCQkweGMwCiAjZGVmaW5lIERTSV9J TlRfTVNLMAkJCTB4YzQKICNkZWZpbmUgRFNJX0lOVF9NU0sxCQkJMHhjOAorI2RlZmluZSBEU0lf UEhZX1RNUl9SRF9DRkcJCTB4ZjQKIAogI2RlZmluZSBQSFlfU1RBVFVTX1RJTUVPVVRfVVMJCTEw MDAwCiAjZGVmaW5lIENNRF9QS1RfU1RBVFVTX1RJTUVPVVRfVVMJMjAwMDAKQEAgLTMwNyw3ICsz MjcsNyBAQCBzdGF0aWMgdm9pZCBkd19taXBpX21lc3NhZ2VfY29uZmlnKHN0cnVjdCBkd19taXBp X2RzaSAqZHNpLAogCXUzMiB2YWwgPSAwOwogCiAJaWYgKG1zZy0+ZmxhZ3MgJiBNSVBJX0RTSV9N U0dfUkVRX0FDSykKLQkJdmFsIHw9IEVOX0FDS19SUVNUOworCQl2YWwgfD0gQUNLX1JRU1RfRU47 CiAJaWYgKGxwbSkKIAkJdmFsIHw9IENNRF9NT0RFX0FMTF9MUDsKIApAQCAtNTA2LDggKzUyNiw4 IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2luaXQoc3RydWN0IGR3X21pcGlfZHNpICpkc2kp CiAJICogdGltZW91dCBjbG9jayBkaXZpc2lvbiBzaG91bGQgYmUgY29tcHV0ZWQgd2l0aCB0aGUK IAkgKiBoaWdoIHNwZWVkIHRyYW5zbWlzc2lvbiBjb3VudGVyIHRpbWVvdXQgYW5kIGJ5dGUgbGFu ZS4uLgogCSAqLwotCWRzaV93cml0ZShkc2ksIERTSV9DTEtNR1JfQ0ZHLCBUT19DTEtfRElWSURT SU9OKDEwKSB8Ci0JCSAgVFhfRVNDX0NMS19ESVZJRFNJT04oZXNjX2Nsa19kaXZpc2lvbikpOwor CWRzaV93cml0ZShkc2ksIERTSV9DTEtNR1JfQ0ZHLCBUT19DTEtfRElWSVNJT04oMTApIHwKKwkJ ICBUWF9FU0NfQ0xLX0RJVklTSU9OKGVzY19jbGtfZGl2aXNpb24pKTsKIH0KIAogc3RhdGljIHZv aWQgZHdfbWlwaV9kc2lfZHBpX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKQEAgLTUy MCw3ICs1NDAsNyBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9kcGlfY29uZmlnKHN0cnVjdCBk d19taXBpX2RzaSAqZHNpLAogCQljb2xvciA9IERQSV9DT0xPUl9DT0RJTkdfMjRCSVQ7CiAJCWJy ZWFrOwogCWNhc2UgTUlQSV9EU0lfRk1UX1JHQjY2NjoKLQkJY29sb3IgPSBEUElfQ09MT1JfQ09E SU5HXzE4QklUXzIgfCBFTjE4X0xPT1NFTFk7CisJCWNvbG9yID0gRFBJX0NPTE9SX0NPRElOR18x OEJJVF8yIHwgTE9PU0VMWTE4X0VOOwogCQlicmVhazsKIAljYXNlIE1JUElfRFNJX0ZNVF9SR0I2 NjZfUEFDS0VEOgogCQljb2xvciA9IERQSV9DT0xPUl9DT0RJTkdfMThCSVRfMTsKQEAgLTUzNSw3 ICs1NTUsNyBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9kcGlfY29uZmlnKHN0cnVjdCBkd19t aXBpX2RzaSAqZHNpLAogCWlmIChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfTkhTWU5DKQog CQl2YWwgfD0gSFNZTkNfQUNUSVZFX0xPVzsKIAotCWRzaV93cml0ZShkc2ksIERTSV9EUElfVkNJ RCwgRFBJX1ZJRChkc2ktPmNoYW5uZWwpKTsKKwlkc2lfd3JpdGUoZHNpLCBEU0lfRFBJX1ZDSUQs IERQSV9WQ0lEKGRzaS0+Y2hhbm5lbCkpOwogCWRzaV93cml0ZShkc2ksIERTSV9EUElfQ09MT1Jf Q09ESU5HLCBjb2xvcik7CiAJZHNpX3dyaXRlKGRzaSwgRFNJX0RQSV9DRkdfUE9MLCB2YWwpOwog CS8qCkBAIC01NTAsNyArNTcwLDcgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZHBpX2NvbmZp ZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKIAogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfcGFj a2V0X2hhbmRsZXJfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQogewotCWRzaV93cml0 ZShkc2ksIERTSV9QQ0tIRExfQ0ZHLCBFTl9DUkNfUlggfCBFTl9FQ0NfUlggfCBFTl9CVEEpOwor CWRzaV93cml0ZShkc2ksIERTSV9QQ0tIRExfQ0ZHLCBDUkNfUlhfRU4gfCBFQ0NfUlhfRU4gfCBC VEFfRU4pOwogfQogCiBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV92aWRlb19wYWNrZXRfY29uZmln KHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLApAQCAtNTcxLDcgKzU5MSw3IEBAIHN0YXRpYyB2b2lk IGR3X21pcGlfZHNpX2NvbW1hbmRfbW9kZV9jb25maWcoc3RydWN0IGR3X21pcGlfZHNpICpkc2kp CiAJLyoKIAkgKiBUT0RPIGR3IGRydiBpbXByb3ZlbWVudHMKIAkgKiBjb21wdXRlIGhpZ2ggc3Bl ZWQgdHJhbnNtaXNzaW9uIGNvdW50ZXIgdGltZW91dCBhY2NvcmRpbmcKLQkgKiB0byB0aGUgdGlt ZW91dCBjbG9jayBkaXZpc2lvbiAoVE9fQ0xLX0RJVklEU0lPTikgYW5kIGJ5dGUgbGFuZS4uLgor CSAqIHRvIHRoZSB0aW1lb3V0IGNsb2NrIGRpdmlzaW9uIChUT19DTEtfRElWSVNJT04pIGFuZCBi eXRlIGxhbmUuLi4KIAkgKi8KIAlkc2lfd3JpdGUoZHNpLCBEU0lfVE9fQ05UX0NGRywgSFNUWF9U T19DTlQoMTAwMCkgfCBMUFJYX1RPX0NOVCgxMDAwKSk7CiAJLyoKQEAgLTY4NCwxMyArNzA0LDEz IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2RwaHlfZW5hYmxlKHN0cnVjdCBkd19taXBpX2Rz aSAqZHNpKQogCWRzaV93cml0ZShkc2ksIERTSV9QSFlfUlNUWiwgUEhZX0VORk9SQ0VQTEwgfCBQ SFlfRU5BQkxFQ0xLIHwKIAkJICBQSFlfVU5SU1RaIHwgUEhZX1VOU0hVVERPV05aKTsKIAotCXJl dCA9IHJlYWRsX3BvbGxfdGltZW91dChkc2ktPmJhc2UgKyBEU0lfUEhZX1NUQVRVUywKLQkJCQkg dmFsLCB2YWwgJiBMT0NLLCAxMDAwLCBQSFlfU1RBVFVTX1RJTUVPVVRfVVMpOworCXJldCA9IHJl YWRsX3BvbGxfdGltZW91dChkc2ktPmJhc2UgKyBEU0lfUEhZX1NUQVRVUywgdmFsLAorCQkJCSB2 YWwgJiBQSFlfTE9DSywgMTAwMCwgUEhZX1NUQVRVU19USU1FT1VUX1VTKTsKIAlpZiAocmV0IDwg MCkKIAkJRFJNX0RFQlVHX0RSSVZFUigiZmFpbGVkIHRvIHdhaXQgcGh5IGxvY2sgc3RhdGVcbiIp OwogCiAJcmV0ID0gcmVhZGxfcG9sbF90aW1lb3V0KGRzaS0+YmFzZSArIERTSV9QSFlfU1RBVFVT LAotCQkJCSB2YWwsIHZhbCAmIFNUT1BfU1RBVEVfQ0xLX0xBTkUsIDEwMDAsCisJCQkJIHZhbCwg dmFsICYgUEhZX1NUT1BfU1RBVEVfQ0xLX0xBTkUsIDEwMDAsCiAJCQkJIFBIWV9TVEFUVVNfVElN RU9VVF9VUyk7CiAJaWYgKHJldCA8IDApCiAJCURSTV9ERUJVR19EUklWRVIoImZhaWxlZCB0byB3 YWl0IHBoeSBjbGsgbGFuZSBzdG9wIHN0YXRlXG4iKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK