From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sam Ravnborg Subject: [PATCH v1 07/19] drm/panel: ilitek: use DRM_DEV* Date: Thu, 31 Jan 2019 20:26:07 +0100 Message-ID: <20190131192619.9763-8-sam@ravnborg.org> References: <20190131192619.9763-1-sam@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lj1-x242.google.com (mail-lj1-x242.google.com [IPv6:2a00:1450:4864:20::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DC8A6ED48 for ; Thu, 31 Jan 2019 19:26:43 +0000 (UTC) Received: by mail-lj1-x242.google.com with SMTP id l15-v6so3662322lja.9 for ; Thu, 31 Jan 2019 11:26:42 -0800 (PST) In-Reply-To: <20190131192619.9763-1-sam@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org Cc: Stefan Mavrodiev , David Airlie , linux-kernel@vger.kernel.org, Sam Ravnborg List-Id: dri-devel@lists.freedesktop.org SW50cm9kdWNlIHVzZSBvZiBEUk1fREVWKiBmb3IgbG9nZ2luZy4KVGhpcyBtYWtlcyBsb2dnaW5n IGluIHRoZSBkcm0gc3Vic3lzdGVtIG1vcmUgY29uc2lzdGVudC4KClNpZ25lZC1vZmYtYnk6IFNh bSBSYXZuYm9yZyA8c2FtQHJhdm5ib3JnLm9yZz4KQ2M6IFRoaWVycnkgUmVkaW5nIDx0aGllcnJ5 LnJlZGluZ0BnbWFpbC5jb20+CkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRAbGludXguaWU+CkNj OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMgIHwgOTMgKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTk4ODFjLmMgfCAxNCAr Ky0tCiAyIGZpbGVzIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5j IGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKaW5kZXggMWVl OGIyY2NmNzE4Li5lNWU2MDM0N2QzY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC1pbGl0ZWstaWxpOTMyMi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1pbGl0ZWstaWxpOTMyMi5jCkBAIC0zMDIsNyArMzAyLDcgQEAgc3RhdGljIGludCBpbGk5MzIy X3JlZ21hcF9zcGlfd3JpdGUodm9pZCAqY29udGV4dCwgY29uc3Qgdm9pZCAqZGF0YSwKIAltZW1j cHkoYnVmLCBkYXRhLCAyKTsKIAlidWZbMF0gJj0gfjB4ODA7CiAKLQlkZXZfZGJnKGRldiwgIldS SVRFOiAlMDJ4ICUwMnhcbiIsIGJ1ZlswXSwgYnVmWzFdKTsKKwlEUk1fREVWX0RFQlVHKGRldiwg IldSSVRFOiAlMDJ4ICUwMnhcbiIsIGJ1ZlswXSwgYnVmWzFdKTsKIAlyZXR1cm4gc3BpX3dyaXRl X3RoZW5fcmVhZChzcGksIGJ1ZiwgMiwgTlVMTCwgMCk7CiB9CiAKQEAgLTMxNSw4ICszMTUsOCBA QCBzdGF0aWMgaW50IGlsaTkzMjJfcmVnbWFwX3NwaV9yZWFkKHZvaWQgKmNvbnRleHQsIGNvbnN0 IHZvaWQgKnJlZywKIAogCS8qIFNldCBiaXQgNyB0byAxIHRvIHJlYWQgKi8KIAltZW1jcHkoYnVm LCByZWcsIDEpOwotCWRldl9kYmcoZGV2LCAiUkVBRDogJTAyeCByZWcgc2l6ZSA9ICV6dSwgdmFs IHNpemUgPSAlenVcbiIsCi0JCWJ1ZlswXSwgcmVnX3NpemUsIHZhbF9zaXplKTsKKwlEUk1fREVW X0RFQlVHKGRldiwgIlJFQUQ6ICUwMnggcmVnIHNpemUgPSAlenUsIHZhbCBzaXplID0gJXp1XG4i LAorCQkgICAgICBidWZbMF0sIHJlZ19zaXplLCB2YWxfc2l6ZSk7CiAJYnVmWzBdIHw9IDB4ODA7 CiAKIAlyZXR1cm4gc3BpX3dyaXRlX3RoZW5fcmVhZChzcGksIGJ1ZiwgMSwgdmFsLCAxKTsKQEAg LTM2Miw3ICszNjIsNyBAQCBzdGF0aWMgaW50IGlsaTkzMjJfaW5pdChzdHJ1Y3QgZHJtX3BhbmVs ICpwYW5lbCwgc3RydWN0IGlsaTkzMjIgKmlsaSkKIAlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5y ZWdtYXAsIElMSTkzMjJfR0xPQkFMX1JFU0VULAogCQkJICAgSUxJOTMyMl9HTE9CQUxfUkVTRVRf QVNTRVJUKTsKIAlpZiAocmV0KSB7Ci0JCWRldl9lcnIoaWxpLT5kZXYsICJjYW4ndCBpc3N1ZSBH UkVTRVQgKCVkKVxuIiwgcmV0KTsKKwkJRFJNX0RFVl9FUlJPUihpbGktPmRldiwgImNhbid0IGlz c3VlIEdSRVNFVCAoJWQpXG4iLCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KIApAQCAtMzcxLDcg KzM3MSw4IEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs LCBzdHJ1Y3QgaWxpOTMyMiAqaWxpKQogCQlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5yZWdtYXAs IElMSTkzMjJfVlJFRzFfVk9MVEFHRSwKIAkJCQkgICBpbGktPnZyZWcxb3V0KTsKIAkJaWYgKHJl dCkgewotCQkJZGV2X2VycihpbGktPmRldiwgImNhbid0IHNldCB1cCBWUkVHMU9VVCAoJWQpXG4i LCByZXQpOworCQkJRFJNX0RFVl9FUlJPUihpbGktPmRldiwKKwkJCQkgICAgICAiY2FuJ3Qgc2V0 IHVwIFZSRUcxT1VUICglZClcbiIsIHJldCk7CiAJCQlyZXR1cm4gcmV0OwogCQl9CiAJfQpAQCAt MzgwLDggKzM4MSw5IEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwg KnBhbmVsLCBzdHJ1Y3QgaWxpOTMyMiAqaWxpKQogCQlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5y ZWdtYXAsIElMSTkzMjJfVkNPTV9BTVAsCiAJCQkJICAgaWxpLT52Y29tX2FtcGxpdHVkZSk7CiAJ CWlmIChyZXQpIHsKLQkJCWRldl9lcnIoaWxpLT5kZXYsCi0JCQkJImNhbid0IHNldCB1cCBWQ09N IGFtcGxpdHVkZSAoJWQpXG4iLCByZXQpOworCQkJRFJNX0RFVl9FUlJPUihpbGktPmRldiwKKwkJ CQkgICAgICAiY2FuJ3Qgc2V0IHVwIFZDT00gYW1wbGl0dWRlICglZClcbiIsCisJCQkJICAgICAg cmV0KTsKIAkJCXJldHVybiByZXQ7CiAJCX0KIAl9OwpAQCAtMzkwLDcgKzM5Miw4IEBAIHN0YXRp YyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgaWxpOTMy MiAqaWxpKQogCQlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5yZWdtYXAsIElMSTkzMjJfVkNPTV9I SUdILAogCQkJCSAgIGlsaS0+dmNvbV9oaWdoKTsKIAkJaWYgKHJldCkgewotCQkJZGV2X2Vycihp bGktPmRldiwgImNhbid0IHNldCB1cCBWQ09NIGhpZ2ggKCVkKVxuIiwgcmV0KTsKKwkJCURSTV9E RVZfRVJST1IoaWxpLT5kZXYsCisJCQkJICAgICAgImNhbid0IHNldCB1cCBWQ09NIGhpZ2ggKCVk KVxuIiwgcmV0KTsKIAkJCXJldHVybiByZXQ7CiAJCX0KIAl9OwpAQCAtNDAwLDkgKzQwMyw5IEBA IHN0YXRpYyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3Qg aWxpOTMyMiAqaWxpKQogCQlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5yZWdtYXAsIElMSTkzMjJf R0FNTUFfMSArIGksCiAJCQkJICAgaWxpLT5nYW1tYVtpXSk7CiAJCWlmIChyZXQpIHsKLQkJCWRl dl9lcnIoaWxpLT5kZXYsCi0JCQkJImNhbid0IHdyaXRlIGdhbW1hIFYlZCB0byAweCUwMnggKCVk KVxuIiwKLQkJCQlpICsgMSwgSUxJOTMyMl9HQU1NQV8xICsgaSwgcmV0KTsKKwkJCURSTV9ERVZf RVJST1IoaWxpLT5kZXYsCisJCQkJICAgICAgImNhbid0IHdyaXRlIGdhbW1hIFYlZCB0byAweCUw MnggKCVkKVxuIiwKKwkJCQkgICAgICBpICsgMSwgSUxJOTMyMl9HQU1NQV8xICsgaSwgcmV0KTsK IAkJCXJldHVybiByZXQ7CiAJCX0KIAl9CkBAIC00MzQsNyArNDM3LDggQEAgc3RhdGljIGludCBp bGk5MzIyX2luaXQoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwsIHN0cnVjdCBpbGk5MzIyICppbGkp CiAJCXJlZyB8PSBJTEk5MzIyX1BPTF9WU1lOQzsKIAlyZXQgPSByZWdtYXBfd3JpdGUoaWxpLT5y ZWdtYXAsIElMSTkzMjJfUE9MLCByZWcpOwogCWlmIChyZXQpIHsKLQkJZGV2X2VycihpbGktPmRl diwgImNhbid0IHdyaXRlIFBPTCByZWdpc3RlciAoJWQpXG4iLCByZXQpOworCQlEUk1fREVWX0VS Uk9SKGlsaS0+ZGV2LAorCQkJICAgICAgImNhbid0IHdyaXRlIFBPTCByZWdpc3RlciAoJWQpXG4i LCByZXQpOwogCQlyZXR1cm4gcmV0OwogCX0KIApAQCAtNDQ2LDcgKzQ1MCw4IEBAIHN0YXRpYyBp bnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgaWxpOTMyMiAq aWxpKQogCXJlZyB8PSBJTEk5MzIyX0lGX0NUUkxfTElORV9JTlZFUlNJT047CiAJcmV0ID0gcmVn bWFwX3dyaXRlKGlsaS0+cmVnbWFwLCBJTEk5MzIyX0lGX0NUUkwsIHJlZyk7CiAJaWYgKHJldCkg ewotCQlkZXZfZXJyKGlsaS0+ZGV2LCAiY2FuJ3Qgd3JpdGUgSUYgQ1RSTCByZWdpc3RlciAoJWQp XG4iLCByZXQpOworCQlEUk1fREVWX0VSUk9SKGlsaS0+ZGV2LAorCQkJICAgICAgImNhbid0IHdy aXRlIElGIENUUkwgcmVnaXN0ZXIgKCVkKVxuIiwgcmV0KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAK QEAgLTQ2MCwxNCArNDY1LDE0IEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9pbml0KHN0cnVjdCBkcm1f cGFuZWwgKnBhbmVsLCBzdHJ1Y3QgaWxpOTMyMiAqaWxpKQogCXJlZyB8PSBJTEk5MzIyX0VOVFJZ X0FVVE9ERVRFQ1Q7CiAJcmV0ID0gcmVnbWFwX3dyaXRlKGlsaS0+cmVnbWFwLCBJTEk5MzIyX0VO VFJZLCByZWcpOwogCWlmIChyZXQpIHsKLQkJZGV2X2VycihpbGktPmRldiwgImNhbid0IHdyaXRl IEVOVFJZIHJlZyAoJWQpXG4iLCByZXQpOworCQlEUk1fREVWX0VSUk9SKGlsaS0+ZGV2LCAiY2Fu J3Qgd3JpdGUgRU5UUlkgcmVnICglZClcbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CiAJfQotCWRl dl9pbmZvKGlsaS0+ZGV2LCAiZGlzcGxheSBpcyBpbiAlcyBtb2RlLCBzeW5jbW9kZSAlMDJ4XG4i LAotCQkgaWxpOTMyMl9pbnB1dHNbaWxpLT5pbnB1dF0sCisJRFJNX0RFVl9JTkZPKGlsaS0+ZGV2 LCAiZGlzcGxheSBpcyBpbiAlcyBtb2RlLCBzeW5jbW9kZSAlMDJ4XG4iLAorCQkgICAgIGlsaTkz MjJfaW5wdXRzW2lsaS0+aW5wdXRdLAogCQkgaWxpLT5jb25mLT5zeW5jbW9kZSk7CiAKLQlkZXZf aW5mbyhpbGktPmRldiwgImluaXRpYWxpemVkIGRpc3BsYXlcbiIpOworCURSTV9ERVZfSU5GTyhp bGktPmRldiwgImluaXRpYWxpemVkIGRpc3BsYXlcbiIpOwogCiAJcmV0dXJuIDA7CiB9CkBAIC00 ODQsNyArNDg5LDcgQEAgc3RhdGljIGludCBpbGk5MzIyX3Bvd2VyX29uKHN0cnVjdCBpbGk5MzIy ICppbGkpCiAKIAlyZXQgPSByZWd1bGF0b3JfYnVsa19lbmFibGUoQVJSQVlfU0laRShpbGktPnN1 cHBsaWVzKSwgaWxpLT5zdXBwbGllcyk7CiAJaWYgKHJldCA8IDApIHsKLQkJZGV2X2VycihpbGkt PmRldiwgInVuYWJsZSB0byBlbmFibGUgcmVndWxhdG9yc1xuIik7CisJCURSTV9ERVZfRVJST1Io aWxpLT5kZXYsICJ1bmFibGUgdG8gZW5hYmxlIHJlZ3VsYXRvcnNcbiIpOwogCQlyZXR1cm4gcmV0 OwogCX0KIAltc2xlZXAoMjApOwpAQCAtNTEwLDcgKzUxNSw3IEBAIHN0YXRpYyBpbnQgaWxpOTMy Ml9kaXNhYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQogCXJldCA9IHJlZ21hcF93cml0ZShp bGktPnJlZ21hcCwgSUxJOTMyMl9QT1dfQ1RSTCwKIAkJCSAgIElMSTkzMjJfUE9XX0NUUkxfU1RB TkRCWSk7CiAJaWYgKHJldCkgewotCQlkZXZfZXJyKGlsaS0+ZGV2LCAidW5hYmxlIHRvIGdvIHRv IHN0YW5kYnkgbW9kZVxuIik7CisJCURSTV9ERVZfRVJST1IoaWxpLT5kZXYsICJ1bmFibGUgdG8g Z28gdG8gc3RhbmRieSBtb2RlXG4iKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKQEAgLTU0OCw3ICs1 NTMsNyBAQCBzdGF0aWMgaW50IGlsaTkzMjJfZW5hYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVs KQogCXJldCA9IHJlZ21hcF93cml0ZShpbGktPnJlZ21hcCwgSUxJOTMyMl9QT1dfQ1RSTCwKIAkJ CSAgIElMSTkzMjJfUE9XX0NUUkxfREVGQVVMVCk7CiAJaWYgKHJldCkgewotCQlkZXZfZXJyKGls aS0+ZGV2LCAidW5hYmxlIHRvIGVuYWJsZSBwYW5lbFxuIik7CisJCURSTV9ERVZfRVJST1IoaWxp LT5kZXYsICJ1bmFibGUgdG8gZW5hYmxlIHBhbmVsXG4iKTsKIAkJcmV0dXJuIHJldDsKIAl9CiAK QEAgLTc1Niw3ICs3NjEsNyBAQCBzdGF0aWMgaW50IGlsaTkzMjJfcHJvYmUoc3RydWN0IHNwaV9k ZXZpY2UgKnNwaSkKIAkgKi8KIAlpbGktPmNvbmYgPSBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEo ZGV2KTsKIAlpZiAoIWlsaS0+Y29uZikgewotCQlkZXZfZXJyKGRldiwgIm1pc3NpbmcgZGV2aWNl IGNvbmZpZ3VyYXRpb25cbiIpOworCQlEUk1fREVWX0VSUk9SKGRldiwgIm1pc3NpbmcgZGV2aWNl IGNvbmZpZ3VyYXRpb25cbiIpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKQEAgLTc2NiwyMCAr NzcxLDIxIEBAIHN0YXRpYyBpbnQgaWxpOTMyMl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3Bp KQogCQlpbGktPnZyZWcxb3V0ID0gVThfTUFYOwogCX0gZWxzZSB7CiAJCWlmICh2YWwgPCAzNjAw KSB7Ci0JCQlkZXZfZXJyKGRldiwgInRvbyBsb3cgVlJFRzFPVVRcbiIpOworCQkJRFJNX0RFVl9F UlJPUihkZXYsICJ0b28gbG93IFZSRUcxT1VUXG4iKTsKIAkJCXJldHVybiAtRUlOVkFMOwogCQl9 CiAJCWlmICh2YWwgPiA2MDAwKSB7Ci0JCQlkZXZfZXJyKGRldiwgInRvbyBoaWdoIFZSRUcxT1VU XG4iKTsKKwkJCURSTV9ERVZfRVJST1IoZGV2LCAidG9vIGhpZ2ggVlJFRzFPVVRcbiIpOwogCQkJ cmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJaWYgKCh2YWwgJSAxMDApICE9IDApIHsKLQkJCWRldl9l cnIoZGV2LCAiVlJFRzFPVVQgaXMgbm8gZXZlbiAxMDAgbWljcm92b2x0XG4iKTsKKwkJCURSTV9E RVZfRVJST1IoZGV2LAorCQkJCSAgICAgICJWUkVHMU9VVCBpcyBubyBldmVuIDEwMCBtaWNyb3Zv bHRcbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJdmFsIC09IDM2MDA7CiAJCXZhbCAv PSAxMDA7Ci0JCWRldl9kYmcoZGV2LCAiVlJFRzFPVVQgPSAweCUwMnhcbiIsIHZhbCk7CisJCURS TV9ERVZfREVCVUcoZGV2LCAiVlJFRzFPVVQgPSAweCUwMnhcbiIsIHZhbCk7CiAJCWlsaS0+dnJl ZzFvdXQgPSB2YWw7CiAJfQogCkBAIC03ODksMTUgKzc5NSwxNSBAQCBzdGF0aWMgaW50IGlsaTkz MjJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKIAkJaWxpLT52Y29tX2hpZ2ggPSBVOF9N QVg7CiAJfSBlbHNlIHsKIAkJaWYgKHZhbCA8IDM3KSB7Ci0JCQlkZXZfZXJyKGRldiwgInRvbyBs b3cgVkNPTSBoaWdoXG4iKTsKKwkJCURSTV9ERVZfRVJST1IoZGV2LCAidG9vIGxvdyBWQ09NIGhp Z2hcbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJaWYgKHZhbCA+IDEwMCkgewotCQkJ ZGV2X2VycihkZXYsICJ0b28gaGlnaCBWQ09NIGhpZ2hcbiIpOworCQkJRFJNX0RFVl9FUlJPUihk ZXYsICJ0b28gaGlnaCBWQ09NIGhpZ2hcbiIpOwogCQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJ dmFsIC09IDM3OwotCQlkZXZfZGJnKGRldiwgIlZDT00gaGlnaCA9IDB4JTAyeFxuIiwgdmFsKTsK KwkJRFJNX0RFVl9ERUJVRyhkZXYsICJWQ09NIGhpZ2ggPSAweCUwMnhcbiIsIHZhbCk7CiAJCWls aS0+dmNvbV9oaWdoID0gdmFsOwogCX0KIApAQCAtODA3LDM0ICs4MTMsMzggQEAgc3RhdGljIGlu dCBpbGk5MzIyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAJCWlsaS0+dmNvbV9oaWdo ID0gVThfTUFYOwogCX0gZWxzZSB7CiAJCWlmICh2YWwgPCA3MCkgewotCQkJZGV2X2VycihkZXYs ICJ0b28gbG93IFZDT00gYW1wbGl0dWRlXG4iKTsKKwkJCURSTV9ERVZfRVJST1IoZGV2LCAidG9v IGxvdyBWQ09NIGFtcGxpdHVkZVxuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCQlpZiAo dmFsID4gMTMyKSB7Ci0JCQlkZXZfZXJyKGRldiwgInRvbyBoaWdoIFZDT00gYW1wbGl0dWRlXG4i KTsKKwkJCURSTV9ERVZfRVJST1IoZGV2LCAidG9vIGhpZ2ggVkNPTSBhbXBsaXR1ZGVcbiIpOwog CQkJcmV0dXJuIC1FSU5WQUw7CiAJCX0KIAkJdmFsIC09IDcwOwogCQl2YWwgPj49IDE7IC8qIElu Y3JlbWVudHMgb2YgMiUgKi8KLQkJZGV2X2RiZyhkZXYsICJWQ09NIGFtcGxpdHVkZSA9IDB4JTAy eFxuIiwgdmFsKTsKKwkJRFJNX0RFVl9ERUJVRyhkZXYsICJWQ09NIGFtcGxpdHVkZSA9IDB4JTAy eFxuIiwgdmFsKTsKIAkJaWxpLT52Y29tX2FtcGxpdHVkZSA9IHZhbDsKIAl9CiAKIAlmb3IgKGkg PSAwOyBpIDwgQVJSQVlfU0laRShpbGktPmdhbW1hKTsgaSsrKSB7CiAJCXZhbCA9IGlsaS0+Y29u Zi0+Z2FtbWFfY29ycl9uZWdbaV07CiAJCWlmICh2YWwgPiAxNSkgewotCQkJZGV2X2VycihkZXYs ICJuZWdhdGl2ZSBnYW1tYSAldSA+IDE1LCBjYXBwaW5nXG4iLCB2YWwpOworCQkJRFJNX0RFVl9F UlJPUihkZXYsCisJCQkJICAgICAgIm5lZ2F0aXZlIGdhbW1hICV1ID4gMTUsIGNhcHBpbmdcbiIs CisJCQkJICAgICAgdmFsKTsKIAkJCXZhbCA9IDE1OwogCQl9CiAJCWdhbW1hID0gdmFsIDw8IDQ7 CiAJCXZhbCA9IGlsaS0+Y29uZi0+Z2FtbWFfY29ycl9wb3NbaV07CiAJCWlmICh2YWwgPiAxNSkg ewotCQkJZGV2X2VycihkZXYsICJwb3NpdGl2ZSBnYW1tYSAldSA+IDE1LCBjYXBwaW5nXG4iLCB2 YWwpOworCQkJRFJNX0RFVl9FUlJPUihkZXYsCisJCQkJICAgICAgInBvc2l0aXZlIGdhbW1hICV1 ID4gMTUsIGNhcHBpbmdcbiIsCisJCQkJICAgICAgdmFsKTsKIAkJCXZhbCA9IDE1OwogCQl9CiAJ CWdhbW1hIHw9IHZhbDsKIAkJaWxpLT5nYW1tYVtpXSA9IGdhbW1hOwotCQlkZXZfZGJnKGRldiwg ImdhbW1hIFYlZDogMHglMDJ4XG4iLCBpICsgMSwgZ2FtbWEpOworCQlEUk1fREVWX0RFQlVHKGRl diwgImdhbW1hIFYlZDogMHglMDJ4XG4iLCBpICsgMSwgZ2FtbWEpOwogCX0KIAogCWlsaS0+c3Vw cGxpZXNbMF0uc3VwcGx5ID0gInZjYyI7IC8qIDIuNy0zLjYgViAqLwpAQCAtODU5LDMyICs4Njks MzIgQEAgc3RhdGljIGludCBpbGk5MzIyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCiAK IAlpbGktPnJlc2V0X2dwaW8gPSBkZXZtX2dwaW9kX2dldF9vcHRpb25hbChkZXYsICJyZXNldCIs IEdQSU9EX09VVF9ISUdIKTsKIAlpZiAoSVNfRVJSKGlsaS0+cmVzZXRfZ3BpbykpIHsKLQkJZGV2 X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IFJFU0VUIEdQSU9cbiIpOworCQlEUk1fREVWX0VSUk9S KGRldiwgImZhaWxlZCB0byBnZXQgUkVTRVQgR1BJT1xuIik7CiAJCXJldHVybiBQVFJfRVJSKGls aS0+cmVzZXRfZ3Bpbyk7CiAJfQogCiAJc3BpLT5iaXRzX3Blcl93b3JkID0gODsKIAlyZXQgPSBz cGlfc2V0dXAoc3BpKTsKIAlpZiAocmV0IDwgMCkgewotCQlkZXZfZXJyKGRldiwgInNwaSBzZXR1 cCBmYWlsZWQuXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJzcGkgc2V0dXAgZmFpbGVkLlxu Iik7CiAJCXJldHVybiByZXQ7CiAJfQogCXJlZ21hcF9jb25maWcgPSAmaWxpOTMyMl9yZWdtYXBf Y29uZmlnOwogCWlsaS0+cmVnbWFwID0gZGV2bV9yZWdtYXBfaW5pdChkZXYsICZpbGk5MzIyX3Jl Z21hcF9idXMsIGRldiwKIAkJCQkgICAgICAgcmVnbWFwX2NvbmZpZyk7CiAJaWYgKElTX0VSUihp bGktPnJlZ21hcCkpIHsKLQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVnaXN0 ZXIgbWFwXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gYWxsb2NhdGUgcmVn aXN0ZXIgbWFwXG4iKTsKIAkJcmV0dXJuIFBUUl9FUlIoaWxpLT5yZWdtYXApOwogCX0KIAogCXJl dCA9IHJlZ21hcF9yZWFkKGlsaS0+cmVnbWFwLCBJTEk5MzIyX0NISVBfSUQsICZ2YWwpOwogCWlm IChyZXQpIHsKLQkJZGV2X2VycihkZXYsICJjYW4ndCBnZXQgY2hpcCBJRCAoJWQpXG4iLCByZXQp OworCQlEUk1fREVWX0VSUk9SKGRldiwgImNhbid0IGdldCBjaGlwIElEICglZClcbiIsIHJldCk7 CiAJCXJldHVybiByZXQ7CiAJfQogCWlmICh2YWwgIT0gSUxJOTMyMl9DSElQX0lEX01BR0lDKSB7 Ci0JCWRldl9lcnIoZGV2LCAiY2hpcCBJRCAweCUweDIsIGV4cGVjdGVkIDB4JTAyeFxuIiwgdmFs LAotCQkJSUxJOTMyMl9DSElQX0lEX01BR0lDKTsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJjaGlw IElEIDB4JTB4MiwgZXhwZWN0ZWQgMHglMDJ4XG4iLCB2YWwsCisJCQkgICAgICBJTEk5MzIyX0NI SVBfSURfTUFHSUMpOwogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKQEAgLTg5Miw3ICs5MDIsOCBA QCBzdGF0aWMgaW50IGlsaTkzMjJfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKIAlpZiAo aWxpLT5jb25mLT5pbnB1dCA9PSBJTEk5MzIyX0lOUFVUX1VOS05PV04pIHsKIAkJcmV0ID0gcmVn bWFwX3JlYWQoaWxpLT5yZWdtYXAsIElMSTkzMjJfRU5UUlksICZ2YWwpOwogCQlpZiAocmV0KSB7 Ci0JCQlkZXZfZXJyKGRldiwgImNhbid0IGdldCBlbnRyeSBzZXR0aW5nICglZClcbiIsIHJldCk7 CisJCQlEUk1fREVWX0VSUk9SKGRldiwKKwkJCQkgICAgICAiY2FuJ3QgZ2V0IGVudHJ5IHNldHRp bmcgKCVkKVxuIiwgcmV0KTsKIAkJCXJldHVybiByZXQ7CiAJCX0KIAkJLyogSW5wdXQgZW51bSBj b3JyZXNwb25kcyB0byBIVyBzZXR0aW5nICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtaWxpdGVrLWlsaTk4ODFjLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtaWxpdGVrLWlsaTk4ODFjLmMKaW5kZXggM2FkNGE0NmM0ZTk0Li5mNzIwNTk1NzhjNzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0ZWstaWxpOTg4MWMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTk4ODFjLmMKQEAgLTE4 LDYgKzE4LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX21pcGlfZHNpLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9tb2Rlcy5oPgogI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KKyNpbmNsdWRlIDxkcm0v ZHJtX3ByaW50Lmg+CiAKICNpbmNsdWRlIDx2aWRlby9taXBpX2Rpc3BsYXkuaD4KIApAQCAtMzk1 LDEwICszOTYsMTEgQEAgc3RhdGljIGludCBpbGk5ODgxY19nZXRfbW9kZXMoc3RydWN0IGRybV9w YW5lbCAqcGFuZWwpCiAKIAltb2RlID0gZHJtX21vZGVfZHVwbGljYXRlKHBhbmVsLT5kcm0sICZi YW5hbmFwaV9kZWZhdWx0X21vZGUpOwogCWlmICghbW9kZSkgewotCQlkZXZfZXJyKCZjdHgtPmRz aS0+ZGV2LCAiZmFpbGVkIHRvIGFkZCBtb2RlICV1eCV1eEAldVxuIiwKLQkJCWJhbmFuYXBpX2Rl ZmF1bHRfbW9kZS5oZGlzcGxheSwKLQkJCWJhbmFuYXBpX2RlZmF1bHRfbW9kZS52ZGlzcGxheSwK LQkJCWJhbmFuYXBpX2RlZmF1bHRfbW9kZS52cmVmcmVzaCk7CisJCURSTV9ERVZfRVJST1IoJmN0 eC0+ZHNpLT5kZXYsCisJCQkgICAgICAiZmFpbGVkIHRvIGFkZCBtb2RlICV1eCV1eEAldVxuIiwK KwkJCSAgICAgIGJhbmFuYXBpX2RlZmF1bHRfbW9kZS5oZGlzcGxheSwKKwkJCSAgICAgIGJhbmFu YXBpX2RlZmF1bHRfbW9kZS52ZGlzcGxheSwKKwkJCSAgICAgIGJhbmFuYXBpX2RlZmF1bHRfbW9k ZS52cmVmcmVzaCk7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApAQCAtNDM5LDEzICs0NDEsMTMg QEAgc3RhdGljIGludCBpbGk5ODgxY19kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAq ZHNpKQogCiAJY3R4LT5wb3dlciA9IGRldm1fcmVndWxhdG9yX2dldCgmZHNpLT5kZXYsICJwb3dl ciIpOwogCWlmIChJU19FUlIoY3R4LT5wb3dlcikpIHsKLQkJZGV2X2VycigmZHNpLT5kZXYsICJD b3VsZG4ndCBnZXQgb3VyIHBvd2VyIHJlZ3VsYXRvclxuIik7CisJCURSTV9ERVZfRVJST1IoJmRz aS0+ZGV2LCAiQ291bGRuJ3QgZ2V0IG91ciBwb3dlciByZWd1bGF0b3JcbiIpOwogCQlyZXR1cm4g UFRSX0VSUihjdHgtPnBvd2VyKTsKIAl9CiAKIAljdHgtPnJlc2V0ID0gZGV2bV9ncGlvZF9nZXQo JmRzaS0+ZGV2LCAicmVzZXQiLCBHUElPRF9PVVRfTE9XKTsKIAlpZiAoSVNfRVJSKGN0eC0+cmVz ZXQpKSB7Ci0JCWRldl9lcnIoJmRzaS0+ZGV2LCAiQ291bGRuJ3QgZ2V0IG91ciByZXNldCBHUElP XG4iKTsKKwkJRFJNX0RFVl9FUlJPUigmZHNpLT5kZXYsICJDb3VsZG4ndCBnZXQgb3VyIHJlc2V0 IEdQSU9cbiIpOwogCQlyZXR1cm4gUFRSX0VSUihjdHgtPnJlc2V0KTsKIAl9CiAKLS0gCjIuMTIu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==