From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [RESEND,v2] dmaengine: zynqmp_dma: Add runtime pm support From: Kedareswara rao Appana Message-Id: <1512624597-14502-1-git-send-email-appanad@xilinx.com> Date: Thu, 7 Dec 2017 10:59:57 +0530 To: vinod.koul@intel.com, dan.j.williams@intel.com, michal.simek@xilinx.com, appanad@xilinx.com, sr@denx.de, dave.jiang@intel.com, kedare06@gmail.com Cc: dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org List-ID: VGhpcyBwYXRjaCBhZGRzIHJ1bnRpbWUgcG0gc3VwcG9ydCBpbiB0aGUgZHJpdmVyLgoKU2lnbmVk LW9mZi1ieTogS2VkYXJlc3dhcmEgcmFvIEFwcGFuYSA8YXBwYW5hZEB4aWxpbnguY29tPgotLS0K UmVzZW5kaW5nIHRoZSBwYXRjaCBhcyB0aGVyZSBhcmUgc29tZSBpc3N1ZXMgd2l0aCBteSBnaXQg c2VuZC1lbWFpbCwKcGF0Y2ggaXMgbm90IHNob3dpbmcgaW4gdGhlIGRtZWVuZ2luZSBtYWlsaW5n IGxpc3QuCkNoYW5nZXMgZm9yIHYyOgotLT4gRml4ZWQgZXJyb3IgcGF0aCBpbiB0aGUgcHJvYmUu CgogZHJpdmVycy9kbWEveGlsaW54L3p5bnFtcF9kbWEuYyB8IDE2MCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTI4IGluc2VydGlvbnMo KyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hL3hpbGlueC96eW5x bXBfZG1hLmMgYi9kcml2ZXJzL2RtYS94aWxpbngvenlucW1wX2RtYS5jCmluZGV4IDFlZTEyNDEu LjRmYTE0YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hL3hpbGlueC96eW5xbXBfZG1hLmMKKysr IGIvZHJpdmVycy9kbWEveGlsaW54L3p5bnFtcF9kbWEuYwpAQCAtMjMsNiArMjMsNyBAQAogI2lu Y2x1ZGUgPGxpbnV4L3NsYWIuaD4KICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KICNpbmNsdWRlIDxs aW51eC9pby02NC1ub25hdG9taWMtbG8taGkuaD4KKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1l Lmg+CiAKICNpbmNsdWRlICIuLi9kbWFlbmdpbmUuaCIKIApAQCAtMTM4LDYgKzEzOSw4IEBACiAj ZGVmaW5lIFpZTlFNUF9ETUFfQlVTX1dJRFRIXzY0CQk2NAogI2RlZmluZSBaWU5RTVBfRE1BX0JV U19XSURUSF8xMjgJMTI4CiAKKyNkZWZpbmUgWkRNQV9QTV9USU1FT1VUCQkJMTAwCisKICNkZWZp bmUgWllOUU1QX0RNQV9ERVNDX1NJWkUoY2hhbikJKGNoYW4tPmRlc2Nfc2l6ZSkKIAogI2RlZmlu ZSB0b19jaGFuKGNoYW4pCQljb250YWluZXJfb2YoY2hhbiwgc3RydWN0IHp5bnFtcF9kbWFfY2hh biwgXApAQCAtMjExLDggKzIxNCw2IEBAIHN0cnVjdCB6eW5xbXBfZG1hX2Rlc2Nfc3cgewogICog QGJ1c193aWR0aDogQnVzIHdpZHRoCiAgKiBAc3JjX2J1cnN0X2xlbjogU291cmNlIGJ1cnN0IGxl bmd0aAogICogQGRzdF9idXJzdF9sZW46IERlc3QgYnVyc3QgbGVuZ3RoCi0gKiBAY2xrX21haW46 IFBvaW50ZXIgdG8gbWFpbiBjbG9jawotICogQGNsa19hcGI6IFBvaW50ZXIgdG8gYXBiIGNsb2Nr CiAgKi8KIHN0cnVjdCB6eW5xbXBfZG1hX2NoYW4gewogCXN0cnVjdCB6eW5xbXBfZG1hX2Rldmlj ZSAqemRldjsKQEAgLTIzNyw4ICsyMzgsNiBAQCBzdHJ1Y3QgenlucW1wX2RtYV9jaGFuIHsKIAl1 MzIgYnVzX3dpZHRoOwogCXUzMiBzcmNfYnVyc3RfbGVuOwogCXUzMiBkc3RfYnVyc3RfbGVuOwot CXN0cnVjdCBjbGsgKmNsa19tYWluOwotCXN0cnVjdCBjbGsgKmNsa19hcGI7CiB9OwogCiAvKioK QEAgLTI0NiwxMSArMjQ1LDE1IEBAIHN0cnVjdCB6eW5xbXBfZG1hX2NoYW4gewogICogQGRldjog RGV2aWNlIFN0cnVjdHVyZQogICogQGNvbW1vbjogRE1BIGRldmljZSBzdHJ1Y3R1cmUKICAqIEBj aGFuOiBEcml2ZXIgc3BlY2lmaWMgRE1BIGNoYW5uZWwKKyAqIEBjbGtfbWFpbjogUG9pbnRlciB0 byBtYWluIGNsb2NrCisgKiBAY2xrX2FwYjogUG9pbnRlciB0byBhcGIgY2xvY2sKICAqLwogc3Ry dWN0IHp5bnFtcF9kbWFfZGV2aWNlIHsKIAlzdHJ1Y3QgZGV2aWNlICpkZXY7CiAJc3RydWN0IGRt YV9kZXZpY2UgY29tbW9uOwogCXN0cnVjdCB6eW5xbXBfZG1hX2NoYW4gKmNoYW47CisJc3RydWN0 IGNsayAqY2xrX21haW47CisJc3RydWN0IGNsayAqY2xrX2FwYjsKIH07CiAKIHN0YXRpYyBpbmxp bmUgdm9pZCB6eW5xbXBfZG1hX3dyaXRlcShzdHJ1Y3QgenlucW1wX2RtYV9jaGFuICpjaGFuLCB1 MzIgcmVnLApAQCAtNDYxLDcgKzQ2NCwxMSBAQCBzdGF0aWMgaW50IHp5bnFtcF9kbWFfYWxsb2Nf Y2hhbl9yZXNvdXJjZXMoc3RydWN0IGRtYV9jaGFuICpkY2hhbikKIHsKIAlzdHJ1Y3QgenlucW1w X2RtYV9jaGFuICpjaGFuID0gdG9fY2hhbihkY2hhbik7CiAJc3RydWN0IHp5bnFtcF9kbWFfZGVz Y19zdyAqZGVzYzsKLQlpbnQgaTsKKwlpbnQgaSwgcmV0OworCisJcmV0ID0gcG1fcnVudGltZV9n ZXRfc3luYyhjaGFuLT5kZXYpOworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gcmV0OwogCiAJY2hh bi0+c3dfZGVzY19wb29sID0ga3phbGxvYyhzaXplb2YoKmRlc2MpICogWllOUU1QX0RNQV9OVU1f REVTQ1MsCiAJCQkJICAgICBHRlBfS0VSTkVMKTsKQEAgLTY2NCw2ICs2NzEsOCBAQCBzdGF0aWMg dm9pZCB6eW5xbXBfZG1hX2ZyZWVfY2hhbl9yZXNvdXJjZXMoc3RydWN0IGRtYV9jaGFuICpkY2hh bikKIAkJKDIgKiBaWU5RTVBfRE1BX0RFU0NfU0laRShjaGFuKSAqIFpZTlFNUF9ETUFfTlVNX0RF U0NTKSwKIAkJY2hhbi0+ZGVzY19wb29sX3YsIGNoYW4tPmRlc2NfcG9vbF9wKTsKIAlrZnJlZShj aGFuLT5zd19kZXNjX3Bvb2wpOworCXBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3koY2hhbi0+ZGV2 KTsKKwlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChjaGFuLT5kZXYpOwogfQogCiAvKioKQEAg LTg0MSw4ICs4NTAsNiBAQCBzdGF0aWMgdm9pZCB6eW5xbXBfZG1hX2NoYW5fcmVtb3ZlKHN0cnVj dCB6eW5xbXBfZG1hX2NoYW4gKmNoYW4pCiAJZGV2bV9mcmVlX2lycShjaGFuLT56ZGV2LT5kZXYs IGNoYW4tPmlycSwgY2hhbik7CiAJdGFza2xldF9raWxsKCZjaGFuLT50YXNrbGV0KTsKIAlsaXN0 X2RlbCgmY2hhbi0+Y29tbW9uLmRldmljZV9ub2RlKTsKLQljbGtfZGlzYWJsZV91bnByZXBhcmUo Y2hhbi0+Y2xrX2FwYik7Ci0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGNoYW4tPmNsa19tYWluKTsK IH0KIAogLyoqCkBAIC05MDcsMzAgKzkxNCw2IEBAIHN0YXRpYyBpbnQgenlucW1wX2RtYV9jaGFu X3Byb2JlKHN0cnVjdCB6eW5xbXBfZG1hX2RldmljZSAqemRldiwKIAkJCSAgICAgICAienlucW1w LWRtYSIsIGNoYW4pOwogCWlmIChlcnIpCiAJCXJldHVybiBlcnI7Ci0JY2hhbi0+Y2xrX21haW4g PSBkZXZtX2Nsa19nZXQoJnBkZXYtPmRldiwgImNsa19tYWluIik7Ci0JaWYgKElTX0VSUihjaGFu LT5jbGtfbWFpbikpIHsKLQkJZGV2X2VycigmcGRldi0+ZGV2LCAibWFpbiBjbG9jayBub3QgZm91 bmQuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIoY2hhbi0+Y2xrX21haW4pOwotCX0KLQotCWNoYW4t PmNsa19hcGIgPSBkZXZtX2Nsa19nZXQoJnBkZXYtPmRldiwgImNsa19hcGIiKTsKLQlpZiAoSVNf RVJSKGNoYW4tPmNsa19hcGIpKSB7Ci0JCWRldl9lcnIoJnBkZXYtPmRldiwgImFwYiBjbG9jayBu b3QgZm91bmQuXG4iKTsKLQkJcmV0dXJuIFBUUl9FUlIoY2hhbi0+Y2xrX2FwYik7Ci0JfQotCi0J ZXJyID0gY2xrX3ByZXBhcmVfZW5hYmxlKGNoYW4tPmNsa19tYWluKTsKLQlpZiAoZXJyKSB7Ci0J CWRldl9lcnIoJnBkZXYtPmRldiwgIlVuYWJsZSB0byBlbmFibGUgbWFpbiBjbG9jay5cbiIpOwot CQlyZXR1cm4gZXJyOwotCX0KLQotCWVyciA9IGNsa19wcmVwYXJlX2VuYWJsZShjaGFuLT5jbGtf YXBiKTsKLQlpZiAoZXJyKSB7Ci0JCWNsa19kaXNhYmxlX3VucHJlcGFyZShjaGFuLT5jbGtfbWFp bik7Ci0JCWRldl9lcnIoJnBkZXYtPmRldiwgIlVuYWJsZSB0byBlbmFibGUgYXBiIGNsb2NrLlxu Iik7Ci0JCXJldHVybiBlcnI7Ci0JfQogCiAJY2hhbi0+ZGVzY19zaXplID0gc2l6ZW9mKHN0cnVj dCB6eW5xbXBfZG1hX2Rlc2NfbGwpOwogCWNoYW4tPmlkbGUgPSB0cnVlOwpAQCAtOTUzLDYgKzkz Niw4NyBAQCBzdGF0aWMgc3RydWN0IGRtYV9jaGFuICpvZl96eW5xbXBfZG1hX3hsYXRlKHN0cnVj dCBvZl9waGFuZGxlX2FyZ3MgKmRtYV9zcGVjLAogfQogCiAvKioKKyAqIHp5bnFtcF9kbWFfc3Vz cGVuZCAtIFN1c3BlbmQgbWV0aG9kIGZvciB0aGUgZHJpdmVyCisgKiBAZGV2OglBZGRyZXNzIG9m IHRoZSBkZXZpY2Ugc3RydWN0dXJlCisgKgorICogUHV0IHRoZSBkcml2ZXIgaW50byBsb3cgcG93 ZXIgbW9kZS4KKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIGFuZCBmYWlsdXJlIHZhbHVlIG9uIGVy cm9yCisgKi8KK3N0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgenlucW1wX2RtYV9zdXNwZW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKK3sKKwlpZiAoIWRldmljZV9tYXlfd2FrZXVwKGRldikpCisJCXJl dHVybiBwbV9ydW50aW1lX2ZvcmNlX3N1c3BlbmQoZGV2KTsKKworCXJldHVybiAwOworfQorCisv KioKKyAqIHp5bnFtcF9kbWFfcmVzdW1lIC0gUmVzdW1lIGZyb20gc3VzcGVuZAorICogQGRldjoJ QWRkcmVzcyBvZiB0aGUgZGV2aWNlIHN0cnVjdHVyZQorICoKKyAqIFJlc3VtZSBvcGVyYXRpb24g YWZ0ZXIgc3VzcGVuZC4KKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIGFuZCBmYWlsdXJlIHZhbHVl IG9uIGVycm9yCisgKi8KK3N0YXRpYyBpbnQgX19tYXliZV91bnVzZWQgenlucW1wX2RtYV9yZXN1 bWUoc3RydWN0IGRldmljZSAqZGV2KQoreworCWlmICghZGV2aWNlX21heV93YWtldXAoZGV2KSkK KwkJcmV0dXJuIHBtX3J1bnRpbWVfZm9yY2VfcmVzdW1lKGRldik7CisKKwlyZXR1cm4gMDsKK30K KworLyoqCisgKiB6eW5xbXBfZG1hX3J1bnRpbWVfc3VzcGVuZCAtIFJ1bnRpbWUgc3VzcGVuZCBt ZXRob2QgZm9yIHRoZSBkcml2ZXIKKyAqIEBkZXY6CUFkZHJlc3Mgb2YgdGhlIGRldmljZSBzdHJ1 Y3R1cmUKKyAqCisgKiBQdXQgdGhlIGRyaXZlciBpbnRvIGxvdyBwb3dlciBtb2RlLgorICogUmV0 dXJuOiAwIGFsd2F5cworICovCitzdGF0aWMgaW50IF9fbWF5YmVfdW51c2VkIHp5bnFtcF9kbWFf cnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgenlucW1wX2Rt YV9kZXZpY2UgKnpkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCWNsa19kaXNhYmxlX3Vu cHJlcGFyZSh6ZGV2LT5jbGtfbWFpbik7CisJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHpkZXYtPmNs a19hcGIpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogenlucW1wX2RtYV9ydW50aW1lX3Jl c3VtZSAtIFJ1bnRpbWUgc3VzcGVuZCBtZXRob2QgZm9yIHRoZSBkcml2ZXIKKyAqIEBkZXY6CUFk ZHJlc3Mgb2YgdGhlIGRldmljZSBzdHJ1Y3R1cmUKKyAqCisgKiBQdXQgdGhlIGRyaXZlciBpbnRv IGxvdyBwb3dlciBtb2RlLgorICogUmV0dXJuOiAwIGFsd2F5cworICovCitzdGF0aWMgaW50IF9f bWF5YmVfdW51c2VkIHp5bnFtcF9kbWFfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2 KQoreworCXN0cnVjdCB6eW5xbXBfZG1hX2RldmljZSAqemRldiA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOworCWludCBlcnI7CisKKwllcnIgPSBjbGtfcHJlcGFyZV9lbmFibGUoemRldi0+Y2xrX21h aW4pOworCWlmIChlcnIpIHsKKwkJZGV2X2VycihkZXYsICJVbmFibGUgdG8gZW5hYmxlIG1haW4g Y2xvY2suXG4iKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwllcnIgPSBjbGtfcHJlcGFyZV9lbmFi bGUoemRldi0+Y2xrX2FwYik7CisJaWYgKGVycikgeworCQlkZXZfZXJyKGRldiwgIlVuYWJsZSB0 byBlbmFibGUgYXBiIGNsb2NrLlxuIik7CisJCWNsa19kaXNhYmxlX3VucHJlcGFyZSh6ZGV2LT5j bGtfbWFpbik7CisJCXJldHVybiBlcnI7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBj b25zdCBzdHJ1Y3QgZGV2X3BtX29wcyB6eW5xbXBfZG1hX2Rldl9wbV9vcHMgPSB7CisJU0VUX1NZ U1RFTV9TTEVFUF9QTV9PUFMoenlucW1wX2RtYV9zdXNwZW5kLCB6eW5xbXBfZG1hX3Jlc3VtZSkK KwlTRVRfUlVOVElNRV9QTV9PUFMoenlucW1wX2RtYV9ydW50aW1lX3N1c3BlbmQsCisJCQkgICB6 eW5xbXBfZG1hX3J1bnRpbWVfcmVzdW1lLCBOVUxMKQorfTsKKworLyoqCiAgKiB6eW5xbXBfZG1h X3Byb2JlIC0gRHJpdmVyIHByb2JlIGZ1bmN0aW9uCiAgKiBAcGRldjogUG9pbnRlciB0byB0aGUg cGxhdGZvcm1fZGV2aWNlIHN0cnVjdHVyZQogICoKQEAgLTk4NCwxMiArMTA0OCwzMyBAQCBzdGF0 aWMgaW50IHp5bnFtcF9kbWFfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlw LT5kZXZpY2VfY29uZmlnID0genlucW1wX2RtYV9kZXZpY2VfY29uZmlnOwogCXAtPmRldiA9ICZw ZGV2LT5kZXY7CiAKKwl6ZGV2LT5jbGtfbWFpbiA9IGRldm1fY2xrX2dldCgmcGRldi0+ZGV2LCAi Y2xrX21haW4iKTsKKwlpZiAoSVNfRVJSKHpkZXYtPmNsa19tYWluKSkgeworCQlkZXZfZXJyKCZw ZGV2LT5kZXYsICJtYWluIGNsb2NrIG5vdCBmb3VuZC5cbiIpOworCQlyZXR1cm4gUFRSX0VSUih6 ZGV2LT5jbGtfbWFpbik7CisJfQorCisJemRldi0+Y2xrX2FwYiA9IGRldm1fY2xrX2dldCgmcGRl di0+ZGV2LCAiY2xrX2FwYiIpOworCWlmIChJU19FUlIoemRldi0+Y2xrX2FwYikpIHsKKwkJZGV2 X2VycigmcGRldi0+ZGV2LCAiYXBiIGNsb2NrIG5vdCBmb3VuZC5cbiIpOworCQlyZXR1cm4gUFRS X0VSUih6ZGV2LT5jbGtfYXBiKTsKKwl9CisKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCB6 ZGV2KTsKKwlwbV9ydW50aW1lX3NldF9hdXRvc3VzcGVuZF9kZWxheSh6ZGV2LT5kZXYsIFpETUFf UE1fVElNRU9VVCk7CisJcG1fcnVudGltZV91c2VfYXV0b3N1c3BlbmQoemRldi0+ZGV2KTsKKwlw bV9ydW50aW1lX2VuYWJsZSh6ZGV2LT5kZXYpOworCXBtX3J1bnRpbWVfZ2V0X3N5bmMoemRldi0+ ZGV2KTsKKwlpZiAoIXBtX3J1bnRpbWVfZW5hYmxlZCh6ZGV2LT5kZXYpKSB7CisJCXJldCA9IHp5 bnFtcF9kbWFfcnVudGltZV9yZXN1bWUoemRldi0+ZGV2KTsKKwkJaWYgKHJldCkKKwkJCXJldHVy biByZXQ7CisJfQogCiAJcmV0ID0genlucW1wX2RtYV9jaGFuX3Byb2JlKHpkZXYsIHBkZXYpOwog CWlmIChyZXQpIHsKIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiUHJvYmluZyBjaGFubmVsIGZhaWxl ZFxuIik7Ci0JCWdvdG8gZnJlZV9jaGFuX3Jlc291cmNlczsKKwkJZ290byBlcnJfZGlzYWJsZV9w bTsKIAl9CiAKIAlwLT5kc3RfYWRkcl93aWR0aHMgPSBCSVQoemRldi0+Y2hhbi0+YnVzX3dpZHRo IC8gOCk7CkBAIC0xMDA1LDEyICsxMDkwLDE5IEBAIHN0YXRpYyBpbnQgenlucW1wX2RtYV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlnb3RvIGZyZWVfY2hhbl9yZXNvdXJj ZXM7CiAJfQogCisJcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeSh6ZGV2LT5kZXYpOworCXBtX3J1 bnRpbWVfcHV0X3N5bmNfYXV0b3N1c3BlbmQoemRldi0+ZGV2KTsKKwogCWRldl9pbmZvKCZwZGV2 LT5kZXYsICJaeW5xTVAgRE1BIGRyaXZlciBQcm9iZSBzdWNjZXNzXG4iKTsKIAogCXJldHVybiAw OwogCiBmcmVlX2NoYW5fcmVzb3VyY2VzOgogCXp5bnFtcF9kbWFfY2hhbl9yZW1vdmUoemRldi0+ Y2hhbik7CitlcnJfZGlzYWJsZV9wbToKKwlpZiAoIXBtX3J1bnRpbWVfZW5hYmxlZCh6ZGV2LT5k ZXYpKQorCQl6eW5xbXBfZG1hX3J1bnRpbWVfc3VzcGVuZCh6ZGV2LT5kZXYpOworCXBtX3J1bnRp bWVfZGlzYWJsZSh6ZGV2LT5kZXYpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTEwMjgsNiArMTEy MCw5IEBAIHN0YXRpYyBpbnQgenlucW1wX2RtYV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlkbWFfYXN5bmNfZGV2aWNlX3VucmVnaXN0ZXIoJnpkZXYtPmNvbW1vbik7CiAK IAl6eW5xbXBfZG1hX2NoYW5fcmVtb3ZlKHpkZXYtPmNoYW4pOworCXBtX3J1bnRpbWVfZGlzYWJs ZSh6ZGV2LT5kZXYpOworCWlmICghcG1fcnVudGltZV9lbmFibGVkKHpkZXYtPmRldikpCisJCXp5 bnFtcF9kbWFfcnVudGltZV9zdXNwZW5kKHpkZXYtPmRldik7CiAKIAlyZXR1cm4gMDsKIH0KQEAg LTEwNDIsNiArMTEzNyw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHp5bnFtcF9k bWFfZHJpdmVyID0gewogCS5kcml2ZXIgPSB7CiAJCS5uYW1lID0gInhpbGlueC16eW5xbXAtZG1h IiwKIAkJLm9mX21hdGNoX3RhYmxlID0genlucW1wX2RtYV9vZl9tYXRjaCwKKwkJLnBtID0gJnp5 bnFtcF9kbWFfZGV2X3BtX29wcywKIAl9LAogCS5wcm9iZSA9IHp5bnFtcF9kbWFfcHJvYmUsCiAJ LnJlbW92ZSA9IHp5bnFtcF9kbWFfcmVtb3ZlLAo=