From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH] drm/amd/powerplay: add dpm force multiple levels on cz/tonga/fiji/polaris (v2) Date: Mon, 2 May 2016 16:00:50 -0400 Message-ID: <1462219259-29806-38-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-qk0-x22c.google.com (mail-qk0-x22c.google.com [IPv6:2607:f8b0:400d:c09::22c]) by gabe.freedesktop.org (Postfix) with ESMTPS id D51766E631 for ; Mon, 2 May 2016 20:01:28 +0000 (UTC) Received: by mail-qk0-x22c.google.com with SMTP id n63so79732871qkf.0 for ; Mon, 02 May 2016 13:01:28 -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: Eric Huang , Alex Deucher List-Id: dri-devel@lists.freedesktop.org RnJvbTogRXJpYyBIdWFuZyA8SmluSHVpRXJpYy5IdWFuZ0BhbWQuY29tPgoKQWxsb3dzIHlvdSB0 byBmb3JjZSBtdWx0aXBsZSBsZXZlbHMgcmF0aGVyIHRoYW4ganVzdCBvbmUgdmlhIHRoZSBuZXcK c3lzZnMgaW50ZXJyZmFjZS4KCnYyOiBzcXVhc2ggaW46CmRybS9hbWQvcG93ZXJwbGF5OiBlbnN1 cmUgY2xvY2sgbGV2ZWwgc2V0IGJ5IHVzZXIgaXMgdmFsaWQuCkZyb20gUmV4LgoKUmV2aWV3ZWQt Ynk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogRXJpYyBIdWFuZyA8SmluSHVpRXJpYy5IdWFuZ0BhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBB bGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMgICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysr KystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMg ICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jel9od21n ci5jICAgICB8ICA2ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZmlq aV9od21nci5jICAgfCAxOCArKysrKystLQogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci9wb2xhcmlzMTBfaHdtZ3IuYyAgfCAxNiArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9od21nci90b25nYV9od21nci5jICB8IDE2ICsrKysrLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmggIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oICAgICAgICAgIHwgIDIgKy0KIDggZmlsZXMg Y2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfcG0uYwppbmRleCA2ZDQ0ZDRhLi41ODliMzZlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwpAQCAtMzYyLDE2ICszNjIsMjMgQEAgc3RhdGlj IHNzaXplX3QgYW1kZ3B1X3NldF9wcF9kcG1fc2NsayhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKIAlpbnQgcmV0Owog CWxvbmcgbGV2ZWw7CisJdWludDMyX3QgaSwgbWFzayA9IDA7CisJY2hhciBzdWJfc3RyWzJdOwog Ci0JcmV0ID0ga3N0cnRvbChidWYsIDAsICZsZXZlbCk7CisJZm9yIChpID0gMDsgaSA8IHN0cmxl bihidWYpIC0gMTsgaSsrKSB7CisJCXN1Yl9zdHJbMF0gPSAqKGJ1ZiArIGkpOworCQlzdWJfc3Ry WzFdID0gJ1wwJzsKKwkJcmV0ID0ga3N0cnRvbChzdWJfc3RyLCAwLCAmbGV2ZWwpOwogCi0JaWYg KHJldCkgewotCQljb3VudCA9IC1FSU5WQUw7Ci0JCWdvdG8gZmFpbDsKKwkJaWYgKHJldCkgewor CQkJY291bnQgPSAtRUlOVkFMOworCQkJZ290byBmYWlsOworCQl9CisJCW1hc2sgfD0gMSA8PCBs ZXZlbDsKIAl9CiAKIAlpZiAoYWRldi0+cHBfZW5hYmxlZCkKLQkJYW1kZ3B1X2RwbV9mb3JjZV9j bG9ja19sZXZlbChhZGV2LCBQUF9TQ0xLLCBsZXZlbCk7CisJCWFtZGdwdV9kcG1fZm9yY2VfY2xv Y2tfbGV2ZWwoYWRldiwgUFBfU0NMSywgbWFzayk7CiBmYWlsOgogCXJldHVybiBjb3VudDsKIH0K QEAgLTM5OSwxNiArNDA2LDIzIEBAIHN0YXRpYyBzc2l6ZV90IGFtZGdwdV9zZXRfcHBfZHBtX21j bGsoc3RydWN0IGRldmljZSAqZGV2LAogCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGRl di0+ZGV2X3ByaXZhdGU7CiAJaW50IHJldDsKIAlsb25nIGxldmVsOworCXVpbnQzMl90IGksIG1h c2sgPSAwOworCWNoYXIgc3ViX3N0clsyXTsKIAotCXJldCA9IGtzdHJ0b2woYnVmLCAwLCAmbGV2 ZWwpOworCWZvciAoaSA9IDA7IGkgPCBzdHJsZW4oYnVmKSAtIDE7IGkrKykgeworCQlzdWJfc3Ry WzBdID0gKihidWYgKyBpKTsKKwkJc3ViX3N0clsxXSA9ICdcMCc7CisJCXJldCA9IGtzdHJ0b2wo c3ViX3N0ciwgMCwgJmxldmVsKTsKIAotCWlmIChyZXQpIHsKLQkJY291bnQgPSAtRUlOVkFMOwot CQlnb3RvIGZhaWw7CisJCWlmIChyZXQpIHsKKwkJCWNvdW50ID0gLUVJTlZBTDsKKwkJCWdvdG8g ZmFpbDsKKwkJfQorCQltYXNrIHw9IDEgPDwgbGV2ZWw7CiAJfQogCiAJaWYgKGFkZXYtPnBwX2Vu YWJsZWQpCi0JCWFtZGdwdV9kcG1fZm9yY2VfY2xvY2tfbGV2ZWwoYWRldiwgUFBfTUNMSywgbGV2 ZWwpOworCQlhbWRncHVfZHBtX2ZvcmNlX2Nsb2NrX2xldmVsKGFkZXYsIFBQX01DTEssIG1hc2sp OwogZmFpbDoKIAlyZXR1cm4gY291bnQ7CiB9CkBAIC00MzYsMTYgKzQ1MCwyMyBAQCBzdGF0aWMg c3NpemVfdCBhbWRncHVfc2V0X3BwX2RwbV9wY2llKHN0cnVjdCBkZXZpY2UgKmRldiwKIAlzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOwogCWludCByZXQ7CiAJ bG9uZyBsZXZlbDsKKwl1aW50MzJfdCBpLCBtYXNrID0gMDsKKwljaGFyIHN1Yl9zdHJbMl07CiAK LQlyZXQgPSBrc3RydG9sKGJ1ZiwgMCwgJmxldmVsKTsKKwlmb3IgKGkgPSAwOyBpIDwgc3RybGVu KGJ1ZikgLSAxOyBpKyspIHsKKwkJc3ViX3N0clswXSA9ICooYnVmICsgaSk7CisJCXN1Yl9zdHJb MV0gPSAnXDAnOworCQlyZXQgPSBrc3RydG9sKHN1Yl9zdHIsIDAsICZsZXZlbCk7CiAKLQlpZiAo cmV0KSB7Ci0JCWNvdW50ID0gLUVJTlZBTDsKLQkJZ290byBmYWlsOworCQlpZiAocmV0KSB7CisJ CQljb3VudCA9IC1FSU5WQUw7CisJCQlnb3RvIGZhaWw7CisJCX0KKwkJbWFzayB8PSAxIDw8IGxl dmVsOwogCX0KIAogCWlmIChhZGV2LT5wcF9lbmFibGVkKQotCQlhbWRncHVfZHBtX2ZvcmNlX2Ns b2NrX2xldmVsKGFkZXYsIFBQX1BDSUUsIGxldmVsKTsKKwkJYW1kZ3B1X2RwbV9mb3JjZV9jbG9j a19sZXZlbChhZGV2LCBQUF9QQ0lFLCBtYXNrKTsKIGZhaWw6CiAJcmV0dXJuIGNvdW50OwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCmluZGV4IGNl OGQ5YmYuLjA1MjdhZTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2FtZF9wb3dlcnBsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRf cG93ZXJwbGF5LmMKQEAgLTc2Myw3ICs3NjMsNyBAQCBzdGF0aWMgaW50IHBwX2RwbV9zZXRfcHBf dGFibGUodm9pZCAqaGFuZGxlLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKQogfQogCiBz dGF0aWMgaW50IHBwX2RwbV9mb3JjZV9jbG9ja19sZXZlbCh2b2lkICpoYW5kbGUsCi0JCWVudW0g cHBfY2xvY2tfdHlwZSB0eXBlLCBpbnQgbGV2ZWwpCisJCWVudW0gcHBfY2xvY2tfdHlwZSB0eXBl LCB1aW50MzJfdCBtYXNrKQogewogCXN0cnVjdCBwcF9od21nciAqaHdtZ3I7CiAKQEAgLTc3OSw3 ICs3NzksNyBAQCBzdGF0aWMgaW50IHBwX2RwbV9mb3JjZV9jbG9ja19sZXZlbCh2b2lkICpoYW5k bGUsCiAJCXJldHVybiAwOwogCX0KIAotCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+Zm9yY2Vf Y2xvY2tfbGV2ZWwoaHdtZ3IsIHR5cGUsIGxldmVsKTsKKwlyZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1 bmMtPmZvcmNlX2Nsb2NrX2xldmVsKGh3bWdyLCB0eXBlLCBtYXNrKTsKIH0KIAogc3RhdGljIGlu dCBwcF9kcG1fcHJpbnRfY2xvY2tfbGV2ZWxzKHZvaWQgKmhhbmRsZSwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2N6X2h3bWdyLmMgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9jel9od21nci5jCmluZGV4IDY0ODM5NGYuLjFmMTRj NDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2N6X2h3 bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvY3pfaHdtZ3Iu YwpAQCAtMTcyOSw3ICsxNzI5LDcgQEAgc3RhdGljIGludCBjel9nZXRfZGFsX3Bvd2VyX2xldmVs KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCiB9CiAKIHN0YXRpYyBpbnQgY3pfZm9yY2VfY2xvY2tf bGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwKLQkJZW51bSBwcF9jbG9ja190eXBlIHR5cGUs IGludCBsZXZlbCkKKwkJZW51bSBwcF9jbG9ja190eXBlIHR5cGUsIHVpbnQzMl90IG1hc2spCiB7 CiAJaWYgKGh3bWdyLT5kcG1fbGV2ZWwgIT0gQU1EX0RQTV9GT1JDRURfTEVWRUxfTUFOVUFMKQog CQlyZXR1cm4gLUVJTlZBTDsKQEAgLTE3MzgsMTAgKzE3MzgsMTAgQEAgc3RhdGljIGludCBjel9m b3JjZV9jbG9ja19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCWNhc2UgUFBfU0NMSzoK IAkJc211bV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3ItPnNtdW1nciwKIAkJ CQlQUFNNQ19NU0dfU2V0U2Nsa1NvZnRNaW4sCi0JCQkJKDEgPDwgbGV2ZWwpKTsKKwkJCQltYXNr KTsKIAkJc211bV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3ItPnNtdW1nciwK IAkJCQlQUFNNQ19NU0dfU2V0U2Nsa1NvZnRNYXgsCi0JCQkJKDEgPDwgbGV2ZWwpKTsKKwkJCQlt YXNrKTsKIAkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci9maWppX2h3bWdyLmMKaW5kZXggZGM4MzZkMy4uZjhkNDlm MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvZmlqaV9o d21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2ZpamlfaHdt Z3IuYwpAQCAtNTExMyw3ICs1MTEzLDcgQEAgc3RhdGljIGludCBmaWppX3NldF9wcF90YWJsZShz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXoKIH0KIAog c3RhdGljIGludCBmaWppX2ZvcmNlX2Nsb2NrX2xldmVsKHN0cnVjdCBwcF9od21nciAqaHdtZ3Is Ci0JCWVudW0gcHBfY2xvY2tfdHlwZSB0eXBlLCBpbnQgbGV2ZWwpCisJCWVudW0gcHBfY2xvY2tf dHlwZSB0eXBlLCB1aW50MzJfdCBtYXNrKQogewogCXN0cnVjdCBmaWppX2h3bWdyICpkYXRhID0g KHN0cnVjdCBmaWppX2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKIApAQCAtNTEyNSwyMCArNTEy NSwzMCBAQCBzdGF0aWMgaW50IGZpamlfZm9yY2VfY2xvY2tfbGV2ZWwoc3RydWN0IHBwX2h3bWdy ICpod21nciwKIAkJaWYgKCFkYXRhLT5zY2xrX2RwbV9rZXlfZGlzYWJsZWQpCiAJCQlzbXVtX3Nl bmRfbXNnX3RvX3NtY193aXRoX3BhcmFtZXRlcihod21nci0+c211bWdyLAogCQkJCQlQUFNNQ19N U0dfU0NMS0RQTV9TZXRFbmFibGVkTWFzaywKLQkJCQkJKDEgPDwgbGV2ZWwpKTsKKwkJCQkJZGF0 YS0+ZHBtX2xldmVsX2VuYWJsZV9tYXNrLnNjbGtfZHBtX2VuYWJsZV9tYXNrICYgbWFzayk7CiAJ CWJyZWFrOworCiAJY2FzZSBQUF9NQ0xLOgogCQlpZiAoIWRhdGEtPm1jbGtfZHBtX2tleV9kaXNh YmxlZCkKIAkJCXNtdW1fc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKGh3bWdyLT5zbXVt Z3IsCiAJCQkJCVBQU01DX01TR19NQ0xLRFBNX1NldEVuYWJsZWRNYXNrLAotCQkJCQkoMSA8PCBs ZXZlbCkpOworCQkJCQlkYXRhLT5kcG1fbGV2ZWxfZW5hYmxlX21hc2subWNsa19kcG1fZW5hYmxl X21hc2sgJiBtYXNrKTsKIAkJYnJlYWs7CisKIAljYXNlIFBQX1BDSUU6CisJeworCQl1aW50MzJf dCB0bXAgPSBtYXNrICYgZGF0YS0+ZHBtX2xldmVsX2VuYWJsZV9tYXNrLnBjaWVfZHBtX2VuYWJs ZV9tYXNrOworCQl1aW50MzJfdCBsZXZlbCA9IDA7CisKKwkJd2hpbGUgKHRtcCA+Pj0gMSkKKwkJ CWxldmVsKys7CisKIAkJaWYgKCFkYXRhLT5wY2llX2RwbV9rZXlfZGlzYWJsZWQpCiAJCQlzbXVt X3NlbmRfbXNnX3RvX3NtY193aXRoX3BhcmFtZXRlcihod21nci0+c211bWdyLAogCQkJCQlQUFNN Q19NU0dfUENJZURQTV9Gb3JjZUxldmVsLAotCQkJCQkoMSA8PCBsZXZlbCkpOworCQkJCQlsZXZl bCk7CiAJCWJyZWFrOworCX0KIAlkZWZhdWx0OgogCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9wb2xhcmlzMTBfaHdtZ3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3BvbGFyaXMxMF9od21nci5jCmluZGV4 IDJhYjNiYjIuLjc5MTkyYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L2h3bWdyL3BvbGFyaXMxMF9od21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3BvbGFyaXMxMF9od21nci5jCkBAIC00NzY3LDcgKzQ3NjcsNyBAQCBzdGF0 aWMgaW50IHBvbGFyaXMxMF9zZXRfcHBfdGFibGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgY29u c3QgY2hhciAqYnVmLCBzaXplXwogfQogCiBzdGF0aWMgaW50IHBvbGFyaXMxMF9mb3JjZV9jbG9j a19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAotCQllbnVtIHBwX2Nsb2NrX3R5cGUgdHlw ZSwgaW50IGxldmVsKQorCQllbnVtIHBwX2Nsb2NrX3R5cGUgdHlwZSwgdWludDMyX3QgbWFzaykK IHsKIAlzdHJ1Y3QgcG9sYXJpczEwX2h3bWdyICpkYXRhID0gKHN0cnVjdCBwb2xhcmlzMTBfaHdt Z3IgKikoaHdtZ3ItPmJhY2tlbmQpOwogCkBAIC00Nzc5LDIwICs0Nzc5LDI4IEBAIHN0YXRpYyBp bnQgcG9sYXJpczEwX2ZvcmNlX2Nsb2NrX2xldmVsKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCiAJ CWlmICghZGF0YS0+c2Nsa19kcG1fa2V5X2Rpc2FibGVkKQogCQkJc211bV9zZW5kX21zZ190b19z bWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3ItPnNtdW1nciwKIAkJCQkJUFBTTUNfTVNHX1NDTEtEUE1f U2V0RW5hYmxlZE1hc2ssCi0JCQkJCSgxIDw8IGxldmVsKSk7CisJCQkJCWRhdGEtPmRwbV9sZXZl bF9lbmFibGVfbWFzay5zY2xrX2RwbV9lbmFibGVfbWFzayAmIG1hc2spOwogCQlicmVhazsKIAlj YXNlIFBQX01DTEs6CiAJCWlmICghZGF0YS0+bWNsa19kcG1fa2V5X2Rpc2FibGVkKQogCQkJc211 bV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3ItPnNtdW1nciwKIAkJCQkJUFBT TUNfTVNHX01DTEtEUE1fU2V0RW5hYmxlZE1hc2ssCi0JCQkJCSgxIDw8IGxldmVsKSk7CisJCQkJ CWRhdGEtPmRwbV9sZXZlbF9lbmFibGVfbWFzay5tY2xrX2RwbV9lbmFibGVfbWFzayAmIG1hc2sp OwogCQlicmVhazsKIAljYXNlIFBQX1BDSUU6CisJeworCQl1aW50MzJfdCB0bXAgPSBtYXNrICYg ZGF0YS0+ZHBtX2xldmVsX2VuYWJsZV9tYXNrLnBjaWVfZHBtX2VuYWJsZV9tYXNrOworCQl1aW50 MzJfdCBsZXZlbCA9IDA7CisKKwkJd2hpbGUgKHRtcCA+Pj0gMSkKKwkJCWxldmVsKys7CisKIAkJ aWYgKCFkYXRhLT5wY2llX2RwbV9rZXlfZGlzYWJsZWQpCiAJCQlzbXVtX3NlbmRfbXNnX3RvX3Nt Y193aXRoX3BhcmFtZXRlcihod21nci0+c211bWdyLAogCQkJCQlQUFNNQ19NU0dfUENJZURQTV9G b3JjZUxldmVsLAotCQkJCQkoMSA8PCBsZXZlbCkpOworCQkJCQlsZXZlbCk7CiAJCWJyZWFrOwor CX0KIAlkZWZhdWx0OgogCQlicmVhazsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci90b25nYV9od21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9w b3dlcnBsYXkvaHdtZ3IvdG9uZ2FfaHdtZ3IuYwppbmRleCAwMjQyZTM0Li45MDQwMjI1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci90b25nYV9od21nci5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3RvbmdhX2h3bWdyLmMK QEAgLTYwNzUsNyArNjA3NSw3IEBAIHN0YXRpYyBpbnQgdG9uZ2Ffc2V0X3BwX3RhYmxlKHN0cnVj dCBwcF9od21nciAqaHdtZ3IsIGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IHNpCiB9CiAKIHN0YXRp YyBpbnQgdG9uZ2FfZm9yY2VfY2xvY2tfbGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwKLQkJ ZW51bSBwcF9jbG9ja190eXBlIHR5cGUsIGludCBsZXZlbCkKKwkJZW51bSBwcF9jbG9ja190eXBl IHR5cGUsIHVpbnQzMl90IG1hc2spCiB7CiAJc3RydWN0IHRvbmdhX2h3bWdyICpkYXRhID0gKHN0 cnVjdCB0b25nYV9od21nciAqKShod21nci0+YmFja2VuZCk7CiAKQEAgLTYwODcsMjAgKzYwODcs MjggQEAgc3RhdGljIGludCB0b25nYV9mb3JjZV9jbG9ja19sZXZlbChzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyLAogCQlpZiAoIWRhdGEtPnNjbGtfZHBtX2tleV9kaXNhYmxlZCkKIAkJCXNtdW1fc2Vu ZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKGh3bWdyLT5zbXVtZ3IsCiAJCQkJCVBQU01DX01T R19TQ0xLRFBNX1NldEVuYWJsZWRNYXNrLAotCQkJCQkoMSA8PCBsZXZlbCkpOworCQkJCQlkYXRh LT5kcG1fbGV2ZWxfZW5hYmxlX21hc2suc2Nsa19kcG1fZW5hYmxlX21hc2sgJiBtYXNrKTsKIAkJ YnJlYWs7CiAJY2FzZSBQUF9NQ0xLOgogCQlpZiAoIWRhdGEtPm1jbGtfZHBtX2tleV9kaXNhYmxl ZCkKIAkJCXNtdW1fc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKGh3bWdyLT5zbXVtZ3Is CiAJCQkJCVBQU01DX01TR19NQ0xLRFBNX1NldEVuYWJsZWRNYXNrLAotCQkJCQkoMSA8PCBsZXZl bCkpOworCQkJCQlkYXRhLT5kcG1fbGV2ZWxfZW5hYmxlX21hc2subWNsa19kcG1fZW5hYmxlX21h c2sgJiBtYXNrKTsKIAkJYnJlYWs7CiAJY2FzZSBQUF9QQ0lFOgorCXsKKwkJdWludDMyX3QgdG1w ID0gbWFzayAmIGRhdGEtPmRwbV9sZXZlbF9lbmFibGVfbWFzay5wY2llX2RwbV9lbmFibGVfbWFz azsKKwkJdWludDMyX3QgbGV2ZWwgPSAwOworCisJCXdoaWxlICh0bXAgPj49IDEpCisJCQlsZXZl bCsrOworCiAJCWlmICghZGF0YS0+cGNpZV9kcG1fa2V5X2Rpc2FibGVkKQogCQkJc211bV9zZW5k X21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3ItPnNtdW1nciwKIAkJCQkJUFBTTUNfTVNH X1BDSWVEUE1fRm9yY2VMZXZlbCwKLQkJCQkJKDEgPDwgbGV2ZWwpKTsKKwkJCQkJbGV2ZWwpOwog CQlicmVhazsKKwl9CiAJZGVmYXVsdDoKIAkJYnJlYWs7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmgKaW5kZXggZTVmMmVlNy4uNTBi MzY3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9w b3dlcnBsYXkuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bv d2VycGxheS5oCkBAIC0zNDAsNyArMzQwLDcgQEAgc3RydWN0IGFtZF9wb3dlcnBsYXlfZnVuY3Mg ewogCWludCAoKmdldF9wcF9udW1fc3RhdGVzKSh2b2lkICpoYW5kbGUsIHN0cnVjdCBwcF9zdGF0 ZXNfaW5mbyAqZGF0YSk7CiAJaW50ICgqZ2V0X3BwX3RhYmxlKSh2b2lkICpoYW5kbGUsIGNoYXIg Kip0YWJsZSk7CiAJaW50ICgqc2V0X3BwX3RhYmxlKSh2b2lkICpoYW5kbGUsIGNvbnN0IGNoYXIg KmJ1Ziwgc2l6ZV90IHNpemUpOwotCWludCAoKmZvcmNlX2Nsb2NrX2xldmVsKSh2b2lkICpoYW5k bGUsIGVudW0gcHBfY2xvY2tfdHlwZSB0eXBlLCBpbnQgbGV2ZWwpOworCWludCAoKmZvcmNlX2Ns b2NrX2xldmVsKSh2b2lkICpoYW5kbGUsIGVudW0gcHBfY2xvY2tfdHlwZSB0eXBlLCB1aW50MzJf dCBtYXNrKTsKIAlpbnQgKCpwcmludF9jbG9ja19sZXZlbHMpKHZvaWQgKmhhbmRsZSwgZW51bSBw cF9jbG9ja190eXBlIHR5cGUsIGNoYXIgKmJ1Zik7CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2luYy9od21nci5oCmluZGV4IDEyMjg1YTkuLmIxYTlhZTUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCkBAIC0zMzUsNyArMzM1LDcgQEAgc3Ry dWN0IHBwX2h3bWdyX2Z1bmMgewogCWludCAoKnBvd2VyX29mZl9hc2ljKShzdHJ1Y3QgcHBfaHdt Z3IgKmh3bWdyKTsKIAlpbnQgKCpnZXRfcHBfdGFibGUpKHN0cnVjdCBwcF9od21nciAqaHdtZ3Is IGNoYXIgKip0YWJsZSk7CiAJaW50ICgqc2V0X3BwX3RhYmxlKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3 bWdyLCBjb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKTsKLQlpbnQgKCpmb3JjZV9jbG9ja19s ZXZlbCkoc3RydWN0IHBwX2h3bWdyICpod21nciwgZW51bSBwcF9jbG9ja190eXBlIHR5cGUsIGlu dCBsZXZlbCk7CisJaW50ICgqZm9yY2VfY2xvY2tfbGV2ZWwpKHN0cnVjdCBwcF9od21nciAqaHdt Z3IsIGVudW0gcHBfY2xvY2tfdHlwZSB0eXBlLCB1aW50MzJfdCBtYXNrKTsKIAlpbnQgKCpwcmlu dF9jbG9ja19sZXZlbHMpKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0gcHBfY2xvY2tfdHlw ZSB0eXBlLCBjaGFyICpidWYpOwogCWludCAoKmVuYWJsZV9wZXJfY3VfcG93ZXJfZ2F0aW5nKShz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBib29sIGVuYWJsZSk7CiB9OwotLSAKMi41LjUKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=