From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 22/27] drm/radeon: move lockup detection code into radeon_ring.c Date: Tue, 1 May 2012 13:19:32 -0400 Message-ID: <1335892777-7357-23-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-qc0-f177.google.com (mail-qc0-f177.google.com [209.85.216.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 64FBDA0900 for ; Tue, 1 May 2012 10:20:28 -0700 (PDT) Received: by mail-qc0-f177.google.com with SMTP id u28so2436886qcs.36 for ; Tue, 01 May 2012 10:20:28 -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+CgpJdCBpc24n dCBjaGlwc2V0IHNwZWNpZmljLCBzbyBpdCBtYWtlcyBubyBzZW5zZQp0byBoYXZlIHRoYXQgaW5z aWRlIHIxMDAuYy4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGRlYXRoc2ltcGxl QHZvZGFmb25lLmRlPgpSZXZpZXdlZC1ieTogSmVyb21lIEdsaXNzZSA8amdsaXNzZUByZWRoYXQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMgICB8ICAgIDUgKy0t CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMgICAgICAgICAgfCAgICA1ICstLQogZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yMTAwLmMgICAgICAgIHwgICA1NyArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jICAgICAgICB8ICAg IDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMC5jICAgICAgICB8ICAgMTAgKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oICAgICAgfCAgIDE2ICsrLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXNpYy5oIHwgICAgNSAtLS0KIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYyB8ICAgNTMgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jICAgICAgICAgIHwgICAgNSAr LS0KIDkgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgOTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYyBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vZXZlcmdyZWVuLmMKaW5kZXggYTc2Mzg5Yy4uMzUzZDEwYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW4uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL2V2ZXJncmVlbi5jCkBAIC0yNDI0LDcgKzI0MjQsNiBAQCBib29sIGV2ZXJn cmVlbl9ncHVfaXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFk ZW9uX3JpbmcgKnJpbgogCXUzMiBzcmJtX3N0YXR1czsKIAl1MzIgZ3JibV9zdGF0dXM7CiAJdTMy IGdyYm1fc3RhdHVzX3NlMCwgZ3JibV9zdGF0dXNfc2UxOwotCXN0cnVjdCByMTAwX2dwdV9sb2Nr dXAgKmxvY2t1cCA9ICZyZGV2LT5jb25maWcuZXZlcmdyZWVuLmxvY2t1cDsKIAlpbnQgcjsKIAog CXNyYm1fc3RhdHVzID0gUlJFRzMyKFNSQk1fU1RBVFVTKTsKQEAgLTI0MzIsNyArMjQzMSw3IEBA IGJvb2wgZXZlcmdyZWVuX2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IHN0cnVjdCByYWRlb25fcmluZyAqcmluCiAJZ3JibV9zdGF0dXNfc2UwID0gUlJFRzMyKEdSQk1f U1RBVFVTX1NFMCk7CiAJZ3JibV9zdGF0dXNfc2UxID0gUlJFRzMyKEdSQk1fU1RBVFVTX1NFMSk7 CiAJaWYgKCEoZ3JibV9zdGF0dXMgJiBHVUlfQUNUSVZFKSkgewotCQlyMTAwX2dwdV9sb2NrdXBf dXBkYXRlKGxvY2t1cCwgcmluZyk7CisJCXJhZGVvbl9yaW5nX2xvY2t1cF91cGRhdGUocmluZyk7 CiAJCXJldHVybiBmYWxzZTsKIAl9CiAJLyogZm9yY2UgQ1AgYWN0aXZpdGllcyAqLwpAQCAtMjQ0 NCw3ICsyNDQzLDcgQEAgYm9vbCBldmVyZ3JlZW5fZ3B1X2lzX2xvY2t1cChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW4KIAkJcmFkZW9uX3JpbmdfdW5s b2NrX2NvbW1pdChyZGV2LCByaW5nKTsKIAl9CiAJcmluZy0+cnB0ciA9IFJSRUczMihDUF9SQl9S UFRSKTsKLQlyZXR1cm4gcjEwMF9ncHVfY3BfaXNfbG9ja3VwKHJkZXYsIGxvY2t1cCwgcmluZyk7 CisJcmV0dXJuIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHJkZXYsIHJpbmcpOwogfQogCiBzdGF0 aWMgaW50IGV2ZXJncmVlbl9ncHVfc29mdF9yZXNldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl dikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vbmkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vbmkuYwppbmRleCBjMGIwOTU2Li40MzI3YjMyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL25pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9uaS5j CkBAIC0xMzk3LDcgKzEzOTcsNiBAQCBib29sIGNheW1hbl9ncHVfaXNfbG9ja3VwKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCiAJdTMyIHNyYm1f c3RhdHVzOwogCXUzMiBncmJtX3N0YXR1czsKIAl1MzIgZ3JibV9zdGF0dXNfc2UwLCBncmJtX3N0 YXR1c19zZTE7Ci0Jc3RydWN0IHIxMDBfZ3B1X2xvY2t1cCAqbG9ja3VwID0gJnJkZXYtPmNvbmZp Zy5jYXltYW4ubG9ja3VwOwogCWludCByOwogCiAJc3JibV9zdGF0dXMgPSBSUkVHMzIoU1JCTV9T VEFUVVMpOwpAQCAtMTQwNSw3ICsxNDA0LDcgQEAgYm9vbCBjYXltYW5fZ3B1X2lzX2xvY2t1cChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCWdy Ym1fc3RhdHVzX3NlMCA9IFJSRUczMihHUkJNX1NUQVRVU19TRTApOwogCWdyYm1fc3RhdHVzX3Nl MSA9IFJSRUczMihHUkJNX1NUQVRVU19TRTEpOwogCWlmICghKGdyYm1fc3RhdHVzICYgR1VJX0FD VElWRSkpIHsKLQkJcjEwMF9ncHVfbG9ja3VwX3VwZGF0ZShsb2NrdXAsIHJpbmcpOworCQlyYWRl b25fcmluZ19sb2NrdXBfdXBkYXRlKHJpbmcpOwogCQlyZXR1cm4gZmFsc2U7CiAJfQogCS8qIGZv cmNlIENQIGFjdGl2aXRpZXMgKi8KQEAgLTE0MTgsNyArMTQxNyw3IEBAIGJvb2wgY2F5bWFuX2dw dV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmlu ZyAqcmluZykKIAl9CiAJLyogWFhYIGRlYWwgd2l0aCBDUDAsMSwyICovCiAJcmluZy0+cnB0ciA9 IFJSRUczMihyaW5nLT5ycHRyX3JlZyk7Ci0JcmV0dXJuIHIxMDBfZ3B1X2NwX2lzX2xvY2t1cChy ZGV2LCBsb2NrdXAsIHJpbmcpOworCXJldHVybiByYWRlb25fcmluZ190ZXN0X2xvY2t1cChyZGV2 LCByaW5nKTsKIH0KIAogc3RhdGljIGludCBjYXltYW5fZ3B1X3NvZnRfcmVzZXQoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Ix MDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCmluZGV4IGFjNTNiZDguLmNkMDA5 MDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcjEwMC5jCkBAIC0yMTU1LDU5ICsyMTU1LDYgQEAgaW50IHIxMDBf bWNfd2FpdF9mb3JfaWRsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAlyZXR1cm4gLTE7 CiB9CiAKLXZvaWQgcjEwMF9ncHVfbG9ja3VwX3VwZGF0ZShzdHJ1Y3QgcjEwMF9ncHVfbG9ja3Vw ICpsb2NrdXAsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKLXsKLQlsb2NrdXAtPmxhc3RfY3Bf cnB0ciA9IHJpbmctPnJwdHI7Ci0JbG9ja3VwLT5sYXN0X2ppZmZpZXMgPSBqaWZmaWVzOwotfQot Ci0vKioKLSAqIHIxMDBfZ3B1X2NwX2lzX2xvY2t1cCgpIC0gY2hlY2sgaWYgQ1AgaXMgbG9ja3Vw IGJ5IHJlY29yZGluZyBpbmZvcm1hdGlvbgotICogQHJkZXY6CXJhZGVvbiBkZXZpY2Ugc3RydWN0 dXJlCi0gKiBAbG9ja3VwOglyMTAwX2dwdV9sb2NrdXAgc3RydWN0dXJlIGhvbGRpbmcgQ1AgbG9j a3VwIHRyYWNraW5nIGluZm9ybWF0aW9ucwotICogQGNwOgkJcmFkZW9uX2NwIHN0cnVjdHVyZSBo b2xkaW5nIENQIGluZm9ybWF0aW9uCi0gKgotICogV2UgZG9uJ3QgbmVlZCB0byBpbml0aWFsaXpl IHRoZSBsb2NrdXAgdHJhY2tpbmcgaW5mb3JtYXRpb24gYXMgd2Ugd2lsbCBlaXRoZXIKLSAqIGhh dmUgQ1AgcnB0ciB0byBhIGRpZmZlcmVudCB2YWx1ZSBvZiBqaWZmaWVzIHdyYXAgYXJvdW5kIHdo aWNoIHdpbGwgZm9yY2UKLSAqIGluaXRpYWxpemF0aW9uIG9mIHRoZSBsb2NrdXAgdHJhY2tpbmcg aW5mb3JtYXRpb25zLgotICoKLSAqIEEgcG9zc2libGUgZmFsc2UgcG9zaXRpdmllIGlzIGlmIHdl IGdldCBjYWxsIGFmdGVyIHdoaWxlIGFuZCBsYXN0X2NwX3JwdHIgPT0KLSAqIHRoZSBjdXJyZW50 IENQIHJwdHIsIGV2ZW4gaWYgaXQncyB1bmxpa2VseSBpdCBtaWdodCBoYXBwZW4uIFRvIGF2b2lk IHRoaXMKLSAqIGlmIHRoZSBlbGFwc2VkIHRpbWUgc2luY2UgbGFzdCBjYWxsIGlzIGJpZ2dlciB0 aGFuIDIgc2Vjb25kIHRoYW4gd2UgcmV0dXJuCi0gKiBmYWxzZSBhbmQgdXBkYXRlIHRoZSB0cmFj a2luZyBpbmZvcm1hdGlvbi4gRHVlIHRvIHRoaXMgdGhlIGNhbGxlciBtdXN0IGNhbGwKLSAqIHIx MDBfZ3B1X2NwX2lzX2xvY2t1cCBzZXZlcmFsIHRpbWUgaW4gbGVzcyB0aGFuIDJzZWMgZm9yIGxv Y2t1cCB0byBiZSByZXBvcnRlZAotICogdGhlIGZlbmNpbmcgY29kZSBzaG91bGQgYmUgY2F1dGlv dXMgYWJvdXQgdGhhdC4KLSAqCi0gKiBDYWxsZXIgc2hvdWxkIHdyaXRlIHRvIHRoZSByaW5nIHRv IGZvcmNlIENQIHRvIGRvIHNvbWV0aGluZyBzbyB3ZSBkb24ndCBnZXQKLSAqIGZhbHNlIHBvc2l0 aXZlIHdoZW4gQ1AgaXMganVzdCBnaXZlZCBub3RoaW5nIHRvIGRvLgotICoKLSAqKi8KLWJvb2wg cjEwMF9ncHVfY3BfaXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3Qg cjEwMF9ncHVfbG9ja3VwICpsb2NrdXAsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKLXsKLQl1 bnNpZ25lZCBsb25nIGNqaWZmaWVzLCBlbGFwc2VkOwotCi0JY2ppZmZpZXMgPSBqaWZmaWVzOwot CWlmICghdGltZV9hZnRlcihjamlmZmllcywgbG9ja3VwLT5sYXN0X2ppZmZpZXMpKSB7Ci0JCS8q IGxpa2VseSBhIHdyYXAgYXJvdW5kICovCi0JCWxvY2t1cC0+bGFzdF9jcF9ycHRyID0gcmluZy0+ cnB0cjsKLQkJbG9ja3VwLT5sYXN0X2ppZmZpZXMgPSBqaWZmaWVzOwotCQlyZXR1cm4gZmFsc2U7 Ci0JfQotCWlmIChyaW5nLT5ycHRyICE9IGxvY2t1cC0+bGFzdF9jcF9ycHRyKSB7Ci0JCS8qIENQ IGlzIHN0aWxsIHdvcmtpbmcgbm8gbG9ja3VwICovCi0JCWxvY2t1cC0+bGFzdF9jcF9ycHRyID0g cmluZy0+cnB0cjsKLQkJbG9ja3VwLT5sYXN0X2ppZmZpZXMgPSBqaWZmaWVzOwotCQlyZXR1cm4g ZmFsc2U7Ci0JfQotCWVsYXBzZWQgPSBqaWZmaWVzX3RvX21zZWNzKGNqaWZmaWVzIC0gbG9ja3Vw LT5sYXN0X2ppZmZpZXMpOwotCWlmIChlbGFwc2VkID49IDEwMDAwKSB7Ci0JCWRldl9lcnIocmRl di0+ZGV2LCAiR1BVIGxvY2t1cCBDUCBzdGFsbCBmb3IgbW9yZSB0aGFuICVsdW1zZWNcbiIsIGVs YXBzZWQpOwotCQlyZXR1cm4gdHJ1ZTsKLQl9Ci0JLyogZ2l2ZSBhIGNoYW5jZSB0byB0aGUgR1BV IC4uLiAqLwotCXJldHVybiBmYWxzZTsKLX0KLQogYm9vbCByMTAwX2dwdV9pc19sb2NrdXAoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKIHsKIAl1 MzIgcmJibV9zdGF0dXM7CkBAIC0yMjE1LDcgKzIxNjIsNyBAQCBib29sIHIxMDBfZ3B1X2lzX2xv Y2t1cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5n KQogCiAJcmJibV9zdGF0dXMgPSBSUkVHMzIoUl8wMDBFNDBfUkJCTV9TVEFUVVMpOwogCWlmICgh R18wMDBFNDBfR1VJX0FDVElWRShyYmJtX3N0YXR1cykpIHsKLQkJcjEwMF9ncHVfbG9ja3VwX3Vw ZGF0ZSgmcmRldi0+Y29uZmlnLnIxMDAubG9ja3VwLCByaW5nKTsKKwkJcmFkZW9uX3JpbmdfbG9j a3VwX3VwZGF0ZShyaW5nKTsKIAkJcmV0dXJuIGZhbHNlOwogCX0KIAkvKiBmb3JjZSBDUCBhY3Rp dml0aWVzICovCkBAIC0yMjI3LDcgKzIxNzQsNyBAQCBib29sIHIxMDBfZ3B1X2lzX2xvY2t1cChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCQly YWRlb25fcmluZ191bmxvY2tfY29tbWl0KHJkZXYsIHJpbmcpOwogCX0KIAlyaW5nLT5ycHRyID0g UlJFRzMyKHJpbmctPnJwdHJfcmVnKTsKLQlyZXR1cm4gcjEwMF9ncHVfY3BfaXNfbG9ja3VwKHJk ZXYsICZyZGV2LT5jb25maWcucjEwMC5sb2NrdXAsIHJpbmcpOworCXJldHVybiByYWRlb25fcmlu Z190ZXN0X2xvY2t1cChyZGV2LCByaW5nKTsKIH0KIAogdm9pZCByMTAwX2JtX2Rpc2FibGUoc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3IzMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCmluZGV4IDI2ZTBkYjgu LmUyMDc2NjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCkBAIC0zODQsNyArMzg0LDcgQEAgYm9vbCBy MzAwX2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRl b25fcmluZyAqcmluZykKIAogCXJiYm1fc3RhdHVzID0gUlJFRzMyKFJfMDAwRTQwX1JCQk1fU1RB VFVTKTsKIAlpZiAoIUdfMDAwRTQwX0dVSV9BQ1RJVkUocmJibV9zdGF0dXMpKSB7Ci0JCXIxMDBf Z3B1X2xvY2t1cF91cGRhdGUoJnJkZXYtPmNvbmZpZy5yMzAwLmxvY2t1cCwgcmluZyk7CisJCXJh ZGVvbl9yaW5nX2xvY2t1cF91cGRhdGUocmluZyk7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAJLyog Zm9yY2UgQ1AgYWN0aXZpdGllcyAqLwpAQCAtMzk2LDcgKzM5Niw3IEBAIGJvb2wgcjMwMF9ncHVf aXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3Jpbmcg KnJpbmcpCiAJCXJhZGVvbl9yaW5nX3VubG9ja19jb21taXQocmRldiwgcmluZyk7CiAJfQogCXJp bmctPnJwdHIgPSBSUkVHMzIoUkFERU9OX0NQX1JCX1JQVFIpOwotCXJldHVybiByMTAwX2dwdV9j cF9pc19sb2NrdXAocmRldiwgJnJkZXYtPmNvbmZpZy5yMzAwLmxvY2t1cCwgcmluZyk7CisJcmV0 dXJuIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHJkZXYsIHJpbmcpOwogfQogCiBpbnQgcjMwMF9h c2ljX3Jlc2V0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yNjAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYwpp bmRleCBhMjUyMTYwLi40OGY2ZmFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L3I2MDAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDAuYwpAQCAtMTM1MCwxOSAr MTM1MCwxMyBAQCBib29sIHI2MDBfZ3B1X2lzX2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKQogCXUzMiBzcmJtX3N0YXR1czsKIAl1MzIg Z3JibV9zdGF0dXM7CiAJdTMyIGdyYm1fc3RhdHVzMjsKLQlzdHJ1Y3QgcjEwMF9ncHVfbG9ja3Vw ICpsb2NrdXA7CiAJaW50IHI7CiAKLQlpZiAocmRldi0+ZmFtaWx5ID49IENISVBfUlY3NzApCi0J CWxvY2t1cCA9ICZyZGV2LT5jb25maWcucnY3NzAubG9ja3VwOwotCWVsc2UKLQkJbG9ja3VwID0g JnJkZXYtPmNvbmZpZy5yNjAwLmxvY2t1cDsKLQogCXNyYm1fc3RhdHVzID0gUlJFRzMyKFJfMDAw RTUwX1NSQk1fU1RBVFVTKTsKIAlncmJtX3N0YXR1cyA9IFJSRUczMihSXzAwODAxMF9HUkJNX1NU QVRVUyk7CiAJZ3JibV9zdGF0dXMyID0gUlJFRzMyKFJfMDA4MDE0X0dSQk1fU1RBVFVTMik7CiAJ aWYgKCFHXzAwODAxMF9HVUlfQUNUSVZFKGdyYm1fc3RhdHVzKSkgewotCQlyMTAwX2dwdV9sb2Nr dXBfdXBkYXRlKGxvY2t1cCwgcmluZyk7CisJCXJhZGVvbl9yaW5nX2xvY2t1cF91cGRhdGUocmlu Zyk7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAJLyogZm9yY2UgQ1AgYWN0aXZpdGllcyAqLwpAQCAt MTM3NCw3ICsxMzY4LDcgQEAgYm9vbCByNjAwX2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKIAkJcmFkZW9uX3JpbmdfdW5s b2NrX2NvbW1pdChyZGV2LCByaW5nKTsKIAl9CiAJcmluZy0+cnB0ciA9IFJSRUczMihyaW5nLT5y cHRyX3JlZyk7Ci0JcmV0dXJuIHIxMDBfZ3B1X2NwX2lzX2xvY2t1cChyZGV2LCBsb2NrdXAsIHJp bmcpOworCXJldHVybiByYWRlb25fcmluZ190ZXN0X2xvY2t1cChyZGV2LCByaW5nKTsKIH0KIAog aW50IHI2MDBfYXNpY19yZXNldChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbi5oCmluZGV4IGQ1NzMzNTYuLmE1ZDcwN2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b24uaApAQCAtNTk2LDYgKzU5Niw4IEBAIHN0cnVjdCByYWRlb25fcmluZyB7CiAJdW5zaWduZWQJ CXJpbmdfc2l6ZTsKIAl1bnNpZ25lZAkJcmluZ19mcmVlX2R3OwogCWludAkJCWNvdW50X2R3Owor CXVuc2lnbmVkIGxvbmcJCWxhc3RfYWN0aXZpdHk7CisJdW5zaWduZWQJCWxhc3RfcnB0cjsKIAl1 aW50NjRfdAkJZ3B1X2FkZHI7CiAJdWludDMyX3QJCWFsaWduX21hc2s7CiAJdWludDMyX3QJCXB0 cl9tYXNrOwpAQCAtNzM5LDYgKzc0MSw4IEBAIHZvaWQgcmFkZW9uX3JpbmdfY29tbWl0KHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKmNwKTsKIHZvaWQgcmFk ZW9uX3JpbmdfdW5sb2NrX2NvbW1pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0 IHJhZGVvbl9yaW5nICpjcCk7CiB2b2lkIHJhZGVvbl9yaW5nX3VubG9ja191bmRvKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKmNwKTsKIGludCByYWRlb25f cmluZ190ZXN0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3Jpbmcg KmNwKTsKK3ZvaWQgcmFkZW9uX3JpbmdfbG9ja3VwX3VwZGF0ZShzdHJ1Y3QgcmFkZW9uX3Jpbmcg KnJpbmcpOworYm9vbCByYWRlb25fcmluZ190ZXN0X2xvY2t1cChzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwgc3RydWN0IHJhZGVvbl9yaW5nICpyaW5nKTsKIGludCByYWRlb25fcmluZ19pbml0 KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKmNwLCB1bnNp Z25lZCByaW5nX3NpemUsCiAJCSAgICAgdW5zaWduZWQgcnB0cl9vZmZzLCB1bnNpZ25lZCBycHRy X3JlZywgdW5zaWduZWQgd3B0cl9yZWcsCiAJCSAgICAgdTMyIHB0cl9yZWdfc2hpZnQsIHUzMiBw dHJfcmVnX21hc2ssIHUzMiBub3ApOwpAQCAtMTE4OCwxNiArMTE5MiwxMCBAQCBzdHJ1Y3QgcmFk ZW9uX2FzaWMgewogLyoKICAqIEFzaWMgc3RydWN0dXJlcwogICovCi1zdHJ1Y3QgcjEwMF9ncHVf bG9ja3VwIHsKLQl1bnNpZ25lZCBsb25nCWxhc3RfamlmZmllczsKLQl1MzIJCWxhc3RfY3BfcnB0 cjsKLX07Ci0KIHN0cnVjdCByMTAwX2FzaWMgewogCWNvbnN0IHVuc2lnbmVkCQkqcmVnX3NhZmVf Ym07CiAJdW5zaWduZWQJCXJlZ19zYWZlX2JtX3NpemU7CiAJdTMyCQkJaGRwX2NudGw7Ci0Jc3Ry dWN0IHIxMDBfZ3B1X2xvY2t1cAlsb2NrdXA7CiB9OwogCiBzdHJ1Y3QgcjMwMF9hc2ljIHsKQEAg LTEyMDUsNyArMTIwMyw2IEBAIHN0cnVjdCByMzAwX2FzaWMgewogCXVuc2lnbmVkCQlyZWdfc2Fm ZV9ibV9zaXplOwogCXUzMgkJCXJlc3luY19zY3JhdGNoOwogCXUzMgkJCWhkcF9jbnRsOwotCXN0 cnVjdCByMTAwX2dwdV9sb2NrdXAJbG9ja3VwOwogfTsKIAogc3RydWN0IHI2MDBfYXNpYyB7CkBA IC0xMjI3LDcgKzEyMjQsNiBAQCBzdHJ1Y3QgcjYwMF9hc2ljIHsKIAl1bnNpZ25lZAkJdGlsaW5n X2dyb3VwX3NpemU7CiAJdW5zaWduZWQJCXRpbGVfY29uZmlnOwogCXVuc2lnbmVkCQliYWNrZW5k X21hcDsKLQlzdHJ1Y3QgcjEwMF9ncHVfbG9ja3VwCWxvY2t1cDsKIH07CiAKIHN0cnVjdCBydjc3 MF9hc2ljIHsKQEAgLTEyNTMsNyArMTI0OSw2IEBAIHN0cnVjdCBydjc3MF9hc2ljIHsKIAl1bnNp Z25lZAkJdGlsaW5nX2dyb3VwX3NpemU7CiAJdW5zaWduZWQJCXRpbGVfY29uZmlnOwogCXVuc2ln bmVkCQliYWNrZW5kX21hcDsKLQlzdHJ1Y3QgcjEwMF9ncHVfbG9ja3VwCWxvY2t1cDsKIH07CiAK IHN0cnVjdCBldmVyZ3JlZW5fYXNpYyB7CkBAIC0xMjgwLDcgKzEyNzUsNiBAQCBzdHJ1Y3QgZXZl cmdyZWVuX2FzaWMgewogCXVuc2lnbmVkIHRpbGluZ19ncm91cF9zaXplOwogCXVuc2lnbmVkIHRp bGVfY29uZmlnOwogCXVuc2lnbmVkIGJhY2tlbmRfbWFwOwotCXN0cnVjdCByMTAwX2dwdV9sb2Nr dXAJbG9ja3VwOwogfTsKIAogc3RydWN0IGNheW1hbl9hc2ljIHsKQEAgLTEzMTksNyArMTMxMyw2 IEBAIHN0cnVjdCBjYXltYW5fYXNpYyB7CiAJdW5zaWduZWQgbXVsdGlfZ3B1X3RpbGVfc2l6ZTsK IAogCXVuc2lnbmVkIHRpbGVfY29uZmlnOwotCXN0cnVjdCByMTAwX2dwdV9sb2NrdXAJbG9ja3Vw OwogfTsKIAogc3RydWN0IHNpX2FzaWMgewpAQCAtMTM1MCw3ICsxMzQzLDYgQEAgc3RydWN0IHNp X2FzaWMgewogCXVuc2lnbmVkIG11bHRpX2dwdV90aWxlX3NpemU7CiAKIAl1bnNpZ25lZCB0aWxl X2NvbmZpZzsKLQlzdHJ1Y3QgcjEwMF9ncHVfbG9ja3VwCWxvY2t1cDsKIH07CiAKIHVuaW9uIHJh ZGVvbl9hc2ljX2NvbmZpZyB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3Jh ZGVvbl9hc2ljLmggYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmgKaW5kZXgg M2Q5ZjlmMS4uZDNlYzU0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fYXNpYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2FzaWMuaApAQCAt MTAzLDExICsxMDMsNiBAQCBpbnQgcjEwMF9wY2lfZ2FydF9lbmFibGUoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpOwogdm9pZCByMTAwX3BjaV9nYXJ0X2Rpc2FibGUoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpOwogaW50IHIxMDBfZGVidWdmc19tY19pbmZvX2luaXQoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpOwogaW50IHIxMDBfZ3VpX3dhaXRfZm9yX2lkbGUoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpOwotdm9pZCByMTAwX2dwdV9sb2NrdXBfdXBkYXRlKHN0cnVjdCByMTAw X2dwdV9sb2NrdXAgKmxvY2t1cCwKLQkJCSAgICBzdHJ1Y3QgcmFkZW9uX3JpbmcgKmNwKTsKLWJv b2wgcjEwMF9ncHVfY3BfaXNfbG9ja3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAotCQkJ ICAgc3RydWN0IHIxMDBfZ3B1X2xvY2t1cCAqbG9ja3VwLAotCQkJICAgc3RydWN0IHJhZGVvbl9y aW5nICpjcCk7CiB2b2lkIHIxMDBfaWJfZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7 CiBpbnQgcjEwMF9pYl90ZXN0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFk ZW9uX3JpbmcgKnJpbmcpOwogdm9pZCByMTAwX2lycV9kaXNhYmxlKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Jp bmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwppbmRleCA3MDMxZDY5 Li5iMzQ1NzVmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5n LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jCkBAIC0zNTIsNiAr MzUyLDU5IEBAIHZvaWQgcmFkZW9uX3JpbmdfdW5sb2NrX3VuZG8oc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluCiAJbXV0ZXhfdW5sb2NrKCZyaW5nLT5t dXRleCk7CiB9CiAKK3ZvaWQgcmFkZW9uX3JpbmdfbG9ja3VwX3VwZGF0ZShzdHJ1Y3QgcmFkZW9u X3JpbmcgKnJpbmcpCit7CisJcmluZy0+bGFzdF9ycHRyID0gcmluZy0+cnB0cjsKKwlyaW5nLT5s YXN0X2FjdGl2aXR5ID0gamlmZmllczsKK30KKworLyoqCisgKiByYWRlb25fcmluZ190ZXN0X2xv Y2t1cCgpIC0gY2hlY2sgaWYgcmluZyBpcyBsb2NrZWR1cCBieSByZWNvcmRpbmcgaW5mb3JtYXRp b24KKyAqIEByZGV2OiAgICAgICByYWRlb24gZGV2aWNlIHN0cnVjdHVyZQorICogQHJpbmc6ICAg ICAgIHJhZGVvbl9yaW5nIHN0cnVjdHVyZSBob2xkaW5nIHJpbmcgaW5mb3JtYXRpb24KKyAqCisg KiBXZSBkb24ndCBuZWVkIHRvIGluaXRpYWxpemUgdGhlIGxvY2t1cCB0cmFja2luZyBpbmZvcm1h dGlvbiBhcyB3ZSB3aWxsIGVpdGhlcgorICogaGF2ZSBDUCBycHRyIHRvIGEgZGlmZmVyZW50IHZh bHVlIG9mIGppZmZpZXMgd3JhcCBhcm91bmQgd2hpY2ggd2lsbCBmb3JjZQorICogaW5pdGlhbGl6 YXRpb24gb2YgdGhlIGxvY2t1cCB0cmFja2luZyBpbmZvcm1hdGlvbnMuCisgKgorICogQSBwb3Nz aWJsZSBmYWxzZSBwb3NpdGl2aWUgaXMgaWYgd2UgZ2V0IGNhbGwgYWZ0ZXIgd2hpbGUgYW5kIGxh c3RfY3BfcnB0ciA9PQorICogdGhlIGN1cnJlbnQgQ1AgcnB0ciwgZXZlbiBpZiBpdCdzIHVubGlr ZWx5IGl0IG1pZ2h0IGhhcHBlbi4gVG8gYXZvaWQgdGhpcworICogaWYgdGhlIGVsYXBzZWQgdGlt ZSBzaW5jZSBsYXN0IGNhbGwgaXMgYmlnZ2VyIHRoYW4gMiBzZWNvbmQgdGhhbiB3ZSByZXR1cm4K KyAqIGZhbHNlIGFuZCB1cGRhdGUgdGhlIHRyYWNraW5nIGluZm9ybWF0aW9uLiBEdWUgdG8gdGhp cyB0aGUgY2FsbGVyIG11c3QgY2FsbAorICogcmFkZW9uX3JpbmdfdGVzdF9sb2NrdXAgc2V2ZXJh bCB0aW1lIGluIGxlc3MgdGhhbiAyc2VjIGZvciBsb2NrdXAgdG8gYmUgcmVwb3J0ZWQKKyAqIHRo ZSBmZW5jaW5nIGNvZGUgc2hvdWxkIGJlIGNhdXRpb3VzIGFib3V0IHRoYXQuCisgKgorICogQ2Fs bGVyIHNob3VsZCB3cml0ZSB0byB0aGUgcmluZyB0byBmb3JjZSBDUCB0byBkbyBzb21ldGhpbmcg c28gd2UgZG9uJ3QgZ2V0CisgKiBmYWxzZSBwb3NpdGl2ZSB3aGVuIENQIGlzIGp1c3QgZ2l2ZWQg bm90aGluZyB0byBkby4KKyAqCisgKiovCitib29sIHJhZGVvbl9yaW5nX3Rlc3RfbG9ja3VwKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCit7CisJ dW5zaWduZWQgbG9uZyBjamlmZmllcywgZWxhcHNlZDsKKwl1aW50MzJfdCBycHRyOworCisJY2pp ZmZpZXMgPSBqaWZmaWVzOworCWlmICghdGltZV9hZnRlcihjamlmZmllcywgcmluZy0+bGFzdF9h Y3Rpdml0eSkpIHsKKwkJLyogbGlrZWx5IGEgd3JhcCBhcm91bmQgKi8KKwkJcmFkZW9uX3Jpbmdf bG9ja3VwX3VwZGF0ZShyaW5nKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwlycHRyID0gUlJFRzMy KHJpbmctPnJwdHJfcmVnKTsKKwlyaW5nLT5ycHRyID0gKHJwdHIgJiByaW5nLT5wdHJfcmVnX21h c2spID4+IHJpbmctPnB0cl9yZWdfc2hpZnQ7CisJaWYgKHJpbmctPnJwdHIgIT0gcmluZy0+bGFz dF9ycHRyKSB7CisJCS8qIENQIGlzIHN0aWxsIHdvcmtpbmcgbm8gbG9ja3VwICovCisJCXJhZGVv bl9yaW5nX2xvY2t1cF91cGRhdGUocmluZyk7CisJCXJldHVybiBmYWxzZTsKKwl9CisJZWxhcHNl ZCA9IGppZmZpZXNfdG9fbXNlY3MoY2ppZmZpZXMgLSByaW5nLT5sYXN0X2FjdGl2aXR5KTsKKwlp ZiAoZWxhcHNlZCA+PSAxMDAwMCkgeworCQlkZXZfZXJyKHJkZXYtPmRldiwgIkdQVSBsb2NrdXAg Q1Agc3RhbGwgZm9yIG1vcmUgdGhhbiAlbHVtc2VjXG4iLCBlbGFwc2VkKTsKKwkJcmV0dXJuIHRy dWU7CisJfQorCS8qIGdpdmUgYSBjaGFuY2UgdG8gdGhlIEdQVSAuLi4gKi8KKwlyZXR1cm4gZmFs c2U7Cit9CisKIGludCByYWRlb25fcmluZ19pbml0KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcsIHVuc2lnbmVkIHJpbmdfc2l6ZSwKIAkJICAgICB1 bnNpZ25lZCBycHRyX29mZnMsIHVuc2lnbmVkIHJwdHJfcmVnLCB1bnNpZ25lZCB3cHRyX3JlZywK IAkJICAgICB1MzIgcHRyX3JlZ19zaGlmdCwgdTMyIHB0cl9yZWdfbWFzaywgdTMyIG5vcCkKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vc2kuYwppbmRleCBmMDVkMzdhLi5lNzZkOGIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3NpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaS5jCkBAIC0y MjE3LDcgKzIyMTcsNiBAQCBib29sIHNpX2dwdV9pc19sb2NrdXAoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIHN0cnVjdCByYWRlb25fcmluZyAqcmluZykKIAl1MzIgc3JibV9zdGF0dXM7CiAJ dTMyIGdyYm1fc3RhdHVzLCBncmJtX3N0YXR1czI7CiAJdTMyIGdyYm1fc3RhdHVzX3NlMCwgZ3Ji bV9zdGF0dXNfc2UxOwotCXN0cnVjdCByMTAwX2dwdV9sb2NrdXAgKmxvY2t1cCA9ICZyZGV2LT5j b25maWcuc2kubG9ja3VwOwogCWludCByOwogCiAJc3JibV9zdGF0dXMgPSBSUkVHMzIoU1JCTV9T VEFUVVMpOwpAQCAtMjIyNiw3ICsyMjI1LDcgQEAgYm9vbCBzaV9ncHVfaXNfbG9ja3VwKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcpCiAJZ3JibV9z dGF0dXNfc2UwID0gUlJFRzMyKEdSQk1fU1RBVFVTX1NFMCk7CiAJZ3JibV9zdGF0dXNfc2UxID0g UlJFRzMyKEdSQk1fU1RBVFVTX1NFMSk7CiAJaWYgKCEoZ3JibV9zdGF0dXMgJiBHVUlfQUNUSVZF KSkgewotCQlyMTAwX2dwdV9sb2NrdXBfdXBkYXRlKGxvY2t1cCwgcmluZyk7CisJCXJhZGVvbl9y aW5nX2xvY2t1cF91cGRhdGUocmluZyk7CiAJCXJldHVybiBmYWxzZTsKIAl9CiAJLyogZm9yY2Ug Q1AgYWN0aXZpdGllcyAqLwpAQCAtMjIzOSw3ICsyMjM4LDcgQEAgYm9vbCBzaV9ncHVfaXNfbG9j a3VwKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBzdHJ1Y3QgcmFkZW9uX3JpbmcgKnJpbmcp CiAJfQogCS8qIFhYWCBkZWFsIHdpdGggQ1AwLDEsMiAqLwogCXJpbmctPnJwdHIgPSBSUkVHMzIo cmluZy0+cnB0cl9yZWcpOwotCXJldHVybiByMTAwX2dwdV9jcF9pc19sb2NrdXAocmRldiwgbG9j a3VwLCByaW5nKTsKKwlyZXR1cm4gcmFkZW9uX3JpbmdfdGVzdF9sb2NrdXAocmRldiwgcmluZyk7 CiB9CiAKIHN0YXRpYyBpbnQgc2lfZ3B1X3NvZnRfcmVzZXQoc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYpCi0tIAoxLjcuNy42CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=