From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 24/26] drm/radeon: make forcing ring activity a common function Date: Mon, 30 Apr 2012 16:51:02 +0200 Message-ID: <1335797464-14317-25-git-send-email-deathsimple@vodafone.de> References: <1335797464-14317-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from outgoing.email.vodafone.de (outgoing.email.vodafone.de [139.7.28.128]) by gabe.freedesktop.org (Postfix) with ESMTP id EF5DC9E7A7 for ; Mon, 30 Apr 2012 07:51:19 -0700 (PDT) In-Reply-To: <1335797464-14317-1-git-send-email-deathsimple@vodafone.de> 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: airlied@redhat.com Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Tm90aGluZyBjaGlwc2V0IG9yIHJpbmcgc3BlY2lmaWMgd2l0aCBpdCwKc28gYWxzbyBtb3ZlIGl0 IHRvIHJhZG9uX3JpbmcuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxkZWF0aHNp bXBsZUB2b2RhZm9uZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5j ICAgfCAgIDEwICstLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYyAgICAgICAg ICB8ICAgMTEgKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jICAgICAg ICB8ICAgMTAgKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yMzAwLmMgICAgICAg IHwgICAxMCArLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyAgICAgICAg fCAgIDEwICstLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggICAgICB8 ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jIHwgICAxNiArKysr KysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3NpLmMgICAgICAgICAgfCAgIDEx ICstLS0tLS0tLS0tCiA4IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDU2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMg Yi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCmluZGV4IGUzMDQ4NTguLjdlN2Fj M2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYwpAQCAtMjQyNCw3ICsyNDI0LDYgQEAg Ym9vbCBldmVyZ3JlZW5fZ3B1X2lzX2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwg c3RydWN0IHJhZGVvbl9yaW5nICpyaW4KIAl1MzIgc3JibV9zdGF0dXM7CiAJdTMyIGdyYm1fc3Rh dHVzOwogCXUzMiBncmJtX3N0YXR1c19zZTAsIGdyYm1fc3RhdHVzX3NlMTsKLQlpbnQgcjsKIAog CXNyYm1fc3RhdHVzID0gUlJFRzMyKFNSQk1fU1RBVFVTKTsKIAlncmJtX3N0YXR1cyA9IFJSRUcz MihHUkJNX1NUQVRVUyk7CkBAIC0yNDM1LDE0ICsyNDM0LDcgQEAgYm9vbCBldmVyZ3JlZW5fZ3B1 X2lzX2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5n ICpyaW4KIAkJcmV0dXJuIGZhbHNlOwogCX0KIAkvKiBmb3JjZSBDUCBhY3Rpdml0aWVzICovCi0J ciA9IHJhZGVvbl9yaW5nX2xvY2socmRldiwgcmluZywgMik7Ci0JaWYgKCFyKSB7Ci0JCS8qIFBB Q0tFVDIgTk9QICovCi0JCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDB4ODAwMDAwMDApOwotCQly YWRlb25fcmluZ193cml0ZShyaW5nLCAweDgwMDAwMDAwKTsKLQkJcmFkZW9uX3JpbmdfdW5sb2Nr X2NvbW1pdChyZGV2LCByaW5nKTsKLQl9Ci0JcmluZy0+cnB0ciA9IFJSRUczMihDUF9SQl9SUFRS KTsKKwlyYWRlb25fcmluZ19mb3JjZV9hY3Rpdml0eShyZGV2LCByaW5nKTsKIAlyZXR1cm4gcmFk ZW9uX3JpbmdfdGVzdF9sb2NrdXAocmRldiwgcmluZyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vbmkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYwppbmRl eCA0MzI3YjMyLi44YTljODVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25p LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaS5jCkBAIC0xMzk3LDcgKzEzOTcsNiBA QCBib29sIGNheW1hbl9ncHVfaXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBz dHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCiAJdTMyIHNyYm1fc3RhdHVzOwogCXUzMiBncmJtX3N0 YXR1czsKIAl1MzIgZ3JibV9zdGF0dXNfc2UwLCBncmJtX3N0YXR1c19zZTE7Ci0JaW50IHI7CiAK IAlzcmJtX3N0YXR1cyA9IFJSRUczMihTUkJNX1NUQVRVUyk7CiAJZ3JibV9zdGF0dXMgPSBSUkVH MzIoR1JCTV9TVEFUVVMpOwpAQCAtMTQwOCwxNSArMTQwNyw3IEBAIGJvb2wgY2F5bWFuX2dwdV9p c19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAq cmluZykKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAkvKiBmb3JjZSBDUCBhY3Rpdml0aWVzICovCi0J ciA9IHJhZGVvbl9yaW5nX2xvY2socmRldiwgcmluZywgMik7Ci0JaWYgKCFyKSB7Ci0JCS8qIFBB Q0tFVDIgTk9QICovCi0JCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDB4ODAwMDAwMDApOwotCQly YWRlb25fcmluZ193cml0ZShyaW5nLCAweDgwMDAwMDAwKTsKLQkJcmFkZW9uX3JpbmdfdW5sb2Nr X2NvbW1pdChyZGV2LCByaW5nKTsKLQl9Ci0JLyogWFhYIGRlYWwgd2l0aCBDUDAsMSwyICovCi0J cmluZy0+cnB0ciA9IFJSRUczMihyaW5nLT5ycHRyX3JlZyk7CisJcmFkZW9uX3JpbmdfZm9yY2Vf YWN0aXZpdHkocmRldiwgcmluZyk7CiAJcmV0dXJuIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHJk ZXYsIHJpbmcpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IxMDAu YyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCmluZGV4IDIwYmY0OTguLjIxN2NkYzIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjEwMC5jCkBAIC0yMTYyLDcgKzIxNjIsNiBAQCBpbnQgcjEwMF9tY193 YWl0X2Zvcl9pZGxlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogYm9vbCByMTAwX2dwdV9p c19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAq cmluZykKIHsKIAl1MzIgcmJibV9zdGF0dXM7Ci0JaW50IHI7CiAKIAlyYmJtX3N0YXR1cyA9IFJS RUczMihSXzAwMEU0MF9SQkJNX1NUQVRVUyk7CiAJaWYgKCFHXzAwMEU0MF9HVUlfQUNUSVZFKHJi Ym1fc3RhdHVzKSkgewpAQCAtMjE3MCwxNCArMjE2OSw3IEBAIGJvb2wgcjEwMF9ncHVfaXNfbG9j a3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcp CiAJCXJldHVybiBmYWxzZTsKIAl9CiAJLyogZm9yY2UgQ1AgYWN0aXZpdGllcyAqLwotCXIgPSBy YWRlb25fcmluZ19sb2NrKHJkZXYsIHJpbmcsIDIpOwotCWlmICghcikgewotCQkvKiBQQUNLRVQy IE5PUCAqLwotCQlyYWRlb25fcmluZ193cml0ZShyaW5nLCAweDgwMDAwMDAwKTsKLQkJcmFkZW9u X3Jpbmdfd3JpdGUocmluZywgMHg4MDAwMDAwMCk7Ci0JCXJhZGVvbl9yaW5nX3VubG9ja19jb21t aXQocmRldiwgcmluZyk7Ci0JfQotCXJpbmctPnJwdHIgPSBSUkVHMzIocmluZy0+cnB0cl9yZWcp OworCXJhZGVvbl9yaW5nX2ZvcmNlX2FjdGl2aXR5KHJkZXYsIHJpbmcpOwogCXJldHVybiByYWRl b25fcmluZ190ZXN0X2xvY2t1cChyZGV2LCByaW5nKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yMzAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDAuYwpp bmRleCBlMjA3NjY0Li4wNGVjMjY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3IzMDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDAuYwpAQCAtMzgwLDcgKzM4 MCw2IEBAIHZvaWQgcjMwMF9ncHVfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIGJv b2wgcjMwMF9ncHVfaXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3Qg cmFkZW9uX3JpbmcgKnJpbmcpCiB7CiAJdTMyIHJiYm1fc3RhdHVzOwotCWludCByOwogCiAJcmJi bV9zdGF0dXMgPSBSUkVHMzIoUl8wMDBFNDBfUkJCTV9TVEFUVVMpOwogCWlmICghR18wMDBFNDBf R1VJX0FDVElWRShyYmJtX3N0YXR1cykpIHsKQEAgLTM4OCwxNCArMzg3LDcgQEAgYm9vbCByMzAw X2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25f cmluZyAqcmluZykKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAkvKiBmb3JjZSBDUCBhY3Rpdml0aWVz ICovCi0JciA9IHJhZGVvbl9yaW5nX2xvY2socmRldiwgcmluZywgMik7Ci0JaWYgKCFyKSB7Ci0J CS8qIFBBQ0tFVDIgTk9QICovCi0JCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDB4ODAwMDAwMDAp OwotCQlyYWRlb25fcmluZ193cml0ZShyaW5nLCAweDgwMDAwMDAwKTsKLQkJcmFkZW9uX3Jpbmdf dW5sb2NrX2NvbW1pdChyZGV2LCByaW5nKTsKLQl9Ci0JcmluZy0+cnB0ciA9IFJSRUczMihSQURF T05fQ1BfUkJfUlBUUik7CisJcmFkZW9uX3JpbmdfZm9yY2VfYWN0aXZpdHkocmRldiwgcmluZyk7 CiAJcmV0dXJuIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHJkZXYsIHJpbmcpOwogfQogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcjYwMC5jCmluZGV4IGJlMmE1ODYuLmNkMDZkMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcjYwMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5j CkBAIC0xMzUwLDcgKzEzNTAsNiBAQCBib29sIHI2MDBfZ3B1X2lzX2xvY2t1cChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCXUzMiBzcmJtX3N0 YXR1czsKIAl1MzIgZ3JibV9zdGF0dXM7CiAJdTMyIGdyYm1fc3RhdHVzMjsKLQlpbnQgcjsKIAog CXNyYm1fc3RhdHVzID0gUlJFRzMyKFJfMDAwRTUwX1NSQk1fU1RBVFVTKTsKIAlncmJtX3N0YXR1 cyA9IFJSRUczMihSXzAwODAxMF9HUkJNX1NUQVRVUyk7CkBAIC0xMzYwLDE0ICsxMzU5LDcgQEAg Ym9vbCByNjAwX2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVj dCByYWRlb25fcmluZyAqcmluZykKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAkvKiBmb3JjZSBDUCBh Y3Rpdml0aWVzICovCi0JciA9IHJhZGVvbl9yaW5nX2xvY2socmRldiwgcmluZywgMik7Ci0JaWYg KCFyKSB7Ci0JCS8qIFBBQ0tFVDIgTk9QICovCi0JCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDB4 ODAwMDAwMDApOwotCQlyYWRlb25fcmluZ193cml0ZShyaW5nLCAweDgwMDAwMDAwKTsKLQkJcmFk ZW9uX3JpbmdfdW5sb2NrX2NvbW1pdChyZGV2LCByaW5nKTsKLQl9Ci0JcmluZy0+cnB0ciA9IFJS RUczMihyaW5nLT5ycHRyX3JlZyk7CisJcmFkZW9uX3JpbmdfZm9yY2VfYWN0aXZpdHkocmRldiwg cmluZyk7CiAJcmV0dXJuIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHJkZXYsIHJpbmcpOwogfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oIGIvZHJpdmVycy9n cHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCBhYWViOGFmLi5jNTk4OTRmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vcmFkZW9uLmgKQEAgLTc0Niw2ICs3NDYsNyBAQCB2b2lkIHJhZGVvbl9yaW5nX2NvbW1p dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpjcCk7CiB2 b2lkIHJhZGVvbl9yaW5nX3VubG9ja19jb21taXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IHN0cnVjdCByYWRlb25fcmluZyAqY3ApOwogdm9pZCByYWRlb25fcmluZ191bmxvY2tfdW5kbyhz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpjcCk7CiBpbnQg cmFkZW9uX3JpbmdfdGVzdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVv bl9yaW5nICpjcCk7Cit2b2lkIHJhZGVvbl9yaW5nX2ZvcmNlX2FjdGl2aXR5KHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpOwogdm9pZCByYWRlb25f cmluZ19sb2NrdXBfdXBkYXRlKHN0cnVjdCByYWRlb25fcmluZyAqcmluZyk7CiBib29sIHJhZGVv bl9yaW5nX3Rlc3RfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFk ZW9uX3JpbmcgKnJpbmcpOwogaW50IHJhZGVvbl9yaW5nX2luaXQoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqY3AsIHVuc2lnbmVkIHJpbmdfc2l6ZSwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwppbmRleCAwZjc0Yzk5Li42NjgyMDM0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5nLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jCkBAIC0zNTQsNiArMzU0LDIyIEBAIHZvaWQg cmFkZW9uX3JpbmdfdW5sb2NrX3VuZG8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVj dCByYWRlb25fcmluZyAqcmluCiAJbXV0ZXhfdW5sb2NrKCZyaW5nLT5tdXRleCk7CiB9CiAKK3Zv aWQgcmFkZW9uX3JpbmdfZm9yY2VfYWN0aXZpdHkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKK3sKKwlpbnQgcjsKKworCW11dGV4X2xvY2soJnJp bmctPm11dGV4KTsKKwlyYWRlb25fcmluZ19mcmVlX3NpemUocmRldiwgcmluZyk7CisJaWYgKHJp bmctPnJwdHIgPT0gcmluZy0+d3B0cikgeworCQlyID0gcmFkZW9uX3JpbmdfYWxsb2MocmRldiwg cmluZywgMSk7CisJCWlmICghcikgeworCQkJcmFkZW9uX3Jpbmdfd3JpdGUocmluZywgcmluZy0+ bm9wKTsKKwkJCXJhZGVvbl9yaW5nX2NvbW1pdChyZGV2LCByaW5nKTsKKwkJfQorCX0KKwltdXRl eF91bmxvY2soJnJpbmctPm11dGV4KTsKK30KKwogdm9pZCByYWRlb25fcmluZ19sb2NrdXBfdXBk YXRlKHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKIHsKIAlyaW5nLT5sYXN0X3JwdHIgPSByaW5n LT5ycHRyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9zaS5jCmluZGV4IGIxMWI5ZjAuLmQ2YjdmYmMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3NpLmMKQEAgLTIyMTcsNyArMjIxNyw2IEBAIGJvb2wgc2lfZ3B1X2lzX2xvY2t1cChzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCXUzMiBzcmJt X3N0YXR1czsKIAl1MzIgZ3JibV9zdGF0dXMsIGdyYm1fc3RhdHVzMjsKIAl1MzIgZ3JibV9zdGF0 dXNfc2UwLCBncmJtX3N0YXR1c19zZTE7Ci0JaW50IHI7CiAKIAlzcmJtX3N0YXR1cyA9IFJSRUcz MihTUkJNX1NUQVRVUyk7CiAJZ3JibV9zdGF0dXMgPSBSUkVHMzIoR1JCTV9TVEFUVVMpOwpAQCAt MjIyOSwxNSArMjIyOCw3IEBAIGJvb2wgc2lfZ3B1X2lzX2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCQlyZXR1cm4gZmFsc2U7CiAJ fQogCS8qIGZvcmNlIENQIGFjdGl2aXRpZXMgKi8KLQlyID0gcmFkZW9uX3JpbmdfbG9jayhyZGV2 LCByaW5nLCAyKTsKLQlpZiAoIXIpIHsKLQkJLyogUEFDS0VUMiBOT1AgKi8KLQkJcmFkZW9uX3Jp bmdfd3JpdGUocmluZywgMHg4MDAwMDAwMCk7Ci0JCXJhZGVvbl9yaW5nX3dyaXRlKHJpbmcsIDB4 ODAwMDAwMDApOwotCQlyYWRlb25fcmluZ191bmxvY2tfY29tbWl0KHJkZXYsIHJpbmcpOwotCX0K LQkvKiBYWFggZGVhbCB3aXRoIENQMCwxLDIgKi8KLQlyaW5nLT5ycHRyID0gUlJFRzMyKHJpbmct PnJwdHJfcmVnKTsKKwlyYWRlb25fcmluZ19mb3JjZV9hY3Rpdml0eShyZGV2LCByaW5nKTsKIAly ZXR1cm4gcmFkZW9uX3JpbmdfdGVzdF9sb2NrdXAocmRldiwgcmluZyk7CiB9CiAKLS0gCjEuNy41 LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==