From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kahola Subject: [PATCH 08/19] drm/i915: Convert the ddi cdclk code to get_display_clock_speed Date: Tue, 31 Mar 2015 14:12:01 +0300 Message-ID: <1427800321-4966-1-git-send-email-mika.kahola@intel.com> References: <20150331110535.GB3154@sorvi> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F4316E6FC for ; Tue, 31 Mar 2015 04:12:40 -0700 (PDT) In-Reply-To: <20150331110535.GB3154@sorvi> 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 VW5pZnkgdGhlIEhTVy9CRFcvU0tMIGNkY2xrIGV4dHJhY3Rpb24gY29kZSB0byBjb25mb3JtIHRv IHRoZSBzYW1lCi5nZXRfZGlzcGxheV9jbG9ja19zcGVlZCgpIG1vbGQgdGhhdCBhbGwgdGhlIG90 aGVyIHBsYXRmb3Jtcwp1c2UuCgp2MjogVXBkYXRlIGR1ZSB0byBTS0wgY29kZSBnZXR0aW5nIGFk ZGVkCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWthIEthaG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgICB8ICAgMyArLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgIHwgMTAxICstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgfCAgOTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oICAgICB8ICAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgfCAgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTAyIGluc2VydGlvbnMoKyksIDEwNSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwppbmRleCAyMzk2Y2M3Li4wZDVi MWNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKQEAgLTQ4NSw3ICs0ODUsOCBAQCBz dGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9jZGNsa19mcmVxKHN0cnVjdCBkZXZp Y2UgKmRldikKIAkJcmV0dXJuIC1FTk9ERVY7CiAKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChk ZXZfcHJpdiwgUE9XRVJfRE9NQUlOX0FVRElPKTsKLQlyZXQgPSBpbnRlbF9kZGlfZ2V0X2NkY2xr X2ZyZXEoZGV2X3ByaXYpOworCXJldCA9IGRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Ns b2NrX3NwZWVkKGRldl9wcml2LT5kZXYpOworCiAJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2 X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7CiAKIAlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kZGkuYwppbmRleCA0N2I5MzA3Li44YzY5MmQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwpAQCAtMTY4OSwxMDUgKzE2ODksNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX2Rk aShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIAl9CiB9CiAKLXN0YXRpYyBp bnQgc2tsX2dldF9jZGNsa19mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK LXsKLQl1aW50MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQoTENQTEwxX0NUTCk7Ci0JdWludDMyX3Qg Y2RjdGwgPSBJOTE1X1JFQUQoQ0RDTEtfQ1RMKTsKLQl1aW50MzJfdCBsaW5rcmF0ZTsKLQotCWlm ICghKGxjcGxsMSAmIExDUExMX1BMTF9FTkFCTEUpKSB7Ci0JCVdBUk4oMSwgIkxDUExMMSBub3Qg ZW5hYmxlZFxuIik7Ci0JCXJldHVybiAyNDAwMDsgLyogMjRNSHogaXMgdGhlIGNkIGZyZXEgd2l0 aCBOU1NDIHJlZiAqLwotCX0KLQotCWlmICgoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSA9 PSBDRENMS19GUkVRXzU0MCkKLQkJcmV0dXJuIDU0MDAwMDsKLQotCWxpbmtyYXRlID0gKEk5MTVf UkVBRChEUExMX0NUUkwxKSAmCi0JCSAgICBEUExMX0NSVEwxX0xJTktfUkFURV9NQVNLKFNLTF9E UExMMCkpID4+IDE7Ci0KLQlpZiAobGlua3JhdGUgPT0gRFBMTF9DUlRMMV9MSU5LX1JBVEVfMjE2 MCB8fAotCSAgICBsaW5rcmF0ZSA9PSBEUExMX0NSVEwxX0xJTktfUkFURV8xMDgwKSB7Ci0JCS8q IHZjbyA4NjQwICovCi0JCXN3aXRjaCAoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSB7Ci0J CWNhc2UgQ0RDTEtfRlJFUV80NTBfNDMyOgotCQkJcmV0dXJuIDQzMjAwMDsKLQkJY2FzZSBDRENM S19GUkVRXzMzN18zMDg6Ci0JCQlyZXR1cm4gMzA4NTcwOwotCQljYXNlIENEQ0xLX0ZSRVFfNjc1 XzYxNzoKLQkJCXJldHVybiA2MTcxNDA7Ci0JCWRlZmF1bHQ6Ci0JCQlXQVJOKDEsICJVbmtub3du IGNkIGZyZXEgc2VsZWN0aW9uXG4iKTsKLQkJfQotCX0gZWxzZSB7Ci0JCS8qIHZjbyA4MTAwICov Ci0JCXN3aXRjaCAoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSB7Ci0JCWNhc2UgQ0RDTEtf RlJFUV80NTBfNDMyOgotCQkJcmV0dXJuIDQ1MDAwMDsKLQkJY2FzZSBDRENMS19GUkVRXzMzN18z MDg6Ci0JCQlyZXR1cm4gMzM3NTAwOwotCQljYXNlIENEQ0xLX0ZSRVFfNjc1XzYxNzoKLQkJCXJl dHVybiA2NzUwMDA7Ci0JCWRlZmF1bHQ6Ci0JCQlXQVJOKDEsICJVbmtub3duIGNkIGZyZXEgc2Vs ZWN0aW9uXG4iKTsKLQkJfQotCX0KLQotCS8qIGVycm9yIGNhc2UsIGRvIGFzIGlmIERQTEwwIGlz bid0IGVuYWJsZWQgKi8KLQlyZXR1cm4gMjQwMDA7Ci19Ci0KLXN0YXRpYyBpbnQgYmR3X2dldF9j ZGNsa19mcmVxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLXsKLQl1aW50MzJf dCBsY3BsbCA9IEk5MTVfUkVBRChMQ1BMTF9DVEwpOwotCXVpbnQzMl90IGZyZXEgPSBsY3BsbCAm IExDUExMX0NMS19GUkVRX01BU0s7Ci0KLQlpZiAobGNwbGwgJiBMQ1BMTF9DRF9TT1VSQ0VfRkNM SykKLQkJcmV0dXJuIDgwMDAwMDsKLQllbHNlIGlmIChJOTE1X1JFQUQoRlVTRV9TVFJBUCkgJiBI U1dfQ0RDTEtfTElNSVQpCi0JCXJldHVybiA0NTAwMDA7Ci0JZWxzZSBpZiAoZnJlcSA9PSBMQ1BM TF9DTEtfRlJFUV80NTApCi0JCXJldHVybiA0NTAwMDA7Ci0JZWxzZSBpZiAoZnJlcSA9PSBMQ1BM TF9DTEtfRlJFUV81NE9fQkRXKQotCQlyZXR1cm4gNTQwMDAwOwotCWVsc2UgaWYgKGZyZXEgPT0g TENQTExfQ0xLX0ZSRVFfMzM3XzVfQkRXKQotCQlyZXR1cm4gMzM3NTAwOwotCWVsc2UKLQkJcmV0 dXJuIDY3NTAwMDsKLX0KLQotc3RhdGljIGludCBoc3dfZ2V0X2NkY2xrX2ZyZXEoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQotewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBk ZXZfcHJpdi0+ZGV2OwotCXVpbnQzMl90IGxjcGxsID0gSTkxNV9SRUFEKExDUExMX0NUTCk7Ci0J dWludDMyX3QgZnJlcSA9IGxjcGxsICYgTENQTExfQ0xLX0ZSRVFfTUFTSzsKLQotCWlmIChsY3Bs bCAmIExDUExMX0NEX1NPVVJDRV9GQ0xLKQotCQlyZXR1cm4gODAwMDAwOwotCWVsc2UgaWYgKEk5 MTVfUkVBRChGVVNFX1NUUkFQKSAmIEhTV19DRENMS19MSU1JVCkKLQkJcmV0dXJuIDQ1MDAwMDsK LQllbHNlIGlmIChmcmVxID09IExDUExMX0NMS19GUkVRXzQ1MCkKLQkJcmV0dXJuIDQ1MDAwMDsK LQllbHNlIGlmIChJU19IU1dfVUxUKGRldikpCi0JCXJldHVybiAzMzc1MDA7Ci0JZWxzZQotCQly ZXR1cm4gNTQwMDAwOwotfQotCi1pbnQgaW50ZWxfZGRpX2dldF9jZGNsa19mcmVxKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKLXsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g ZGV2X3ByaXYtPmRldjsKLQotCWlmIChJU19TS1lMQUtFKGRldikpCi0JCXJldHVybiBza2xfZ2V0 X2NkY2xrX2ZyZXEoZGV2X3ByaXYpOwotCi0JaWYgKElTX0JST0FEV0VMTChkZXYpKQotCQlyZXR1 cm4gYmR3X2dldF9jZGNsa19mcmVxKGRldl9wcml2KTsKLQotCS8qIEhhc3dlbGwgKi8KLQlyZXR1 cm4gaHN3X2dldF9jZGNsa19mcmVxKGRldl9wcml2KTsKLX0KLQogc3RhdGljIHZvaWQgaHN3X2Rk aV9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCkKIHsKQEAgLTE5NzQsNyArMTg3NSw3IEBA IHZvaWQgaW50ZWxfZGRpX3BsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWhzd19z aGFyZWRfZHBsbHNfaW5pdChkZXZfcHJpdik7CiAKIAlEUk1fREVCVUdfS01TKCJDRENMSyBydW5u aW5nIGF0ICVkS0h6XG4iLAotCQkgICAgICBpbnRlbF9kZGlfZ2V0X2NkY2xrX2ZyZXEoZGV2X3By aXYpKTsKKwkJICAgICAgZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQo ZGV2KSk7CiAKIAlpZiAoSVNfU0tZTEFLRShkZXYpKSB7CiAJCWlmICghKEk5MTVfUkVBRChMQ1BM TDFfQ1RMKSAmIExDUExMX1BMTF9FTkFCTEUpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCmluZGV4IDRhNGZkYjAuLjZlMzMyNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKQEAgLTU4NjQsNiArNTg2NCw5MyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRp YyBpbnQgc2t5bGFrZV9nZXRfZGlzcGxheV9jbG9ja19zcGVlZChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKKwl1aW50MzJfdCBsY3BsbDEgPSBJOTE1X1JFQUQoTENQTEwxX0NUTCk7CisJdWludDMyX3Qg Y2RjdGwgPSBJOTE1X1JFQUQoQ0RDTEtfQ1RMKTsKKwl1aW50MzJfdCBsaW5rcmF0ZTsKKworCWlm ICghKGxjcGxsMSAmIExDUExMX1BMTF9FTkFCTEUpKSB7CisJCVdBUk4oMSwgIkxDUExMMSBub3Qg ZW5hYmxlZFxuIik7CisJCXJldHVybiAyNDAwMDsgLyogMjRNSHogaXMgdGhlIGNkIGZyZXEgd2l0 aCBOU1NDIHJlZiAqLworCX0KKworCWlmICgoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSA9 PSBDRENMS19GUkVRXzU0MCkKKwkJcmV0dXJuIDU0MDAwMDsKKworCWxpbmtyYXRlID0gKEk5MTVf UkVBRChEUExMX0NUUkwxKSAmCisJCSAgICBEUExMX0NSVEwxX0xJTktfUkFURV9NQVNLKFNLTF9E UExMMCkpID4+IDE7CisKKwlpZiAobGlua3JhdGUgPT0gRFBMTF9DUlRMMV9MSU5LX1JBVEVfMjE2 MCB8fAorCSAgICBsaW5rcmF0ZSA9PSBEUExMX0NSVEwxX0xJTktfUkFURV8xMDgwKSB7CisJCS8q IHZjbyA4NjQwICovCisJCXN3aXRjaCAoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSB7CisJ CWNhc2UgQ0RDTEtfRlJFUV80NTBfNDMyOgorCQkJcmV0dXJuIDQzMjAwMDsKKwkJY2FzZSBDRENM S19GUkVRXzMzN18zMDg6CisJCQlyZXR1cm4gMzA4NTcwOworCQljYXNlIENEQ0xLX0ZSRVFfNjc1 XzYxNzoKKwkJCXJldHVybiA2MTcxNDA7CisJCWRlZmF1bHQ6CisJCQlXQVJOKDEsICJVbmtub3du IGNkIGZyZXEgc2VsZWN0aW9uXG4iKTsKKwkJfQorCX0gZWxzZSB7CisJCS8qIHZjbyA4MTAwICov CisJCXN3aXRjaCAoY2RjdGwgJiBDRENMS19GUkVRX1NFTF9NQVNLKSB7CisJCWNhc2UgQ0RDTEtf RlJFUV80NTBfNDMyOgorCQkJcmV0dXJuIDQ1MDAwMDsKKwkJY2FzZSBDRENMS19GUkVRXzMzN18z MDg6CisJCQlyZXR1cm4gMzM3NTAwOworCQljYXNlIENEQ0xLX0ZSRVFfNjc1XzYxNzoKKwkJCXJl dHVybiA2NzUwMDA7CisJCWRlZmF1bHQ6CisJCQlXQVJOKDEsICJVbmtub3duIGNkIGZyZXEgc2Vs ZWN0aW9uXG4iKTsKKwkJfQorCX0KKworCS8qIGVycm9yIGNhc2UsIGRvIGFzIGlmIERQTEwwIGlz bid0IGVuYWJsZWQgKi8KKwlyZXR1cm4gMjQwMDA7Cit9CisKK3N0YXRpYyBpbnQgYnJvYWR3ZWxs X2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwl1aW50 MzJfdCBsY3BsbCA9IEk5MTVfUkVBRChMQ1BMTF9DVEwpOworCXVpbnQzMl90IGZyZXEgPSBsY3Bs bCAmIExDUExMX0NMS19GUkVRX01BU0s7CisKKwlpZiAobGNwbGwgJiBMQ1BMTF9DRF9TT1VSQ0Vf RkNMSykKKwkJcmV0dXJuIDgwMDAwMDsKKwllbHNlIGlmIChJOTE1X1JFQUQoRlVTRV9TVFJBUCkg JiBIU1dfQ0RDTEtfTElNSVQpCisJCXJldHVybiA0NTAwMDA7CisJZWxzZSBpZiAoZnJlcSA9PSBM Q1BMTF9DTEtfRlJFUV80NTApCisJCXJldHVybiA0NTAwMDA7CisJZWxzZSBpZiAoZnJlcSA9PSBM Q1BMTF9DTEtfRlJFUV81NE9fQkRXKQorCQlyZXR1cm4gNTQwMDAwOworCWVsc2UgaWYgKGZyZXEg PT0gTENQTExfQ0xLX0ZSRVFfMzM3XzVfQkRXKQorCQlyZXR1cm4gMzM3NTAwOworCWVsc2UKKwkJ cmV0dXJuIDY3NTAwMDsKK30KKworc3RhdGljIGludCBoYXN3ZWxsX2dldF9kaXNwbGF5X2Nsb2Nr X3NwZWVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwl1aW50MzJfdCBsY3BsbCA9IEk5MTVf UkVBRChMQ1BMTF9DVEwpOworCXVpbnQzMl90IGZyZXEgPSBsY3BsbCAmIExDUExMX0NMS19GUkVR X01BU0s7CisKKwlpZiAobGNwbGwgJiBMQ1BMTF9DRF9TT1VSQ0VfRkNMSykKKwkJcmV0dXJuIDgw MDAwMDsKKwllbHNlIGlmIChJOTE1X1JFQUQoRlVTRV9TVFJBUCkgJiBIU1dfQ0RDTEtfTElNSVQp CisJCXJldHVybiA0NTAwMDA7CisJZWxzZSBpZiAoZnJlcSA9PSBMQ1BMTF9DTEtfRlJFUV80NTAp CisJCXJldHVybiA0NTAwMDA7CisJZWxzZSBpZiAoSVNfSFNXX1VMVChkZXYpKQorCQlyZXR1cm4g MzM3NTAwOworCWVsc2UKKwkJcmV0dXJuIDU0MDAwMDsKK30KKwogc3RhdGljIGludCB2YWxsZXl2 aWV3X2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAg LTEzNjg3LDcgKzEzNzc0LDE2IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRfZGlzcGxheShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQogCX0KIAogCS8qIFJldHVybnMgdGhlIGNvcmUgZGlzcGxheSBj bG9jayBzcGVlZCAqLwotCWlmIChJU19WQUxMRVlWSUVXKGRldikpCisJaWYgKElTX1NLWUxBS0Uo ZGV2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQgPQorCQkJ c2t5bGFrZV9nZXRfZGlzcGxheV9jbG9ja19zcGVlZDsKKwllbHNlIGlmIChJU19CUk9BRFdFTEwo ZGV2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQgPQorCQkJ YnJvYWR3ZWxsX2dldF9kaXNwbGF5X2Nsb2NrX3NwZWVkOworCWVsc2UgaWYgKElTX0hBU1dFTEwo ZGV2KSkKKwkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQgPQorCQkJ aGFzd2VsbF9nZXRfZGlzcGxheV9jbG9ja19zcGVlZDsKKwllbHNlIGlmIChJU19WQUxMRVlWSUVX KGRldikpCiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkID0KIAkJ CXZhbGxleXZpZXdfZ2V0X2Rpc3BsYXlfY2xvY2tfc3BlZWQ7CiAJZWxzZSBpZiAoSVNfR0VONShk ZXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggZTM4ZGJkNS4uMDQ3YTUyZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCkBAIC03MTcsNyArNzE3LDcgQEAgc3RhdGljIHVpbnQzMl90IGhz d19nZXRfYXV4X2Nsb2NrX2RpdmlkZXIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgaW50IGlu ZGV4KQogCWlmIChpbnRlbF9kaWdfcG9ydC0+cG9ydCA9PSBQT1JUX0EpIHsKIAkJaWYgKGluZGV4 KQogCQkJcmV0dXJuIDA7Ci0JCXJldHVybiBESVZfUk9VTkRfQ0xPU0VTVChpbnRlbF9kZGlfZ2V0 X2NkY2xrX2ZyZXEoZGV2X3ByaXYpLCAyMDAwKTsKKwkJcmV0dXJuIERJVl9ST1VORF9DTE9TRVNU KGRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkKGRldiksIDIwMDApOwog CX0gZWxzZSBpZiAoZGV2X3ByaXYtPnBjaF9pZCA9PSBJTlRFTF9QQ0hfTFBUX0RFVklDRV9JRF9U WVBFKSB7CiAJCS8qIFdvcmthcm91bmQgZm9yIG5vbi1VTFQgSFNXICovCiAJCXN3aXRjaCAoaW5k ZXgpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZmNhN2I5Zi4uNGYyZWQ5NSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTg1Niw3ICs4NTYsNiBAQCB2b2lkIGhzd19mZGlf bGlua190cmFpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogdm9pZCBpbnRlbF9kZGlfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBvcnQgcG9ydCk7CiBlbnVtIHBvcnQgaW50ZWxf ZGRpX2dldF9lbmNvZGVyX3BvcnQoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIp OwogYm9vbCBpbnRlbF9kZGlfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyLCBlbnVtIHBpcGUgKnBpcGUpOwotaW50IGludGVsX2RkaV9nZXRfY2RjbGtfZnJlcShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpbnRlbF9kZGlfcGxsX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rl cl9mdW5jKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGludGVsX2RkaV9kaXNhYmxlX3Ry YW5zY29kZXJfZnVuYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwppbmRleCBmYTRjY2IzLi5lMTM5MmU3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKQEAgLTE3OTIsNyArMTc5Miw3IEBAIGhzd19jb21wdXRlX2xpbmV0aW1lX3dtKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlsaW5ldGltZSA9IERJ Vl9ST1VORF9DTE9TRVNUKG1vZGUtPmNydGNfaHRvdGFsICogMTAwMCAqIDgsCiAJCQkJICAgICBt b2RlLT5jcnRjX2Nsb2NrKTsKIAlpcHNfbGluZXRpbWUgPSBESVZfUk9VTkRfQ0xPU0VTVChtb2Rl LT5jcnRjX2h0b3RhbCAqIDEwMDAgKiA4LAotCQkJCQkgaW50ZWxfZGRpX2dldF9jZGNsa19mcmVx KGRldl9wcml2KSk7CisJCQkJCSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9jbG9ja19z cGVlZChkZXZfcHJpdi0+ZGV2KSk7CiAKIAlyZXR1cm4gUElQRV9XTV9MSU5FVElNRV9JUFNfTElO RVRJTUUoaXBzX2xpbmV0aW1lKSB8CiAJICAgICAgIFBJUEVfV01fTElORVRJTUVfVElNRShsaW5l dGltZSk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK