From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH] drm/amd/powerplay: enable some feature for baffin/ellesmere. (v2) Date: Mon, 2 May 2016 16:00:39 -0400 Message-ID: <1462219259-29806-27-git-send-email-alexander.deucher@amd.com> References: <1462219259-29806-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-x22f.google.com (mail-qg0-x22f.google.com [IPv6:2607:f8b0:400d:c04::22f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6E4546E62D for ; Mon, 2 May 2016 20:01:22 +0000 (UTC) Received: by mail-qg0-x22f.google.com with SMTP id f74so74338637qge.2 for ; Mon, 02 May 2016 13:01:22 -0700 (PDT) In-Reply-To: <1462219259-29806-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Alex Deucher , Rex Zhu List-Id: dri-devel@lists.freedesktop.org RnJvbTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgoKU3luYyB1cCB3aXRoIGludGVybmFsIHVw ZGF0ZXMuCgp2Mjogc3F1YXNoIGluOgpkcm0vYW1kL3Bvd2VycGxheTogc2V0IHJldmVydCBmbGFn IGZvciBlbmFibGUgdGhlcm1hbCBwcm90ZWN0LgoKU2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4 LlpodUBhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hl ckBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVy QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZmlqaV9o d21nci5jICAgfCAgMiArLQogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9wb2xhcmlz MTBfaHdtZ3IuYyAgfCA5NCArKysrKysrKysrKysrKysrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQs IDgzIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2ZpamlfaHdtZ3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2h3bWdyL2ZpamlfaHdtZ3IuYwppbmRleCA1NWEwMDZkLi5kYzgzNmQz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3 bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZmlqaV9od21n ci5jCkBAIC0zMzc3LDcgKzMzNzcsNyBAQCBzdGF0aWMgdm9pZCBmaWppX3NldF9kcG1fZXZlbnRf c291cmNlcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCQkJCURQTV9FVkVOVF9TUkMsIHNyYyk7 CiAJCVBITV9XUklURV9JTkRJUkVDVF9GSUVMRChod21nci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19f U01DLCBHRU5FUkFMX1BXUk1HVCwKIAkJCQlUSEVSTUFMX1BST1RFQ1RJT05fRElTLAotCQkJCXBo bV9jYXBfZW5hYmxlZChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCisJ CQkJIXBobV9jYXBfZW5hYmxlZChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNh cHMsCiAJCQkJCQlQSE1fUGxhdGZvcm1DYXBzX1RoZXJtYWxDb250cm9sbGVyKSk7CiAJfSBlbHNl CiAJCVBITV9XUklURV9JTkRJUkVDVF9GSUVMRChod21nci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19f U01DLCBHRU5FUkFMX1BXUk1HVCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3BvbGFyaXMxMF9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3IvcG9sYXJpczEwX2h3bWdyLmMKaW5kZXggOGE5MGE1Ni4uODVhMzM0MSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvcG9sYXJpczEwX2h3 bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvcG9sYXJpczEw X2h3bWdyLmMKQEAgLTIzOTUsNyArMjM5NSw3IEBAIHN0YXRpYyB2b2lkIHBvbGFyaXMxMF9zZXRf ZHBtX2V2ZW50X3NvdXJjZXMoc3RydWN0IHBwX2h3bWdyICpod21nciwgdWludDMyX3Qgc291CiAJ CQkJRFBNX0VWRU5UX1NSQywgc3JjKTsKIAkJUEhNX1dSSVRFX0lORElSRUNUX0ZJRUxEKGh3bWdy LT5kZXZpY2UsIENHU19JTkRfUkVHX19TTUMsIEdFTkVSQUxfUFdSTUdULAogCQkJCVRIRVJNQUxf UFJPVEVDVElPTl9ESVMsCi0JCQkJcGhtX2NhcF9lbmFibGVkKGh3bWdyLT5wbGF0Zm9ybV9kZXNj cmlwdG9yLnBsYXRmb3JtQ2FwcywKKwkJCQkhcGhtX2NhcF9lbmFibGVkKGh3bWdyLT5wbGF0Zm9y bV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKIAkJCQkJCVBITV9QbGF0Zm9ybUNhcHNfVGhlcm1h bENvbnRyb2xsZXIpKTsKIAl9IGVsc2UKIAkJUEhNX1dSSVRFX0lORElSRUNUX0ZJRUxEKGh3bWdy LT5kZXZpY2UsIENHU19JTkRfUkVHX19TTUMsIEdFTkVSQUxfUFdSTUdULApAQCAtMjU2Miw2ICsy NTYyLDkgQEAgaW50IHBvbGFyaXMxMF9zZXRfZmVhdHVyZXNfcGxhdGZvcm1fY2FwcyhzdHJ1Y3Qg cHBfaHdtZ3IgKmh3bWdyKQogCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9y LnBsYXRmb3JtQ2FwcywKIAkJCVBITV9QbGF0Zm9ybUNhcHNfU2Nsa0RlZXBTbGVlcCk7CiAKKwlw aG1fY2FwX3NldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCisJCVBI TV9QbGF0Zm9ybUNhcHNfRHluYW1pY1BhdGNoUG93ZXJTdGF0ZSk7CisKIAlpZiAoZGF0YS0+bXZk ZF9jb250cm9sID09IFBPTEFSSVMxMF9WT0xUQUdFX0NPTlRST0xfTk9ORSkKIAkJcGhtX2NhcF91 bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCiAJCQkJUEhNX1Bs YXRmb3JtQ2Fwc19FbmFibGVNVkREQ29udHJvbCk7CkBAIC0yNTgwLDYgKzI1ODMsOSBAQCBpbnQg cG9sYXJpczEwX3NldF9mZWF0dXJlc19wbGF0Zm9ybV9jYXBzKHN0cnVjdCBwcF9od21nciAqaHdt Z3IpCiAJCQlQSE1fUGxhdGZvcm1DYXBzX0R5bmFtaWNQb3dlck1hbmFnZW1lbnQpOwogCiAJcGht X2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJUEhN X1BsYXRmb3JtQ2Fwc19VblRhYmxlZEhhcmR3YXJlSW50ZXJmYWNlKTsKKworCXBobV9jYXBfc2V0 KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKIAkJCVBITV9QbGF0Zm9y bUNhcHNfVGFibGVsZXNzSGFyZHdhcmVJbnRlcmZhY2UpOwogCiAJcGhtX2NhcF9zZXQoaHdtZ3It PnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLApAQCAtMjU5NiwxMCArMjYwMiw2IEBA IGludCBwb2xhcmlzMTBfc2V0X2ZlYXR1cmVzX3BsYXRmb3JtX2NhcHMoc3RydWN0IHBwX2h3bWdy ICpod21ncikKIAogCS8qIHBvd2VyIHR1bmUgY2FwcyBBc3N1bWUgZGlzYWJsZWQgKi8KIAlwaG1f Y2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKLQkJCQkJ UEhNX1BsYXRmb3JtQ2Fwc19Qb3dlckNvbnRhaW5tZW50KTsKLQlwaG1fY2FwX3Vuc2V0KGh3bWdy LT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKLQkJCQkJCQlQSE1fUGxhdGZvcm1D YXBzX0NBQyk7Ci0JcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0 Zm9ybUNhcHMsCiAJCQkJCQlQSE1fUGxhdGZvcm1DYXBzX1NRUmFtcGluZyk7CiAJcGhtX2NhcF91 bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCiAJCQkJCQlQSE1f UGxhdGZvcm1DYXBzX0RCUmFtcGluZyk7CkBAIC0yNjA4LDYgKzI2MTAsMjIgQEAgaW50IHBvbGFy aXMxMF9zZXRfZmVhdHVyZXNfcGxhdGZvcm1fY2FwcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQog CXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAog CQkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19UQ1BSYW1waW5nKTsKIAorCXBobV9jYXBfc2V0KGh3bWdy LT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKKwkJCQkJUEhNX1BsYXRmb3JtQ2Fw c19Qb3dlckNvbnRhaW5tZW50KTsKKwlwaG1fY2FwX3NldChod21nci0+cGxhdGZvcm1fZGVzY3Jp cHRvci5wbGF0Zm9ybUNhcHMsCisJCQkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19DQUMpOworCisJcGht X2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJCQkJ UEhNX1BsYXRmb3JtQ2Fwc19SZWd1bGF0b3JIb3QpOworCisJcGhtX2NhcF9zZXQoaHdtZ3ItPnBs YXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19B dXRvbWF0aWNEQ1RyYW5zaXRpb24pOworCisJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rl c2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19PREZ1enp5RmFu Q29udHJvbFN1cHBvcnQpOworCisJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0 b3IucGxhdGZvcm1DYXBzLAorCQkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19GYW5TcGVlZEluVGFibGVJ c1JQTSk7CiAJaWYgKGh3bWdyLT5jaGlwX2lkID09IENISVBfUE9MQVJJUzExKQogCQlwaG1fY2Fw X3NldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCiAJCQkJCVBITV9Q bGF0Zm9ybUNhcHNfU1BMTFNodXRkb3duU3VwcG9ydCk7CkBAIC0yODkwLDYgKzI5MDgsMTEgQEAg c3RhdGljIGludCBwb2xhcmlzMTBfc2V0X3ByaXZhdGVfZGF0YV9iYXNlZF9vbl9wcHRhYmxlKHN0 cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJdGFibGVfaW5mby0+bWF4X2Nsb2NrX3ZvbHRhZ2Vfb25f YWMudmRkY2kgPQogCQlhbGxvd2VkX21jbGtfdmRkX3RhYmxlLT5lbnRyaWVzW2FsbG93ZWRfbWNs a192ZGRfdGFibGUtPmNvdW50IC0gMV0udmRkY2k7CiAKKwlod21nci0+ZHluX3N0YXRlLm1heF9j bG9ja192b2x0YWdlX29uX2FjLnNjbGsgPSB0YWJsZV9pbmZvLT5tYXhfY2xvY2tfdm9sdGFnZV9v bl9hYy5zY2xrOworCWh3bWdyLT5keW5fc3RhdGUubWF4X2Nsb2NrX3ZvbHRhZ2Vfb25fYWMubWNs ayA9IHRhYmxlX2luZm8tPm1heF9jbG9ja192b2x0YWdlX29uX2FjLm1jbGs7CisJaHdtZ3ItPmR5 bl9zdGF0ZS5tYXhfY2xvY2tfdm9sdGFnZV9vbl9hYy52ZGRjID0gdGFibGVfaW5mby0+bWF4X2Ns b2NrX3ZvbHRhZ2Vfb25fYWMudmRkYzsKKwlod21nci0+ZHluX3N0YXRlLm1heF9jbG9ja192b2x0 YWdlX29uX2FjLnZkZGNpID10YWJsZV9pbmZvLT5tYXhfY2xvY2tfdm9sdGFnZV9vbl9hYy52ZGRj aTsKKwogCXJldHVybiAwOwogfQogCkBAIC0yODk5LDYgKzI5MjIsOCBAQCBpbnQgcG9sYXJpczEw X2h3bWdyX2JhY2tlbmRfaW5pdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXN0cnVjdCBwcF9h dG9tY3RybF9ncGlvX3Bpbl9hc3NpZ25tZW50IGdwaW9fcGluX2Fzc2lnbm1lbnQ7CiAJdWludDMy X3QgdGVtcF9yZWc7CiAJaW50IHJlc3VsdDsKKwlzdHJ1Y3QgcGhtX3BwdF92MV9pbmZvcm1hdGlv biAqdGFibGVfaW5mbyA9CisJCQkoc3RydWN0IHBobV9wcHRfdjFfaW5mb3JtYXRpb24gKikoaHdt Z3ItPnBwdGFibGUpOwogCiAJZGF0YS0+ZGxsX2RlZmF1bHRfb24gPSBmYWxzZTsKIAlkYXRhLT5z cmFtX2VuZCA9IFNNQ19SQU1fRU5EOwpAQCAtMjkzNyw5ICsyOTYyLDYgQEAgaW50IHBvbGFyaXMx MF9od21ncl9iYWNrZW5kX2luaXQoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAkJCVZPTFRBR0Vf VFlQRV9WRERDLCBWT0xUQUdFX09CSl9TVklEMikpCiAJCWRhdGEtPnZvbHRhZ2VfY29udHJvbCA9 IFBPTEFSSVMxMF9WT0xUQUdFX0NPTlRST0xfQllfU1ZJRDI7CiAKLQlwaG1fY2FwX3NldChod21n ci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCi0JCVBITV9QbGF0Zm9ybUNhcHNf RHluYW1pY1BhdGNoUG93ZXJTdGF0ZSk7Ci0KIAlpZiAocGhtX2NhcF9lbmFibGVkKGh3bWdyLT5w bGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKIAkJCVBITV9QbGF0Zm9ybUNhcHNfRW5h YmxlTVZERENvbnRyb2wpKSB7CiAJCWlmIChhdG9tY3RybF9pc192b2x0YWdlX2NvbnRyb2xlZF9i eV9ncGlvX3YzKGh3bWdyLApAQCAtMjk4NywxMCArMzAwOSw3IEBAIGludCBwb2xhcmlzMTBfaHdt Z3JfYmFja2VuZF9pbml0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJCQkJCQkJUE9MQVJJUzEw X01BWF9IQVJEV0FSRV9QT1dFUkxFVkVMUzsKIAkJaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3Iu aGFyZHdhcmVQZXJmb3JtYW5jZUxldmVscyA9IDI7CiAJCWh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlw dG9yLm1pbmltdW1DbG9ja3NSZWR1Y3Rpb25QZXJjZW50YWdlID0gNTA7Ci0JCWh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnZiaW9zSW50ZXJydXB0SWQgPSAweDIwMDAwNDAwOyAvKiBJUlFfU09V UkNFMV9TV19JTlQgKi8KLS8qIFRoZSB0cnVlIGNsb2NrIHN0ZXAgZGVwZW5kcyBvbiB0aGUgZnJl cXVlbmN5LCB0eXBpY2FsbHkgNC41IG9yIDkgTUh6LiBIZXJlIHdlIHVzZSA1LiAqLwotCQlod21n ci0+cGxhdGZvcm1fZGVzY3JpcHRvci5jbG9ja1N0ZXAuZW5naW5lQ2xvY2sgPSA1MDA7Ci0JCWh3 bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLmNsb2NrU3RlcC5tZW1vcnlDbG9jayA9IDUwMDsKKwog CiAJCWlmIChhdG9tY3RybF9nZXRfcHBfYXNzaWduX3Bpbihod21nciwgVkREQ19QQ0NfR1BJT19Q SU5JRCwgJmdwaW9fcGluX2Fzc2lnbm1lbnQpKSB7CiAJCQl0ZW1wX3JlZyA9IGNnc19yZWFkX2lu ZF9yZWdpc3Rlcihod21nci0+ZGV2aWNlLCBDR1NfSU5EX1JFR19fU01DLCBpeENOQl9QV1JNR1Rf Q05UTCk7CkBAIC0zMDE5LDYgKzMwMzgsNTIgQEAgaW50IHBvbGFyaXMxMF9od21ncl9iYWNrZW5k X2luaXQoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAkJCWNnc193cml0ZV9pbmRfcmVnaXN0ZXIo aHdtZ3ItPmRldmljZSwgQ0dTX0lORF9SRUdfX1NNQywgaXhDTkJfUFdSTUdUX0NOVEwsIHRlbXBf cmVnKTsKIAkJfQogCisJCWlmICh0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c0RlZmF1bHRU YXJnZXRPcGVyYXRpbmdUZW1wICE9IDAgJiYKKwkJCWh3bWdyLT50aGVybWFsX2NvbnRyb2xsZXIu YWR2YW5jZUZhbkNvbnRyb2xQYXJhbWV0ZXJzLnVjRmFuQ29udHJvbE1vZGUpIHsKKwkJCWh3bWdy LT50aGVybWFsX2NvbnRyb2xsZXIuYWR2YW5jZUZhbkNvbnRyb2xQYXJhbWV0ZXJzLnVzRmFuUFdN TWluTGltaXQgPQorCQkJCSh1aW50MTZfdClod21nci0+dGhlcm1hbF9jb250cm9sbGVyLmFkdmFu Y2VGYW5Db250cm9sUGFyYW1ldGVycy51Y01pbmltdW1QV01MaW1pdDsKKworCQkJaHdtZ3ItPnRo ZXJtYWxfY29udHJvbGxlci5hZHZhbmNlRmFuQ29udHJvbFBhcmFtZXRlcnMudXNGYW5QV01NYXhM aW1pdCA9CisJCQkJKHVpbnQxNl90KWh3bWdyLT50aGVybWFsX2NvbnRyb2xsZXIuYWR2YW5jZUZh bkNvbnRyb2xQYXJhbWV0ZXJzLnVzRGVmYXVsdE1heEZhblBXTTsKKworCQkJaHdtZ3ItPnRoZXJt YWxfY29udHJvbGxlci5hZHZhbmNlRmFuQ29udHJvbFBhcmFtZXRlcnMudXNGYW5QV01TdGVwID0g MTsKKworCQkJaHdtZ3ItPnRoZXJtYWxfY29udHJvbGxlci5hZHZhbmNlRmFuQ29udHJvbFBhcmFt ZXRlcnMudXNGYW5SUE1NYXhMaW1pdCA9IDEwMDsKKworCQkJaHdtZ3ItPnRoZXJtYWxfY29udHJv bGxlci5hZHZhbmNlRmFuQ29udHJvbFBhcmFtZXRlcnMudXNGYW5SUE1NaW5MaW1pdCA9CisJCQkJ KHVpbnQxNl90KWh3bWdyLT50aGVybWFsX2NvbnRyb2xsZXIuYWR2YW5jZUZhbkNvbnRyb2xQYXJh bWV0ZXJzLnVjTWluaW11bVBXTUxpbWl0OworCisJCQlod21nci0+dGhlcm1hbF9jb250cm9sbGVy LmFkdmFuY2VGYW5Db250cm9sUGFyYW1ldGVycy51c0ZhblJQTVN0ZXAgPSAxOworCisJCQl0YWJs ZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c0RlZmF1bHRUYXJnZXRPcGVyYXRpbmdUZW1wID0gKHRh YmxlX2luZm8tPmNhY19kdHBfdGFibGUtPnVzRGVmYXVsdFRhcmdldE9wZXJhdGluZ1RlbXAgPj0g NTApID8KKwkJCQkJCQkJCSh0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c0RlZmF1bHRUYXJn ZXRPcGVyYXRpbmdUZW1wIC01MCkgOiAwOworCisJCQl0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxl LT51c09wZXJhdGluZ1RlbXBNYXhMaW1pdCA9IHRhYmxlX2luZm8tPmNhY19kdHBfdGFibGUtPnVz RGVmYXVsdFRhcmdldE9wZXJhdGluZ1RlbXA7CisJCQl0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxl LT51c09wZXJhdGluZ1RlbXBTdGVwID0gMTsKKwkJCXRhYmxlX2luZm8tPmNhY19kdHBfdGFibGUt PnVzT3BlcmF0aW5nVGVtcEh5c3QgPSAxOworCisJCQlod21nci0+dGhlcm1hbF9jb250cm9sbGVy LmFkdmFuY2VGYW5Db250cm9sUGFyYW1ldGVycy51c01heEZhblBXTSA9CisJCQkJICAgICAgIGh3 bWdyLT50aGVybWFsX2NvbnRyb2xsZXIuYWR2YW5jZUZhbkNvbnRyb2xQYXJhbWV0ZXJzLnVzRGVm YXVsdE1heEZhblBXTTsKKworCQkJaHdtZ3ItPnRoZXJtYWxfY29udHJvbGxlci5hZHZhbmNlRmFu Q29udHJvbFBhcmFtZXRlcnMudXNNYXhGYW5SUE0gPQorCQkJCSAgICAgICBod21nci0+dGhlcm1h bF9jb250cm9sbGVyLmFkdmFuY2VGYW5Db250cm9sUGFyYW1ldGVycy51c0RlZmF1bHRNYXhGYW5S UE07CisKKwkJCWh3bWdyLT5keW5fc3RhdGUuY2FjX2R0cF90YWJsZS0+dXNPcGVyYXRpbmdUZW1w TWluTGltaXQgPQorCQkJCSAgICAgICB0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c09wZXJh dGluZ1RlbXBNaW5MaW1pdDsKKworCQkJaHdtZ3ItPmR5bl9zdGF0ZS5jYWNfZHRwX3RhYmxlLT51 c09wZXJhdGluZ1RlbXBNYXhMaW1pdCA9CisJCQkJICAgICAgIHRhYmxlX2luZm8tPmNhY19kdHBf dGFibGUtPnVzT3BlcmF0aW5nVGVtcE1heExpbWl0OworCisJCQlod21nci0+ZHluX3N0YXRlLmNh Y19kdHBfdGFibGUtPnVzRGVmYXVsdFRhcmdldE9wZXJhdGluZ1RlbXAgPQorCQkJCSAgICAgICB0 YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c0RlZmF1bHRUYXJnZXRPcGVyYXRpbmdUZW1wOwor CisJCQlod21nci0+ZHluX3N0YXRlLmNhY19kdHBfdGFibGUtPnVzT3BlcmF0aW5nVGVtcFN0ZXAg PQorCQkJCSAgICAgICB0YWJsZV9pbmZvLT5jYWNfZHRwX3RhYmxlLT51c09wZXJhdGluZ1RlbXBT dGVwOworCisJCQlod21nci0+ZHluX3N0YXRlLmNhY19kdHBfdGFibGUtPnVzVGFyZ2V0T3BlcmF0 aW5nVGVtcCA9CisJCQkJICAgICAgIHRhYmxlX2luZm8tPmNhY19kdHBfdGFibGUtPnVzVGFyZ2V0 T3BlcmF0aW5nVGVtcDsKKwkJfQorCiAJCXN5c19pbmZvLnNpemUgPSBzaXplb2Yoc3RydWN0IGNn c19zeXN0ZW1faW5mbyk7CiAJCXN5c19pbmZvLmluZm9faWQgPSBDR1NfU1lTVEVNX0lORk9fUENJ RV9HRU5fSU5GTzsKIAkJcmVzdWx0ID0gY2dzX3F1ZXJ5X3N5c3RlbV9pbmZvKGh3bWdyLT5kZXZp Y2UsICZzeXNfaW5mbyk7CkBAIC0zMDM1LDYgKzMxMDAsMTEgQEAgaW50IHBvbGFyaXMxMF9od21n cl9iYWNrZW5kX2luaXQoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAkJCWRhdGEtPnBjaWVfbGFu ZV9jYXAgPSAweDJmMDAwMDsKIAkJZWxzZQogCQkJZGF0YS0+cGNpZV9sYW5lX2NhcCA9ICh1aW50 MzJfdClzeXNfaW5mby52YWx1ZTsKKworCQlod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci52Ymlv c0ludGVycnVwdElkID0gMHgyMDAwMDQwMDsgLyogSVJRX1NPVVJDRTFfU1dfSU5UICovCisvKiBU aGUgdHJ1ZSBjbG9jayBzdGVwIGRlcGVuZHMgb24gdGhlIGZyZXF1ZW5jeSwgdHlwaWNhbGx5IDQu NSBvciA5IE1Iei4gSGVyZSB3ZSB1c2UgNS4gKi8KKwkJaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0 b3IuY2xvY2tTdGVwLmVuZ2luZUNsb2NrID0gNTAwOworCQlod21nci0+cGxhdGZvcm1fZGVzY3Jp cHRvci5jbG9ja1N0ZXAubWVtb3J5Q2xvY2sgPSA1MDA7CiAJfSBlbHNlIHsKIAkJLyogSWdub3Jl IHJldHVybiB2YWx1ZSBpbiBoZXJlLCB3ZSBhcmUgY2xlYW5pbmcgdXAgYSBtZXNzLiAqLwogCQlw b2xhcmlzMTBfaHdtZ3JfYmFja2VuZF9maW5pKGh3bWdyKTsKLS0gCjIuNS41CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK