From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 09/24] drm/radeon: simplify semaphore handling Date: Wed, 25 Apr 2012 15:03:14 -0400 Message-ID: <1335380609-5804-10-git-send-email-j.glisse@gmail.com> References: <1335380609-5804-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-f42.google.com (mail-qa0-f42.google.com [209.85.216.42]) by gabe.freedesktop.org (Postfix) with ESMTP id BDDBC9F75B for ; Wed, 25 Apr 2012 12:03:57 -0700 (PDT) Received: by mail-qa0-f42.google.com with SMTP id i31so3761995qaf.15 for ; Wed, 25 Apr 2012 12:03:57 -0700 (PDT) In-Reply-To: <1335380609-5804-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 Zm9uZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jICAgICAgICB8 ICAgIDEgLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaS5jICAgICAgICAgICAgICAgfCAgICAx IC0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jICAgICAgICAgICAgIHwgICAgMSAtCiBk cml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oICAgICAgICAgICB8ICAgMjkgKy0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMgICAgfCAgICAyIC0KIGRyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jIHwgIDEzNyArKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ydjc3MC5jICAgICAgICAg ICAgfCAgICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyAgICAgICAgICAgICAgIHwg ICAgMSAtCiA4IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDE0NyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwppbmRleCBjYTQ3ZjUyLi5hNzYzODljIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKQEAgLTM0MzEsNyArMzQzMSw2IEBAIHZvaWQg ZXZlcmdyZWVuX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiAJZXZlcmdyZWVuX3Bj aWVfZ2FydF9maW5pKHJkZXYpOwogCXI2MDBfdnJhbV9zY3JhdGNoX2ZpbmkocmRldik7CiAJcmFk ZW9uX2dlbV9maW5pKHJkZXYpOwotCXJhZGVvbl9zZW1hcGhvcmVfZHJpdmVyX2ZpbmkocmRldik7 CiAJcmFkZW9uX2ZlbmNlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9hZ3BfZmluaShyZGV2 KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vbmkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYwppbmRleCAwMTQ2NDI4Li5j MGIwOTU2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9uaS5jCkBAIC0xNzczLDcgKzE3NzMsNiBAQCB2b2lkIGNheW1h bl9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCWNheW1hbl9wY2llX2dhcnRfZmlu aShyZGV2KTsKIAlyNjAwX3ZyYW1fc2NyYXRjaF9maW5pKHJkZXYpOwogCXJhZGVvbl9nZW1fZmlu aShyZGV2KTsKLQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9m ZW5jZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsKIAlyYWRlb25f YXRvbWJpb3NfZmluaShyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v cjYwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKaW5kZXggYmMzYTJlZi4uMjRl NjhmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMKQEAgLTI2NjcsNyArMjY2Nyw2IEBAIHZvaWQgcjYw MF9maW5pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCXI2MDBfdnJhbV9zY3JhdGNoX2Zp bmkocmRldik7CiAJcmFkZW9uX2FncF9maW5pKHJkZXYpOwogCXJhZGVvbl9nZW1fZmluaShyZGV2 KTsKLQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHJkZXYpOwogCXJhZGVvbl9mZW5jZV9k cml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYm9fZmluaShyZGV2KTsKIAlyYWRlb25fYXRvbWJp b3NfZmluaShyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u LmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IDQxNWE0OTYuLjIyMjkz OWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaApAQCAtNDI3LDM0ICs0MjcsMTIgQEAgaW50IHJh ZGVvbl9tb2RlX2R1bWJfZGVzdHJveShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIC8qCiAg KiBTZW1hcGhvcmVzLgogICovCi1zdHJ1Y3QgcmFkZW9uX3Jpbmc7Ci0KLSNkZWZpbmUJUkFERU9O X1NFTUFQSE9SRV9CT19TSVpFCTI1NgotCi1zdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9kcml2ZXIg ewotCXJ3bG9ja190CQkJbG9jazsKLQlzdHJ1Y3QgbGlzdF9oZWFkCQlibzsKLX07Ci0KLXN0cnVj dCByYWRlb25fc2VtYXBob3JlX2JvOwotCi0vKiBldmVyeXRoaW5nIGhlcmUgaXMgY29uc3RhbnQg Ki8KIHN0cnVjdCByYWRlb25fc2VtYXBob3JlIHsKLQlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0Owot CXVpbnQ2NF90CQkJZ3B1X2FkZHI7Ci0JdWludDMyX3QJCQkqY3B1X3B0cjsKLQlzdHJ1Y3QgcmFk ZW9uX3NlbWFwaG9yZV9ibwkqYm87Ci19OwotCi1zdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibyB7 Ci0Jc3RydWN0IGxpc3RfaGVhZAkJbGlzdDsKLQlzdHJ1Y3QgcmFkZW9uX2liCQkqaWI7Ci0Jc3Ry dWN0IGxpc3RfaGVhZAkJZnJlZTsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZQkJc2VtYXBob3Jl c1tSQURFT05fU0VNQVBIT1JFX0JPX1NJWkUvOF07Ci0JdW5zaWduZWQJCQludXNlZDsKKwlzdHJ1 Y3QgcmFkZW9uX3NhX2JvCXNhX2JvOworCXNpZ25lZAkJCXdhaXRlcnM7CisJdWludDY0X3QJCWdw dV9hZGRyOwogfTsKIAotdm9pZCByYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5pKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2KTsKIGludCByYWRlb25fc2VtYXBob3JlX2NyZWF0ZShzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSAqKnNl bWFwaG9yZSk7CiB2b2lkIHJhZGVvbl9zZW1hcGhvcmVfZW1pdF9zaWduYWwoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYsIGludCByaW5nLApAQCAtMTUxOCw3ICsxNDk2LDYgQEAgc3RydWN0IHJh ZGVvbl9kZXZpY2UgewogCXN0cnVjdCByYWRlb25fbW1hbgkJbW1hbjsKIAlyd2xvY2tfdAkJCWZl bmNlX2xvY2s7CiAJc3RydWN0IHJhZGVvbl9mZW5jZV9kcml2ZXIJZmVuY2VfZHJ2W1JBREVPTl9O VU1fUklOR1NdOwotCXN0cnVjdCByYWRlb25fc2VtYXBob3JlX2RyaXZlcglzZW1hcGhvcmVfZHJ2 OwogCXN0cnVjdCByYWRlb25fcmluZwkJcmluZ1tSQURFT05fTlVNX1JJTkdTXTsKIAlzdHJ1Y3Qg cmFkZW9uX2liX3Bvb2wJCWliX3Bvb2w7CiAJc3RydWN0IHJhZGVvbl9pcnEJCWlycTsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2RldmljZS5jIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKaW5kZXggZWI2M2EwNi4uZjMxNDgxOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZGV2aWNlLmMKQEAgLTczMywxMSArNzMzLDkgQEAg aW50IHJhZGVvbl9kZXZpY2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAltdXRl eF9pbml0KCZyZGV2LT5wbS5tdXRleCk7CiAJbXV0ZXhfaW5pdCgmcmRldi0+dnJhbV9tdXRleCk7 CiAJcndsb2NrX2luaXQoJnJkZXYtPmZlbmNlX2xvY2spOwotCXJ3bG9ja19pbml0KCZyZGV2LT5z ZW1hcGhvcmVfZHJ2LmxvY2spOwogCUlOSVRfTElTVF9IRUFEKCZyZGV2LT5nZW0ub2JqZWN0cyk7 CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmcmRldi0+aXJxLnZibGFua19xdWV1ZSk7CiAJaW5pdF93 YWl0cXVldWVfaGVhZCgmcmRldi0+aXJxLmlkbGVfcXVldWUpOwotCUlOSVRfTElTVF9IRUFEKCZy ZGV2LT5zZW1hcGhvcmVfZHJ2LmJvKTsKIAkvKiBpbml0aWFsaXplIHZtIGhlcmUgKi8KIAlyZGV2 LT52bV9tYW5hZ2VyLnVzZV9iaXRtYXAgPSAxOwogCXJkZXYtPnZtX21hbmFnZXIubWF4X3BmbiA9 IDEgPDwgMjA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9zZW1h cGhvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFwaG9yZS5jCmluZGV4 IDYxZGQ0ZTMuLmI2N2MyNTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFk ZW9uX3NlbWFwaG9yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3NlbWFw aG9yZS5jCkBAIC0zMSwxMDggKzMxLDMyIEBACiAjaW5jbHVkZSAiZHJtLmgiCiAjaW5jbHVkZSAi cmFkZW9uLmgiCiAKLXN0YXRpYyBpbnQgcmFkZW9uX3NlbWFwaG9yZV9hZGRfYm8oc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCitpbnQgcmFkZW9uX3NlbWFwaG9yZV9jcmVhdGUoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsCisJCQkgICAgc3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKipzZW1h cGhvcmUpCiB7Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8gKmJvOwotCXVuc2lnbmVkIGxv bmcgaXJxX2ZsYWdzOwotCXVpbnQ2NF90IGdwdV9hZGRyOwotCXVpbnQzMl90ICpjcHVfcHRyOwot CWludCByLCBpOwotCisJdm9pZCAqY3B1X3B0cjsKKwlpbnQgcjsKIAotCWJvID0ga21hbGxvYyhz aXplb2Yoc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8pLCBHRlBfS0VSTkVMKTsKLQlpZiAoYm8g PT0gTlVMTCkgeworCSpzZW1hcGhvcmUgPSBrbWFsbG9jKHNpemVvZihzdHJ1Y3QgcmFkZW9uX3Nl bWFwaG9yZSksIEdGUF9LRVJORUwpOworCWlmICgqc2VtYXBob3JlID09IE5VTEwpIHsKIAkJcmV0 dXJuIC1FTk9NRU07CiAJfQotCUlOSVRfTElTVF9IRUFEKCZiby0+ZnJlZSk7Ci0JSU5JVF9MSVNU X0hFQUQoJmJvLT5saXN0KTsKLQliby0+bnVzZWQgPSAwOwogCi0JciA9IHJhZGVvbl9pYl9nZXQo cmRldiwgMCwgJmJvLT5pYiwgUkFERU9OX1NFTUFQSE9SRV9CT19TSVpFKTsKKwlyID0gcmFkZW9u X3NhX2JvX25ldyhyZGV2LCAmcmRldi0+aWJfcG9vbC5zYV9tYW5hZ2VyLAorCQkJICAgICAmKCpz ZW1hcGhvcmUpLT5zYV9ibywgOCwgOCwgdHJ1ZSk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihyZGV2 LT5kZXYsICJmYWlsZWQgdG8gZ2V0IGEgYm8gYWZ0ZXIgNSByZXRyeVxuIik7Ci0JCWtmcmVlKGJv KTsKKwkJa2ZyZWUoKnNlbWFwaG9yZSk7CisJCSpzZW1hcGhvcmUgPSBOVUxMOwogCQlyZXR1cm4g cjsKIAl9Ci0JZ3B1X2FkZHIgPSByZGV2LT5pYl9wb29sLnNhX21hbmFnZXIuZ3B1X2FkZHI7Ci0J Z3B1X2FkZHIgKz0gYm8tPmliLT5zYV9iby5vZmZzZXQ7Ci0JY3B1X3B0ciA9IHJkZXYtPmliX3Bv b2wuc2FfbWFuYWdlci5jcHVfcHRyOwotCWNwdV9wdHIgKz0gKGJvLT5pYi0+c2FfYm8ub2Zmc2V0 ID4+IDIpOwotCWZvciAoaSA9IDA7IGkgPCAoUkFERU9OX1NFTUFQSE9SRV9CT19TSVpFLzgpOyBp KyspIHsKLQkJYm8tPnNlbWFwaG9yZXNbaV0uZ3B1X2FkZHIgPSBncHVfYWRkcjsKLQkJYm8tPnNl bWFwaG9yZXNbaV0uY3B1X3B0ciA9IGNwdV9wdHI7Ci0JCWJvLT5zZW1hcGhvcmVzW2ldLmJvID0g Ym87Ci0JCWxpc3RfYWRkX3RhaWwoJmJvLT5zZW1hcGhvcmVzW2ldLmxpc3QsICZiby0+ZnJlZSk7 Ci0JCWdwdV9hZGRyICs9IDg7Ci0JCWNwdV9wdHIgKz0gMjsKLQl9Ci0Jd3JpdGVfbG9ja19pcnFz YXZlKCZyZGV2LT5zZW1hcGhvcmVfZHJ2LmxvY2ssIGlycV9mbGFncyk7Ci0JbGlzdF9hZGRfdGFp bCgmYm8tPmxpc3QsICZyZGV2LT5zZW1hcGhvcmVfZHJ2LmJvKTsKLQl3cml0ZV91bmxvY2tfaXJx cmVzdG9yZSgmcmRldi0+c2VtYXBob3JlX2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotCXJldHVybiAw OwotfQotCi1zdGF0aWMgdm9pZCByYWRlb25fc2VtYXBob3JlX2RlbF9ib19sb2NrZWQoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsCi0JCQkJCSAgIHN0cnVjdCByYWRlb25fc2VtYXBob3JlX2Jv ICpibykKLXsKLQlyYWRlb25fc2FfYm9fZnJlZShyZGV2LCAmYm8tPmliLT5zYV9ibyk7Ci0JcmFk ZW9uX2ZlbmNlX3VucmVmKCZiby0+aWItPmZlbmNlKTsKLQlsaXN0X2RlbCgmYm8tPmxpc3QpOwot CWtmcmVlKGJvKTsKLX0KLQotdm9pZCByYWRlb25fc2VtYXBob3JlX3Nocmlua19sb2NrZWQoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCi17Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8g KmJvLCAqbjsKLQotCWlmIChsaXN0X2VtcHR5KCZyZGV2LT5zZW1hcGhvcmVfZHJ2LmJvKSkgewot CQlyZXR1cm47Ci0JfQotCS8qIG9ubHkgc2hyaW5rIGlmIGZpcnN0IGJvIGhhcyBmcmVlIHNlbWFw aG9yZSAqLwotCWJvID0gbGlzdF9maXJzdF9lbnRyeSgmcmRldi0+c2VtYXBob3JlX2Rydi5ibywg c3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8sIGxpc3QpOwotCWlmIChsaXN0X2VtcHR5KCZiby0+ ZnJlZSkpIHsKLQkJcmV0dXJuOwotCX0KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmVfY29udGlu dWUoYm8sIG4sICZyZGV2LT5zZW1hcGhvcmVfZHJ2LmJvLCBsaXN0KSB7Ci0JCWlmIChiby0+bnVz ZWQpCi0JCQljb250aW51ZTsKLQkJcmFkZW9uX3NlbWFwaG9yZV9kZWxfYm9fbG9ja2VkKHJkZXYs IGJvKTsKLQl9Ci19CiAKLWludCByYWRlb25fc2VtYXBob3JlX2NyZWF0ZShzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwKLQkJCSAgICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSAqKnNlbWFwaG9y ZSkKLXsKLQlzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZV9ibyAqYm87Ci0JdW5zaWduZWQgbG9uZyBp cnFfZmxhZ3M7Ci0JYm9vbCBkb19yZXRyeSA9IHRydWU7Ci0JaW50IHI7Ci0KLXJldHJ5OgotCSpz ZW1hcGhvcmUgPSBOVUxMOwotCXdyaXRlX2xvY2tfaXJxc2F2ZSgmcmRldi0+c2VtYXBob3JlX2Ry di5sb2NrLCBpcnFfZmxhZ3MpOwotCWxpc3RfZm9yX2VhY2hfZW50cnkoYm8sICZyZGV2LT5zZW1h cGhvcmVfZHJ2LmJvLCBsaXN0KSB7Ci0JCWlmIChsaXN0X2VtcHR5KCZiby0+ZnJlZSkpCi0JCQlj b250aW51ZTsKLQkJKnNlbWFwaG9yZSA9IGxpc3RfZmlyc3RfZW50cnkoJmJvLT5mcmVlLCBzdHJ1 Y3QgcmFkZW9uX3NlbWFwaG9yZSwgbGlzdCk7Ci0JCSgqc2VtYXBob3JlKS0+Y3B1X3B0clswXSA9 IDA7Ci0JCSgqc2VtYXBob3JlKS0+Y3B1X3B0clsxXSA9IDA7Ci0JCWxpc3RfZGVsKCYoKnNlbWFw aG9yZSktPmxpc3QpOwotCQliby0+bnVzZWQrKzsKLQkJYnJlYWs7Ci0JfQotCXdyaXRlX3VubG9j a19pcnFyZXN0b3JlKCZyZGV2LT5zZW1hcGhvcmVfZHJ2LmxvY2ssIGlycV9mbGFncyk7CisJKCpz ZW1hcGhvcmUpLT53YWl0ZXJzID0gMDsKKwkoKnNlbWFwaG9yZSktPmdwdV9hZGRyID0gcmRldi0+ aWJfcG9vbC5zYV9tYW5hZ2VyLmdwdV9hZGRyOworCSgqc2VtYXBob3JlKS0+Z3B1X2FkZHIgKz0g KCpzZW1hcGhvcmUpLT5zYV9iby5vZmZzZXQ7CiAKLQlpZiAoKnNlbWFwaG9yZSA9PSBOVUxMKSB7 Ci0JCWlmIChkb19yZXRyeSkgewotCQkJZG9fcmV0cnkgPSBmYWxzZTsKLQkJCXIgPSByYWRlb25f c2VtYXBob3JlX2FkZF9ibyhyZGV2KTsKLQkJCWlmIChyKQotCQkJCXJldHVybiByOwotCQkJZ290 byByZXRyeTsKLQkJfQotCQlyZXR1cm4gLUVOT01FTTsKLQl9CisJY3B1X3B0ciA9IHJkZXYtPmli X3Bvb2wuc2FfbWFuYWdlci5jcHVfcHRyOworCWNwdV9wdHIgKz0gKCpzZW1hcGhvcmUpLT5zYV9i by5vZmZzZXQ7CisJKigodWludDY0X3QqKWNwdV9wdHIpID0gMDsKIAogCXJldHVybiAwOwogfQpA QCAtMTQwLDM5ICs2NCwyNCBAQCByZXRyeToKIHZvaWQgcmFkZW9uX3NlbWFwaG9yZV9lbWl0X3Np Z25hbChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJpbmcsCiAJCQkgICAgICAgICAg c3RydWN0IHJhZGVvbl9zZW1hcGhvcmUgKnNlbWFwaG9yZSkKIHsKKwktLXNlbWFwaG9yZS0+d2Fp dGVyczsKIAlyYWRlb25fc2VtYXBob3JlX3JpbmdfZW1pdChyZGV2LCByaW5nLCAmcmRldi0+cmlu Z1tyaW5nXSwgc2VtYXBob3JlLCBmYWxzZSk7CiB9CiAKIHZvaWQgcmFkZW9uX3NlbWFwaG9yZV9l bWl0X3dhaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaW5nLAogCQkJICAgICAg ICBzdHJ1Y3QgcmFkZW9uX3NlbWFwaG9yZSAqc2VtYXBob3JlKQogeworCSsrc2VtYXBob3JlLT53 YWl0ZXJzOwogCXJhZGVvbl9zZW1hcGhvcmVfcmluZ19lbWl0KHJkZXYsIHJpbmcsICZyZGV2LT5y aW5nW3JpbmddLCBzZW1hcGhvcmUsIHRydWUpOwogfQogCiB2b2lkIHJhZGVvbl9zZW1hcGhvcmVf ZnJlZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAkJCSAgIHN0cnVjdCByYWRlb25fc2Vt YXBob3JlICpzZW1hcGhvcmUpCiB7Ci0JdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7Ci0KLQl3cml0 ZV9sb2NrX2lycXNhdmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKLQlz ZW1hcGhvcmUtPmJvLT5udXNlZC0tOwotCWxpc3RfYWRkX3RhaWwoJnNlbWFwaG9yZS0+bGlzdCwg JnNlbWFwaG9yZS0+Ym8tPmZyZWUpOwotCXJhZGVvbl9zZW1hcGhvcmVfc2hyaW5rX2xvY2tlZChy ZGV2KTsKLQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+c2VtYXBob3JlX2Rydi5sb2Nr LCBpcnFfZmxhZ3MpOwotfQotCi12b2lkIHJhZGVvbl9zZW1hcGhvcmVfZHJpdmVyX2Zpbmkoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCi17Ci0Jc3RydWN0IHJhZGVvbl9zZW1hcGhvcmVfYm8g KmJvLCAqbjsKLQl1bnNpZ25lZCBsb25nIGlycV9mbGFnczsKLQotCXdyaXRlX2xvY2tfaXJxc2F2 ZSgmcmRldi0+c2VtYXBob3JlX2Rydi5sb2NrLCBpcnFfZmxhZ3MpOwotCS8qIHdlIGZvcmNlIHRv IGZyZWUgZXZlcnl0aGluZyAqLwotCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShibywgbiwgJnJk ZXYtPnNlbWFwaG9yZV9kcnYuYm8sIGxpc3QpIHsKLQkJaWYgKCFsaXN0X2VtcHR5KCZiby0+ZnJl ZSkpIHsKLQkJCWRldl9lcnIocmRldi0+ZGV2LCAic3RpbGwgaW4gdXNlIHNlbWFwaG9yZVxuIik7 Ci0JCX0KLQkJcmFkZW9uX3NlbWFwaG9yZV9kZWxfYm9fbG9ja2VkKHJkZXYsIGJvKTsKKwlpZiAo c2VtYXBob3JlLT53YWl0ZXJzID4gMCkgeworCQlkZXZfZXJyKHJkZXYtPmRldiwgIlNlbWFwaG9y ZSAlcCBoYXMgbW9yZSB3YWl0ZXJzIHRoYW4gc2lnbmFsZXJzLCIKKwkJCSIgaGFyZHdhcmUgbG9j a3VwIGltbWluZW50IVxuIiwgc2VtYXBob3JlKTsKIAl9Ci0Jd3JpdGVfdW5sb2NrX2lycXJlc3Rv cmUoJnJkZXYtPnNlbWFwaG9yZV9kcnYubG9jaywgaXJxX2ZsYWdzKTsKKwlyYWRlb25fc2FfYm9f ZnJlZShyZGV2LCAmc2VtYXBob3JlLT5zYV9ibyk7CisJa2ZyZWUoc2VtYXBob3JlKTsKIH0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcnY3NzAuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcnY3NzAuYwppbmRleCBjYWNlYzBlLi5jNmVlNTRlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3J2NzcwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y djc3MC5jCkBAIC0xMjc4LDcgKzEyNzgsNiBAQCB2b2lkIHJ2NzcwX2Zpbmkoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpCiAJcnY3NzBfcGNpZV9nYXJ0X2ZpbmkocmRldik7CiAJcjYwMF92cmFt X3NjcmF0Y2hfZmluaShyZGV2KTsKIAlyYWRlb25fZ2VtX2ZpbmkocmRldik7Ci0JcmFkZW9uX3Nl bWFwaG9yZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fZmVuY2VfZHJpdmVyX2ZpbmkocmRl dik7CiAJcmFkZW9uX2FncF9maW5pKHJkZXYpOwogCXJhZGVvbl9ib19maW5pKHJkZXYpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jIGIvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9zaS5jCmluZGV4IGFjN2ExOTkuLmViZTJjOWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMKQEAgLTQx MTgsNyArNDExOCw2IEBAIHZvaWQgc2lfZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikK IAlzaV9wY2llX2dhcnRfZmluaShyZGV2KTsKIAlyNjAwX3ZyYW1fc2NyYXRjaF9maW5pKHJkZXYp OwogCXJhZGVvbl9nZW1fZmluaShyZGV2KTsKLQlyYWRlb25fc2VtYXBob3JlX2RyaXZlcl9maW5p KHJkZXYpOwogCXJhZGVvbl9mZW5jZV9kcml2ZXJfZmluaShyZGV2KTsKIAlyYWRlb25fYm9fZmlu aShyZGV2KTsKIAlyYWRlb25fYXRvbWJpb3NfZmluaShyZGV2KTsKLS0gCjEuNy43LjYKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWls aW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==