From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 2/2] drm/vc4: Add get/set tiling ioctls. Date: Wed, 7 Jun 2017 17:13:36 -0700 Message-ID: <20170608001336.12842-2-eric@anholt.net> References: <20170608001336.12842-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 63D2A6E2E6 for ; Thu, 8 Jun 2017 00:13:40 +0000 (UTC) In-Reply-To: <20170608001336.12842-1-eric@anholt.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBhbGxvd3MgbWVzYSB0byBzZXQgdGhlIHRpbGluZyBmb3JtYXQgZm9yIGEgQk8gYW5kIGhh dmUgdGhhdAp0aWxpbmcgZm9ybWF0IGJlIHJlc3BlY3RlZCBieSBtZXNhIG9uIHRoZSBvdGhlciBz aWRlIG9mIGFuCmltcG9ydC9leHBvcnQgKGFuZCBieSB2YzQgc2Nhbm91dCBpbiB0aGUga2VybmVs KSwgd2l0aG91dCBkZWZpbmluZyBhCnByb3RvY29sIHRvIHBhc3MgdGhlIHRpbGluZyB0aHJvdWdo IHVzZXJzcGFjZS4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+ Ci0tLQoKaWd0IHRlc3RzICh3aGljaCBjYXVnaHQgdHdvIGVkZ2UgY2FzZXMpIHN1Ym1pdHRlZCB0 byBpbnRlbC1nZnguCgpNZXNhIGNvZGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbWVzYS9j b21taXRzL2RybS12YzQtdGlsaW5nCgogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYyAgfCA4 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dw dS9kcm0vdmM0L3ZjNF9kcnYuYyB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYu aCB8ICA2ICsrKysKIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2ttcy5jIHwgNDEgKysrKysrKysr KysrKysrKysrKystCiBpbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0uaCAgICB8IDE2ICsrKysrKysr KwogNSBmaWxlcyBjaGFuZ2VkLCAxNDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMgYi9kcml2ZXJzL2dwdS9kcm0v dmM0L3ZjNF9iby5jCmluZGV4IDgwYjJmOWU1NWM1Yy4uMjE2NDkxMDlmZDRmIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9iby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQv dmM0X2JvLmMKQEAgLTM0Nyw2ICszNDcsNyBAQCB2b2lkIHZjNF9mcmVlX29iamVjdChzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKmdlbV9ibykKIAkJYm8tPnZhbGlkYXRlZF9zaGFkZXIgPSBOVUxMOwog CX0KIAorCWJvLT50X2Zvcm1hdCA9IGZhbHNlOwogCWJvLT5mcmVlX3RpbWUgPSBqaWZmaWVzOwog CWxpc3RfYWRkKCZiby0+c2l6ZV9oZWFkLCBjYWNoZV9saXN0KTsKIAlsaXN0X2FkZCgmYm8tPnVu cmVmX2hlYWQsICZ2YzQtPmJvX2NhY2hlLnRpbWVfbGlzdCk7CkBAIC01NzIsNiArNTczLDg4IEBA IHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCiAJcmV0dXJuIHJldDsKIH0KIAorLyoqCisgKiB2YzRfc2V0X3RpbGluZ19pb2N0bCgp IC0gU2V0cyB0aGUgdGlsaW5nIG1vZGlmaWVyIGZvciBhIEJPLgorICogQGRldjogRFJNIGRldmlj ZQorICogQGRhdGE6IGlvY3RsIGFyZ3VtZW50CisgKiBAZmlsZV9wcml2OiBEUk0gZmlsZSBmb3Ig dGhpcyBmZAorICoKKyAqIFRoZSB0aWxpbmcgc3RhdGUgb2YgdGhlIEJPIGRlY2lkZXMgdGhlIGRl ZmF1bHQgbW9kaWZpZXIgb2YgYW4gZmIgaWYKKyAqIG5vIHNwZWNpZmljIG1vZGlmaWVyIHdhcyBz ZXQgYnkgdXNlcnNwYWNlLCBhbmQgdGhlIHJldHVybiB2YWx1ZSBvZgorICogdmM0X2dldF90aWxp bmdfaW9jdGwoKSAoc28gdGhhdCB1c2Vyc3BhY2UgY2FuIHRyZWF0IGEgQk8gaXQKKyAqIHJlY2Vp dmVkIGZyb20gZG1hYnVmIGFzIHRoZSBzYW1lIHRpbGluZyBmb3JtYXQgYXMgdGhlIHByb2R1Y2Vy CisgKiB1c2VkKS4KKyAqLworaW50IHZjNF9zZXRfdGlsaW5nX2lvY3RsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7 CisJc3RydWN0IGRybV92YzRfc2V0X3RpbGluZyAqYXJncyA9IGRhdGE7CisJc3RydWN0IGRybV9n ZW1fb2JqZWN0ICpnZW1fb2JqOworCXN0cnVjdCB2YzRfYm8gKmJvOworCWJvb2wgdF9mb3JtYXQ7 CisKKwlpZiAoYXJncy0+ZmxhZ3MgIT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2gg KGFyZ3MtPm1vZGlmaWVyKSB7CisJY2FzZSBEUk1fRk9STUFUX01PRF9OT05FOgorCQl0X2Zvcm1h dCA9IGZhbHNlOworCQlicmVhazsKKwljYXNlIERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1ZDNF9U X1RJTEVEOgorCQl0X2Zvcm1hdCA9IHRydWU7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVy biAtRUlOVkFMOworCX0KKworCWdlbV9vYmogPSBkcm1fZ2VtX29iamVjdF9sb29rdXAoZmlsZV9w cml2LCBhcmdzLT5oYW5kbGUpOworCWlmICghZ2VtX29iaikgeworCQlEUk1fRVJST1IoIkZhaWxl ZCB0byBsb29rIHVwIEdFTSBCTyAlZFxuIiwgYXJncy0+aGFuZGxlKTsKKwkJcmV0dXJuIC1FTk9F TlQ7CisJfQorCWJvID0gdG9fdmM0X2JvKGdlbV9vYmopOworCWJvLT50X2Zvcm1hdCA9IHRfZm9y bWF0OworCisJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2VfdW5sb2NrZWQoZ2VtX29iaik7CisK KwlyZXR1cm4gMDsKK30KKworLyoqCisgKiB2YzRfZ2V0X3RpbGluZ19pb2N0bCgpIC0gR2V0cyB0 aGUgdGlsaW5nIG1vZGlmaWVyIGZvciBhIEJPLgorICogQGRldjogRFJNIGRldmljZQorICogQGRh dGE6IGlvY3RsIGFyZ3VtZW50CisgKiBAZmlsZV9wcml2OiBEUk0gZmlsZSBmb3IgdGhpcyBmZAor ICoKKyAqIFJldHVybnMgdGhlIHRpbGluZyBtb2RpZmllciBmb3IgYSBCTyBhcyBzZXQgYnkgdmM0 X3NldF90aWxpbmdfaW9jdGwoKS4KKyAqLworaW50IHZjNF9nZXRfdGlsaW5nX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCisJCQkgc3RydWN0IGRybV9maWxlICpmaWxl X3ByaXYpCit7CisJc3RydWN0IGRybV92YzRfZ2V0X3RpbGluZyAqYXJncyA9IGRhdGE7CisJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOworCXN0cnVjdCB2YzRfYm8gKmJvOworCisJaWYg KGFyZ3MtPmZsYWdzICE9IDAgfHwgYXJncy0+bW9kaWZpZXIgIT0gMCkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlnZW1fb2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwgYXJncy0+ aGFuZGxlKTsKKwlpZiAoIWdlbV9vYmopIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gbG9vayB1 cCBHRU0gQk8gJWRcbiIsIGFyZ3MtPmhhbmRsZSk7CisJCXJldHVybiAtRU5PRU5UOworCX0KKwli byA9IHRvX3ZjNF9ibyhnZW1fb2JqKTsKKworCWlmIChiby0+dF9mb3JtYXQpCisJCWFyZ3MtPm1v ZGlmaWVyID0gRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fVkM0X1RfVElMRUQ7CisJZWxzZQorCQlh cmdzLT5tb2RpZmllciA9IERSTV9GT1JNQVRfTU9EX05PTkU7CisKKwlkcm1fZ2VtX29iamVjdF91 bnJlZmVyZW5jZV91bmxvY2tlZChnZW1fb2JqKTsKKworCXJldHVybiAwOworfQorCiB2b2lkIHZj NF9ib19jYWNoZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CiAJc3RydWN0IHZjNF9k ZXYgKnZjNCA9IHRvX3ZjNF9kZXYoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMKaW5kZXggMTM2YmI0 MjEzZGMwLi5jNmI0ODdjM2QyYjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCkBAIC0xMzgsNiArMTM4 LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyB2YzRfZHJtX2lvY3Rsc1td ID0gewogCURSTV9JT0NUTF9ERUZfRFJWKFZDNF9HRVRfSEFOR19TVEFURSwgdmM0X2dldF9oYW5n X3N0YXRlX2lvY3RsLAogCQkJICBEUk1fUk9PVF9PTkxZKSwKIAlEUk1fSU9DVExfREVGX0RSVihW QzRfR0VUX1BBUkFNLCB2YzRfZ2V0X3BhcmFtX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKKwlE Uk1fSU9DVExfREVGX0RSVihWQzRfU0VUX1RJTElORywgdmM0X3NldF90aWxpbmdfaW9jdGwsIERS TV9SRU5ERVJfQUxMT1cpLAorCURSTV9JT0NUTF9ERUZfRFJWKFZDNF9HRVRfVElMSU5HLCB2YzRf Z2V0X3RpbGluZ19pb2N0bCwgRFJNX1JFTkRFUl9BTExPVyksCiB9OwogCiBzdGF0aWMgc3RydWN0 IGRybV9kcml2ZXIgdmM0X2RybV9kcml2ZXIgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5oCmluZGV4IGE1 YmYyZTVlMGI1Ny4uZGYyMjY5OGQ2MmVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaApAQCAtMTQ4LDYg KzE0OCw4IEBAIHN0cnVjdCB2YzRfYm8gewogCSAqLwogCXVpbnQ2NF90IHdyaXRlX3NlcW5vOwog CisJYm9vbCB0X2Zvcm1hdDsKKwogCS8qIExpc3QgZW50cnkgZm9yIHRoZSBCTydzIHBvc2l0aW9u IGluIGVpdGhlcgogCSAqIHZjNF9leGVjX2luZm8tPnVucmVmX2xpc3Qgb3IgdmM0X2Rldi0+Ym9f Y2FjaGUudGltZV9saXN0CiAJICovCkBAIC00NzAsNiArNDcyLDEwIEBAIGludCB2YzRfY3JlYXRl X3NoYWRlcl9ib19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJ ICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCB2YzRfbW1hcF9ib19pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkgICAgICBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdik7CitpbnQgdmM0X3NldF90aWxpbmdfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7 CitpbnQgdmM0X2dldF90aWxpbmdfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiBpbnQgdmM0X2dldF9oYW5n X3N0YXRlX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICAg IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCB2YzRfbW1hcChzdHJ1Y3QgZmlsZSAq ZmlscCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9rbXMuYwppbmRl eCA5MjhkMTkxZWY5MGYuLjIwMmY3ZWJmNWE3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKQEAgLTIw MiwxMSArMjAyLDUwIEBAIHN0YXRpYyBpbnQgdmM0X2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKnZjNF9mYl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkJICAgICBzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKKwkJCQkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX21vZGVf ZmJfY21kMiAqbW9kZV9jbWQpCit7CisJc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgbW9kZV9jbWRf bG9jYWw7CisKKwkvKiBJZiB0aGUgdXNlciBkaWRuJ3Qgc3BlY2lmeSBhIG1vZGlmaWVyLCB1c2Ug dGhlCisJICogdmM0X3NldF90aWxpbmdfaW9jdGwoKSBzdGF0ZSBmb3IgdGhlIEJPLgorCSAqLwor CWlmICghKG1vZGVfY21kLT5mbGFncyAmIERSTV9NT0RFX0ZCX01PRElGSUVSUykpIHsKKwkJc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqOworCQlzdHJ1Y3QgdmM0X2JvICpibzsKKworCQln ZW1fb2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwKKwkJCQkJCW1vZGVfY21k LT5oYW5kbGVzWzBdKTsKKwkJaWYgKCFnZW1fb2JqKSB7CisJCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBsb29rIHVwIEdFTSBCTyAlZFxuIiwKKwkJCQkgIG1vZGVfY21kLT5oYW5kbGVzWzBdKTsKKwkJ CXJldHVybiBFUlJfUFRSKC1FTk9FTlQpOworCQl9CisJCWJvID0gdG9fdmM0X2JvKGdlbV9vYmop OworCisJCW1vZGVfY21kX2xvY2FsID0gKm1vZGVfY21kOworCisJCWlmIChiby0+dF9mb3JtYXQp IHsKKwkJCW1vZGVfY21kX2xvY2FsLm1vZGlmaWVyWzBdID0KKwkJCQlEUk1fRk9STUFUX01PRF9C Uk9BRENPTV9WQzRfVF9USUxFRDsKKwkJfSBlbHNlIHsKKwkJCW1vZGVfY21kX2xvY2FsLm1vZGlm aWVyWzBdID0gRFJNX0ZPUk1BVF9NT0RfTk9ORTsKKwkJfQorCisJCWRybV9nZW1fb2JqZWN0X3Vu cmVmZXJlbmNlX3VubG9ja2VkKGdlbV9vYmopOworCisJCW1vZGVfY21kID0gJm1vZGVfY21kX2xv Y2FsOworCX0KKworCXJldHVybiBkcm1fZmJfY21hX2NyZWF0ZShkZXYsIGZpbGVfcHJpdiwgbW9k ZV9jbWQpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyB2 YzRfbW9kZV9mdW5jcyA9IHsKIAkub3V0cHV0X3BvbGxfY2hhbmdlZCA9IHZjNF9vdXRwdXRfcG9s bF9jaGFuZ2VkLAogCS5hdG9taWNfY2hlY2sgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVjaywKIAku YXRvbWljX2NvbW1pdCA9IHZjNF9hdG9taWNfY29tbWl0LAotCS5mYl9jcmVhdGUgPSBkcm1fZmJf Y21hX2NyZWF0ZSwKKwkuZmJfY3JlYXRlID0gdmM0X2ZiX2NyZWF0ZSwKIH07CiAKIGludCB2YzRf a21zX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFw aS9kcm0vdmM0X2RybS5oIGIvaW5jbHVkZS91YXBpL2RybS92YzRfZHJtLmgKaW5kZXggZjA3YTA5 MDE2NzI2Li42YWM0YzVjMDE0Y2IgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2Ry bS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oCkBAIC0zOCw2ICszOCw4IEBAIGV4 dGVybiAiQyIgewogI2RlZmluZSBEUk1fVkM0X0NSRUFURV9TSEFERVJfQk8gICAgICAgICAgICAg ICAgICAweDA1CiAjZGVmaW5lIERSTV9WQzRfR0VUX0hBTkdfU1RBVEUgICAgICAgICAgICAgICAg ICAgIDB4MDYKICNkZWZpbmUgRFJNX1ZDNF9HRVRfUEFSQU0gICAgICAgICAgICAgICAgICAgICAg ICAgMHgwNworI2RlZmluZSBEUk1fVkM0X1NFVF9USUxJTkcgICAgICAgICAgICAgICAgICAgICAg ICAweDA4CisjZGVmaW5lIERSTV9WQzRfR0VUX1RJTElORyAgICAgICAgICAgICAgICAgICAgICAg IDB4MDkKIAogI2RlZmluZSBEUk1fSU9DVExfVkM0X1NVQk1JVF9DTCAgICAgICAgICAgRFJNX0lP V1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WQzRfU1VCTUlUX0NMLCBzdHJ1Y3QgZHJtX3ZjNF9z dWJtaXRfY2wpCiAjZGVmaW5lIERSTV9JT0NUTF9WQzRfV0FJVF9TRVFOTyAgICAgICAgICBEUk1f SU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZDNF9XQUlUX1NFUU5PLCBzdHJ1Y3QgZHJtX3Zj NF93YWl0X3NlcW5vKQpAQCAtNDcsNiArNDksOCBAQCBleHRlcm4gIkMiIHsKICNkZWZpbmUgRFJN X0lPQ1RMX1ZDNF9DUkVBVEVfU0hBREVSX0JPICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0Ug KyBEUk1fVkM0X0NSRUFURV9TSEFERVJfQk8sIHN0cnVjdCBkcm1fdmM0X2NyZWF0ZV9zaGFkZXJf Ym8pCiAjZGVmaW5lIERSTV9JT0NUTF9WQzRfR0VUX0hBTkdfU1RBVEUgICAgICBEUk1fSU9XUihE Uk1fQ09NTUFORF9CQVNFICsgRFJNX1ZDNF9HRVRfSEFOR19TVEFURSwgc3RydWN0IGRybV92YzRf Z2V0X2hhbmdfc3RhdGUpCiAjZGVmaW5lIERSTV9JT0NUTF9WQzRfR0VUX1BBUkFNICAgICAgICAg ICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZDNF9HRVRfUEFSQU0sIHN0cnVjdCBk cm1fdmM0X2dldF9wYXJhbSkKKyNkZWZpbmUgRFJNX0lPQ1RMX1ZDNF9TRVRfVElMSU5HICAgICAg ICAgIERSTV9JT1dSKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fVkM0X1NFVF9USUxJTkcsIHN0cnVj dCBkcm1fdmM0X3NldF90aWxpbmcpCisjZGVmaW5lIERSTV9JT0NUTF9WQzRfR0VUX1RJTElORyAg ICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZDNF9HRVRfVElMSU5HLCBz dHJ1Y3QgZHJtX3ZjNF9nZXRfdGlsaW5nKQogCiBzdHJ1Y3QgZHJtX3ZjNF9zdWJtaXRfcmNsX3N1 cmZhY2UgewogCV9fdTMyIGhpbmRleDsgLyogSGFuZGxlIGluZGV4LCBvciB+MCBpZiBub3QgcHJl c2VudC4gKi8KQEAgLTI5NSw2ICsyOTksMTggQEAgc3RydWN0IGRybV92YzRfZ2V0X3BhcmFtIHsK IAlfX3U2NCB2YWx1ZTsKIH07CiAKK3N0cnVjdCBkcm1fdmM0X2dldF90aWxpbmcgeworCV9fdTMy IGhhbmRsZTsKKwlfX3UzMiBmbGFnczsKKwlfX3U2NCBtb2RpZmllcjsKK307CisKK3N0cnVjdCBk cm1fdmM0X3NldF90aWxpbmcgeworCV9fdTMyIGhhbmRsZTsKKwlfX3UzMiBmbGFnczsKKwlfX3U2 NCBtb2RpZmllcjsKK307CisKICNpZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQogfQogI2VuZGlmCi0t IAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=