From: Boris Brezillon Subject: Re: [PATCH 2/2] drm/vc4: Add get/set tiling ioctls. Date: Tue, 13 Jun 2017 09:46:45 +0200 Message-ID: <20170613094645.625031a5@bbrezillon> References: <20170608001336.12842-1-eric@anholt.net> <20170608001336.12842-2-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.free-electrons.com (mail.free-electrons.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 25C8B89F97 for ; Tue, 13 Jun 2017 07:46:57 +0000 (UTC) In-Reply-To: <20170608001336.12842-2-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: Eric Anholt Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgRXJpYywKCk9uIFdlZCwgIDcgSnVuIDIwMTcgMTc6MTM6MzYgLTA3MDAKRXJpYyBBbmhvbHQg PGVyaWNAYW5ob2x0Lm5ldD4gd3JvdGU6Cgo+IFRoaXMgYWxsb3dzIG1lc2EgdG8gc2V0IHRoZSB0 aWxpbmcgZm9ybWF0IGZvciBhIEJPIGFuZCBoYXZlIHRoYXQKPiB0aWxpbmcgZm9ybWF0IGJlIHJl c3BlY3RlZCBieSBtZXNhIG9uIHRoZSBvdGhlciBzaWRlIG9mIGFuCj4gaW1wb3J0L2V4cG9ydCAo YW5kIGJ5IHZjNCBzY2Fub3V0IGluIHRoZSBrZXJuZWwpLCB3aXRob3V0IGRlZmluaW5nIGEKPiBw cm90b2NvbCB0byBwYXNzIHRoZSB0aWxpbmcgdGhyb3VnaCB1c2Vyc3BhY2UuCj4gCj4gU2lnbmVk LW9mZi1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KPiAtLS0KPiAKPiBpZ3QgdGVz dHMgKHdoaWNoIGNhdWdodCB0d28gZWRnZSBjYXNlcykgc3VibWl0dGVkIHRvIGludGVsLWdmeC4K PiAKPiBNZXNhIGNvZGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmhvbHQvbWVzYS9jb21taXRzL2Ry bS12YzQtdGlsaW5nCj4gCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMgIHwgODMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9k cm0vdmM0L3ZjNF9kcnYuYyB8ICAyICsrCj4gIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5o IHwgIDYgKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9rbXMuYyB8IDQxICsrKysrKysr KysrKysrKysrKysrLQo+ICBpbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0uaCAgICB8IDE2ICsrKysr KysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2JvLmMgYi9kcml2ZXJz L2dwdS9kcm0vdmM0L3ZjNF9iby5jCj4gaW5kZXggODBiMmY5ZTU1YzVjLi4yMTY0OTEwOWZkNGYg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS92YzQvdmM0X2JvLmMKPiBAQCAtMzQ3LDYgKzM0Nyw3IEBAIHZvaWQgdmM0X2Zy ZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX2JvKQo+ICAJCWJvLT52YWxpZGF0 ZWRfc2hhZGVyID0gTlVMTDsKPiAgCX0KPiAgCj4gKwliby0+dF9mb3JtYXQgPSBmYWxzZTsKPiAg CWJvLT5mcmVlX3RpbWUgPSBqaWZmaWVzOwo+ICAJbGlzdF9hZGQoJmJvLT5zaXplX2hlYWQsIGNh Y2hlX2xpc3QpOwo+ICAJbGlzdF9hZGQoJmJvLT51bnJlZl9oZWFkLCAmdmM0LT5ib19jYWNoZS50 aW1lX2xpc3QpOwo+IEBAIC01NzIsNiArNTczLDg4IEBAIHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAlyZXR1cm4gcmV0Owo+ ICB9Cj4gIAo+ICsvKioKPiArICogdmM0X3NldF90aWxpbmdfaW9jdGwoKSAtIFNldHMgdGhlIHRp bGluZyBtb2RpZmllciBmb3IgYSBCTy4KPiArICogQGRldjogRFJNIGRldmljZQo+ICsgKiBAZGF0 YTogaW9jdGwgYXJndW1lbnQKPiArICogQGZpbGVfcHJpdjogRFJNIGZpbGUgZm9yIHRoaXMgZmQK PiArICoKPiArICogVGhlIHRpbGluZyBzdGF0ZSBvZiB0aGUgQk8gZGVjaWRlcyB0aGUgZGVmYXVs dCBtb2RpZmllciBvZiBhbiBmYiBpZgo+ICsgKiBubyBzcGVjaWZpYyBtb2RpZmllciB3YXMgc2V0 IGJ5IHVzZXJzcGFjZSwgYW5kIHRoZSByZXR1cm4gdmFsdWUgb2YKPiArICogdmM0X2dldF90aWxp bmdfaW9jdGwoKSAoc28gdGhhdCB1c2Vyc3BhY2UgY2FuIHRyZWF0IGEgQk8gaXQKPiArICogcmVj ZWl2ZWQgZnJvbSBkbWFidWYgYXMgdGhlIHNhbWUgdGlsaW5nIGZvcm1hdCBhcyB0aGUgcHJvZHVj ZXIKPiArICogdXNlZCkuCj4gKyAqLwo+ICtpbnQgdmM0X3NldF90aWxpbmdfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiArCQkJIHN0cnVjdCBkcm1fZmlsZSAqZmls ZV9wcml2KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX3ZjNF9zZXRfdGlsaW5nICphcmdzID0gZGF0YTsK PiArCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iajsKPiArCXN0cnVjdCB2YzRfYm8gKmJv Owo+ICsJYm9vbCB0X2Zvcm1hdDsKPiArCj4gKwlpZiAoYXJncy0+ZmxhZ3MgIT0gMCkKPiArCQly ZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlzd2l0Y2ggKGFyZ3MtPm1vZGlmaWVyKSB7Cj4gKwljYXNl IERSTV9GT1JNQVRfTU9EX05PTkU6Cj4gKwkJdF9mb3JtYXQgPSBmYWxzZTsKPiArCQlicmVhazsK PiArCWNhc2UgRFJNX0ZPUk1BVF9NT0RfQlJPQURDT01fVkM0X1RfVElMRUQ6Cj4gKwkJdF9mb3Jt YXQgPSB0cnVlOwo+ICsJCWJyZWFrOwo+ICsJZGVmYXVsdDoKPiArCQlyZXR1cm4gLUVJTlZBTDsK PiArCX0KPiArCj4gKwlnZW1fb2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwg YXJncy0+aGFuZGxlKTsKPiArCWlmICghZ2VtX29iaikgewo+ICsJCURSTV9FUlJPUigiRmFpbGVk IHRvIGxvb2sgdXAgR0VNIEJPICVkXG4iLCBhcmdzLT5oYW5kbGUpOwo+ICsJCXJldHVybiAtRU5P RU5UOwo+ICsJfQo+ICsJYm8gPSB0b192YzRfYm8oZ2VtX29iaik7Cj4gKwliby0+dF9mb3JtYXQg PSB0X2Zvcm1hdDsKPiArCj4gKwlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChn ZW1fb2JqKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIHZjNF9nZXRf dGlsaW5nX2lvY3RsKCkgLSBHZXRzIHRoZSB0aWxpbmcgbW9kaWZpZXIgZm9yIGEgQk8uCj4gKyAq IEBkZXY6IERSTSBkZXZpY2UKPiArICogQGRhdGE6IGlvY3RsIGFyZ3VtZW50Cj4gKyAqIEBmaWxl X3ByaXY6IERSTSBmaWxlIGZvciB0aGlzIGZkCj4gKyAqCj4gKyAqIFJldHVybnMgdGhlIHRpbGlu ZyBtb2RpZmllciBmb3IgYSBCTyBhcyBzZXQgYnkgdmM0X3NldF90aWxpbmdfaW9jdGwoKS4KPiAr ICovCj4gK2ludCB2YzRfZ2V0X3RpbGluZ19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAo+ICsJCQkgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCj4gK3sKPiArCXN0 cnVjdCBkcm1fdmM0X2dldF90aWxpbmcgKmFyZ3MgPSBkYXRhOwo+ICsJc3RydWN0IGRybV9nZW1f b2JqZWN0ICpnZW1fb2JqOwo+ICsJc3RydWN0IHZjNF9ibyAqYm87Cj4gKwo+ICsJaWYgKGFyZ3Mt PmZsYWdzICE9IDAgfHwgYXJncy0+bW9kaWZpZXIgIT0gMCkKPiArCQlyZXR1cm4gLUVJTlZBTDsK PiArCj4gKwlnZW1fb2JqID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGZpbGVfcHJpdiwgYXJncy0+ aGFuZGxlKTsKPiArCWlmICghZ2VtX29iaikgewo+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRvIGxv b2sgdXAgR0VNIEJPICVkXG4iLCBhcmdzLT5oYW5kbGUpOwo+ICsJCXJldHVybiAtRU5PRU5UOwo+ ICsJfQo+ICsJYm8gPSB0b192YzRfYm8oZ2VtX29iaik7Cj4gKwo+ICsJaWYgKGJvLT50X2Zvcm1h dCkKPiArCQlhcmdzLT5tb2RpZmllciA9IERSTV9GT1JNQVRfTU9EX0JST0FEQ09NX1ZDNF9UX1RJ TEVEOwo+ICsJZWxzZQo+ICsJCWFyZ3MtPm1vZGlmaWVyID0gRFJNX0ZPUk1BVF9NT0RfTk9ORTsK PiArCj4gKwlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91bmxvY2tlZChnZW1fb2JqKTsKPiAr Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAgdm9pZCB2YzRfYm9fY2FjaGVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rl dihkZXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCj4gaW5kZXggMTM2YmI0MjEzZGMwLi5jNmI0ODdj M2QyYjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYwo+IEBAIC0xMzgsNiArMTM4LDggQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1faW9jdGxfZGVzYyB2YzRfZHJtX2lvY3Rsc1tdID0gewo+ICAJ RFJNX0lPQ1RMX0RFRl9EUlYoVkM0X0dFVF9IQU5HX1NUQVRFLCB2YzRfZ2V0X2hhbmdfc3RhdGVf aW9jdGwsCj4gIAkJCSAgRFJNX1JPT1RfT05MWSksCj4gIAlEUk1fSU9DVExfREVGX0RSVihWQzRf R0VUX1BBUkFNLCB2YzRfZ2V0X3BhcmFtX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKPiArCURS TV9JT0NUTF9ERUZfRFJWKFZDNF9TRVRfVElMSU5HLCB2YzRfc2V0X3RpbGluZ19pb2N0bCwgRFJN X1JFTkRFUl9BTExPVyksCj4gKwlEUk1fSU9DVExfREVGX0RSVihWQzRfR0VUX1RJTElORywgdmM0 X2dldF90aWxpbmdfaW9jdGwsIERSTV9SRU5ERVJfQUxMT1cpLAo+ICB9Owo+ICAKPiAgc3RhdGlj IHN0cnVjdCBkcm1fZHJpdmVyIHZjNF9kcm1fZHJpdmVyID0gewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5o Cj4gaW5kZXggYTViZjJlNWUwYjU3Li5kZjIyNjk4ZDYyZWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9k cnYuaAo+IEBAIC0xNDgsNiArMTQ4LDggQEAgc3RydWN0IHZjNF9ibyB7Cj4gIAkgKi8KPiAgCXVp bnQ2NF90IHdyaXRlX3NlcW5vOwo+ICAKPiArCWJvb2wgdF9mb3JtYXQ7Cj4gKwoKV2lsbCB3ZSBu ZWVkIHRoZSBEUk1fVkM0X1NFVC9HRVRfVElMSU5HIGlvY3RscyB3aGVuIGltcG9ydGluZyBhIEJP CnRoYXQgaXMgdXNpbmcgSDI2NCB0aWxlIG1vZGU/IElmIHRoaXMgaXMgdGhlIGNhc2UsIHdlIHNo b3VsZCBwcm9iYWJseQpzdG9yZSB0aGUgbW9kaWZpZXIgZGlyZWN0bHkuCgo+ICAJLyogTGlzdCBl bnRyeSBmb3IgdGhlIEJPJ3MgcG9zaXRpb24gaW4gZWl0aGVyCj4gIAkgKiB2YzRfZXhlY19pbmZv LT51bnJlZl9saXN0IG9yIHZjNF9kZXYtPmJvX2NhY2hlLnRpbWVfbGlzdAo+ICAJICovCj4gQEAg LTQ3MCw2ICs0NzIsMTAgQEAgaW50IHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGVfcHJpdik7Cj4gIGludCB2YzRfbW1hcF9ib19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ICAJCSAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsK PiAraW50IHZjNF9zZXRfdGlsaW5nX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQg KmRhdGEsCj4gKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7Cj4gK2ludCB2YzRfZ2V0 X3RpbGluZ19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICsJCQkg c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgdmM0X2dldF9oYW5nX3N0YXRlX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCj4gIAkJCSAgICAgc3RydWN0 IGRybV9maWxlICpmaWxlX3ByaXYpOwo+ICBpbnQgdmM0X21tYXAoc3RydWN0IGZpbGUgKmZpbHAs IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9rbXMuYwo+IGluZGV4 IDkyOGQxOTFlZjkwZi4uMjAyZjdlYmY1YTdiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKPiBA QCAtMjAyLDExICsyMDIsNTAgQEAgc3RhdGljIGludCB2YzRfYXRvbWljX2NvbW1pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gK3N0YXRpYyBzdHJ1Y3Qg ZHJtX2ZyYW1lYnVmZmVyICp2YzRfZmJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g KwkJCQkJICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdiwKPiArCQkJCQkgICAgIGNvbnN0 IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKPiArewo+ICsJc3RydWN0IGRybV9t b2RlX2ZiX2NtZDIgbW9kZV9jbWRfbG9jYWw7Cj4gKwo+ICsJLyogSWYgdGhlIHVzZXIgZGlkbid0 IHNwZWNpZnkgYSBtb2RpZmllciwgdXNlIHRoZQo+ICsJICogdmM0X3NldF90aWxpbmdfaW9jdGwo KSBzdGF0ZSBmb3IgdGhlIEJPLgo+ICsJICovCj4gKwlpZiAoIShtb2RlX2NtZC0+ZmxhZ3MgJiBE Uk1fTU9ERV9GQl9NT0RJRklFUlMpKSB7Cj4gKwkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1f b2JqOwo+ICsJCXN0cnVjdCB2YzRfYm8gKmJvOwo+ICsKPiArCQlnZW1fb2JqID0gZHJtX2dlbV9v YmplY3RfbG9va3VwKGZpbGVfcHJpdiwKPiArCQkJCQkJbW9kZV9jbWQtPmhhbmRsZXNbMF0pOwo+ ICsJCWlmICghZ2VtX29iaikgewo+ICsJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBsb29rIHVwIEdF TSBCTyAlZFxuIiwKPiArCQkJCSAgbW9kZV9jbWQtPmhhbmRsZXNbMF0pOwo+ICsJCQlyZXR1cm4g RVJSX1BUUigtRU5PRU5UKTsKPiArCQl9Cj4gKwkJYm8gPSB0b192YzRfYm8oZ2VtX29iaik7Cj4g Kwo+ICsJCW1vZGVfY21kX2xvY2FsID0gKm1vZGVfY21kOwo+ICsKPiArCQlpZiAoYm8tPnRfZm9y bWF0KSB7Cj4gKwkJCW1vZGVfY21kX2xvY2FsLm1vZGlmaWVyWzBdID0KPiArCQkJCURSTV9GT1JN QVRfTU9EX0JST0FEQ09NX1ZDNF9UX1RJTEVEOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCW1vZGVfY21k X2xvY2FsLm1vZGlmaWVyWzBdID0gRFJNX0ZPUk1BVF9NT0RfTk9ORTsKPiArCQl9Cj4gKwo+ICsJ CWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKGdlbV9vYmopOwo+ICsKPiArCQlt b2RlX2NtZCA9ICZtb2RlX2NtZF9sb2NhbDsKPiArCX0KPiArCj4gKwlyZXR1cm4gZHJtX2ZiX2Nt YV9jcmVhdGUoZGV2LCBmaWxlX3ByaXYsIG1vZGVfY21kKTsKPiArfQo+ICsKPiAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgdmM0X21vZGVfZnVuY3MgPSB7Cj4gIAku b3V0cHV0X3BvbGxfY2hhbmdlZCA9IHZjNF9vdXRwdXRfcG9sbF9jaGFuZ2VkLAo+ICAJLmF0b21p Y19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLAo+ICAJLmF0b21pY19jb21taXQgPSB2 YzRfYXRvbWljX2NvbW1pdCwKPiAtCS5mYl9jcmVhdGUgPSBkcm1fZmJfY21hX2NyZWF0ZSwKPiAr CS5mYl9jcmVhdGUgPSB2YzRfZmJfY3JlYXRlLAo+ICB9Owo+ICAKPiAgaW50IHZjNF9rbXNfbG9h ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJt L3ZjNF9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vdmM0X2RybS5oCj4gaW5kZXggZjA3YTA5MDE2 NzI2Li42YWM0YzVjMDE0Y2IgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS92YzRfZHJt LmgKPiArKysgYi9pbmNsdWRlL3VhcGkvZHJtL3ZjNF9kcm0uaAo+IEBAIC0zOCw2ICszOCw4IEBA IGV4dGVybiAiQyIgewo+ICAjZGVmaW5lIERSTV9WQzRfQ1JFQVRFX1NIQURFUl9CTyAgICAgICAg ICAgICAgICAgIDB4MDUKPiAgI2RlZmluZSBEUk1fVkM0X0dFVF9IQU5HX1NUQVRFICAgICAgICAg ICAgICAgICAgICAweDA2Cj4gICNkZWZpbmUgRFJNX1ZDNF9HRVRfUEFSQU0gICAgICAgICAgICAg ICAgICAgICAgICAgMHgwNwo+ICsjZGVmaW5lIERSTV9WQzRfU0VUX1RJTElORyAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDgKPiArI2RlZmluZSBEUk1fVkM0X0dFVF9USUxJTkcgICAgICAgICAg ICAgICAgICAgICAgICAweDA5Cj4gIAo+ICAjZGVmaW5lIERSTV9JT0NUTF9WQzRfU1VCTUlUX0NM ICAgICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX1ZDNF9TVUJNSVRfQ0ws IHN0cnVjdCBkcm1fdmM0X3N1Ym1pdF9jbCkKPiAgI2RlZmluZSBEUk1fSU9DVExfVkM0X1dBSVRf U0VRTk8gICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WQzRfV0FJVF9T RVFOTywgc3RydWN0IGRybV92YzRfd2FpdF9zZXFubykKPiBAQCAtNDcsNiArNDksOCBAQCBleHRl cm4gIkMiIHsKPiAgI2RlZmluZSBEUk1fSU9DVExfVkM0X0NSRUFURV9TSEFERVJfQk8gICAgRFJN X0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WQzRfQ1JFQVRFX1NIQURFUl9CTywgc3RydWN0 IGRybV92YzRfY3JlYXRlX3NoYWRlcl9ibykKPiAgI2RlZmluZSBEUk1fSU9DVExfVkM0X0dFVF9I QU5HX1NUQVRFICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFTRSArIERSTV9WQzRfR0VUX0hB TkdfU1RBVEUsIHN0cnVjdCBkcm1fdmM0X2dldF9oYW5nX3N0YXRlKQo+ICAjZGVmaW5lIERSTV9J T0NUTF9WQzRfR0VUX1BBUkFNICAgICAgICAgICBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsg RFJNX1ZDNF9HRVRfUEFSQU0sIHN0cnVjdCBkcm1fdmM0X2dldF9wYXJhbSkKPiArI2RlZmluZSBE Uk1fSU9DVExfVkM0X1NFVF9USUxJTkcgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1BTkRfQkFT RSArIERSTV9WQzRfU0VUX1RJTElORywgc3RydWN0IGRybV92YzRfc2V0X3RpbGluZykKPiArI2Rl ZmluZSBEUk1fSU9DVExfVkM0X0dFVF9USUxJTkcgICAgICAgICAgRFJNX0lPV1IoRFJNX0NPTU1B TkRfQkFTRSArIERSTV9WQzRfR0VUX1RJTElORywgc3RydWN0IGRybV92YzRfZ2V0X3RpbGluZykK PiAgCj4gIHN0cnVjdCBkcm1fdmM0X3N1Ym1pdF9yY2xfc3VyZmFjZSB7Cj4gIAlfX3UzMiBoaW5k ZXg7IC8qIEhhbmRsZSBpbmRleCwgb3IgfjAgaWYgbm90IHByZXNlbnQuICovCj4gQEAgLTI5NSw2 ICsyOTksMTggQEAgc3RydWN0IGRybV92YzRfZ2V0X3BhcmFtIHsKPiAgCV9fdTY0IHZhbHVlOwo+ ICB9Owo+ICAKPiArc3RydWN0IGRybV92YzRfZ2V0X3RpbGluZyB7Cj4gKwlfX3UzMiBoYW5kbGU7 Cj4gKwlfX3UzMiBmbGFnczsKPiArCV9fdTY0IG1vZGlmaWVyOwo+ICt9Owo+ICsKPiArc3RydWN0 IGRybV92YzRfc2V0X3RpbGluZyB7Cj4gKwlfX3UzMiBoYW5kbGU7Cj4gKwlfX3UzMiBmbGFnczsK PiArCV9fdTY0IG1vZGlmaWVyOwo+ICt9Owo+ICsKPiAgI2lmIGRlZmluZWQoX19jcGx1c3BsdXMp Cj4gIH0KPiAgI2VuZGlmCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK