From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 09/10] drm/i915: Clean up PPS code calling conventions Date: Tue, 31 Oct 2017 22:51:22 +0200 Message-ID: <20171031205123.13123-10-ville.syrjala@linux.intel.com> References: <20171031205123.13123-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A40C6E645 for ; Tue, 31 Oct 2017 20:51:55 +0000 (UTC) In-Reply-To: <20171031205123.13123-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk5v IG5lZWQgdG8gcGFzcyAnZGV2JyBvciAnZGV2X3ByaXYnIHdoZW4gdGhlIGZ1bmN0aW9uIGFscmVh ZHkgdGFrZXMKJ2ludGVsX2RwJy4gQWxzbyBsZXQncyBwcmVmZXIgcGFzc2luZyAnZGV2X3ByaXYn IGluc3RlYWQgb2YgJ2RldicKd2hlbiB3ZSBoYXZlIHRvIHBhc3Mgb25lIG9yIHRoZSBvdGhlci4K ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyB8IDk5ICsrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIgaW5z ZXJ0aW9ucygrKSwgNTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXgg YjgxNTM1ZmRlZjFkLi5mODc1YmE3OGM0MzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAt MTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBib29sIGVkcF9wYW5lbF92ZGRfb24oc3RydWN0IGludGVs X2RwICppbnRlbF9kcCk7CiBzdGF0aWMgdm9pZCBlZHBfcGFuZWxfdmRkX29mZihzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLCBib29sIHN5bmMpOwogc3RhdGljIHZvaWQgdmx2X2luaXRfcGFuZWxf cG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCQkgICBj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Ci1zdGF0aWMgdm9pZCB2 bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCitzdGF0aWMg dm9pZCB2bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQkgICAgICBlbnVtIHBpcGUgcGlwZSk7CiBzdGF0aWMgdm9pZCBpbnRlbF9k cF91bnNldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwogCkBAIC00MjksMTQgKzQy OSwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF91bnBhY2tfYXV4KHVpbnQzMl90IHNyYywgdWlu dDhfdCAqZHN0LCBpbnQgZHN0X2J5dGVzKQogfQogCiBzdGF0aWMgdm9pZAotaW50ZWxfZHBfaW5p dF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkgICAg c3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7CitpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3Nl cXVlbmNlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKIHN0YXRpYyB2b2lkCi1pbnRlbF9k cF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKLQkJCQkJICAgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKK2ludGVsX2RwX2lu aXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAogCQkJCQkgICAgICBib29sIGZvcmNlX2Rpc2FibGVfdmRkKTsKIHN0YXRpYyB2b2lkCi1p bnRlbF9kcF9wcHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKTsKK2ludGVsX2RwX3Bwc19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp OwogCiBzdGF0aWMgdm9pZCBwcHNfbG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewpA QCAtNTgwLDkgKzU3OCw4IEBAIHN0YXRpYyBlbnVtIHBpcGUgdmx2X2ZpbmRfZnJlZV9wcHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIGVudW0gcGlwZQogdmx2X3Bv d2VyX3NlcXVlbmNlcl9waXBlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApKTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRw X3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxf ZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwogCWVudW0gcGlwZSBwaXBlOwogCiAJbG9ja2RlcF9hc3NlcnRf aGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CkBAIC02MDUsNyArNjAyLDcgQEAgdmx2X3Bvd2Vy X3NlcXVlbmNlcl9waXBlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYgKFdBUk5fT04o cGlwZSA9PSBJTlZBTElEX1BJUEUpKQogCQlwaXBlID0gUElQRV9BOwogCi0Jdmx2X3N0ZWFsX3Bv d2VyX3NlcXVlbmNlcihkZXYsIHBpcGUpOworCXZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoZGV2 X3ByaXYsIHBpcGUpOwogCWludGVsX2RwLT5wcHNfcGlwZSA9IHBpcGU7CiAKIAlEUk1fREVCVUdf S01TKCJwaWNrZWQgcGlwZSAlYyBwb3dlciBzZXF1ZW5jZXIgZm9yIHBvcnQgJWNcbiIsCkBAIC02 MTMsOCArNjEwLDggQEAgdmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJCSAgICAgIHBvcnRfbmFtZShpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0KSk7 CiAKIAkvKiBpbml0IHBvd2VyIHNlcXVlbmNlciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KLQlp bnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwKTsKLQlpbnRl bF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCwg dHJ1ZSk7CisJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoaW50ZWxfZHApOwor CWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhpbnRlbF9kcCwg dHJ1ZSk7CiAKIAkvKgogCSAqIEV2ZW4gdmRkIGZvcmNlIGRvZXNuJ3Qgd29yayB1bnRpbCB3ZSd2 ZSBtYWRlCkBAIC02MjgsOSArNjI1LDcgQEAgdmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiBzdGF0aWMgaW50CiBieHRfcG93ZXJfc2VxdWVuY2VyX2lk eChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewotCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwotCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldjsKLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShpbnRlbF9kcF90b19kZXYoaW50ZWxfZHAp KTsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogCkBAIC02 NTEsNyArNjQ2LDcgQEAgYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIAkgKiBPbmx5IHRoZSBIVyBuZWVkcyB0byBiZSByZXByb2dyYW1tZWQsIHRoZSBT VyBzdGF0ZSBpcyBmaXhlZCBhbmQKIAkgKiBoYXMgYmVlbiBzZXR1cCBkdXJpbmcgY29ubmVjdG9y IGluaXQuCiAJICovCi0JaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0 ZXJzKGRldiwgaW50ZWxfZHAsIGZhbHNlKTsKKwlpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3Nl cXVlbmNlcl9yZWdpc3RlcnMoaW50ZWxfZHAsIGZhbHNlKTsKIAogCXJldHVybiAwOwogfQpAQCAt NzAzLDkgKzY5OCw4IEBAIHZsdl9pbml0aWFsX3Bwc19waXBlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIHN0YXRpYyB2b2lkCiB2bHZfaW5pdGlhbF9wb3dlcl9zZXF1ZW5jZXJf c2V0dXAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOwogCXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFz ZS5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1 KGRldik7CiAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5wb3J0OwogCiAJ bG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CkBAIC03MzMsOCArNzI3 LDggQEAgdmx2X2luaXRpYWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJRFJNX0RFQlVHX0tNUygiaW5pdGlhbCBwb3dlciBzZXF1ZW5jZXIgZm9yIHBv cnQgJWM6IHBpcGUgJWNcbiIsCiAJCSAgICAgIHBvcnRfbmFtZShwb3J0KSwgcGlwZV9uYW1lKGlu dGVsX2RwLT5wcHNfcGlwZSkpOwogCi0JaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5j ZXIoZGV2LCBpbnRlbF9kcCk7Ci0JaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJf cmVnaXN0ZXJzKGRldiwgaW50ZWxfZHAsIGZhbHNlKTsKKwlpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcihpbnRlbF9kcCk7CisJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1 ZW5jZXJfcmVnaXN0ZXJzKGludGVsX2RwLCBmYWxzZSk7CiB9CiAKIHZvaWQgaW50ZWxfcG93ZXJf c2VxdWVuY2VyX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTc5 MCwxMCArNzg0LDEwIEBAIHN0cnVjdCBwcHNfcmVnaXN0ZXJzIHsKIAlpOTE1X3JlZ190IHBwX2Rp djsKIH07CiAKLXN0YXRpYyB2b2lkIGludGVsX3Bwc19nZXRfcmVnaXN0ZXJzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9k cCwKK3N0YXRpYyB2b2lkIGludGVsX3Bwc19nZXRfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCiAJCQkJICAgIHN0cnVjdCBwcHNfcmVnaXN0ZXJzICpyZWdzKQogeworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGlu dGVsX2RwKSk7CiAJaW50IHBwc19pZHggPSAwOwogCiAJbWVtc2V0KHJlZ3MsIDAsIHNpemVvZigq cmVncykpOwpAQCAtODE2LDggKzgxMCw3IEBAIF9wcF9jdHJsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQogewogCXN0cnVjdCBwcHNfcmVnaXN0ZXJzIHJlZ3M7CiAKLQlpbnRlbF9wcHNf Z2V0X3JlZ2lzdGVycyh0b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpLCBpbnRlbF9k cCwKLQkJCQkmcmVncyk7CisJaW50ZWxfcHBzX2dldF9yZWdpc3RlcnMoaW50ZWxfZHAsICZyZWdz KTsKIAogCXJldHVybiByZWdzLnBwX2N0cmw7CiB9CkBAIC04MjcsOCArODIwLDcgQEAgX3BwX3N0 YXRfcmVnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7CiAJc3RydWN0IHBwc19yZWdpc3Rl cnMgcmVnczsKIAotCWludGVsX3Bwc19nZXRfcmVnaXN0ZXJzKHRvX2k5MTUoaW50ZWxfZHBfdG9f ZGV2KGludGVsX2RwKSksIGludGVsX2RwLAotCQkJCSZyZWdzKTsKKwlpbnRlbF9wcHNfZ2V0X3Jl Z2lzdGVycyhpbnRlbF9kcCwgJnJlZ3MpOwogCiAJcmV0dXJuIHJlZ3MucHBfc3RhdDsKIH0KQEAg LTE5NDcsOCArMTkzOSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3ByZXBhcmUoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAjZGVmaW5lIElETEVfQ1lDTEVfTUFTSwkJKFBQX09OIHwg UFBfU0VRVUVOQ0VfTUFTSyB8IFBQX0NZQ0xFX0RFTEFZX0FDVElWRSB8IFBQX1NFUVVFTkNFX1NU QVRFX01BU0spCiAjZGVmaW5lIElETEVfQ1lDTEVfVkFMVUUJKDAgICAgIHwgUFBfU0VRVUVOQ0Vf Tk9ORSB8IDAgICAgICAgICAgICAgICAgICAgICB8IFBQX1NFUVVFTkNFX1NUQVRFX09GRl9JRExF KQogCi1zdGF0aWMgdm9pZCBpbnRlbF9wcHNfdmVyaWZ5X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKK3N0 YXRpYyB2b2lkIGludGVsX3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCk7CiAKIHN0YXRpYyB2b2lkIHdhaXRfcGFuZWxfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsCiAJCQkJICAgICAgIHUzMiBtYXNrLApAQCAtMTk2MCw3ICsxOTUxLDcgQEAgc3RhdGlj IHZvaWQgd2FpdF9wYW5lbF9zdGF0dXMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAogCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogCi0JaW50ZWxfcHBzX3Zl cmlmeV9zdGF0ZShkZXZfcHJpdiwgaW50ZWxfZHApOworCWludGVsX3Bwc192ZXJpZnlfc3RhdGUo aW50ZWxfZHApOwogCiAJcHBfc3RhdF9yZWcgPSBfcHBfc3RhdF9yZWcoaW50ZWxfZHApOwogCXBw X2N0cmxfcmVnID0gX3BwX2N0cmxfcmVnKGludGVsX2RwKTsKQEAgLTMwMDksMTUgKzMwMDAsMTQg QEAgc3RhdGljIHZvaWQgdmx2X2RldGFjaF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKIAlpbnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZBTElEX1BJUEU7CiB9CiAKLXN0 YXRpYyB2b2lkIHZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKK3N0YXRpYyB2b2lkIHZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgIGVudW0gcGlwZSBwaXBlKQogewotCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcjsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5w cHNfbXV0ZXgpOwogCi0JZm9yX2VhY2hfaW50ZWxfZW5jb2RlcihkZXYsIGVuY29kZXIpIHsKKwlm b3JfZWFjaF9pbnRlbF9lbmNvZGVyKCZkZXZfcHJpdi0+ZHJtLCBlbmNvZGVyKSB7CiAJCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHA7CiAJCWVudW0gcG9ydCBwb3J0OwogCkBAIC0zMDQ2LDkgKzMw MzYsOCBAQCBzdGF0aWMgdm9pZCB2bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiBzdGF0aWMgdm9pZCB2bHZfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIo c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkJCSAgIGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOwotCXN0cnVjdCBkcm1f ZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5iYXNlLmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0 b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CiAKIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKQEAgLTMwNjksNyArMzA1OCw3IEBAIHN0YXRpYyB2 b2lkIHZsdl9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKIAkgKiBXZSBtYXkgYmUgc3RlYWxpbmcgdGhlIHBvd2VyCiAJICogc2VxdWVuY2Vy IGZyb20gYW5vdGhlciBwb3J0LgogCSAqLwotCXZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoZGV2 LCBjcnRjLT5waXBlKTsKKwl2bHZfc3RlYWxfcG93ZXJfc2VxdWVuY2VyKGRldl9wcml2LCBjcnRj LT5waXBlKTsKIAogCWludGVsX2RwLT5hY3RpdmVfcGlwZSA9IGNydGMtPnBpcGU7CiAKQEAgLTMw ODMsOCArMzA3Miw4IEBAIHN0YXRpYyB2b2lkIHZsdl9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNl cihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJICAgICAgcGlwZV9uYW1lKGludGVs X2RwLT5wcHNfcGlwZSksIHBvcnRfbmFtZShlbmNvZGVyLT5wb3J0KSk7CiAKIAkvKiBpbml0IHBv d2VyIHNlcXVlbmNlciBvbiB0aGlzIHBpcGUgYW5kIHBvcnQgKi8KLQlpbnRlbF9kcF9pbml0X3Bh bmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwKTsKLQlpbnRlbF9kcF9pbml0X3BhbmVs X3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCwgdHJ1ZSk7CisJaW50ZWxf ZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoaW50ZWxfZHApOworCWludGVsX2RwX2luaXRf cGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhpbnRlbF9kcCwgdHJ1ZSk7CiB9CiAKIHN0 YXRpYyB2b2lkIHZsdl9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LApAQCAtNTA2Miw3ICs1MDUxLDcgQEAgdm9pZCBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHAp KSB7CiAJCS8qIFJlaW5pdCB0aGUgcG93ZXIgc2VxdWVuY2VyLCBpbiBjYXNlIEJJT1MgZGlkIHNv bWV0aGluZyB3aXRoIGl0LiAqLwotCQlpbnRlbF9kcF9wcHNfaW5pdChlbmNvZGVyLT5kZXYsIGlu dGVsX2RwKTsKKwkJaW50ZWxfZHBfcHBzX2luaXQoaW50ZWxfZHApOwogCQlpbnRlbF9lZHBfcGFu ZWxfdmRkX3Nhbml0aXplKGludGVsX2RwKTsKIAl9CiAKQEAgLTUyMDIsMTMgKzUxOTEsMTMgQEAg c3RhdGljIHZvaWQgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl90aW1lc3RhbXBzKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiB9CiAKIHN0YXRpYyB2b2lkCi1pbnRlbF9wcHNfcmVhZG91dF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkgICBzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxKQoraW50ZWxfcHBz X3JlYWRvdXRfaHdfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgc3RydWN0IGVkcF9w b3dlcl9zZXEgKnNlcSkKIHsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOwogCXUzMiBwcF9vbiwgcHBfb2ZmLCBw cF9kaXYgPSAwLCBwcF9jdGwgPSAwOwogCXN0cnVjdCBwcHNfcmVnaXN0ZXJzIHJlZ3M7CiAKLQlp bnRlbF9wcHNfZ2V0X3JlZ2lzdGVycyhkZXZfcHJpdiwgaW50ZWxfZHAsICZyZWdzKTsKKwlpbnRl bF9wcHNfZ2V0X3JlZ2lzdGVycyhpbnRlbF9kcCwgJnJlZ3MpOwogCiAJLyogV29ya2Fyb3VuZDog TmVlZCB0byB3cml0ZSBQUF9DT05UUk9MIHdpdGggdGhlIHVubG9jayBrZXkgYXMKIAkgKiB0aGUg dmVyeSBmaXJzdCB0aGluZy4gKi8KQEAgLTUyNTIsMTMgKzUyNDEsMTIgQEAgaW50ZWxfcHBzX2R1 bXBfc3RhdGUoY29uc3QgY2hhciAqc3RhdGVfbmFtZSwgY29uc3Qgc3RydWN0IGVkcF9wb3dlcl9z ZXEgKnNlcSkKIH0KIAogc3RhdGljIHZvaWQKLWludGVsX3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAotCQkgICAgICAgc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKK2ludGVsX3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKIHsKIAlzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSBodzsKIAlzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAq c3cgPSAmaW50ZWxfZHAtPnBwc19kZWxheXM7CiAKLQlpbnRlbF9wcHNfcmVhZG91dF9od19zdGF0 ZShkZXZfcHJpdiwgaW50ZWxfZHAsICZodyk7CisJaW50ZWxfcHBzX3JlYWRvdXRfaHdfc3RhdGUo aW50ZWxfZHAsICZodyk7CiAKIAlpZiAoaHcudDFfdDMgIT0gc3ctPnQxX3QzIHx8IGh3LnQ4ICE9 IHN3LT50OCB8fCBody50OSAhPSBzdy0+dDkgfHwKIAkgICAgaHcudDEwICE9IHN3LT50MTAgfHwg aHcudDExX3QxMiAhPSBzdy0+dDExX3QxMikgewpAQCAtNTI2OSwxMCArNTI1Nyw5IEBAIGludGVs X3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogfQog CiBzdGF0aWMgdm9pZAotaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKLQkJCQkgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKK2lu dGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBf dG9fZGV2KGludGVsX2RwKSk7CiAJc3RydWN0IGVkcF9wb3dlcl9zZXEgY3VyLCB2YnQsIHNwZWMs CiAJCSpmaW5hbCA9ICZpbnRlbF9kcC0+cHBzX2RlbGF5czsKIApAQCAtNTI4Miw3ICs1MjY5LDcg QEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAlpZiAoZmluYWwtPnQxMV90MTIgIT0gMCkKIAkJcmV0dXJuOwogCi0JaW50ZWxfcHBz X3JlYWRvdXRfaHdfc3RhdGUoZGV2X3ByaXYsIGludGVsX2RwLCAmY3VyKTsKKwlpbnRlbF9wcHNf cmVhZG91dF9od19zdGF0ZShpbnRlbF9kcCwgJmN1cik7CiAKIAlpbnRlbF9wcHNfZHVtcF9zdGF0 ZSgiY3VyIiwgJmN1cik7CiAKQEAgLTUzNTYsMTEgKzUzNDMsMTAgQEAgaW50ZWxfZHBfaW5pdF9w YW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIH0KIAogc3RhdGlj IHZvaWQKLWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAoraW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsCiAJCQkJCSAgICAgIGJvb2wgZm9yY2VfZGlzYWJsZV92ZGQpCiB7 Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2 KGludGVsX2RwKSk7CiAJdTMyIHBwX29uLCBwcF9vZmYsIHBwX2RpdiwgcG9ydF9zZWwgPSAwOwog CWludCBkaXYgPSBkZXZfcHJpdi0+cmF3Y2xrX2ZyZXEgLyAxMDAwOwogCXN0cnVjdCBwcHNfcmVn aXN0ZXJzIHJlZ3M7CkBAIC01MzY5LDcgKzUzNTUsNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWxvY2tk ZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwogCi0JaW50ZWxfcHBzX2dldF9y ZWdpc3RlcnMoZGV2X3ByaXYsIGludGVsX2RwLCAmcmVncyk7CisJaW50ZWxfcHBzX2dldF9yZWdp c3RlcnMoaW50ZWxfZHAsICZyZWdzKTsKIAogCS8qCiAJICogT24gc29tZSBWTFYgbWFjaGluZXMg dGhlIEJJT1MgY2FuIGxlYXZlIHRoZSBWREQKQEAgLTU0NDEsMTYgKzU0MjcsMTUgQEAgaW50ZWxf ZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJCSAgICAgIEk5MTVfUkVBRChyZWdzLnBwX2RpdikpOwogfQogCi1zdGF0aWMgdm9p ZCBpbnRlbF9kcF9wcHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJICAgICAgc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKK3N0YXRpYyB2b2lkIGludGVsX2RwX3Bwc19pbml0KHN0 cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKSk7CiAKIAlpZiAoSVNfVkFMTEVZ VklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKIAkJdmx2X2luaXRp YWxfcG93ZXJfc2VxdWVuY2VyX3NldHVwKGludGVsX2RwKTsKIAl9IGVsc2UgewotCQlpbnRlbF9k cF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihkZXYsIGludGVsX2RwKTsKLQkJaW50ZWxfZHBf aW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKGRldiwgaW50ZWxfZHAsIGZhbHNl KTsKKwkJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoaW50ZWxfZHApOworCQlp bnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoaW50ZWxfZHAsIGZh bHNlKTsKIAl9CiB9CiAKQEAgLTU4NjQsNyArNTg0OSw3IEBAIHN0YXRpYyBib29sIGludGVsX2Vk cF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCXBwc19sb2NrKGlu dGVsX2RwKTsKIAogCWludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfdGltZXN0YW1wcyhpbnRlbF9k cCk7Ci0JaW50ZWxfZHBfcHBzX2luaXQoZGV2LCBpbnRlbF9kcCk7CisJaW50ZWxfZHBfcHBzX2lu aXQoaW50ZWxfZHApOwogCWludGVsX2VkcF9wYW5lbF92ZGRfc2FuaXRpemUoaW50ZWxfZHApOwog CiAJcHBzX3VubG9jayhpbnRlbF9kcCk7Ci0tIAoyLjEzLjYKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=