From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 03/12] drm/msm: dpu: Remove dpu_power_client Date: Mon, 12 Nov 2018 14:42:07 -0500 Message-ID: <20181112194222.193546-4-sean@poorly.run> References: <20181112194222.193546-1-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112194222.193546-1-sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , Jeykumar Sankaran , Abhinav Kumar List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpUaGVyZSdzIG9ubHkgb25l IGNsaWVudCAtLSBjb3JlLCBhbmQgaXQncyBvbmx5IHVzZWQgZm9yIHJ1bnRpbWUgcG0gd2hpY2gK aXMgYWxyZWFkeSByZWZjb3VudGVkLgoKU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1 bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5jICAgICAgIHwgMjIgKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9r bXMuaCAgICAgICB8ICAxIC0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3Bvd2VyX2hh bmRsZS5jICB8IDk2ICstLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3Bvd2VyX2hhbmRsZS5oICB8IDg2ICstLS0tLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTk5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9rbXMuYwppbmRleCA5ODVjODU1Nzk2YWUuLjIzMDk0ZDEwOGU4MSAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwpAQCAtNjc2LDExICs2NzYs NiBAQCBzdGF0aWMgdm9pZCBfZHB1X2ttc19od19kZXN0cm95KHN0cnVjdCBkcHVfa21zICpkcHVf a21zKQogCQlkcHVfaHdfY2F0YWxvZ19kZWluaXQoZHB1X2ttcy0+Y2F0YWxvZyk7CiAJZHB1X2tt cy0+Y2F0YWxvZyA9IE5VTEw7CiAKLQlpZiAoZHB1X2ttcy0+Y29yZV9jbGllbnQpCi0JCWRwdV9w b3dlcl9jbGllbnRfZGVzdHJveSgmZHB1X2ttcy0+cGhhbmRsZSwKLQkJCWRwdV9rbXMtPmNvcmVf Y2xpZW50KTsKLQlkcHVfa21zLT5jb3JlX2NsaWVudCA9IE5VTEw7Ci0KIAlpZiAoZHB1X2ttcy0+ dmJpZltWQklGX05SVF0pCiAJCWRldm1faW91bm1hcCgmZHB1X2ttcy0+cGRldi0+ZGV2LCBkcHVf a21zLT52YmlmW1ZCSUZfTlJUXSk7CiAJZHB1X2ttcy0+dmJpZltWQklGX05SVF0gPSBOVUxMOwpA QCAtOTEzLDE3ICs5MDgsNiBAQCBzdGF0aWMgaW50IGRwdV9rbXNfaHdfaW5pdChzdHJ1Y3QgbXNt X2ttcyAqa21zKQogCQlkcHVfa21zLT5yZWdfZG1hX2xlbiA9IGRwdV9pb21hcF9zaXplKGRwdV9r bXMtPnBkZXYsICJyZWdkbWEiKTsKIAl9CiAKLQlkcHVfa21zLT5jb3JlX2NsaWVudCA9IGRwdV9w b3dlcl9jbGllbnRfY3JlYXRlKCZkcHVfa21zLT5waGFuZGxlLAotCQkJCQkiY29yZSIpOwotCWlm IChJU19FUlJfT1JfTlVMTChkcHVfa21zLT5jb3JlX2NsaWVudCkpIHsKLQkJcmMgPSBQVFJfRVJS KGRwdV9rbXMtPmNvcmVfY2xpZW50KTsKLQkJaWYgKCFkcHVfa21zLT5jb3JlX2NsaWVudCkKLQkJ CXJjID0gLUVJTlZBTDsKLQkJRFBVX0VSUk9SKCJkcHUgcG93ZXIgY2xpZW50IGNyZWF0ZSBmYWls ZWQ6ICVkXG4iLCByYyk7Ci0JCWRwdV9rbXMtPmNvcmVfY2xpZW50ID0gTlVMTDsKLQkJZ290byBl cnJvcjsKLQl9Ci0KIAlwbV9ydW50aW1lX2dldF9zeW5jKCZkcHVfa21zLT5wZGV2LT5kZXYpOwog CiAJX2RwdV9rbXNfY29yZV9od19yZXZfaW5pdChkcHVfa21zKTsKQEAgLTExNTcsOCArMTE0MSw3 IEBAIHN0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgZHB1X3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3Qg ZGV2aWNlICpkZXYpCiAJCXJldHVybiByYzsKIAl9CiAKLQlyYyA9IGRwdV9wb3dlcl9yZXNvdXJj ZV9lbmFibGUoJmRwdV9rbXMtPnBoYW5kbGUsCi0JCQlkcHVfa21zLT5jb3JlX2NsaWVudCwgZmFs c2UpOworCXJjID0gZHB1X3Bvd2VyX3Jlc291cmNlX2VuYWJsZSgmZHB1X2ttcy0+cGhhbmRsZSwg ZmFsc2UpOwogCWlmIChyYykKIAkJRFBVX0VSUk9SKCJyZXNvdXJjZSBkaXNhYmxlIGZhaWxlZDog JWRcbiIsIHJjKTsKIApAQCAtMTE4OSw4ICsxMTcyLDcgQEAgc3RhdGljIGludCBfX21heWJlX3Vu dXNlZCBkcHVfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCQlyZXR1cm4gcmM7 CiAJfQogCi0JcmMgPSBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKCZkcHVfa21zLT5waGFuZGxl LAotCQkJZHB1X2ttcy0+Y29yZV9jbGllbnQsIHRydWUpOworCXJjID0gZHB1X3Bvd2VyX3Jlc291 cmNlX2VuYWJsZSgmZHB1X2ttcy0+cGhhbmRsZSwgdHJ1ZSk7CiAJaWYgKHJjKQogCQlEUFVfRVJS T1IoInJlc291cmNlIGVuYWJsZSBmYWlsZWQ6ICVkXG4iLCByYyk7CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9rbXMuaAppbmRleCAyYTM2MjVlZWY2ZDMuLmYyYzc4ZGViMDg1NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuaApAQCAtMTE0LDcgKzExNCw2 IEBAIHN0cnVjdCBkcHVfa21zIHsKIAlzdHJ1Y3QgZHB1X21kc3NfY2ZnICpjYXRhbG9nOwogCiAJ c3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgcGhhbmRsZTsKLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVu dCAqY29yZV9jbGllbnQ7CiAJc3RydWN0IGRwdV9wb3dlcl9ldmVudCAqcG93ZXJfZXZlbnQ7CiAK IAkvKiBkaXJlY3RvcnkgZW50cnkgZm9yIGRlYnVnZnMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuYwppbmRleCA4YzZmOTJhYWFmODcuLjhl NjRmMGE1MjE0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X3Bvd2VyX2hhbmRsZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9w b3dlcl9oYW5kbGUuYwpAQCAtMzUsNTkgKzM1LDExIEBAIHN0YXRpYyB2b2lkIGRwdV9wb3dlcl9l dmVudF90cmlnZ2VyX2xvY2tlZChzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwKIAl9 CiB9CiAKLXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpkcHVfcG93ZXJfY2xpZW50X2NyZWF0ZSgK LQlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSwgY2hhciAqY2xpZW50X25hbWUpCi17 Ci0Jc3RydWN0IGRwdV9wb3dlcl9jbGllbnQgKmNsaWVudDsKLQlzdGF0aWMgdTMyIGlkOwotCi0J aWYgKCFjbGllbnRfbmFtZSB8fCAhcGhhbmRsZSkgewotCQlwcl9lcnIoImNsaWVudCBuYW1lIGlz IG51bGwgb3IgaW52YWxpZCBwb3dlciBkYXRhXG4iKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZB TCk7Ci0JfQotCi0JY2xpZW50ID0ga3phbGxvYyhzaXplb2Yoc3RydWN0IGRwdV9wb3dlcl9jbGll bnQpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWNsaWVudCkKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7Ci0KLQltdXRleF9sb2NrKCZwaGFuZGxlLT5waGFuZGxlX2xvY2spOwotCXN0cmxjcHkoY2xp ZW50LT5uYW1lLCBjbGllbnRfbmFtZSwgTUFYX0NMSUVOVF9OQU1FX0xFTik7Ci0JY2xpZW50LT51 c2VjYXNlX25keCA9IFZPVEVfSU5ERVhfRElTQUJMRTsKLQljbGllbnQtPmlkID0gaWQ7Ci0JY2xp ZW50LT5hY3RpdmUgPSB0cnVlOwotCXByX2RlYnVnKCJjbGllbnQgJXMgY3JlYXRlZDolcEsgaWQg OiVkXG4iLCBjbGllbnRfbmFtZSwKLQkJY2xpZW50LCBpZCk7Ci0JaWQrKzsKLQlsaXN0X2FkZCgm Y2xpZW50LT5saXN0LCAmcGhhbmRsZS0+cG93ZXJfY2xpZW50X2NsaXN0KTsKLQltdXRleF91bmxv Y2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7Ci0KLQlyZXR1cm4gY2xpZW50OwotfQotCi12b2lk IGRwdV9wb3dlcl9jbGllbnRfZGVzdHJveShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRs ZSwKLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY2xpZW50KQotewotCWlmICghY2xpZW50ICB8 fCAhcGhhbmRsZSkgewotCQlwcl9lcnIoInJlZyBidXMgdm90ZTogaW52YWxpZCBjbGllbnQgaGFu ZGxlXG4iKTsKLQl9IGVsc2UgaWYgKCFjbGllbnQtPmFjdGl2ZSkgewotCQlwcl9lcnIoImRwdSBw b3dlciBkZWluaXQgYWxyZWFkeSBkb25lXG4iKTsKLQkJa2ZyZWUoY2xpZW50KTsKLQl9IGVsc2Ug ewotCQlwcl9kZWJ1ZygiYnVzIHZvdGUgY2xpZW50ICVzIGRlc3Ryb3llZDolcEsgaWQ6JXVcbiIs Ci0JCQljbGllbnQtPm5hbWUsIGNsaWVudCwgY2xpZW50LT5pZCk7Ci0JCW11dGV4X2xvY2soJnBo YW5kbGUtPnBoYW5kbGVfbG9jayk7Ci0JCWxpc3RfZGVsX2luaXQoJmNsaWVudC0+bGlzdCk7Ci0J CW11dGV4X3VubG9jaygmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKLQkJa2ZyZWUoY2xpZW50KTsK LQl9Ci19Ci0KIHZvaWQgZHB1X3Bvd2VyX3Jlc291cmNlX2luaXQoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldiwKIAlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhhbmRsZSkKIHsKIAlwaGFu ZGxlLT5kZXYgPSAmcGRldi0+ZGV2OwogCi0JSU5JVF9MSVNUX0hFQUQoJnBoYW5kbGUtPnBvd2Vy X2NsaWVudF9jbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnBoYW5kbGUtPmV2ZW50X2xpc3QpOwog CiAJbXV0ZXhfaW5pdCgmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKQEAgLTk2LDcgKzQ4LDYgQEAg dm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfaW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LAogdm9pZCBkcHVfcG93ZXJfcmVzb3VyY2VfZGVpbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYsCiAJc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgKnBoYW5kbGUpCiB7Ci0Jc3RydWN0IGRw dV9wb3dlcl9jbGllbnQgKmN1cnJfY2xpZW50LCAqbmV4dF9jbGllbnQ7CiAJc3RydWN0IGRwdV9w b3dlcl9ldmVudCAqY3Vycl9ldmVudCwgKm5leHRfZXZlbnQ7CiAKIAlpZiAoIXBoYW5kbGUgfHwg IXBkZXYpIHsKQEAgLTEwNSwxNSArNTYsNiBAQCB2b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9kZWlu aXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAl9CiAKIAltdXRleF9sb2NrKCZwaGFu ZGxlLT5waGFuZGxlX2xvY2spOwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShjdXJyX2NsaWVu dCwgbmV4dF9jbGllbnQsCi0JCQkmcGhhbmRsZS0+cG93ZXJfY2xpZW50X2NsaXN0LCBsaXN0KSB7 Ci0JCXByX2VycigiY2xpZW50OiVzLSVkIHN0aWxsIHJlZ2lzdGVyZWQgd2l0aCByZWZjb3VudDol ZFxuIiwKLQkJCQljdXJyX2NsaWVudC0+bmFtZSwgY3Vycl9jbGllbnQtPmlkLAotCQkJCWN1cnJf Y2xpZW50LT5yZWZjb3VudCk7Ci0JCWN1cnJfY2xpZW50LT5hY3RpdmUgPSBmYWxzZTsKLQkJbGlz dF9kZWwoJmN1cnJfY2xpZW50LT5saXN0KTsKLQl9Ci0KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUoY3Vycl9ldmVudCwgbmV4dF9ldmVudCwKIAkJCSZwaGFuZGxlLT5ldmVudF9saXN0LCBsaXN0 KSB7CiAJCXByX2VycigiZXZlbnQ6JWQsIGNsaWVudDolcyBzdGlsbCByZWdpc3RlcmVkXG4iLApA QCAtMTI1LDUzICs2NywyMSBAQCB2b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9kZWluaXQoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAltdXRleF91bmxvY2soJnBoYW5kbGUtPnBoYW5kbGVf bG9jayk7CiB9CiAKLWludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVfcG93 ZXJfaGFuZGxlICpwaGFuZGxlLAotCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpwY2xpZW50LCBi b29sIGVuYWJsZSkKK2ludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVfcG93 ZXJfaGFuZGxlICpwaGFuZGxlLCBib29sIGVuYWJsZSkKIHsKLQlib29sIGNoYW5nZWQgPSBmYWxz ZTsKLQl1MzIgbWF4X3VzZWNhc2VfbmR4ID0gVk9URV9JTkRFWF9ESVNBQkxFLCBwcmV2X3VzZWNh c2VfbmR4OwotCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpjbGllbnQ7CiAJdTMyIGV2ZW50X3R5 cGU7CiAKLQlpZiAoIXBoYW5kbGUgfHwgIXBjbGllbnQpIHsKKwlpZiAoIXBoYW5kbGUpIHsKIAkJ cHJfZXJyKCJpbnZhbGlkIGlucHV0IGFyZ3VtZW50XG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJ fQogCiAJbXV0ZXhfbG9jaygmcGhhbmRsZS0+cGhhbmRsZV9sb2NrKTsKLQlpZiAoZW5hYmxlKQot CQlwY2xpZW50LT5yZWZjb3VudCsrOwotCWVsc2UgaWYgKHBjbGllbnQtPnJlZmNvdW50KQotCQlw Y2xpZW50LT5yZWZjb3VudC0tOwotCi0JaWYgKHBjbGllbnQtPnJlZmNvdW50KQotCQlwY2xpZW50 LT51c2VjYXNlX25keCA9IFZPVEVfSU5ERVhfTE9XOwotCWVsc2UKLQkJcGNsaWVudC0+dXNlY2Fz ZV9uZHggPSBWT1RFX0lOREVYX0RJU0FCTEU7Ci0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGNsaWVu dCwgJnBoYW5kbGUtPnBvd2VyX2NsaWVudF9jbGlzdCwgbGlzdCkgewotCQlpZiAoY2xpZW50LT51 c2VjYXNlX25keCA8IFZPVEVfSU5ERVhfTUFYICYmCi0JCSAgICBjbGllbnQtPnVzZWNhc2VfbmR4 ID4gbWF4X3VzZWNhc2VfbmR4KQotCQkJbWF4X3VzZWNhc2VfbmR4ID0gY2xpZW50LT51c2VjYXNl X25keDsKLQl9Ci0KLQlpZiAocGhhbmRsZS0+Y3VycmVudF91c2VjYXNlX25keCAhPSBtYXhfdXNl Y2FzZV9uZHgpIHsKLQkJY2hhbmdlZCA9IHRydWU7Ci0JCXByZXZfdXNlY2FzZV9uZHggPSBwaGFu ZGxlLT5jdXJyZW50X3VzZWNhc2VfbmR4OwotCQlwaGFuZGxlLT5jdXJyZW50X3VzZWNhc2VfbmR4 ID0gbWF4X3VzZWNhc2VfbmR4OwotCX0KLQotCXByX2RlYnVnKCIlcFM6IGNoYW5nZWQ9JWQgY3Vy cmVudCBpZHg9JWQgcmVxdWVzdCBjbGllbnQgJXMgaWQ6JXUgZW5hYmxlOiVkIHJlZmNvdW50OiVk XG4iLAotCQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIGNoYW5nZWQsIG1heF91c2VjYXNl X25keCwKLQkJcGNsaWVudC0+bmFtZSwgcGNsaWVudC0+aWQsIGVuYWJsZSwgcGNsaWVudC0+cmVm Y291bnQpOwotCi0JaWYgKCFjaGFuZ2VkKQotCQlnb3RvIGVuZDsKIAogCWV2ZW50X3R5cGUgPSBl bmFibGUgPyBEUFVfUE9XRVJfRVZFTlRfRU5BQkxFIDogRFBVX1BPV0VSX0VWRU5UX0RJU0FCTEU7 CiAKIAlkcHVfcG93ZXJfZXZlbnRfdHJpZ2dlcl9sb2NrZWQocGhhbmRsZSwJZXZlbnRfdHlwZSk7 Ci1lbmQ6CisKIAltdXRleF91bmxvY2soJnBoYW5kbGUtPnBoYW5kbGVfbG9jayk7CiAJcmV0dXJu IDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93 ZXJfaGFuZGxlLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFu ZGxlLmgKaW5kZXggZjYyN2FlMjhlYzY4Li4xMjRlYmM5M2M4NzcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmgKQEAgLTI3LDMwICsyNyw2 IEBACiAjZGVmaW5lIERQVV9QT1dFUl9FVkVOVF9ESVNBQkxFCUJJVCgwKQogI2RlZmluZSBEUFVf UE9XRVJfRVZFTlRfRU5BQkxFCUJJVCgxKQogCi0vKioKLSAqIG1kc3NfYnVzX3ZvdGVfdHlwZTog cmVnaXN0ZXIgYnVzIHZvdGUgdHlwZQotICogVk9URV9JTkRFWF9ESVNBQkxFOiByZW1vdmVzIHRo ZSBjbGllbnQgdm90ZQotICogVk9URV9JTkRFWF9MT1c6IGtlZXBzIHRoZSBsb3dlc3Qgdm90ZSBm b3IgcmVnaXN0ZXIgYnVzCi0gKiBWT1RFX0lOREVYX01BWDogaW52YWxpZAotICovCi1lbnVtIG1k c3NfYnVzX3ZvdGVfdHlwZSB7Ci0JVk9URV9JTkRFWF9ESVNBQkxFLAotCVZPVEVfSU5ERVhfTE9X LAotCVZPVEVfSU5ERVhfTUFYLAotfTsKLQotLyoqCi0gKiBlbnVtIGRwdV9wb3dlcl9oYW5kbGVf ZGF0YV9idXNfY2xpZW50IC0gdHlwZSBvZiBheGkgYnVzIGNsaWVudHMKLSAqIEBEUFVfUE9XRVJf SEFORExFX0RBVEFfQlVTX0NMSUVOVF9SVDogY29yZSByZWFsLXRpbWUgYnVzIGNsaWVudAotICog QERQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX05SVDogY29yZSBub24tcmVhbC10aW1l IGJ1cyBjbGllbnQKLSAqIEBEUFVfUE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9NQVg6IG1h eGltdW0gbnVtYmVyIG9mIGJ1cyBjbGllbnQgdHlwZQotICovCi1lbnVtIGRwdV9wb3dlcl9oYW5k bGVfZGF0YV9idXNfY2xpZW50IHsKLQlEUFVfUE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9S VCwKLQlEUFVfUE9XRVJfSEFORExFX0RBVEFfQlVTX0NMSUVOVF9OUlQsCi0JRFBVX1BPV0VSX0hB TkRMRV9EQVRBX0JVU19DTElFTlRfTUFYCi19OwotCiAvKioKICAqIGVudW0gRFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEIC0gZGF0YSBidXMgaWRlbnRpZmllcgogICogQERQVV9QT1dFUl9IQU5ETEVf REJVU19JRF9NTk9DOiBEUFUvTU5PQyBkYXRhIGJ1cwpAQCAtNjQsMzEgKzQwLDYgQEAgZW51bSBE UFVfUE9XRVJfSEFORExFX0RCVVNfSUQgewogCURQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVgs CiB9OwogCi0vKioKLSAqIHN0cnVjdCBkcHVfcG93ZXJfY2xpZW50OiBzdG9yZXMgdGhlIHBvd2Vy IGNsaWVudCBmb3IgZHB1IGRyaXZlcgotICogQG5hbWU6CW5hbWUgb2YgdGhlIGNsaWVudAotICog QHVzZWNhc2VfbmR4OiBjdXJyZW50IHJlZ3MgYnVzIHZvdGUgdHlwZQotICogQHJlZmNvdW50Oglj dXJyZW50IHJlZmNvdW50IGlmIG11bHRpcGxlIG1vZHVsZXMgYXJlIHVzaW5nIHNhbWUKLSAqICAg ICAgICAgICAgICBzYW1lIGNsaWVudCBmb3IgZW5hYmxlL2Rpc2FibGUuIFBvd2VyIG1vZHVsZSB3 aWxsCi0gKiAgICAgICAgICAgICAgYWdncmVnYXRlIHRoZSByZWZjb3VudCBhbmQgdm90ZSBhY2Nv cmRpbmdseSBmb3IgdGhpcwotICogICAgICAgICAgICAgIGNsaWVudC4KLSAqIEBpZDoJCWFzc2ln bmVkIGR1cmluZyBjcmVhdGUuIGhlbHBzIGZvciBkZWJ1Z2dpbmcuCi0gKiBAbGlzdDoJbGlzdCB0 byBhdHRhY2ggcG93ZXIgaGFuZGxlIG1hc3RlciBsaXN0Ci0gKiBAYWI6ICAgICAgICAgYXJiaXRy YXRlZCBiYW5kd2lkdGggZm9yIGVhY2ggYnVzIGNsaWVudAotICogQGliOiAgICAgICAgIGluc3Rh bnRhbmVvdXMgYmFuZHdpZHRoIGZvciBlYWNoIGJ1cyBjbGllbnQKLSAqIEBhY3RpdmU6CWluaWRj YXRlcyB0aGUgc3RhdGUgb2YgZHB1IHBvd2VyIGhhbmRsZQotICovCi1zdHJ1Y3QgZHB1X3Bvd2Vy X2NsaWVudCB7Ci0JY2hhciBuYW1lW01BWF9DTElFTlRfTkFNRV9MRU5dOwotCXNob3J0IHVzZWNh c2VfbmR4OwotCXNob3J0IHJlZmNvdW50OwotCXUzMiBpZDsKLQlzdHJ1Y3QgbGlzdF9oZWFkIGxp c3Q7Ci0JdTY0IGFiW0RQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX01BWF07Ci0JdTY0 IGliW0RQVV9QT1dFUl9IQU5ETEVfREFUQV9CVVNfQ0xJRU5UX01BWF07Ci0JYm9vbCBhY3RpdmU7 Ci19OwotCiAvKgogICogc3RydWN0IGRwdV9wb3dlcl9ldmVudCAtIGxvY2FsIGV2ZW50IHJlZ2lz dHJhdGlvbiBzdHJ1Y3R1cmUKICAqIEBjbGllbnRfbmFtZTogbmFtZSBvZiB0aGUgY2xpZW50IHJl Z2lzdGVyaW5nCkBAIC0xMDksMTQgKzYwLDEyIEBAIHN0cnVjdCBkcHVfcG93ZXJfZXZlbnQgewog CiAvKioKICAqIHN0cnVjdCBkcHVfcG93ZXJfaGFuZGxlOiBwb3dlciBoYW5kbGUgbWFpbiBzdHJ1 Y3QKLSAqIEBjbGllbnRfY2xpc3Q6IG1hc3RlciBsaXN0IHRvIHN0b3JlIGFsbCBjbGllbnRzCiAg KiBAcGhhbmRsZV9sb2NrOiBsb2NrIHRvIHN5bmNocm9uaXplIHRoZSBlbmFibGUvZGlzYWJsZQog ICogQGRldjogcG9pbnRlciB0byBkZXZpY2Ugc3RydWN0dXJlCiAgKiBAdXNlY2FzZV9uZHg6IGN1 cnJlbnQgdXNlY2FzZSBpbmRleAogICogQGV2ZW50X2xpc3Q6IGN1cnJlbnQgcG93ZXIgaGFuZGxl IGV2ZW50IGxpc3QKICAqLwogc3RydWN0IGRwdV9wb3dlcl9oYW5kbGUgewotCXN0cnVjdCBsaXN0 X2hlYWQgcG93ZXJfY2xpZW50X2NsaXN0OwogCXN0cnVjdCBtdXRleCBwaGFuZGxlX2xvY2s7CiAJ c3RydWN0IGRldmljZSAqZGV2OwogCXUzMiBjdXJyZW50X3VzZWNhc2VfbmR4OwpAQCAtMTQxLDQ3 ICs5MCwxNCBAQCB2b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYsCiB2b2lkIGRwdV9wb3dlcl9yZXNvdXJjZV9kZWluaXQoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldiwKIAlzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGRhdGEpOwogCi0v KioKLSAqIGRwdV9wb3dlcl9jbGllbnRfY3JlYXRlKCkgLSBjcmVhdGUgdGhlIGNsaWVudCBvbiBw b3dlciBoYW5kbGUKLSAqIEBwZGF0YTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNv dXJjZXMKLSAqIEBjbGllbnRfbmFtZTogbmV3IGNsaWVudCBuYW1lIGZvciByZWdpc3RyYXRpb24K LSAqCi0gKiBSZXR1cm46IGVycm9yIGNvZGUuCi0gKi8KLXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50 ICpkcHVfcG93ZXJfY2xpZW50X2NyZWF0ZShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGRhdGEs Ci0JY2hhciAqY2xpZW50X25hbWUpOwotCi0vKioKLSAqIGRwdV9wb3dlcl9jbGllbnRfZGVzdHJv eSgpIC0gZGVzdHJveSB0aGUgY2xpZW50IG9uIHBvd2VyIGhhbmRsZQotICogQHBkYXRhOiAgcG93 ZXIgaGFuZGxlIGNvbnRhaW5pbmcgdGhlIHJlc291cmNlcwotICogQGNsaWVudF9uYW1lOiBuZXcg Y2xpZW50IG5hbWUgZm9yIHJlZ2lzdHJhdGlvbgotICoKLSAqIFJldHVybjogbm9uZQotICovCi12 b2lkIGRwdV9wb3dlcl9jbGllbnRfZGVzdHJveShzdHJ1Y3QgZHB1X3Bvd2VyX2hhbmRsZSAqcGhh bmRsZSwKLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAqY2xpZW50KTsKLQogLyoqCiAgKiBkcHVf cG93ZXJfcmVzb3VyY2VfZW5hYmxlKCkgLSBlbmFibGUvZGlzYWJsZSB0aGUgcG93ZXIgcmVzb3Vy Y2VzCiAgKiBAcGRhdGE6ICBwb3dlciBoYW5kbGUgY29udGFpbmluZyB0aGUgcmVzb3VyY2VzCi0g KiBAY2xpZW50OiBjbGllbnQgaW5mb3JtYXRpb24gdG8gZW5hYmxlL2Rpc2FibGUgaXRzIHZvdGUK ICAqIEBlbmFibGU6IGJvb2xlYW4gcmVxdWVzdCBmb3IgZW5hYmxlL2Rpc2FibGUKICAqCiAgKiBS ZXR1cm46IGVycm9yIGNvZGUuCiAgKi8KLWludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0 cnVjdCBkcHVfcG93ZXJfaGFuZGxlICpwZGF0YSwKLQlzdHJ1Y3QgZHB1X3Bvd2VyX2NsaWVudCAq cGNsaWVudCwgYm9vbCBlbmFibGUpOwotCi0vKioKLSAqIGRwdV9wb3dlcl9kYXRhX2J1c19iYW5k d2lkdGhfY3RybCgpIC0gY29udHJvbCBkYXRhIGJ1cyBiYW5kd2lkdGggZW5hYmxlCi0gKiBAcGhh bmRsZTogIHBvd2VyIGhhbmRsZSBjb250YWluaW5nIHRoZSByZXNvdXJjZXMKLSAqIEBjbGllbnQ6 IGNsaWVudCBpbmZvcm1hdGlvbiB0byBiYW5kd2lkdGggY29udHJvbAotICogQGVuYWJsZTogdHJ1 ZSB0byBlbmFibGUgYmFuZHdpZHRoIGZvciBkYXRhIGJhc2UKLSAqCi0gKiBSZXR1cm46IG5vbmUK LSAqLwotdm9pZCBkcHVfcG93ZXJfZGF0YV9idXNfYmFuZHdpZHRoX2N0cmwoc3RydWN0IGRwdV9w b3dlcl9oYW5kbGUgKnBoYW5kbGUsCi0JCXN0cnVjdCBkcHVfcG93ZXJfY2xpZW50ICpwY2xpZW50 LCBpbnQgZW5hYmxlKTsKK2ludCBkcHVfcG93ZXJfcmVzb3VyY2VfZW5hYmxlKHN0cnVjdCBkcHVf cG93ZXJfaGFuZGxlICpwZGF0YSwgYm9vbCBlbmFibGUpOwogCiAvKioKICAqIGRwdV9wb3dlcl9o YW5kbGVfcmVnaXN0ZXJfZXZlbnQgLSByZWdpc3RlciBhIGNhbGxiYWNrIGZ1bmN0aW9uIGZvciBh biBldmVudC4KLS0gClNlYW4gUGF1bCwgU29mdHdhcmUgRW5naW5lZXIsIEdvb2dsZSAvIENocm9t aXVtIE9TCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpG cmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K