From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 12/27] drm/radeon: simplify semaphore handling Date: Tue, 1 May 2012 13:19:22 -0400 Message-ID: <1335892777-7357-13-git-send-email-j.glisse@gmail.com> References: <ยท> <1335892777-7357-1-git-send-email-j.glisse@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qa0-f48.google.com (mail-qa0-f48.google.com [209.85.216.48]) by gabe.freedesktop.org (Postfix) with ESMTP id AD752A0911 for ; Tue, 1 May 2012 10:20:11 -0700 (PDT) Received: by mail-qa0-f48.google.com with SMTP id y23so2625266qad.14 for ; Tue, 01 May 2012 10:20:11 -0700 (PDT) In-Reply-To: <1335892777-7357-1-git-send-email-j.glisse@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org RnJvbTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+CgpEaXJlY3Rs eSB1c2UgdGhlIHN1YmFsbG9jYXRvciB0byBnZXQgc21hbGwgY2h1bmtzCm9mIG1lbW9yeS4gSXQn cyBlcXVhbGx5IGZhc3QgYW5kIGRvZXNuJ3QgY3Jhc2ggd2hlbgp3ZSBlbmNvdW50ZXIgYSBHUFUg cmVzZXQuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxkZWF0aHNpbXBsZUB2b2Rh Zm9uZS5kZT4KUmV2aWV3ZWQtYnk6IEplcm9tZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0LmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jICAgICAgICB8ICAgIDEgLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaS5jICAgICAgICAgICAgICAgfCAgICAxIC0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jICAgICAgICAgICAgIHwgICAgMSAtCiBkcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbi5oICAgICAgICAgICB8ICAgMjkgKy0tLS0tLQogZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMgICAgfCAgICAyIC0KIGRyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jIHwgIDEzNCArKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jICAgICAgICAgICAgfCAgICAx IC0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyAgICAgICAgICAgICAgIHwgICAgMSAtCiA4 IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE0OCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwppbmRleCBjYTQ3ZjUyLi5hNzYzODljIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZXZlcmdyZWVuLmMKQEAgLTM0MzEsNyArMzQzMSw2IEBAIHZvaWQgZXZlcmdyZWVu X2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJZXZlcmdyZWVuX3BjaWVfZ2FydF9m aW5pKHJkZXYpOwogCXI2MDBfdnJhbV9zY3JhdGNoX2ZpbmkocmRldik7CiAJcmFkZW9uX2dlbV9m aW5pKHJkZXYpOwotCXJhZGVvbl9zZW1hcGhvcmVfZHJpdmVyX2ZpbmkocmRldik7CiAJcmFkZW9u X2ZlbmNlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9hZ3BfZmluaShyZGV2KTsKIAlyYWRl b25fYm9fZmluaShyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmku YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYwppbmRleCAwMTQ2NDI4Li5jMGIwOTU2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9uaS5jCkBAIC0xNzczLDcgKzE3NzMsNiBAQCB2b2lkIGNheW1hbl9maW5pKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCWNheW1hbl9wY2llX2dhcnRfZmluaShyZGV2KTsK IAlyNjAwX3ZyYW1fc2NyYXRjaF9maW5pKHJkZXYpOwogCXJhZGVvbl9nZW1fZmluaShyZGV2KTsK LQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9mZW5jZV9kcml2 ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsKIAlyYWRlb25fYXRvbWJpb3Nf ZmluaShyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKaW5kZXggMDZlY2NkMS4uYTI1MjE2MCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yNjAwLmMKQEAgLTI2NzIsNyArMjY3Miw2IEBAIHZvaWQgcjYwMF9maW5pKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCXI2MDBfdnJhbV9zY3JhdGNoX2ZpbmkocmRldik7 CiAJcmFkZW9uX2FncF9maW5pKHJkZXYpOwogCXJhZGVvbl9nZW1fZmluaShyZGV2KTsKLQlyYWRl b25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9mZW5jZV9kcml2ZXJfZmlu aShyZGV2KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsKIAlyYWRlb25fYXRvbWJpb3NfZmluaShy ZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IDhhNmRkNDYuLjgzZmYxMTUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb24uaApAQCAtNDMyLDM0ICs0MzIsMTIgQEAgaW50IHJhZGVvbl9tb2Rl X2R1bWJfZGVzdHJveShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIC8qCiAgKiBTZW1hcGhv cmVzLgogICovCi1zdHJ1Y3QgcmFkZW9uX3Jpbmc7Ci0KLSNkZWZpbmUJUkFERU9OX1NFTUFQSE9S RV9CT19TSVpFCTI1NgotCi1zdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXIgewotCXJ3bG9j a190CQkJbG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkCQlibzsKLX07Ci0KLXN0cnVjdCByYWRlb25f c2VtYXBob3JlX2JvOwotCi0vKiBldmVyeXRoaW5nIGhlcmUgaXMgY29uc3RhbnQgKi8KIHN0cnVj dCByYWRlb25fc2VtYXBob3JlIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0OwotCXVpbnQ2NF90 CQkJZ3B1X2FkZHI7Ci0JdWludDMyX3QJCQkqY3B1X3B0cjsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFw aG9yZV9ibwkqYm87Ci19OwotCi1zdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibyB7Ci0Jc3RydWN0 IGxpc3RfaGVhZAkJbGlzdDsKLQlzdHJ1Y3QgcmFkZW9uX2liCQkqaWI7Ci0Jc3RydWN0IGxpc3Rf aGVhZAkJZnJlZTsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZQkJc2VtYXBob3Jlc1tSQURFT05f U0VNQVBIT1JFX0JPX1NJWkUvOF07Ci0JdW5zaWduZWQJCQludXNlZDsKKwlzdHJ1Y3QgcmFkZW9u X3NhX2JvCXNhX2JvOworCXNpZ25lZAkJCXdhaXRlcnM7CisJdWludDY0X3QJCWdwdV9hZGRyOwog fTsKIAotdm9pZCByYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2KTsKIGludCByYWRlb25fc2VtYXBob3JlX2NyZWF0ZShzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiwKIAkJCSAgICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSAqKnNlbWFwaG9yZSk7 CiB2b2lkIHJhZGVvbl9zZW1hcGhvcmVfZW1pdF9zaWduYWwoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYsIGludCByaW5nLApAQCAtMTUyMyw3ICsxNTAxLDYgQEAgc3RydWN0IHJhZGVvbl9kZXZp Y2UgewogCXN0cnVjdCByYWRlb25fbW1hbgkJbW1hbjsKIAlyd2xvY2tfdAkJCWZlbmNlX2xvY2s7 CiAJc3RydWN0IHJhZGVvbl9mZW5jZV9kcml2ZXIJZmVuY2VfZHJ2W1JBREVPTl9OVU1fUklOR1Nd OwotCXN0cnVjdCByYWRlb25fc2VtYXBob3JlX2RyaXZlcglzZW1hcGhvcmVfZHJ2OwogCXN0cnVj dCByYWRlb25fcmluZwkJcmluZ1tSQURFT05fTlVNX1JJTkdTXTsKIAlzdHJ1Y3QgcmFkZW9uX2li X3Bvb2wJCWliX3Bvb2w7CiAJc3RydWN0IHJhZGVvbl9pcnEJCWlycTsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yYWRlb25fZGV2aWNlLmMKaW5kZXggZWI2M2EwNi4uZjMxNDgxOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKQEAgLTczMywxMSArNzMzLDkgQEAgaW50IHJhZGVv bl9kZXZpY2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAltdXRleF9pbml0KCZy ZGV2LT5wbS5tdXRleCk7CiAJbXV0ZXhfaW5pdCgmcmRldi0+dnJhbV9tdXRleCk7CiAJcndsb2Nr X2luaXQoJnJkZXYtPmZlbmNlX2xvY2spOwotCXJ3bG9ja19pbml0KCZyZGV2LT5zZW1hcGhvcmVf ZHJ2LmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZyZGV2LT5nZW0ub2JqZWN0cyk7CiAJaW5pdF93 YWl0cXVldWVfaGVhZCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7CiAJaW5pdF93YWl0cXVldWVf aGVhZCgmcmRldi0+aXJxLmlkbGVfcXVldWUpOwotCUlOSVRfTElTVF9IRUFEKCZyZGV2LT5zZW1h cGhvcmVfZHJ2LmJvKTsKIAkvKiBpbml0aWFsaXplIHZtIGhlcmUgKi8KIAlyZGV2LT52bV9tYW5h Z2VyLnVzZV9iaXRtYXAgPSAxOwogCXJkZXYtPnZtX21hbmFnZXIubWF4X3BmbiA9IDEgPDwgMjA7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1hcGhvcmUuYyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCmluZGV4IDYxZGQ0ZTMu LmE3NDY0MTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFw aG9yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCkBA IC0zMSwxMDggKzMxLDI3IEBACiAjaW5jbHVkZSAiZHJtLmgiCiAjaW5jbHVkZSAicmFkZW9uLmgi CiAKLXN0YXRpYyBpbnQgcmFkZW9uX3NlbWFwaG9yZV9hZGRfYm8oc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpCitpbnQgcmFkZW9uX3NlbWFwaG9yZV9jcmVhdGUoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsCisJCQkgICAgc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKipzZW1hcGhvcmUpCiB7 Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8gKmJvOwotCXVuc2lnbmVkIGxvbmcgaXJxX2Zs YWdzOwotCXVpbnQ2NF90IGdwdV9hZGRyOwotCXVpbnQzMl90ICpjcHVfcHRyOwotCWludCByLCBp OwotCisJaW50IHI7CiAKLQlibyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVjdCByYWRlb25fc2VtYXBo b3JlX2JvKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKGJvID09IE5VTEwpIHsKKwkqc2VtYXBob3JlID0g a21hbGxvYyhzaXplb2Yoc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUpLCBHRlBfS0VSTkVMKTsKKwlp ZiAoKnNlbWFwaG9yZSA9PSBOVUxMKSB7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KLQlJTklUX0xJ U1RfSEVBRCgmYm8tPmZyZWUpOwotCUlOSVRfTElTVF9IRUFEKCZiby0+bGlzdCk7Ci0JYm8tPm51 c2VkID0gMDsKIAotCXIgPSByYWRlb25faWJfZ2V0KHJkZXYsIDAsICZiby0+aWIsIFJBREVPTl9T RU1BUEhPUkVfQk9fU0laRSk7CisJciA9IHJhZGVvbl9zYV9ib19uZXcocmRldiwgJnJkZXYtPmli X3Bvb2wuc2FfbWFuYWdlciwKKwkJCSAgICAgJigqc2VtYXBob3JlKS0+c2FfYm8sIDgsIDgsIHRy dWUpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIocmRldi0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhIGJv IGFmdGVyIDUgcmV0cnlcbiIpOwotCQlrZnJlZShibyk7CisJCWtmcmVlKCpzZW1hcGhvcmUpOwor CQkqc2VtYXBob3JlID0gTlVMTDsKIAkJcmV0dXJuIHI7CiAJfQotCWdwdV9hZGRyID0gcmRldi0+ aWJfcG9vbC5zYV9tYW5hZ2VyLmdwdV9hZGRyOwotCWdwdV9hZGRyICs9IGJvLT5pYi0+c2FfYm8u b2Zmc2V0OwotCWNwdV9wdHIgPSByZGV2LT5pYl9wb29sLnNhX21hbmFnZXIuY3B1X3B0cjsKLQlj cHVfcHRyICs9IChiby0+aWItPnNhX2JvLm9mZnNldCA+PiAyKTsKLQlmb3IgKGkgPSAwOyBpIDwg KFJBREVPTl9TRU1BUEhPUkVfQk9fU0laRS84KTsgaSsrKSB7Ci0JCWJvLT5zZW1hcGhvcmVzW2ld LmdwdV9hZGRyID0gZ3B1X2FkZHI7Ci0JCWJvLT5zZW1hcGhvcmVzW2ldLmNwdV9wdHIgPSBjcHVf cHRyOwotCQliby0+c2VtYXBob3Jlc1tpXS5ibyA9IGJvOwotCQlsaXN0X2FkZF90YWlsKCZiby0+ c2VtYXBob3Jlc1tpXS5saXN0LCAmYm8tPmZyZWUpOwotCQlncHVfYWRkciArPSA4OwotCQljcHVf cHRyICs9IDI7Ci0JfQotCXdyaXRlX2xvY2tfaXJxc2F2ZSgmcmRldi0+c2VtYXBob3JlX2Rydi5s b2NrLCBpcnFfZmxhZ3MpOwotCWxpc3RfYWRkX3RhaWwoJmJvLT5saXN0LCAmcmRldi0+c2VtYXBo b3JlX2Rydi5ibyk7Ci0Jd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJnJkZXYtPnNlbWFwaG9yZV9k cnYubG9jaywgaXJxX2ZsYWdzKTsKLQlyZXR1cm4gMDsKLX0KIAotc3RhdGljIHZvaWQgcmFkZW9u X3NlbWFwaG9yZV9kZWxfYm9fbG9ja2VkKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAotCQkJ CQkgICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibyAqYm8pCi17Ci0JcmFkZW9uX3NhX2JvX2Zy ZWUocmRldiwgJmJvLT5pYi0+c2FfYm8pOwotCXJhZGVvbl9mZW5jZV91bnJlZigmYm8tPmliLT5m ZW5jZSk7Ci0JbGlzdF9kZWwoJmJvLT5saXN0KTsKLQlrZnJlZShibyk7Ci19Ci0KLXZvaWQgcmFk ZW9uX3NlbWFwaG9yZV9zaHJpbmtfbG9ja2VkKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQot ewotCXN0cnVjdCByYWRlb25fc2VtYXBob3JlX2JvICpibywgKm47Ci0KLQlpZiAobGlzdF9lbXB0 eSgmcmRldi0+c2VtYXBob3JlX2Rydi5ibykpIHsKLQkJcmV0dXJuOwotCX0KLQkvKiBvbmx5IHNo cmluayBpZiBmaXJzdCBibyBoYXMgZnJlZSBzZW1hcGhvcmUgKi8KLQlibyA9IGxpc3RfZmlyc3Rf ZW50cnkoJnJkZXYtPnNlbWFwaG9yZV9kcnYuYm8sIHN0cnVjdCByYWRlb25fc2VtYXBob3JlX2Jv LCBsaXN0KTsKLQlpZiAobGlzdF9lbXB0eSgmYm8tPmZyZWUpKSB7Ci0JCXJldHVybjsKLQl9Ci0J bGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlX2NvbnRpbnVlKGJvLCBuLCAmcmRldi0+c2VtYXBob3Jl X2Rydi5ibywgbGlzdCkgewotCQlpZiAoYm8tPm51c2VkKQotCQkJY29udGludWU7Ci0JCXJhZGVv bl9zZW1hcGhvcmVfZGVsX2JvX2xvY2tlZChyZGV2LCBibyk7Ci0JfQotfQotCi1pbnQgcmFkZW9u X3NlbWFwaG9yZV9jcmVhdGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCi0JCQkgICAgc3Ry dWN0IHJhZGVvbl9zZW1hcGhvcmUgKipzZW1hcGhvcmUpCi17Ci0Jc3RydWN0IHJhZGVvbl9zZW1h cGhvcmVfYm8gKmJvOwotCXVuc2lnbmVkIGxvbmcgaXJxX2ZsYWdzOwotCWJvb2wgZG9fcmV0cnkg PSB0cnVlOwotCWludCByOwotCi1yZXRyeToKLQkqc2VtYXBob3JlID0gTlVMTDsKLQl3cml0ZV9s b2NrX2lycXNhdmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKLQlsaXN0 X2Zvcl9lYWNoX2VudHJ5KGJvLCAmcmRldi0+c2VtYXBob3JlX2Rydi5ibywgbGlzdCkgewotCQlp ZiAobGlzdF9lbXB0eSgmYm8tPmZyZWUpKQotCQkJY29udGludWU7Ci0JCSpzZW1hcGhvcmUgPSBs aXN0X2ZpcnN0X2VudHJ5KCZiby0+ZnJlZSwgc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUsIGxpc3Qp OwotCQkoKnNlbWFwaG9yZSktPmNwdV9wdHJbMF0gPSAwOwotCQkoKnNlbWFwaG9yZSktPmNwdV9w dHJbMV0gPSAwOwotCQlsaXN0X2RlbCgmKCpzZW1hcGhvcmUpLT5saXN0KTsKLQkJYm8tPm51c2Vk Kys7Ci0JCWJyZWFrOwotCX0KLQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+c2VtYXBo b3JlX2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotCi0JaWYgKCpzZW1hcGhvcmUgPT0gTlVMTCkgewot CQlpZiAoZG9fcmV0cnkpIHsKLQkJCWRvX3JldHJ5ID0gZmFsc2U7Ci0JCQlyID0gcmFkZW9uX3Nl bWFwaG9yZV9hZGRfYm8ocmRldik7Ci0JCQlpZiAocikKLQkJCQlyZXR1cm4gcjsKLQkJCWdvdG8g cmV0cnk7Ci0JCX0KLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQorCSgqc2VtYXBob3JlKS0+d2FpdGVy cyA9IDA7CisJKCpzZW1hcGhvcmUpLT5ncHVfYWRkciA9IHJhZGVvbl9zYV9ib19ncHVfYWRkcigm KCpzZW1hcGhvcmUpLT5zYV9ibyk7CisJKigodWludDY0X3QqKXJhZGVvbl9zYV9ib19jcHVfYWRk cigmKCpzZW1hcGhvcmUpLT5zYV9ibykpID0gMDsKIAogCXJldHVybiAwOwogfQpAQCAtMTQwLDM5 ICs1OSwyNCBAQCByZXRyeToKIHZvaWQgcmFkZW9uX3NlbWFwaG9yZV9lbWl0X3NpZ25hbChzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcsCiAJCQkgICAgICAgICAgc3RydWN0IHJh ZGVvbl9zZW1hcGhvcmUgKnNlbWFwaG9yZSkKIHsKKwktLXNlbWFwaG9yZS0+d2FpdGVyczsKIAly YWRlb25fc2VtYXBob3JlX3JpbmdfZW1pdChyZGV2LCByaW5nLCAmcmRldi0+cmluZ1tyaW5nXSwg c2VtYXBob3JlLCBmYWxzZSk7CiB9CiAKIHZvaWQgcmFkZW9uX3NlbWFwaG9yZV9lbWl0X3dhaXQo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaW5nLAogCQkJICAgICAgICBzdHJ1Y3Qg cmFkZW9uX3NlbWFwaG9yZSAqc2VtYXBob3JlKQogeworCSsrc2VtYXBob3JlLT53YWl0ZXJzOwog CXJhZGVvbl9zZW1hcGhvcmVfcmluZ19lbWl0KHJkZXYsIHJpbmcsICZyZGV2LT5yaW5nW3Jpbmdd LCBzZW1hcGhvcmUsIHRydWUpOwogfQogCiB2b2lkIHJhZGVvbl9zZW1hcGhvcmVfZnJlZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgIHN0cnVjdCByYWRlb25fc2VtYXBob3JlICpz ZW1hcGhvcmUpCiB7Ci0JdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7Ci0KLQl3cml0ZV9sb2NrX2ly cXNhdmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKLQlzZW1hcGhvcmUt PmJvLT5udXNlZC0tOwotCWxpc3RfYWRkX3RhaWwoJnNlbWFwaG9yZS0+bGlzdCwgJnNlbWFwaG9y ZS0+Ym8tPmZyZWUpOwotCXJhZGVvbl9zZW1hcGhvcmVfc2hyaW5rX2xvY2tlZChyZGV2KTsKLQl3 cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+c2VtYXBob3JlX2Rydi5sb2NrLCBpcnFfZmxh Z3MpOwotfQotCi12b2lkIHJhZGVvbl9zZW1hcGhvcmVfZHJpdmVyX2Zpbmkoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpCi17Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8gKmJvLCAqbjsK LQl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQotCXdyaXRlX2xvY2tfaXJxc2F2ZSgmcmRldi0+ c2VtYXBob3JlX2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotCS8qIHdlIGZvcmNlIHRvIGZyZWUgZXZl cnl0aGluZyAqLwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShibywgbiwgJnJkZXYtPnNlbWFw aG9yZV9kcnYuYm8sIGxpc3QpIHsKLQkJaWYgKCFsaXN0X2VtcHR5KCZiby0+ZnJlZSkpIHsKLQkJ CWRldl9lcnIocmRldi0+ZGV2LCAic3RpbGwgaW4gdXNlIHNlbWFwaG9yZVxuIik7Ci0JCX0KLQkJ cmFkZW9uX3NlbWFwaG9yZV9kZWxfYm9fbG9ja2VkKHJkZXYsIGJvKTsKKwlpZiAoc2VtYXBob3Jl LT53YWl0ZXJzID4gMCkgeworCQlkZXZfZXJyKHJkZXYtPmRldiwgIlNlbWFwaG9yZSAlcCBoYXMg bW9yZSB3YWl0ZXJzIHRoYW4gc2lnbmFsZXJzLCIKKwkJCSIgaGFyZHdhcmUgbG9ja3VwIGltbWlu ZW50IVxuIiwgc2VtYXBob3JlKTsKIAl9Ci0Jd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUoJnJkZXYt PnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKKwlyYWRlb25fc2FfYm9fZnJlZShyZGV2 LCAmc2VtYXBob3JlLT5zYV9ibyk7CisJa2ZyZWUoc2VtYXBob3JlKTsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cnY3NzAuYwppbmRleCBhOGIwMDE2Li40MGY4MmUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3J2NzcwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jCkBA IC0xMjc4LDcgKzEyNzgsNiBAQCB2b2lkIHJ2NzcwX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYpCiAJcnY3NzBfcGNpZV9nYXJ0X2ZpbmkocmRldik7CiAJcjYwMF92cmFtX3NjcmF0Y2hf ZmluaShyZGV2KTsKIAlyYWRlb25fZ2VtX2ZpbmkocmRldik7Ci0JcmFkZW9uX3NlbWFwaG9yZV9k cml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fZmVuY2VfZHJpdmVyX2ZpbmkocmRldik7CiAJcmFk ZW9uX2FncF9maW5pKHJkZXYpOwogCXJhZGVvbl9ib19maW5pKHJkZXYpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5j CmluZGV4IDI3YmRhOTguLmYwNWQzN2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKQEAgLTQxMTcsNyArNDEx Nyw2IEBAIHZvaWQgc2lfZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlzaV9wY2ll X2dhcnRfZmluaShyZGV2KTsKIAlyNjAwX3ZyYW1fc2NyYXRjaF9maW5pKHJkZXYpOwogCXJhZGVv bl9nZW1fZmluaShyZGV2KTsKLQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHJkZXYpOwog CXJhZGVvbl9mZW5jZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsK IAlyYWRlb25fYXRvbWJpb3NfZmluaShyZGV2KTsKLS0gCjEuNy43LjYKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==