From mboxrd@z Thu Jan 1 00:00:00 1970 From: j.glisse@gmail.com Subject: [PATCH 02/18] drm/radeon: convert fence to uint64_t v3 Date: Fri, 4 May 2012 18:43:43 -0400 Message-ID: <1336171439-7672-3-git-send-email-j.glisse@gmail.com> References: <1336171439-7672-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 3FF8A9F4BB for ; Fri, 4 May 2012 15:44:18 -0700 (PDT) Received: by qady23 with SMTP id y23so1751834qad.14 for ; Fri, 04 May 2012 15:44:17 -0700 (PDT) In-Reply-To: <1336171439-7672-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: Jerome Glisse , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org RnJvbTogSmVyb21lIEdsaXNzZSA8amdsaXNzZUByZWRoYXQuY29tPgoKVGhpcyBjb252ZXJ0IGZl bmNlIHRvIHVzZSB1aW50NjRfdCBzZXF1ZW5jZSBudW1iZXIgaW50ZW50aW9uIGlzCnRvIHVzZSB0 aGUgZmFjdCB0aGF0IHVpbjY0X3QgaXMgYmlnIGVub3VnaCB0aGF0IHdlIGRvbid0IG5lZWQgdG8K Y2FyZSBhYm91dCB3cmFwIGFyb3VuZC4KClRlc3RlZCB3aXRoIGFuZCB3aXRob3V0IHdyaXRlYmFj ayB1c2luZyAweEZGRkZGMDAwIGFzIGluaXRpYWwKZmVuY2Ugc2VxdWVuY2UgYW5kIHRodXMgYWxs b3dpbmcgdG8gdGVzdCB0aGUgd3JhcCBhcm91bmQgZnJvbQozMmJpdHMgdG8gNjRiaXRzLgoKdjI6 IEFkZCBjb21tZW50IGFib3V0IHBvc3NpYmxlIHJhY2UgYnR3IENQVSAmIEdQVSwgYWRkIGNvbW1l bnQKICAgIHN0cmVzc2luZyB0aGF0IHdlIG5lZWQgMiBkd29yZCBhbGlnbmVkIGZvciBSNjAwX1dC X0VWRU5UX09GRlNFVAogICAgUmVhZCBmZW5jZSBzZXF1ZW5jIGluIHJldmVyc2Ugb3JkZXIgb2Yg R1BVIHdyaXRlIHRoZW0gc28gd2UKICAgIG1pdGlnYXRlIHRoZSByYWNlIGJ0dyBDUFUgYW5kIEdQ VS4KCnYzOiBEcm9wIHRoZSBuZWVkIGZvciByaW5nIHRvIGVtaXQgdGhlIDY0Yml0cyBmZW5jZSwg YW5kIGp1c3QgaGF2ZQogICAgZWFjaCByaW5nIGVtaXQgdGhlIGxvd2VyIDMyYml0cyBvZiB0aGUg ZmVuY2Ugc2VxdWVuY2UuIFdlCiAgICBoYW5kbGUgdGhlIHdyYXAgb3ZlciAzMmJpdHMgaW4gZmVu Y2VfcHJvY2Vzcy4KClNpZ25lZC1vZmYtYnk6IEplcm9tZSBHbGlzc2UgPGpnbGlzc2VAcmVkaGF0 LmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZv bmUuZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICB8ICAgMzkg KysrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ZlbmNlLmMgfCAgMTE2 ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fcmluZy5jICB8ICAgIDkgKystCiAzIGZpbGVzIGNoYW5nZWQsIDEwNyBpbnNlcnRp b25zKCspLCA1NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbi5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaAppbmRleCA3MWQ4 YWY4Li40ZDljNDMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmgKQEAgLTEwMCwyOCArMTAwLDMy IEBAIGV4dGVybiBpbnQgcmFkZW9uX2xvY2t1cF90aW1lb3V0OwogICogQ29weSBmcm9tIHJhZGVv bl9kcnYuaCBzbyB3ZSBkb24ndCBoYXZlIHRvIGluY2x1ZGUgYm90aCBhbmQgaGF2ZSBjb25mbGlj dGluZwogICogc3ltYm9sOwogICovCi0jZGVmaW5lIFJBREVPTl9NQVhfVVNFQ19USU1FT1VUCQkx MDAwMDAJLyogMTAwIG1zICovCi0jZGVmaW5lIFJBREVPTl9GRU5DRV9KSUZGSUVTX1RJTUVPVVQJ KEhaIC8gMikKKyNkZWZpbmUgUkFERU9OX01BWF9VU0VDX1RJTUVPVVQJCQkxMDAwMDAJLyogMTAw IG1zICovCisjZGVmaW5lIFJBREVPTl9GRU5DRV9KSUZGSUVTX1RJTUVPVVQJCShIWiAvIDIpCiAv KiBSQURFT05fSUJfUE9PTF9TSVpFIG11c3QgYmUgYSBwb3dlciBvZiAyICovCi0jZGVmaW5lIFJB REVPTl9JQl9QT09MX1NJWkUJCTE2Ci0jZGVmaW5lIFJBREVPTl9ERUJVR0ZTX01BWF9DT01QT05F TlRTCTMyCi0jZGVmaW5lIFJBREVPTkZCX0NPTk5fTElNSVQJCTQKLSNkZWZpbmUgUkFERU9OX0JJ T1NfTlVNX1NDUkFUQ0gJCTgKKyNkZWZpbmUgUkFERU9OX0lCX1BPT0xfU0laRQkJCTE2CisjZGVm aW5lIFJBREVPTl9ERUJVR0ZTX01BWF9DT01QT05FTlRTCQkzMgorI2RlZmluZSBSQURFT05GQl9D T05OX0xJTUlUCQkJNAorI2RlZmluZSBSQURFT05fQklPU19OVU1fU0NSQVRDSAkJCTgKIAogLyog bWF4IG51bWJlciBvZiByaW5ncyAqLwotI2RlZmluZSBSQURFT05fTlVNX1JJTkdTIDMKKyNkZWZp bmUgUkFERU9OX05VTV9SSU5HUwkJCTMKKworLyogZmVuY2Ugc2VxIGFyZSBzZXQgdG8gdGhpcyBu dW1iZXIgd2hlbiBzaWduYWxlZCAqLworI2RlZmluZSBSQURFT05fRkVOQ0VfU0lHTkFMRURfU0VR CQkwTEwKKyNkZWZpbmUgUkFERU9OX0ZFTkNFX05PVEVNSVRFRF9TRVEJCSh+MExMKQogCiAvKiBp bnRlcm5hbCByaW5nIGluZGljZXMgKi8KIC8qIHIxeHgrIGhhcyBnZnggQ1AgcmluZyAqLwotI2Rl ZmluZSBSQURFT05fUklOR19UWVBFX0dGWF9JTkRFWCAgMAorI2RlZmluZSBSQURFT05fUklOR19U WVBFX0dGWF9JTkRFWAkJMAogCiAvKiBjYXltYW4gaGFzIDIgY29tcHV0ZSBDUCByaW5ncyAqLwot I2RlZmluZSBDQVlNQU5fUklOR19UWVBFX0NQMV9JTkRFWCAxCi0jZGVmaW5lIENBWU1BTl9SSU5H X1RZUEVfQ1AyX0lOREVYIDIKKyNkZWZpbmUgQ0FZTUFOX1JJTkdfVFlQRV9DUDFfSU5ERVgJCTEK KyNkZWZpbmUgQ0FZTUFOX1JJTkdfVFlQRV9DUDJfSU5ERVgJCTIKIAogLyogaGFyZGNvZGUgdGhv c2UgbGltaXQgZm9yIG5vdyAqLwotI2RlZmluZSBSQURFT05fVkFfUkVTRVJWRURfU0laRQkJKDgg PDwgMjApCi0jZGVmaW5lIFJBREVPTl9JQl9WTV9NQVhfU0laRQkJKDY0IDw8IDEwKQorI2RlZmlu ZSBSQURFT05fVkFfUkVTRVJWRURfU0laRQkJCSg4IDw8IDIwKQorI2RlZmluZSBSQURFT05fSUJf Vk1fTUFYX1NJWkUJCQkoNjQgPDwgMTApCiAKIC8qCiAgKiBFcnJhdGEgd29ya2Fyb3VuZHMuCkBA IC0yNTQsOCArMjU4LDkgQEAgc3RydWN0IHJhZGVvbl9mZW5jZV9kcml2ZXIgewogCXVpbnQzMl90 CQkJc2NyYXRjaF9yZWc7CiAJdWludDY0X3QJCQlncHVfYWRkcjsKIAl2b2xhdGlsZSB1aW50MzJf dAkJKmNwdV9hZGRyOwotCWF0b21pY190CQkJc2VxOwotCXVpbnQzMl90CQkJbGFzdF9zZXE7CisJ Lyogc2VxIGlzIHByb3RlY3RlZCBieSByaW5nIGVtaXNzaW9uIGxvY2sgKi8KKwl1aW50NjRfdAkJ CXNlcTsKKwlhdG9taWM2NF90CQkJbGFzdF9zZXE7CiAJdW5zaWduZWQgbG9uZwkJCWxhc3RfYWN0 aXZpdHk7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJCXF1ZXVlOwogCXN0cnVjdCBsaXN0X2hlYWQJCWVt aXR0ZWQ7CkBAIC0yNjgsMTEgKzI3Myw5IEBAIHN0cnVjdCByYWRlb25fZmVuY2UgewogCXN0cnVj dCBrcmVmCQkJa3JlZjsKIAlzdHJ1Y3QgbGlzdF9oZWFkCQlsaXN0OwogCS8qIHByb3RlY3RlZCBi eSByYWRlb25fZmVuY2UubG9jayAqLwotCXVpbnQzMl90CQkJc2VxOwotCWJvb2wJCQkJZW1pdHRl ZDsKLQlib29sCQkJCXNpZ25hbGVkOworCXVpbnQ2NF90CQkJc2VxOwogCS8qIFJCLCBETUEsIGV0 Yy4gKi8KLQlpbnQJCQkJcmluZzsKKwl1bnNpZ25lZAkJCXJpbmc7CiAJc3RydWN0IHJhZGVvbl9z ZW1hcGhvcmUJCSpzZW1hcGhvcmU7CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fZmVu Y2UuYwppbmRleCA1YmI3OGJmLi4wZDNkMjI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2ZlbmNlLmMKQEAgLTY2LDE0ICs2NiwxNCBAQCBpbnQgcmFkZW9uX2ZlbmNlX2VtaXQoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsIHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlKQogCXVuc2ln bmVkIGxvbmcgaXJxX2ZsYWdzOwogCiAJd3JpdGVfbG9ja19pcnFzYXZlKCZyZGV2LT5mZW5jZV9s b2NrLCBpcnFfZmxhZ3MpOwotCWlmIChmZW5jZS0+ZW1pdHRlZCkgeworCWlmIChmZW5jZS0+c2Vx ICYmIGZlbmNlLT5zZXEgPCBSQURFT05fRkVOQ0VfTk9URU1JVEVEX1NFUSkgewogCQl3cml0ZV91 bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsKIAkJcmV0dXJu IDA7CiAJfQotCWZlbmNlLT5zZXEgPSBhdG9taWNfYWRkX3JldHVybigxLCAmcmRldi0+ZmVuY2Vf ZHJ2W2ZlbmNlLT5yaW5nXS5zZXEpOworCS8qIHdlIGFyZSBwcm90ZWN0ZWQgYnkgdGhlIHJpbmcg ZW1pc3Npb24gbXV0ZXggKi8KKwlmZW5jZS0+c2VxID0gcmRldi0+ZmVuY2VfZHJ2W2ZlbmNlLT5y aW5nXS5zZXErKzsKIAlyYWRlb25fZmVuY2VfcmluZ19lbWl0KHJkZXYsIGZlbmNlLT5yaW5nLCBm ZW5jZSk7CiAJdHJhY2VfcmFkZW9uX2ZlbmNlX2VtaXQocmRldi0+ZGRldiwgZmVuY2UtPnNlcSk7 Ci0JZmVuY2UtPmVtaXR0ZWQgPSB0cnVlOwogCS8qIGFyZSB3ZSB0aGUgZmlyc3QgZmVuY2Ugb24g YSBwcmV2aXVzbHkgaWRsZSByaW5nPyAqLwogCWlmIChsaXN0X2VtcHR5KCZyZGV2LT5mZW5jZV9k cnZbZmVuY2UtPnJpbmddLmVtaXR0ZWQpKSB7CiAJCXJkZXYtPmZlbmNlX2RydltmZW5jZS0+cmlu Z10ubGFzdF9hY3Rpdml0eSA9IGppZmZpZXM7CkBAIC04NywxNCArODcsNTkgQEAgc3RhdGljIGJv b2wgcmFkZW9uX2ZlbmNlX3BvbGxfbG9ja2VkKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCBp bnQgcmluZykKIHsKIAlzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZTsKIAlzdHJ1Y3QgbGlzdF9o ZWFkICppLCAqbjsKLQl1aW50MzJfdCBzZXE7CisJdWludDY0X3Qgc2VxLCBsYXN0X3NlcTsKKwl1 bnNpZ25lZCBjb3VudF9sb29wID0gMDsKIAlib29sIHdha2UgPSBmYWxzZTsKIAotCXNlcSA9IHJh ZGVvbl9mZW5jZV9yZWFkKHJkZXYsIHJpbmcpOwotCWlmIChzZXEgPT0gcmRldi0+ZmVuY2VfZHJ2 W3JpbmddLmxhc3Rfc2VxKQotCQlyZXR1cm4gZmFsc2U7CisJLyogTm90ZSB0aGVyZSBpcyBhIHNj ZW5hcmlvIGhlcmUgZm9yIGFuIGluZmluaXRlIGxvb3AgYnV0IGl0J3MKKwkgKiB2ZXJ5IHVubGlr ZWx5IHRvIGhhcHBlbi4gRm9yIGl0IHRvIGhhcHBlbiwgdGhlIGN1cnJlbnQgcG9sbGluZworCSAq IHByb2Nlc3MgbmVlZCB0byBiZSBpbnRlcnJ1cHRlZCBieSBhbm90aGVyIHByb2Nlc3MgYW5kIGFu b3RoZXIKKwkgKiBwcm9jZXNzIG5lZWRzIHRvIHVwZGF0ZSB0aGUgbGFzdF9zZXEgYnR3IHRoZSBh dG9taWMgcmVhZCBhbmQKKwkgKiB4Y2hnIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCisJICoKKwkg KiBNb3JlIG92ZXIgZm9yIHRoaXMgdG8gZ28gaW4gaW5maW5pdGUgbG9vcCB0aGVyZSBuZWVkIHRv IGJlCisJICogY29udGludW91c2x5IG5ldyBmZW5jZSBzaWduYWxlZCBpZSByYWRlb25fZmVuY2Vf cmVhZCBuZWVkcworCSAqIHRvIHJldHVybiBhIGRpZmZlcmVudCB2YWx1ZSBlYWNoIHRpbWUgZm9y IGJvdGggdGhlIGN1cnJlbnRseQorCSAqIHBvbGxpbmcgcHJvY2VzcyBhbmQgdGhlIG90aGVyIHBy b2Nlc3MgdGhhdCB4Y2hnIHRoZSBsYXN0X3NlcQorCSAqIGJ0dyBhdG9taWMgcmVhZCBhbmQgeGNo ZyBvZiB0aGUgY3VycmVudCBwcm9jZXNzLiBBbmQgdGhlCisJICogdmFsdWUgdGhlIG90aGVyIHBy b2Nlc3Mgc2V0IGFzIGxhc3Qgc2VxIG11c3QgYmUgaGlnaGVyIHRoYW4KKwkgKiB0aGUgc2VxIHZh bHVlIHdlIGp1c3QgcmVhZC4gV2hpY2ggbWVhbnMgdGhhdCBjdXJyZW50IHByb2Nlc3MKKwkgKiBu ZWVkIHRvIGJlIGludGVycnVwdGVkIGFmdGVyIHJhZGVvbl9mZW5jZV9yZWFkIGFuZCBiZWZvcmUK KwkgKiBhdG9taWMgeGNoZy4KKwkgKgorCSAqIFRvIGJlIGV2ZW4gbW9yZSBzYWZlIHdlIGNvdW50 IHRoZSBudW1iZXIgb2YgdGltZSB3ZSBsb29wIGFuZAorCSAqIHdlIGJhaWwgYWZ0ZXIgMTAgbG9v cCBqdXN0IGFjY2VwdGluZyB0aGUgZmFjdCB0aGF0IHdlIG1pZ2h0CisJICogaGF2ZSB0ZW1wb3Jh cmx5IHNldCB0aGUgbGFzdF9zZXEgbm90IHRvIHRoZSB0cnVlIHJlYWwgbGFzdAorCSAqIHNlcSBi dXQgdG8gYW4gb2xkZXIgb25lLgorCSAqLworCWRvIHsKKwkJbGFzdF9zZXEgPSBhdG9taWM2NF9y ZWFkKCZyZGV2LT5mZW5jZV9kcnZbcmluZ10ubGFzdF9zZXEpOworCQlzZXEgPSByYWRlb25fZmVu Y2VfcmVhZChyZGV2LCByaW5nKTsKKwkJc2VxIHw9IGxhc3Rfc2VxICYgMHhmZmZmZmZmZjAwMDAw MDAwTEw7CisJCWlmIChzZXEgPCBsYXN0X3NlcSkgeworCQkJc2VxICs9IDB4MTAwMDAwMDAwTEw7 CisJCX0KIAotCXJkZXYtPmZlbmNlX2RydltyaW5nXS5sYXN0X3NlcSA9IHNlcTsKKwkJaWYgKCF3 YWtlICYmIHNlcSA9PSBsYXN0X3NlcSkgeworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJCS8qIElm IHdlIGxvb3Agb3ZlciB3ZSBkb24ndCB3YW50IHRvIHJldHVybiB3aXRob3V0CisJCSAqIGNoZWNr aW5nIGlmIGEgZmVuY2UgaXMgc2lnbmFsZWQgYXMgaXQgbWVhbnMgdGhhdCB0aGUKKwkJICogc2Vx IHdlIGp1c3QgcmVhZCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgcHJldmlvdXMgb24uCisJCSAqLwor CQl3YWtlID0gdHJ1ZTsKKwkJaWYgKChjb3VudF9sb29wKyspID4gMTApIHsKKwkJCS8qIFdlIGxv b3BlZCBvdmVyIHRvbyBtYW55IHRpbWUgbGVhdmUgd2l0aCB0aGUKKwkJCSAqIGZhY3QgdGhhdCB3 ZSBtaWdodCBoYXZlIHNldCBhbiBvbGRlciBmZW5jZQorCQkJICogc2VxIHRoZW4gdGhlIGN1cnJl bnQgcmVhbCBsYXN0IHNlcSBhcyBzaWduYWxlZAorCQkJICogYnkgdGhlIGh3LgorCQkJICovCisJ CQlicmVhazsKKwkJfQorCX0gd2hpbGUgKGF0b21pYzY0X3hjaGcoJnJkZXYtPmZlbmNlX2Rydlty aW5nXS5sYXN0X3NlcSwgc2VxKSA+IHNlcSk7CisKKwkvKiByZXNldCB3YWtlIHRvIGZhbHNlICov CisJd2FrZSA9IGZhbHNlOwogCXJkZXYtPmZlbmNlX2RydltyaW5nXS5sYXN0X2FjdGl2aXR5ID0g amlmZmllczsKIAogCW4gPSBOVUxMOwpAQCAtMTEyLDcgKzE1Nyw3IEBAIHN0YXRpYyBib29sIHJh ZGVvbl9mZW5jZV9wb2xsX2xvY2tlZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgaW50IHJp bmcpCiAJCQluID0gaS0+cHJldjsKIAkJCWxpc3RfbW92ZV90YWlsKGksICZyZGV2LT5mZW5jZV9k cnZbcmluZ10uc2lnbmFsZWQpOwogCQkJZmVuY2UgPSBsaXN0X2VudHJ5KGksIHN0cnVjdCByYWRl b25fZmVuY2UsIGxpc3QpOwotCQkJZmVuY2UtPnNpZ25hbGVkID0gdHJ1ZTsKKwkJCWZlbmNlLT5z ZXEgPSBSQURFT05fRkVOQ0VfU0lHTkFMRURfU0VROwogCQkJaSA9IG47CiAJCX0gd2hpbGUgKGkg IT0gJnJkZXYtPmZlbmNlX2RydltyaW5nXS5lbWl0dGVkKTsKIAkJd2FrZSA9IHRydWU7CkBAIC0x MjgsNyArMTczLDcgQEAgc3RhdGljIHZvaWQgcmFkZW9uX2ZlbmNlX2Rlc3Ryb3koc3RydWN0IGty ZWYgKmtyZWYpCiAJZmVuY2UgPSBjb250YWluZXJfb2Yoa3JlZiwgc3RydWN0IHJhZGVvbl9mZW5j ZSwga3JlZik7CiAJd3JpdGVfbG9ja19pcnFzYXZlKCZmZW5jZS0+cmRldi0+ZmVuY2VfbG9jaywg aXJxX2ZsYWdzKTsKIAlsaXN0X2RlbCgmZmVuY2UtPmxpc3QpOwotCWZlbmNlLT5lbWl0dGVkID0g ZmFsc2U7CisJZmVuY2UtPnNlcSA9IFJBREVPTl9GRU5DRV9OT1RFTUlURURfU0VROwogCXdyaXRl X3VubG9ja19pcnFyZXN0b3JlKCZmZW5jZS0+cmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsK IAlpZiAoZmVuY2UtPnNlbWFwaG9yZSkKIAkJcmFkZW9uX3NlbWFwaG9yZV9mcmVlKGZlbmNlLT5y ZGV2LCBmZW5jZS0+c2VtYXBob3JlKTsKQEAgLTE0NSw5ICsxOTAsNyBAQCBpbnQgcmFkZW9uX2Zl bmNlX2NyZWF0ZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKIAl9CiAJa3JlZl9pbml0KCYo KCpmZW5jZSktPmtyZWYpKTsKIAkoKmZlbmNlKS0+cmRldiA9IHJkZXY7Ci0JKCpmZW5jZSktPmVt aXR0ZWQgPSBmYWxzZTsKLQkoKmZlbmNlKS0+c2lnbmFsZWQgPSBmYWxzZTsKLQkoKmZlbmNlKS0+ c2VxID0gMDsKKwkoKmZlbmNlKS0+c2VxID0gUkFERU9OX0ZFTkNFX05PVEVNSVRFRF9TRVE7CiAJ KCpmZW5jZSktPnJpbmcgPSByaW5nOwogCSgqZmVuY2UpLT5zZW1hcGhvcmUgPSBOVUxMOwogCUlO SVRfTElTVF9IRUFEKCYoKmZlbmNlKS0+bGlzdCk7CkBAIC0xNjMsMTggKzIwNiwxOCBAQCBib29s IHJhZGVvbl9mZW5jZV9zaWduYWxlZChzdHJ1Y3QgcmFkZW9uX2ZlbmNlICpmZW5jZSkKIAkJcmV0 dXJuIHRydWU7CiAKIAl3cml0ZV9sb2NrX2lycXNhdmUoJmZlbmNlLT5yZGV2LT5mZW5jZV9sb2Nr LCBpcnFfZmxhZ3MpOwotCXNpZ25hbGVkID0gZmVuY2UtPnNpZ25hbGVkOworCXNpZ25hbGVkID0g KGZlbmNlLT5zZXEgPT0gUkFERU9OX0ZFTkNFX1NJR05BTEVEX1NFUSk7CiAJLyogaWYgd2UgYXJl IHNodXRpbmcgZG93biByZXBvcnQgYWxsIGZlbmNlIGFzIHNpZ25hbGVkICovCiAJaWYgKGZlbmNl LT5yZGV2LT5zaHV0ZG93bikgewogCQlzaWduYWxlZCA9IHRydWU7CiAJfQotCWlmICghZmVuY2Ut PmVtaXR0ZWQpIHsKKwlpZiAoZmVuY2UtPnNlcSA9PSBSQURFT05fRkVOQ0VfTk9URU1JVEVEX1NF USkgewogCQlXQVJOKDEsICJRdWVyeWluZyBhbiB1bmVtaXR0ZWQgZmVuY2UgOiAlcCAhXG4iLCBm ZW5jZSk7CiAJCXNpZ25hbGVkID0gdHJ1ZTsKIAl9CiAJaWYgKCFzaWduYWxlZCkgewogCQlyYWRl b25fZmVuY2VfcG9sbF9sb2NrZWQoZmVuY2UtPnJkZXYsIGZlbmNlLT5yaW5nKTsKLQkJc2lnbmFs ZWQgPSBmZW5jZS0+c2lnbmFsZWQ7CisJCXNpZ25hbGVkID0gKGZlbmNlLT5zZXEgPT0gUkFERU9O X0ZFTkNFX1NJR05BTEVEX1NFUSk7CiAJfQogCXdyaXRlX3VubG9ja19pcnFyZXN0b3JlKCZmZW5j ZS0+cmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsKIAlyZXR1cm4gc2lnbmFsZWQ7CkBAIC0x ODMsOCArMjI2LDggQEAgYm9vbCByYWRlb25fZmVuY2Vfc2lnbmFsZWQoc3RydWN0IHJhZGVvbl9m ZW5jZSAqZmVuY2UpCiBpbnQgcmFkZW9uX2ZlbmNlX3dhaXQoc3RydWN0IHJhZGVvbl9mZW5jZSAq ZmVuY2UsIGJvb2wgaW50cikKIHsKIAlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldjsKLQl1bnNp Z25lZCBsb25nIGlycV9mbGFncywgdGltZW91dDsKLQl1MzIgc2VxOworCXVuc2lnbmVkIGxvbmcg aXJxX2ZsYWdzLCB0aW1lb3V0LCBsYXN0X2FjdGl2aXR5OworCXVpbnQ2NF90IHNlcTsKIAlpbnQg aSwgcjsKIAlib29sIHNpZ25hbGVkOwogCkBAIC0yMDcsNyArMjUwLDkgQEAgaW50IHJhZGVvbl9m ZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBib29sIGludHIpCiAJCQl0aW1l b3V0ID0gMTsKIAkJfQogCQkvKiBzYXZlIGN1cnJlbnQgc2VxdWVuY2UgdmFsdWUgdXNlZCB0byBj aGVjayBmb3IgR1BVIGxvY2t1cHMgKi8KLQkJc2VxID0gcmRldi0+ZmVuY2VfZHJ2W2ZlbmNlLT5y aW5nXS5sYXN0X3NlcTsKKwkJc2VxID0gYXRvbWljNjRfcmVhZCgmcmRldi0+ZmVuY2VfZHJ2W2Zl bmNlLT5yaW5nXS5sYXN0X3NlcSk7CisJCS8qIFNhdmUgY3VycmVudCBsYXN0IGFjdGl2aXR5IHZh bHVlZSwgdXNlZCB0byBjaGVjayBmb3IgR1BVIGxvY2t1cHMgKi8KKwkJbGFzdF9hY3Rpdml0eSA9 IHJkZXYtPmZlbmNlX2RydltmZW5jZS0+cmluZ10ubGFzdF9hY3Rpdml0eTsKIAkJcmVhZF91bmxv Y2tfaXJxcmVzdG9yZSgmcmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsKIAogCQl0cmFjZV9y YWRlb25fZmVuY2Vfd2FpdF9iZWdpbihyZGV2LT5kZGV2LCBzZXEpOwpAQCAtMjM1LDI0ICsyODAs MjMgQEAgaW50IHJhZGVvbl9mZW5jZV93YWl0KHN0cnVjdCByYWRlb25fZmVuY2UgKmZlbmNlLCBi b29sIGludHIpCiAJCQl9CiAKIAkJCXdyaXRlX2xvY2tfaXJxc2F2ZSgmcmRldi0+ZmVuY2VfbG9j aywgaXJxX2ZsYWdzKTsKLQkJCS8qIGNoZWNrIGlmIHNlcXVlbmNlIHZhbHVlIGhhcyBjaGFuZ2Vk IHNpbmNlIGxhc3RfYWN0aXZpdHkgKi8KLQkJCWlmIChzZXEgIT0gcmRldi0+ZmVuY2VfZHJ2W2Zl bmNlLT5yaW5nXS5sYXN0X3NlcSkgeworCQkJLyogdGVzdCBpZiBzb21lYm9keSBlbHNlIGhhcyBh bHJlYWR5IGRlY2lkZWQgdGhhdCB0aGlzIGlzIGEgbG9ja3VwICovCisJCQlpZiAobGFzdF9hY3Rp dml0eSAhPSByZGV2LT5mZW5jZV9kcnZbZmVuY2UtPnJpbmddLmxhc3RfYWN0aXZpdHkpIHsKIAkJ CQl3cml0ZV91bmxvY2tfaXJxcmVzdG9yZSgmcmRldi0+ZmVuY2VfbG9jaywgaXJxX2ZsYWdzKTsK IAkJCQljb250aW51ZTsKIAkJCX0KIAotCQkJLyogY2hhbmdlIHNlcXVlbmNlIHZhbHVlIG9uIGFs bCByaW5ncywgc28gbm9ib2R5IGVsc2UgdGhpbmdzIHRoZXJlIGlzIGEgbG9ja3VwICovCi0JCQlm b3IgKGkgPSAwOyBpIDwgUkFERU9OX05VTV9SSU5HUzsgKytpKQotCQkJCXJkZXYtPmZlbmNlX2Ry dltpXS5sYXN0X3NlcSAtPSAweDEwMDAwOwotCi0JCQlyZGV2LT5mZW5jZV9kcnZbZmVuY2UtPnJp bmddLmxhc3RfYWN0aXZpdHkgPSBqaWZmaWVzOwogCQkJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUo JnJkZXYtPmZlbmNlX2xvY2ssIGlycV9mbGFncyk7CiAKIAkJCWlmIChyYWRlb25fcmluZ19pc19s b2NrdXAocmRldiwgZmVuY2UtPnJpbmcsICZyZGV2LT5yaW5nW2ZlbmNlLT5yaW5nXSkpIHsKLQog CQkJCS8qIGdvb2QgbmV3cyB3ZSBiZWxpZXZlIGl0J3MgYSBsb2NrdXAgKi8KLQkJCQlwcmludGso S0VSTl9XQVJOSU5HICJHUFUgbG9ja3VwICh3YWl0aW5nIGZvciAweCUwOFggbGFzdCBmZW5jZSBp ZCAweCUwOFgpXG4iLAotCQkJCSAgICAgZmVuY2UtPnNlcSwgc2VxKTsKKwkJCQlkZXZfd2Fybihy ZGV2LT5kZXYsICJHUFUgbG9ja3VwICh3YWl0aW5nIGZvciAweCUwMTZsbHggbGFzdCBmZW5jZSBp ZCAweCUwMTZsbHgpXG4iLAorCQkJCQkgZmVuY2UtPnNlcSwgc2VxKTsKKworCQkJCS8qIGNoYW5n ZSBsYXN0IGFjdGl2aXR5IHNvIG5vYm9keSBlbHNlIHRoaW5rIHRoZXJlIGlzIGEgbG9ja3VwICov CisJCQkJZm9yIChpID0gMDsgaSA8IFJBREVPTl9OVU1fUklOR1M7ICsraSkgeworCQkJCQlyZGV2 LT5mZW5jZV9kcnZbaV0ubGFzdF9hY3Rpdml0eSA9IGppZmZpZXM7CisJCQkJfQogCiAJCQkJLyog bWFyayB0aGUgcmluZyBhcyBub3QgcmVhZHkgYW55IG1vcmUgKi8KIAkJCQlyZGV2LT5yaW5nW2Zl bmNlLT5yaW5nXS5yZWFkeSA9IGZhbHNlOwpAQCAtMzg3LDkgKzQzMSw5IEBAIGludCByYWRlb25f ZmVuY2VfZHJpdmVyX3N0YXJ0X3Jpbmcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsIGludCBy aW5nKQogCX0KIAlyZGV2LT5mZW5jZV9kcnZbcmluZ10uY3B1X2FkZHIgPSAmcmRldi0+d2Iud2Jb aW5kZXgvNF07CiAJcmRldi0+ZmVuY2VfZHJ2W3JpbmddLmdwdV9hZGRyID0gcmRldi0+d2IuZ3B1 X2FkZHIgKyBpbmRleDsKLQlyYWRlb25fZmVuY2Vfd3JpdGUocmRldiwgYXRvbWljX3JlYWQoJnJk ZXYtPmZlbmNlX2RydltyaW5nXS5zZXEpLCByaW5nKTsKKwlyYWRlb25fZmVuY2Vfd3JpdGUocmRl diwgcmRldi0+ZmVuY2VfZHJ2W3JpbmddLnNlcSwgcmluZyk7CiAJcmRldi0+ZmVuY2VfZHJ2W3Jp bmddLmluaXRpYWxpemVkID0gdHJ1ZTsKLQlEUk1fSU5GTygiZmVuY2UgZHJpdmVyIG9uIHJpbmcg JWQgdXNlIGdwdSBhZGRyIDB4JTA4THggYW5kIGNwdSBhZGRyIDB4JXBcbiIsCisJRFJNX0lORk8o ImZlbmNlIGRyaXZlciBvbiByaW5nICVkIHVzZSBncHUgYWRkciAweCUwMTZsbHggYW5kIGNwdSBh ZGRyIDB4JXBcbiIsCiAJCSByaW5nLCByZGV2LT5mZW5jZV9kcnZbcmluZ10uZ3B1X2FkZHIsIHJk ZXYtPmZlbmNlX2RydltyaW5nXS5jcHVfYWRkcik7CiAJd3JpdGVfdW5sb2NrX2lycXJlc3RvcmUo JnJkZXYtPmZlbmNlX2xvY2ssIGlycV9mbGFncyk7CiAJcmV0dXJuIDA7CkBAIC00MDAsNyArNDQ0 LDkgQEAgc3RhdGljIHZvaWQgcmFkZW9uX2ZlbmNlX2RyaXZlcl9pbml0X3Jpbmcoc3RydWN0IHJh ZGVvbl9kZXZpY2UgKnJkZXYsIGludCByaW5nKQogCXJkZXYtPmZlbmNlX2RydltyaW5nXS5zY3Jh dGNoX3JlZyA9IC0xOwogCXJkZXYtPmZlbmNlX2RydltyaW5nXS5jcHVfYWRkciA9IE5VTEw7CiAJ cmRldi0+ZmVuY2VfZHJ2W3JpbmddLmdwdV9hZGRyID0gMDsKLQlhdG9taWNfc2V0KCZyZGV2LT5m ZW5jZV9kcnZbcmluZ10uc2VxLCAwKTsKKwkvKiB3ZSBzdGFydCBhdCBvbmUgKi8KKwlyZGV2LT5m ZW5jZV9kcnZbcmluZ10uc2VxID0gMTsKKwlhdG9taWM2NF9zZXQoJnJkZXYtPmZlbmNlX2Rydlty aW5nXS5sYXN0X3NlcSwgMCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJkZXYtPmZlbmNlX2RydltyaW5n XS5lbWl0dGVkKTsKIAlJTklUX0xJU1RfSEVBRCgmcmRldi0+ZmVuY2VfZHJ2W3JpbmddLnNpZ25h bGVkKTsKIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCZyZGV2LT5mZW5jZV9kcnZbcmluZ10ucXVldWUp OwpAQCAtNDU4LDEyICs1MDQsMTIgQEAgc3RhdGljIGludCByYWRlb25fZGVidWdmc19mZW5jZV9p bmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJCWNvbnRpbnVlOwogCiAJCXNl cV9wcmludGYobSwgIi0tLSByaW5nICVkIC0tLVxuIiwgaSk7Ci0JCXNlcV9wcmludGYobSwgIkxh c3Qgc2lnbmFsZWQgZmVuY2UgMHglMDhYXG4iLAotCQkJICAgcmFkZW9uX2ZlbmNlX3JlYWQocmRl diwgaSkpOworCQlzZXFfcHJpbnRmKG0sICJMYXN0IHNpZ25hbGVkIGZlbmNlIDB4JTAxNmx4XG4i LAorCQkJICAgYXRvbWljNjRfcmVhZCgmcmRldi0+ZmVuY2VfZHJ2W2ldLmxhc3Rfc2VxKSk7CiAJ CWlmICghbGlzdF9lbXB0eSgmcmRldi0+ZmVuY2VfZHJ2W2ldLmVtaXR0ZWQpKSB7CiAJCQlmZW5j ZSA9IGxpc3RfZW50cnkocmRldi0+ZmVuY2VfZHJ2W2ldLmVtaXR0ZWQucHJldiwKIAkJCQkJICAg c3RydWN0IHJhZGVvbl9mZW5jZSwgbGlzdCk7Ci0JCQlzZXFfcHJpbnRmKG0sICJMYXN0IGVtaXR0 ZWQgZmVuY2UgJXAgd2l0aCAweCUwOFhcbiIsCisJCQlzZXFfcHJpbnRmKG0sICJMYXN0IGVtaXR0 ZWQgZmVuY2UgJXAgd2l0aCAweCUwMTZsbHhcbiIsCiAJCQkJICAgZmVuY2UsICBmZW5jZS0+c2Vx KTsKIAkJfQogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3Jp bmcuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX3JpbmcuYwppbmRleCBhNGQ2MGFl Li40YWUyMjJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9yaW5n LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fcmluZy5jCkBAIC04Miw3ICs4 Miw3IEBAIGJvb2wgcmFkZW9uX2liX3RyeV9mcmVlKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LCBzdHJ1Y3QgcmFkZW9uX2liICppYikKIAlib29sIGRvbmUgPSBmYWxzZTsKIAogCS8qIG9ubHkg ZnJlZSBpYiB3aGljaCBoYXZlIGJlZW4gZW1pdGVkICovCi0JaWYgKGliLT5mZW5jZSAmJiBpYi0+ ZmVuY2UtPmVtaXR0ZWQpIHsKKwlpZiAoaWItPmZlbmNlICYmIGliLT5mZW5jZS0+c2VxIDwgUkFE RU9OX0ZFTkNFX05PVEVNSVRFRF9TRVEpIHsKIAkJaWYgKHJhZGVvbl9mZW5jZV9zaWduYWxlZChp Yi0+ZmVuY2UpKSB7CiAJCQlyYWRlb25fZmVuY2VfdW5yZWYoJmliLT5mZW5jZSk7CiAJCQlyYWRl b25fc2FfYm9fZnJlZShyZGV2LCAmaWItPnNhX2JvKTsKQEAgLTE0OSw4ICsxNDksOSBAQCByZXRy eToKIAkvKiB0aGlzIHNob3VsZCBiZSByYXJlIGV2ZW50LCBpZSBhbGwgaWIgc2NoZWR1bGVkIG5v bmUgc2lnbmFsZWQgeWV0LgogCSAqLwogCWZvciAoaSA9IDA7IGkgPCBSQURFT05fSUJfUE9PTF9T SVpFOyBpKyspIHsKLQkJaWYgKHJkZXYtPmliX3Bvb2wuaWJzW2lkeF0uZmVuY2UgJiYgcmRldi0+ aWJfcG9vbC5pYnNbaWR4XS5mZW5jZS0+ZW1pdHRlZCkgewotCQkJciA9IHJhZGVvbl9mZW5jZV93 YWl0KHJkZXYtPmliX3Bvb2wuaWJzW2lkeF0uZmVuY2UsIGZhbHNlKTsKKwkJc3RydWN0IHJhZGVv bl9mZW5jZSAqZmVuY2UgPSByZGV2LT5pYl9wb29sLmlic1tpZHhdLmZlbmNlOworCQlpZiAoZmVu Y2UgJiYgZmVuY2UtPnNlcSA8IFJBREVPTl9GRU5DRV9OT1RFTUlURURfU0VRKSB7CisJCQlyID0g cmFkZW9uX2ZlbmNlX3dhaXQoZmVuY2UsIGZhbHNlKTsKIAkJCWlmICghcikgewogCQkJCWdvdG8g cmV0cnk7CiAJCQl9CkBAIC0xNzMsNyArMTc0LDcgQEAgdm9pZCByYWRlb25faWJfZnJlZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwgc3RydWN0IHJhZGVvbl9pYiAqKmliKQogCQlyZXR1cm47 CiAJfQogCXJhZGVvbl9tdXRleF9sb2NrKCZyZGV2LT5pYl9wb29sLm11dGV4KTsKLQlpZiAodG1w LT5mZW5jZSAmJiAhdG1wLT5mZW5jZS0+ZW1pdHRlZCkgeworCWlmICh0bXAtPmZlbmNlICYmIHRt cC0+ZmVuY2UtPnNlcSA9PSBSQURFT05fRkVOQ0VfTk9URU1JVEVEX1NFUSkgewogCQlyYWRlb25f c2FfYm9fZnJlZShyZGV2LCAmdG1wLT5zYV9ibyk7CiAJCXJhZGVvbl9mZW5jZV91bnJlZigmdG1w LT5mZW5jZSk7CiAJfQotLSAKMS43LjcuNgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK