From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 75A92C4363A for ; Wed, 28 Oct 2020 19:05:08 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E545924813 for ; Wed, 28 Oct 2020 19:05:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E545924813 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 11ADC6E2ED; Wed, 28 Oct 2020 19:05:07 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96A6B6E2ED for ; Wed, 28 Oct 2020 19:05:05 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 47A0BAEF8; Wed, 28 Oct 2020 19:05:04 +0000 (UTC) Subject: Re: [PATCH] drm/gma500: Remove GTT roll support To: Patrik Jakobsson , dri-devel@lists.freedesktop.org References: <20201028143608.1284-1-patrik.r.jakobsson@gmail.com> From: Thomas Zimmermann Message-ID: Date: Wed, 28 Oct 2020 20:05:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.3 MIME-Version: 1.0 In-Reply-To: <20201028143608.1284-1-patrik.r.jakobsson@gmail.com> Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgUGF0cmlrCgpBbSAyOC4xMC4yMCB1bSAxNTozNiBzY2hyaWViIFBhdHJpayBKYWtvYnNzb246 Cj4gR1RUIHJvbGwgc3VwcG9ydCB3YXMgdXNlZCB0byBhY2NlbGVyYXRlIGZiIHBhbm5pbmcgb24g c29tZSBtYWNoaW5lcy4KPiBVbmZvcnR1bmF0ZWx5IHRoaXMgbmV2ZXIgd29ya2VkIHByb3Blcmx5 IHdpdGggbXVsdGlwbGUgbW9uaXRvcnMgYW5kCj4gY2F1c2VkIGlzc3VlcyBvbiBvdGhlcnMgd2hl cmUgdGhlIGZyYW1lYnVmZmVyIHdvdWxkbid0IGZpdCBpbiBzdG9sZW4KPiBtZW1vcnkuIExldCdz IHJlbW92ZSBpdCEKPiAKPiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWsgSmFrb2Jzc29uIDxwYXRyaWsu ci5qYWtvYnNzb25AZ21haWwuY29tPgoKUmV2aWV3ZWQtYnk6IFRob21hcyBaaW1tZXJtYW5uIDx0 emltbWVybWFubkBzdXNlLmRlPgoKCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJh bWVidWZmZXIuYyB8IDk2ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL2dtYTUwMC9ndHQuYyAgICAgICAgIHwgNTIgKy0tLS0tLS0tLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9nbWE1MDAvZ3R0LmggICAgICAgICB8ICAzIC0KPiAgMyBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCAxMzcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1 MDAvZnJhbWVidWZmZXIuYwo+IGluZGV4IDVlZGUyNGZiNDRhZS4uMmQ2NGM1ODYwN2Y1IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9nbWE1MDAvZnJhbWVidWZmZXIuYwo+IEBAIC03NiwyNyArNzYsNiBAQCBz dGF0aWMgaW50IHBzYmZiX3NldGNvbHJlZyh1bnNpZ25lZCByZWdubywgdW5zaWduZWQgcmVkLCB1 bnNpZ25lZCBncmVlbiwKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IC1zdGF0aWMgaW50IHBzYmZi X3BhbihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwgc3RydWN0IGZiX2luZm8gKmluZm8p Cj4gLXsKPiAtCXN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIgPSBpbmZvLT5wYXI7Cj4g LQlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IGZiX2hlbHBlci0+ZmI7Cj4gLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZmItPmRldjsKPiAtCXN0cnVjdCBndHRfcmFuZ2UgKmd0dCA9IHRv X2d0dF9yYW5nZShmYi0+b2JqWzBdKTsKPiAtCj4gLQkvKgo+IC0JICoJV2UgaGF2ZSB0byBwb2tl IG91ciBub3NlIGluIGhlcmUuIFRoZSBjb3JlIGZiIGNvZGUgYXNzdW1lcwo+IC0JICoJcGFubmlu ZyBpcyBwYXJ0IG9mIHRoZSBoYXJkd2FyZSB0aGF0IGNhbiBiZSBpbnZva2VkIGJlZm9yZQo+IC0J ICoJdGhlIGFjdHVhbCBmYiBpcyBtYXBwZWQuIEluIG91ciBjYXNlIHRoYXQgaXNuJ3QgcXVpdGUg dHJ1ZS4KPiAtCSAqLwo+IC0JaWYgKGd0dC0+bnBhZ2UpIHsKPiAtCQkvKiBHVFQgcm9sbCBzaGlm dHMgaW4gNEsgcGFnZXMsIHdlIG5lZWQgdG8gc2hpZnQgdGhlIHJpZ2h0Cj4gLQkJICAgbnVtYmVy IG9mIHBhZ2VzICovCj4gLQkJaW50IHBhZ2VzID0gaW5mby0+Zml4LmxpbmVfbGVuZ3RoID4+IDEy Owo+IC0JCXBzYl9ndHRfcm9sbChkZXYsIGd0dCwgdmFyLT55b2Zmc2V0ICogcGFnZXMpOwo+IC0J fQo+IC0gICAgICAgIHJldHVybiAwOwo+IC19Cj4gLQo+ICBzdGF0aWMgdm1fZmF1bHRfdCBwc2Jm Yl92bV9mYXVsdChzdHJ1Y3Qgdm1fZmF1bHQgKnZtZikKPiAgewo+ICAJc3RydWN0IHZtX2FyZWFf c3RydWN0ICp2bWEgPSB2bWYtPnZtYTsKPiBAQCAtMTc2LDE3ICsxNTUsNiBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGZiX29wcyBwc2JmYl9vcHMgPSB7Cj4gIAkuZmJfc3luYyA9IHBzYmZiX3N5bmMs Cj4gIH07Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZiX29wcyBwc2JmYl9yb2xsX29wcyA9 IHsKPiAtCS5vd25lciA9IFRISVNfTU9EVUxFLAo+IC0JRFJNX0ZCX0hFTFBFUl9ERUZBVUxUX09Q UywKPiAtCS5mYl9zZXRjb2xyZWcgPSBwc2JmYl9zZXRjb2xyZWcsCj4gLQkuZmJfZmlsbHJlY3Qg PSBkcm1fZmJfaGVscGVyX2NmYl9maWxscmVjdCwKPiAtCS5mYl9jb3B5YXJlYSA9IGRybV9mYl9o ZWxwZXJfY2ZiX2NvcHlhcmVhLAo+IC0JLmZiX2ltYWdlYmxpdCA9IGRybV9mYl9oZWxwZXJfY2Zi X2ltYWdlYmxpdCwKPiAtCS5mYl9wYW5fZGlzcGxheSA9IHBzYmZiX3BhbiwKPiAtCS5mYl9tbWFw ID0gcHNiZmJfbW1hcCwKPiAtfTsKPiAtCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmJfb3BzIHBz YmZiX3VuYWNjZWxfb3BzID0gewo+ICAJLm93bmVyID0gVEhJU19NT0RVTEUsCj4gIAlEUk1fRkJf SEVMUEVSX0RFRkFVTFRfT1BTLAo+IEBAIC0zMTIsOCArMjgwLDYgQEAgc3RhdGljIGludCBwc2Jm Yl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiAgCWludCByZXQ7Cj4g IAlzdHJ1Y3QgZ3R0X3JhbmdlICpiYWNraW5nOwo+ICAJdTMyIGJwcCwgZGVwdGg7Cj4gLQlpbnQg Z3R0X3JvbGwgPSAwOwo+IC0JaW50IHBpdGNoX2xpbmVzID0gMDsKPiAgCj4gIAltb2RlX2NtZC53 aWR0aCA9IHNpemVzLT5zdXJmYWNlX3dpZHRoOwo+ICAJbW9kZV9jbWQuaGVpZ2h0ID0gc2l6ZXMt PnN1cmZhY2VfaGVpZ2h0Owo+IEBAIC0zMjQsNTAgKzI5MCwxNSBAQCBzdGF0aWMgaW50IHBzYmZi X2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ICAJaWYgKGJwcCA9PSAy NCkKPiAgCQlicHAgPSAzMjsKPiAgCj4gLQlkbyB7Cj4gLQkJLyoKPiAtCQkgKiBBY2NlbGVyYXRp b24gdmlhIHRoZSBHVFQgcmVxdWlyZXMgcGl0Y2ggdG8gYmUKPiAtCQkgKiBwb3dlciBvZiB0d28g YWxpZ25lZC4gUHJlZmVyYWJseSBwYWdlIGJ1dCBsZXNzCj4gLQkJICogaXMgb2sgd2l0aCBzb21l IGZvbnRzCj4gLQkJICovCj4gLSAgICAgICAgCW1vZGVfY21kLnBpdGNoZXNbMF0gPSAgQUxJR04o bW9kZV9jbWQud2lkdGggKiAoKGJwcCArIDcpIC8gOCksIDQwOTYgPj4gcGl0Y2hfbGluZXMpOwo+ IC0KPiAtICAgICAgICAJc2l6ZSA9IG1vZGVfY21kLnBpdGNoZXNbMF0gKiBtb2RlX2NtZC5oZWln aHQ7Cj4gLSAgICAgICAgCXNpemUgPSBBTElHTihzaXplLCBQQUdFX1NJWkUpOwo+IC0KPiAtCQkv KiBBbGxvY2F0ZSB0aGUgZmIgaW4gdGhlIEdUVCB3aXRoIHN0b2xlbiBwYWdlIGJhY2tpbmcgKi8K PiAtCQliYWNraW5nID0gcHNiZmJfYWxsb2MoZGV2LCBzaXplKTsKPiAtCj4gLQkJaWYgKHBpdGNo X2xpbmVzKQo+IC0JCQlwaXRjaF9saW5lcyAqPSAyOwo+IC0JCWVsc2UKPiAtCQkJcGl0Y2hfbGlu ZXMgPSAxOwo+IC0JCWd0dF9yb2xsKys7Cj4gLQl9IHdoaWxlIChiYWNraW5nID09IE5VTEwgJiYg cGl0Y2hfbGluZXMgPD0gMTYpOwo+IC0KPiAtCS8qIFRoZSBmaW5hbCBwaXRjaCB3ZSBhY2NlcHRl ZCBpZiB3ZSBzdWNjZWVkZWQgKi8KPiAtCXBpdGNoX2xpbmVzIC89IDI7Cj4gLQo+IC0JaWYgKGJh Y2tpbmcgPT0gTlVMTCkgewo+IC0JCS8qCj4gLQkJICoJV2UgY291bGRuJ3QgZ2V0IHRoZSBzcGFj ZSB3ZSB3YW50ZWQsIGZhbGwgYmFjayB0byB0aGUKPiAtCQkgKglkaXNwbGF5IGVuZ2luZSByZXF1 aXJlbWVudCBpbnN0ZWFkLiAgVGhlIEhXIHJlcXVpcmVzCj4gLQkJICoJdGhlIHBpdGNoIHRvIGJl IDY0IGJ5dGUgYWxpZ25lZAo+IC0JCSAqLwo+IC0KPiAtCQlndHRfcm9sbCA9IDA7CS8qIERvbid0 IHVzZSBHVFQgYWNjZWxlcmF0ZWQgc2Nyb2xsaW5nICovCj4gLQkJcGl0Y2hfbGluZXMgPSA2NDsK PiAtCj4gLQkJbW9kZV9jbWQucGl0Y2hlc1swXSA9ICBBTElHTihtb2RlX2NtZC53aWR0aCAqICgo YnBwICsgNykgLyA4KSwgNjQpOwo+IC0KPiAtCQlzaXplID0gbW9kZV9jbWQucGl0Y2hlc1swXSAq IG1vZGVfY21kLmhlaWdodDsKPiAtCQlzaXplID0gQUxJR04oc2l6ZSwgUEFHRV9TSVpFKTsKPiAt Cj4gLQkJLyogQWxsb2NhdGUgdGhlIGZyYW1lYnVmZmVyIGluIHRoZSBHVFQgd2l0aCBzdG9sZW4g cGFnZSBiYWNraW5nICovCj4gLQkJYmFja2luZyA9IHBzYmZiX2FsbG9jKGRldiwgc2l6ZSk7Cj4g LQkJaWYgKGJhY2tpbmcgPT0gTlVMTCkKPiAtCQkJcmV0dXJuIC1FTk9NRU07Cj4gLQl9Cj4gKwlt b2RlX2NtZC5waXRjaGVzWzBdID0gQUxJR04obW9kZV9jbWQud2lkdGggKiBESVZfUk9VTkRfVVAo YnBwLCA4KSwgNjQpOwo+ICsKPiArCXNpemUgPSBtb2RlX2NtZC5waXRjaGVzWzBdICogbW9kZV9j bWQuaGVpZ2h0Owo+ICsJc2l6ZSA9IEFMSUdOKHNpemUsIFBBR0VfU0laRSk7Cj4gKwo+ICsJLyog QWxsb2NhdGUgdGhlIGZyYW1lYnVmZmVyIGluIHRoZSBHVFQgd2l0aCBzdG9sZW4gcGFnZSBiYWNr aW5nICovCj4gKwliYWNraW5nID0gcHNiZmJfYWxsb2MoZGV2LCBzaXplKTsKPiArCWlmIChiYWNr aW5nID09IE5VTEwpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICAJbWVtc2V0KGRldl9wcml2 LT52cmFtX2FkZHIgKyBiYWNraW5nLT5vZmZzZXQsIDAsIHNpemUpOwo+ICAKPiBAQCAtMzg3LDE3 ICszMTgsMTQgQEAgc3RhdGljIGludCBwc2JmYl9jcmVhdGUoc3RydWN0IGRybV9mYl9oZWxwZXIg KmZiX2hlbHBlciwKPiAgCj4gIAlmYl9oZWxwZXItPmZiID0gZmI7Cj4gIAo+IC0JaWYgKGRldl9w cml2LT5vcHMtPmFjY2VsXzJkICYmIHBpdGNoX2xpbmVzID4gOCkJLyogMkQgZW5naW5lICovCj4g KwlpZiAoZGV2X3ByaXYtPm9wcy0+YWNjZWxfMmQpCS8qIDJEIGVuZ2luZSAqLwo+ICAJCWluZm8t PmZib3BzID0gJnBzYmZiX29wczsKPiAtCWVsc2UgaWYgKGd0dF9yb2xsKSB7CS8qIEdUVCByb2xs aW5nIHNlZW1zIGJlc3QgKi8KPiAtCQlpbmZvLT5mYm9wcyA9ICZwc2JmYl9yb2xsX29wczsKPiAt CQlpbmZvLT5mbGFncyB8PSBGQklORk9fSFdBQ0NFTF9ZUEFOOwo+IC0JfSBlbHNlCS8qIFNvZnR3 YXJlICovCj4gKwllbHNlCS8qIFNvZnR3YXJlICovCj4gIAkJaW5mby0+ZmJvcHMgPSAmcHNiZmJf dW5hY2NlbF9vcHM7Cj4gIAo+ICAJaW5mby0+Zml4LnNtZW1fc3RhcnQgPSBkZXYtPm1vZGVfY29u ZmlnLmZiX2Jhc2U7Cj4gIAlpbmZvLT5maXguc21lbV9sZW4gPSBzaXplOwo+IC0JaW5mby0+Zml4 Lnl3cmFwc3RlcCA9IGd0dF9yb2xsOwo+ICsJaW5mby0+Zml4Lnl3cmFwc3RlcCA9IDA7Cj4gIAlp bmZvLT5maXgueXBhbnN0ZXAgPSAwOwo+ICAKPiAgCS8qIEFjY2Vzc2VkIHN0b2xlbiBtZW1vcnkg ZGlyZWN0bHkgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9ndHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvZ3R0LmMKPiBpbmRleCA5Mjc4YmNmYWQxYmYuLmQyNDZi MWY3MDM2NiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2d0dC5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9ndHQuYwo+IEBAIC05NiwxNiArOTYsMTIgQEAgc3Rh dGljIGludCBwc2JfZ3R0X2luc2VydChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZ3R0 X3JhbmdlICpyLAo+ICAJfQo+ICAKPiAgCS8qIFdyaXRlIG91ciBwYWdlIGVudHJpZXMgaW50byB0 aGUgR1RUIGl0c2VsZiAqLwo+IC0JZm9yIChpID0gci0+cm9sbDsgaSA8IHItPm5wYWdlOyBpKysp IHsKPiAtCQlwdGUgPSBwc2JfZ3R0X21hc2tfcHRlKHBhZ2VfdG9fcGZuKHItPnBhZ2VzW2ldKSwK PiAtCQkJCSAgICAgICBQU0JfTU1VX0NBQ0hFRF9NRU1PUlkpOwo+IC0JCWlvd3JpdGUzMihwdGUs IGd0dF9zbG90KyspOwo+IC0JfQo+IC0JZm9yIChpID0gMDsgaSA8IHItPnJvbGw7IGkrKykgewo+ ICsJZm9yIChpID0gMDsgaSA8IHItPm5wYWdlOyBpKyspIHsKPiAgCQlwdGUgPSBwc2JfZ3R0X21h c2tfcHRlKHBhZ2VfdG9fcGZuKHItPnBhZ2VzW2ldKSwKPiAgCQkJCSAgICAgICBQU0JfTU1VX0NB Q0hFRF9NRU1PUlkpOwo+ICAJCWlvd3JpdGUzMihwdGUsIGd0dF9zbG90KyspOwo+ICAJfQo+ICsK PiAgCS8qIE1ha2Ugc3VyZSBhbGwgdGhlIGVudHJpZXMgYXJlIHNldCBiZWZvcmUgd2UgcmV0dXJu ICovCj4gIAlpb3JlYWQzMihndHRfc2xvdCAtIDEpOwo+ICAKPiBAQCAtMTQwLDQ5ICsxMzYsNiBA QCBzdGF0aWMgdm9pZCBwc2JfZ3R0X3JlbW92ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1 Y3QgZ3R0X3JhbmdlICpyKQo+ICAJc2V0X3BhZ2VzX2FycmF5X3diKHItPnBhZ2VzLCByLT5ucGFn ZSk7Cj4gIH0KPiAgCj4gLS8qKgo+IC0gKglwc2JfZ3R0X3JvbGwJLQlzZXQgc2Nyb2xsaW5nIHBv c2l0aW9uCj4gLSAqCUBkZXY6IG91ciBEUk0gZGV2aWNlCj4gLSAqCUByOiB0aGUgZ3R0IG1hcHBp bmcgd2UgYXJlIHVzaW5nCj4gLSAqCUByb2xsOiByb2xsIG9mZnNldAo+IC0gKgo+IC0gKglSb2xs IGFuIGV4aXN0aW5nIHBpbm5lZCBtYXBwaW5nIGJ5IG1vdmluZyB0aGUgcGFnZXMgdGhyb3VnaCB0 aGUgR1RULgo+IC0gKglUaGlzIGFsbG93cyB1cyB0byBpbXBsZW1lbnQgaGFyZHdhcmUgc2Nyb2xs aW5nIG9uIHRoZSBjb25zb2xlcyB3aXRob3V0Cj4gLSAqCWEgMkQgZW5naW5lCj4gLSAqLwo+IC12 b2lkIHBzYl9ndHRfcm9sbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZ3R0X3Jhbmdl ICpyLCBpbnQgcm9sbCkKPiAtewo+IC0JdTMyIF9faW9tZW0gKmd0dF9zbG90Owo+IC0JdTMyIHB0 ZTsKPiAtCWludCBpOwo+IC0KPiAtCWlmIChyb2xsID49IHItPm5wYWdlKSB7Cj4gLQkJV0FSTl9P TigxKTsKPiAtCQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0Jci0+cm9sbCA9IHJvbGw7Cj4gLQo+IC0J LyogTm90IGN1cnJlbnRseSBpbiB0aGUgR1RUIC0gbm8gd29ycnkgd2Ugd2lsbCB3cml0ZSB0aGUg bWFwcGluZyBhdAo+IC0JICAgdGhlIHJpZ2h0IHBvc2l0aW9uIHdoZW4gaXQgZ2V0cyBwaW5uZWQg Ki8KPiAtCWlmICghci0+c3RvbGVuICYmICFyLT5pbl9nYXJ0KQo+IC0JCXJldHVybjsKPiAtCj4g LQlndHRfc2xvdCA9IHBzYl9ndHRfZW50cnkoZGV2LCByKTsKPiAtCj4gLQlmb3IgKGkgPSByLT5y b2xsOyBpIDwgci0+bnBhZ2U7IGkrKykgewo+IC0JCXB0ZSA9IHBzYl9ndHRfbWFza19wdGUocGFn ZV90b19wZm4oci0+cGFnZXNbaV0pLAo+IC0JCQkJICAgICAgIFBTQl9NTVVfQ0FDSEVEX01FTU9S WSk7Cj4gLQkJaW93cml0ZTMyKHB0ZSwgZ3R0X3Nsb3QrKyk7Cj4gLQl9Cj4gLQlmb3IgKGkgPSAw OyBpIDwgci0+cm9sbDsgaSsrKSB7Cj4gLQkJcHRlID0gcHNiX2d0dF9tYXNrX3B0ZShwYWdlX3Rv X3BmbihyLT5wYWdlc1tpXSksCj4gLQkJCQkgICAgICAgUFNCX01NVV9DQUNIRURfTUVNT1JZKTsK PiAtCQlpb3dyaXRlMzIocHRlLCBndHRfc2xvdCsrKTsKPiAtCX0KPiAtCWlvcmVhZDMyKGd0dF9z bG90IC0gMSk7Cj4gLX0KPiAtCj4gIC8qKgo+ICAgKglwc2JfZ3R0X2F0dGFjaF9wYWdlcwktCWF0 dGFjaCBhbmQgcGluIEdFTSBwYWdlcwo+ICAgKglAZ3Q6IHRoZSBndHQgcmFuZ2UKPiBAQCAtMzQ2 LDcgKzI5OSw2IEBAIHN0cnVjdCBndHRfcmFuZ2UgKnBzYl9ndHRfYWxsb2NfcmFuZ2Uoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgaW50IGxlbiwKPiAgCWd0LT5yZXNvdXJjZS5uYW1lID0gbmFtZTsK PiAgCWd0LT5zdG9sZW4gPSBiYWNrZWQ7Cj4gIAlndC0+aW5fZ2FydCA9IGJhY2tlZDsKPiAtCWd0 LT5yb2xsID0gMDsKPiAgCS8qIEVuc3VyZSB0aGlzIGlzIHNldCBmb3Igbm9uIEdFTSBvYmplY3Rz ICovCj4gIAlndC0+Z2VtLmRldiA9IGRldjsKPiAgCXJldCA9IGFsbG9jYXRlX3Jlc291cmNlKGRl dl9wcml2LT5ndHRfbWVtLCAmZ3QtPnJlc291cmNlLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vZ21hNTAwL2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9ndHQuaAo+IGluZGV4 IDNjZjE5MDI5NWFkMy4uMmJmMTY1ODQ5ZWJlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvZ3R0LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2d0dC5oCj4gQEAg LTM3LDcgKzM3LDYgQEAgc3RydWN0IGd0dF9yYW5nZSB7Cj4gIAlib29sIG1tYXBwaW5nOwkJCS8q IElzIG1tYXBwYWJsZSAqLwo+ICAJc3RydWN0IHBhZ2UgKipwYWdlczsJCS8qIEJhY2tpbmcgcGFn ZXMgaWYgcHJlc2VudCAqLwo+ICAJaW50IG5wYWdlOwkJCS8qIE51bWJlciBvZiBiYWNraW5nIHBh Z2VzICovCj4gLQlpbnQgcm9sbDsJCQkvKiBSb2xsIGFwcGxpZWQgdG8gdGhlIEdUVCBlbnRyaWVz ICovCj4gIH07Cj4gIAo+ICAjZGVmaW5lIHRvX2d0dF9yYW5nZSh4KSBjb250YWluZXJfb2YoeCwg c3RydWN0IGd0dF9yYW5nZSwgZ2VtKQo+IEBAIC00OSw3ICs0OCw1IEBAIGV4dGVybiB2b2lkIHBz Yl9ndHRfa3JlZl9wdXQoc3RydWN0IGd0dF9yYW5nZSAqZ3QpOwo+ICBleHRlcm4gdm9pZCBwc2Jf Z3R0X2ZyZWVfcmFuZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGd0dF9yYW5nZSAq Z3QpOwo+ICBleHRlcm4gaW50IHBzYl9ndHRfcGluKHN0cnVjdCBndHRfcmFuZ2UgKmd0KTsKPiAg ZXh0ZXJuIHZvaWQgcHNiX2d0dF91bnBpbihzdHJ1Y3QgZ3R0X3JhbmdlICpndCk7Cj4gLWV4dGVy biB2b2lkIHBzYl9ndHRfcm9sbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+IC0JCQkJCXN0cnVj dCBndHRfcmFuZ2UgKmd0LCBpbnQgcm9sbCk7Cj4gIGV4dGVybiBpbnQgcHNiX2d0dF9yZXN0b3Jl KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAjZW5kaWYKPiAKCi0tIApUaG9tYXMgWmltbWVy bWFubgpHcmFwaGljcyBEcml2ZXIgRGV2ZWxvcGVyClNVU0UgU29mdHdhcmUgU29sdXRpb25zIEdl cm1hbnkgR21iSApNYXhmZWxkc3RyLiA1LCA5MDQwOSBOw7xybmJlcmcsIEdlcm1hbnkKKEhSQiAz NjgwOSwgQUcgTsO8cm5iZXJnKQpHZXNjaMOkZnRzZsO8aHJlcjogRmVsaXggSW1lbmTDtnJmZmVy Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=