From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [deathsimple/drm-next-3.16][1/4] drm/radeon/hdmi: use separated file for DCE 3.1/3.2 code Date: Wed, 14 May 2014 23:27:56 +0200 Message-ID: <1400102879-3164-1-git-send-email-zajec5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ee0-f42.google.com (mail-ee0-f42.google.com [74.125.83.42]) by gabe.freedesktop.org (Postfix) with ESMTP id 9EC126E118 for ; Wed, 14 May 2014 14:28:15 -0700 (PDT) Received: by mail-ee0-f42.google.com with SMTP id d49so101906eek.1 for ; Wed, 14 May 2014 14:28:14 -0700 (PDT) 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, =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org RENFIDMuMSBhbmQgMy4yIHNob3VsZCBiZSBwcm9ncmFtbWVkIGluIGEgZGlmZmVyZW50IHdheSB0 aGFuIERDRSAyIGFuZApEQ0UgMy4gVGhlIG9yZGVyIG9mIHNldHRpbmcgcmVnaXN0ZXJzIGFuZCBz ZXRzIG9mIHJlZ2lzdGVycyBhcmUKZGlmZmVyZW50LgpJdCdzIHN0aWxsIHVuc3VyZSBob3cgd2Ug d2lsbCBoYW5kbGUgRENFIDMuMSB2cy4gRENFIDMuMiwgc2luY2UgdGhleQpoYXZlIGZldyBkaWZm ZXJlbmNlcyBhcyB3ZWxsLgpGb3Igbm93IHNlcGFyYXRlIERDRSAyIGFuZCBEQ0UgMyBwYXRoLCBz byB3ZSBjYW4gd29yayBvbiBpdCB3aXRob3V0IGEKcmlzayBvZiBicmVha2luZyBEQ0UgMy4xKy4K ClRoaXMgaGFzIGJlZW4gdGVzdGVkIGZvciBwb3NzaWJsZSByZWdyZXNzaW9ucyBvbiBEQ0UzMiBI RDQ1NTAgKFJWNzEwKS4KClNpZ25lZC1vZmYtYnk6IFJhZmHFgiBNacWCZWNraSA8emFqZWM1QGdt YWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlICAgICAgfCAgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYyB8IDIyMiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAwX2hk bWkuYyAgIHwgMTQ5ICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hc2ljLmMgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2FzaWMuaCB8ICAgNyArKwogNSBmaWxlcyBjaGFuZ2VkLCAyNDEgaW5zZXJ0aW9ucygrKSwgMTQx IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v ZGNlM18xX2FmbXQuYwoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vTWFrZWZp bGUgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL01ha2VmaWxlCmluZGV4IDA5NDMzNTMuLmRiY2Jm ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vTWFrZWZpbGUKKysrIGIvZHJp dmVycy9ncHUvZHJtL3JhZGVvbi9NYWtlZmlsZQpAQCAtNzIsNyArNzIsNyBAQCByYWRlb24teSAr PSByYWRlb25fZGV2aWNlLm8gcmFkZW9uX2FzaWMubyByYWRlb25fa21zLm8gXAogCXJhZGVvbl9j cy5vIHJhZGVvbl9iaW9zLm8gcmFkZW9uX2JlbmNobWFyay5vIHIxMDAubyByMzAwLm8gcjQyMC5v IFwKIAlyczQwMC5vIHJzNjAwLm8gcnM2OTAubyBydjUxNS5vIHI1MjAubyByNjAwLm8gcnY3NzAu byByYWRlb25fdGVzdC5vIFwKIAlyMjAwLm8gcmFkZW9uX2xlZ2FjeV90di5vIHI2MDBfY3MubyBy NjAwX2JsaXRfc2hhZGVycy5vIFwKLQlyYWRlb25fcG0ubyBhdG9tYmlvc19kcC5vIHI2MDBfYXVk aW8ubyByNjAwX2hkbWkubyBcCisJcmFkZW9uX3BtLm8gYXRvbWJpb3NfZHAubyByNjAwX2F1ZGlv Lm8gcjYwMF9oZG1pLm8gZGNlM18xX2FmbXQubyBcCiAJZXZlcmdyZWVuLm8gZXZlcmdyZWVuX2Nz Lm8gZXZlcmdyZWVuX2JsaXRfc2hhZGVycy5vIFwKIAlldmVyZ3JlZW5faGRtaS5vIHJhZGVvbl90 cmFjZV9wb2ludHMubyBuaS5vIGNheW1hbl9ibGl0X3NoYWRlcnMubyBcCiAJYXRvbWJpb3NfZW5j b2RlcnMubyByYWRlb25fc2VtYXBob3JlLm8gcmFkZW9uX3NhLm8gYXRvbWJpb3NfaTJjLm8gc2ku byBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTNfMV9hZm10LmMgYi9k cml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTNfMV9hZm10LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMzljYjkyMgotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZGNlM18xX2FmbXQuYwpAQCAtMCwwICsxLDIyMiBAQAorI2luY2x1ZGUgPGxpbnV4 L2hkbWkuaD4KKyNpbmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgInJhZGVvbi5oIgorI2lu Y2x1ZGUgInJhZGVvbl9hc2ljLmgiCisjaW5jbHVkZSAicjYwMGQuaCIKKworc3RhdGljIHZvaWQg ZGNlM18yX2FmbXRfd3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9uKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlcikKK3sKKwlzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiA9IGVuY29kZXItPmRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKKwlzdHJ1Y3Qg cmFkZW9uX2Nvbm5lY3RvciAqcmFkZW9uX2Nvbm5lY3RvciA9IE5VTEw7CisJdTMyIHRtcDsKKwl1 OCAqc2FkYjsKKwlpbnQgc2FkX2NvdW50OworCisJbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0 b3IsICZlbmNvZGVyLT5kZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7CisJ CWlmIChjb25uZWN0b3ItPmVuY29kZXIgPT0gZW5jb2RlcikgeworCQkJcmFkZW9uX2Nvbm5lY3Rv ciA9IHRvX3JhZGVvbl9jb25uZWN0b3IoY29ubmVjdG9yKTsKKwkJCWJyZWFrOworCQl9CisJfQor CisJaWYgKCFyYWRlb25fY29ubmVjdG9yKSB7CisJCURSTV9FUlJPUigiQ291bGRuJ3QgZmluZCBl bmNvZGVyJ3MgY29ubmVjdG9yXG4iKTsKKwkJcmV0dXJuOworCX0KKworCXNhZF9jb3VudCA9IGRy bV9lZGlkX3RvX3NwZWFrZXJfYWxsb2NhdGlvbihyYWRlb25fY29ubmVjdG9yLT5lZGlkLCAmc2Fk Yik7CisJaWYgKHNhZF9jb3VudCA8IDApIHsKKwkJRFJNX0VSUk9SKCJDb3VsZG4ndCByZWFkIFNw ZWFrZXIgQWxsb2NhdGlvbiBEYXRhIEJsb2NrOiAlZFxuIiwgc2FkX2NvdW50KTsKKwkJcmV0dXJu OworCX0KKworCS8qIHByb2dyYW0gdGhlIHNwZWFrZXIgYWxsb2NhdGlvbiAqLworCXRtcCA9IFJS RUczMihBWl9GMF9DT0RFQ19QSU4wX0NPTlRST0xfQ0hBTk5FTF9TUEVBS0VSKTsKKwl0bXAgJj0g fihEUF9DT05ORUNUSU9OIHwgU1BFQUtFUl9BTExPQ0FUSU9OX01BU0spOworCS8qIHNldCBIRE1J IG1vZGUgKi8KKwl0bXAgfD0gSERNSV9DT05ORUNUSU9OOworCWlmIChzYWRfY291bnQpCisJCXRt cCB8PSBTUEVBS0VSX0FMTE9DQVRJT04oc2FkYlswXSk7CisJZWxzZQorCQl0bXAgfD0gU1BFQUtF Ul9BTExPQ0FUSU9OKDUpOyAvKiBzdGVyZW8gKi8KKwlXUkVHMzIoQVpfRjBfQ09ERUNfUElOMF9D T05UUk9MX0NIQU5ORUxfU1BFQUtFUiwgdG1wKTsKKworCWtmcmVlKHNhZGIpOworfQorCitzdGF0 aWMgdm9pZCBkY2UzXzJfYWZtdF93cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCit7CisJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBlbmNvZGVyLT5kZXYtPmRl dl9wcml2YXRlOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7CisJc3RydWN0IHJh ZGVvbl9jb25uZWN0b3IgKnJhZGVvbl9jb25uZWN0b3IgPSBOVUxMOworCXN0cnVjdCBjZWFfc2Fk ICpzYWRzOworCWludCBpLCBzYWRfY291bnQ7CisKKwlzdGF0aWMgY29uc3QgdTE2IGVsZF9yZWdf dG9fdHlwZVtdWzJdID0geworCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVND UklQVE9SMCwgSERNSV9BVURJT19DT0RJTkdfVFlQRV9QQ00gfSwKKwkJeyBBWl9GMF9DT0RFQ19Q SU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjEsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfQUMz IH0sCisJCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IyLCBIRE1J X0FVRElPX0NPRElOR19UWVBFX01QRUcxIH0sCisJCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9M X0FVRElPX0RFU0NSSVBUT1IzLCBIRE1JX0FVRElPX0NPRElOR19UWVBFX01QMyB9LAorCQl7IEFa X0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVNDUklQVE9SNCwgSERNSV9BVURJT19DT0RJ TkdfVFlQRV9NUEVHMiB9LAorCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVND UklQVE9SNSwgSERNSV9BVURJT19DT0RJTkdfVFlQRV9BQUNfTEMgfSwKKwkJeyBBWl9GMF9DT0RF Q19QSU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjYsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVf RFRTIH0sCisJCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1I3LCBI RE1JX0FVRElPX0NPRElOR19UWVBFX0FUUkFDIH0sCisJCXsgQVpfRjBfQ09ERUNfUElOMF9DT05U Uk9MX0FVRElPX0RFU0NSSVBUT1I5LCBIRE1JX0FVRElPX0NPRElOR19UWVBFX0VBQzMgfSwKKwkJ eyBBWl9GMF9DT0RFQ19QSU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjEwLCBIRE1JX0FVRElP X0NPRElOR19UWVBFX0RUU19IRCB9LAorCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJ T19ERVNDUklQVE9SMTEsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfTUxQIH0sCisJCXsgQVpfRjBf Q09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IxMywgSERNSV9BVURJT19DT0RJTkdf VFlQRV9XTUFfUFJPIH0sCisJfTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAm ZW5jb2Rlci0+ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgeworCQlpZiAo Y29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpIHsKKwkJCXJhZGVvbl9jb25uZWN0b3IgPSB0 b19yYWRlb25fY29ubmVjdG9yKGNvbm5lY3Rvcik7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlm ICghcmFkZW9uX2Nvbm5lY3RvcikgeworCQlEUk1fRVJST1IoIkNvdWxkbid0IGZpbmQgZW5jb2Rl cidzIGNvbm5lY3RvclxuIik7CisJCXJldHVybjsKKwl9CisKKwlzYWRfY291bnQgPSBkcm1fZWRp ZF90b19zYWQocmFkZW9uX2Nvbm5lY3Rvci0+ZWRpZCwgJnNhZHMpOworCWlmIChzYWRfY291bnQg PCAwKSB7CisJCURSTV9FUlJPUigiQ291bGRuJ3QgcmVhZCBTQURzOiAlZFxuIiwgc2FkX2NvdW50 KTsKKwkJcmV0dXJuOworCX0KKwlCVUdfT04oIXNhZHMpOworCisJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoZWxkX3JlZ190b190eXBlKTsgaSsrKSB7CisJCXUzMiB2YWx1ZSA9IDA7CisJCXU4 IHN0ZXJlb19mcmVxcyA9IDA7CisJCWludCBtYXhfY2hhbm5lbHMgPSAtMTsKKwkJaW50IGo7CisK KwkJZm9yIChqID0gMDsgaiA8IHNhZF9jb3VudDsgaisrKSB7CisJCQlzdHJ1Y3QgY2VhX3NhZCAq c2FkID0gJnNhZHNbal07CisKKwkJCWlmIChzYWQtPmZvcm1hdCA9PSBlbGRfcmVnX3RvX3R5cGVb aV1bMV0pIHsKKwkJCQlpZiAoc2FkLT5jaGFubmVscyA+IG1heF9jaGFubmVscykgeworCQkJCQl2 YWx1ZSA9IE1BWF9DSEFOTkVMUyhzYWQtPmNoYW5uZWxzKSB8CisJCQkJCQlERVNDUklQVE9SX0JZ VEVfMihzYWQtPmJ5dGUyKSB8CisJCQkJCQlTVVBQT1JURURfRlJFUVVFTkNJRVMoc2FkLT5mcmVx KTsKKwkJCQkJbWF4X2NoYW5uZWxzID0gc2FkLT5jaGFubmVsczsKKwkJCQl9CisKKwkJCQlpZiAo c2FkLT5mb3JtYXQgPT0gSERNSV9BVURJT19DT0RJTkdfVFlQRV9QQ00pCisJCQkJCXN0ZXJlb19m cmVxcyB8PSBzYWQtPmZyZXE7CisJCQkJZWxzZQorCQkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJ CXZhbHVlIHw9IFNVUFBPUlRFRF9GUkVRVUVOQ0lFU19TVEVSRU8oc3RlcmVvX2ZyZXFzKTsKKwor CQlXUkVHMzIoZWxkX3JlZ190b190eXBlW2ldWzBdLCB2YWx1ZSk7CisJfQorCisJa2ZyZWUoc2Fk cyk7Cit9CisKKy8qCisgKiB1cGRhdGUgdGhlIGluZm8gZnJhbWVzIHdpdGggdGhlIGRhdGEgZnJv bSB0aGUgY3VycmVudCBkaXNwbGF5IG1vZGUKKyAqLwordm9pZCBkY2UzXzFfaGRtaV9zZXRtb2Rl KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKKwlzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IHJhZGVvbl9l bmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVyKGVuY29kZXIpOworCXN0 cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnID0gcmFkZW9uX2VuY29kZXItPmVuY19w cml2OworCXU4IGJ1ZmZlcltIRE1JX0lORk9GUkFNRV9IRUFERVJfU0laRSArIEhETUlfQVZJX0lO Rk9GUkFNRV9TSVpFXTsKKwlzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lIGZyYW1lOworCXVpbnQz Ml90IG9mZnNldDsKKwlzc2l6ZV90IGVycjsKKworCWlmICghZGlnIHx8ICFkaWctPmFmbXQpCisJ CXJldHVybjsKKworCS8qIFNpbGVudCwgcjYwMF9oZG1pX2VuYWJsZSB3aWxsIHJhaXNlIFdBUk4g Zm9yIHVzICovCisJaWYgKCFkaWctPmFmbXQtPmVuYWJsZWQpCisJCXJldHVybjsKKwlvZmZzZXQg PSBkaWctPmFmbXQtPm9mZnNldDsKKworCS8qIGRpc2FibGUgYXVkaW8gcHJpb3IgdG8gc2V0dGlu ZyB1cCBodyAqLworCWRpZy0+YWZtdC0+cGluID0gcjYwMF9hdWRpb19nZXRfcGluKHJkZXYpOwor CXI2MDBfYXVkaW9fZW5hYmxlKHJkZXYsIGRpZy0+YWZtdC0+cGluLCBmYWxzZSk7CisKKwlyNjAw X2F1ZGlvX3NldF9kdG8oZW5jb2RlciwgbW9kZS0+Y2xvY2spOworCisJV1JFRzMyKEhETUkwX1ZC SV9QQUNLRVRfQ09OVFJPTCArIG9mZnNldCwKKwkgICAgICAgSERNSTBfTlVMTF9TRU5EKTsgLyog c2VuZCBudWxsIHBhY2tldHMgd2hlbiByZXF1aXJlZCAqLworCisJV1JFRzMyKEhETUkwX0FVRElP X0NSQ19DT05UUk9MICsgb2Zmc2V0LCAweDEwMDApOworCisJaWYgKEFTSUNfSVNfRENFMzIocmRl dikpIHsKKwkJV1JFRzMyKEhETUkwX0FVRElPX1BBQ0tFVF9DT05UUk9MICsgb2Zmc2V0LAorCQkg ICAgICAgSERNSTBfQVVESU9fREVMQVlfRU4oMSkgfCAvKiBkZWZhdWx0IGF1ZGlvIGRlbGF5ICov CisJCSAgICAgICBIRE1JMF9BVURJT19QQUNLRVRTX1BFUl9MSU5FKDMpKTsgLyogc2hvdWxkIGJl IHN1ZmZpZW50IGZvciBhbGwgYXVkaW8gbW9kZXMgYW5kIHNtYWxsIGVub3VnaCBmb3IgYWxsIGhi bGFua3MgKi8KKwkJV1JFRzMyKEFGTVRfQVVESU9fUEFDS0VUX0NPTlRST0wgKyBvZmZzZXQsCisJ CSAgICAgICBBRk1UX0FVRElPX1NBTVBMRV9TRU5EIHwgLyogc2VuZCBhdWRpbyBwYWNrZXRzICov CisJCSAgICAgICBBRk1UXzYwOTU4X0NTX1VQREFURSk7IC8qIGFsbG93IDYwOTU4IGNoYW5uZWwg c3RhdHVzIGZpZWxkcyB0byBiZSB1cGRhdGVkICovCisJfSBlbHNlIHsKKwkJV1JFRzMyKEhETUkw X0FVRElPX1BBQ0tFVF9DT05UUk9MICsgb2Zmc2V0LAorCQkgICAgICAgSERNSTBfQVVESU9fU0FN UExFX1NFTkQgfCAvKiBzZW5kIGF1ZGlvIHBhY2tldHMgKi8KKwkJICAgICAgIEhETUkwX0FVRElP X0RFTEFZX0VOKDEpIHwgLyogZGVmYXVsdCBhdWRpbyBkZWxheSAqLworCQkgICAgICAgSERNSTBf QVVESU9fUEFDS0VUU19QRVJfTElORSgzKSB8IC8qIHNob3VsZCBiZSBzdWZmaWVudCBmb3IgYWxs IGF1ZGlvIG1vZGVzIGFuZCBzbWFsbCBlbm91Z2ggZm9yIGFsbCBoYmxhbmtzICovCisJCSAgICAg ICBIRE1JMF82MDk1OF9DU19VUERBVEUpOyAvKiBhbGxvdyA2MDk1OCBjaGFubmVsIHN0YXR1cyBm aWVsZHMgdG8gYmUgdXBkYXRlZCAqLworCX0KKworCWlmIChBU0lDX0lTX0RDRTMyKHJkZXYpKSB7 CisJCWRjZTNfMl9hZm10X3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlvbihlbmNvZGVyKTsKKwkJZGNl M18yX2FmbXRfd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7CisJfQorCisJV1JFRzMyKEhETUkwX0FD Ul9QQUNLRVRfQ09OVFJPTCArIG9mZnNldCwKKwkgICAgICAgSERNSTBfQUNSX1NPVVJDRSB8IC8q IHNlbGVjdCBTVyBDVFMgdmFsdWUgLSBYWFggdmVyaWZ5IHRoYXQgaHcgQ1RTIHdvcmtzIG9uIGFs bCBmYW1pbGllcyAqLworCSAgICAgICBIRE1JMF9BQ1JfQVVUT19TRU5EKTsgLyogYWxsb3cgaHcg dG8gc2VudCBBQ1IgcGFja2V0cyB3aGVuIHJlcXVpcmVkICovCisKKwlXUkVHMzIoSERNSTBfVkJJ X1BBQ0tFVF9DT05UUk9MICsgb2Zmc2V0LAorCSAgICAgICBIRE1JMF9OVUxMX1NFTkQgfCAvKiBz ZW5kIG51bGwgcGFja2V0cyB3aGVuIHJlcXVpcmVkICovCisJICAgICAgIEhETUkwX0dDX1NFTkQg fCAvKiBzZW5kIGdlbmVyYWwgY29udHJvbCBwYWNrZXRzICovCisJICAgICAgIEhETUkwX0dDX0NP TlQpOyAvKiBzZW5kIGdlbmVyYWwgY29udHJvbCBwYWNrZXRzIGV2ZXJ5IGZyYW1lICovCisKKwkv KiBUT0RPOiBIRE1JMF9BVURJT19JTkZPX1VQREFURSAqLworCVdSRUczMihIRE1JMF9JTkZPRlJB TUVfQ09OVFJPTDAgKyBvZmZzZXQsCisJICAgICAgIEhETUkwX0FWSV9JTkZPX1NFTkQgfCAvKiBl bmFibGUgQVZJIGluZm8gZnJhbWVzICovCisJICAgICAgIEhETUkwX0FWSV9JTkZPX0NPTlQgfCAv KiBzZW5kIEFWSSBpbmZvIGZyYW1lcyBldmVyeSBmcmFtZS9maWVsZCAqLworCSAgICAgICBIRE1J MF9BVURJT19JTkZPX1NFTkQgfCAvKiBlbmFibGUgYXVkaW8gaW5mbyBmcmFtZXMgKGZyYW1lcyB3 b24ndCBiZSBzZXQgdW50aWwgYXVkaW8gaXMgZW5hYmxlZCkgKi8KKwkgICAgICAgSERNSTBfQVVE SU9fSU5GT19DT05UKTsgLyogc2VuZCBhdWRpbyBpbmZvIGZyYW1lcyBldmVyeSBmcmFtZS9maWVs ZCAqLworCisJV1JFRzMyKEhETUkwX0lORk9GUkFNRV9DT05UUk9MMSArIG9mZnNldCwKKwkgICAg ICAgSERNSTBfQVZJX0lORk9fTElORSgyKSB8IC8qIGFueXRoaW5nIG90aGVyIHRoYW4gMCAqLwor CSAgICAgICBIRE1JMF9BVURJT19JTkZPX0xJTkUoMikpOyAvKiBhbnl0aGluZyBvdGhlciB0aGFu IDAgKi8KKworCVdSRUczMihIRE1JMF9HQyArIG9mZnNldCwgMCk7IC8qIHVuc2V0IEhETUkwX0dD X0FWTVVURSAqLworCisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlf bW9kZSgmZnJhbWUsIG1vZGUpOworCWlmIChlcnIgPCAwKSB7CisJCURSTV9FUlJPUigiZmFpbGVk IHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKKwkJcmV0dXJuOworCX0KKwor CWVyciA9IGhkbWlfYXZpX2luZm9mcmFtZV9wYWNrKCZmcmFtZSwgYnVmZmVyLCBzaXplb2YoYnVm ZmVyKSk7CisJaWYgKGVyciA8IDApIHsKKwkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcGFjayBBVkkg aW5mb2ZyYW1lOiAlemRcbiIsIGVycik7CisJCXJldHVybjsKKwl9CisKKwlyNjAwX2hkbWlfdXBk YXRlX2F2aV9pbmZvZnJhbWUoZW5jb2RlciwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisJcjYw MF9oZG1pX3VwZGF0ZV9BQ1IoZW5jb2RlciwgbW9kZS0+Y2xvY2spOworCisJLyogaXQncyB1bmtu b3duIHdoYXQgdGhlc2UgYml0cyBkbyBleGNhdGx5LCBidXQgaXQncyBpbmRlZWQgcXVpdGUgdXNl ZnVsIGZvciBkZWJ1Z2dpbmcgKi8KKwlXUkVHMzIoSERNSTBfUkFNUF9DT05UUk9MMCArIG9mZnNl dCwgMHgwMEZGRkZGRik7CisJV1JFRzMyKEhETUkwX1JBTVBfQ09OVFJPTDEgKyBvZmZzZXQsIDB4 MDA3RkZGRkYpOworCVdSRUczMihIRE1JMF9SQU1QX0NPTlRST0wyICsgb2Zmc2V0LCAweDAwMDAw MDAxKTsKKwlXUkVHMzIoSERNSTBfUkFNUF9DT05UUk9MMyArIG9mZnNldCwgMHgwMDAwMDAwMSk7 CisKKwlyNjAwX2hkbWlfYXVkaW9fd29ya2Fyb3VuZChlbmNvZGVyKTsKKworCS8qIGVuYWJsZSBh dWRpbyBhZnRlciB0byBzZXR0aW5nIHVwIGh3ICovCisJcjYwMF9hdWRpb19lbmFibGUocmRldiwg ZGlnLT5hZm10LT5waW4sIHRydWUpOworfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Jh ZGVvbi9yNjAwX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9oZG1pLmMKaW5k ZXggODVhMmJiMi4uYjhiMmVmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y NjAwX2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jCkBAIC0x MzMsNyArMTMzLDcgQEAgc3RydWN0IHJhZGVvbl9oZG1pX2FjciByNjAwX2hkbWlfYWNyKHVpbnQz Ml90IGNsb2NrKQogLyoKICAqIHVwZGF0ZSB0aGUgTiBhbmQgQ1RTIHBhcmFtZXRlcnMgZm9yIGEg Z2l2ZW4gcGl4ZWwgY2xvY2sgcmF0ZQogICovCi1zdGF0aWMgdm9pZCByNjAwX2hkbWlfdXBkYXRl X0FDUihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHVpbnQzMl90IGNsb2NrKQordm9pZCBy NjAwX2hkbWlfdXBkYXRlX0FDUihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHVpbnQzMl90 IGNsb2NrKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7CiAJc3Ry dWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtMTU1LDggKzE1 NSw4IEBAIHN0YXRpYyB2b2lkIHI2MDBfaGRtaV91cGRhdGVfQUNSKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwgdWludDMyX3QgY2xvY2spCiAvKgogICogYnVpbGQgYSBIRE1JIFZpZGVvIElu Zm8gRnJhbWUKICAqLwotc3RhdGljIHZvaWQgcjYwMF9oZG1pX3VwZGF0ZV9hdmlfaW5mb2ZyYW1l KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJCQkJICAgdm9pZCAqYnVmZmVyLCBzaXpl X3Qgc2l6ZSkKK3ZvaWQgcjYwMF9oZG1pX3VwZGF0ZV9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2Rlciwgdm9pZCAqYnVmZmVyLAorCQkJCSAgICBzaXplX3Qgc2l6ZSkKIHsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OwogCXN0cnVjdCByYWRlb25f ZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTIzMSw3ICsyMzEsNyBAQCBpbnQg cjYwMF9oZG1pX2J1ZmZlcl9zdGF0dXNfY2hhbmdlZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29k ZXIpCiAvKgogICogd3JpdGUgdGhlIGF1ZGlvIHdvcmthcm91bmQgc3RhdHVzIHRvIHRoZSBoYXJk d2FyZQogICovCi1zdGF0aWMgdm9pZCByNjAwX2hkbWlfYXVkaW9fd29ya2Fyb3VuZChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIpCit2b2lkIHI2MDBfaGRtaV9hdWRpb193b3JrYXJvdW5kKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g ZW5jb2Rlci0+ZGV2OwogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKQEAgLTI1MCw3ICsyNTAsNyBAQCBzdGF0aWMgdm9pZCByNjAwX2hkbWlfYXVkaW9fd29y a2Fyb3VuZChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCSB2YWx1ZSwgfkhETUkwX0FV RElPX1RFU1RfRU4pOwogfQogCi1zdGF0aWMgdm9pZCByNjAwX2F1ZGlvX3NldF9kdG8oc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLCB1MzIgY2xvY2spCit2b2lkIHI2MDBfYXVkaW9fc2V0X2R0 byhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUzMiBjbG9jaykKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OwogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTMyMCwxMjEgKzMyMCw2IEBAIHN0YXRpYyB2b2lkIHI2 MDBfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHUzMiBjbG9jaykK IAl9CiB9CiAKLXN0YXRpYyB2b2lkIGRjZTNfMl9hZm10X3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlv bihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCi17Ci0Jc3RydWN0IHJhZGVvbl9kZXZpY2Ug KnJkZXYgPSBlbmNvZGVyLT5kZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3I7Ci0Jc3RydWN0IHJhZGVvbl9jb25uZWN0b3IgKnJhZGVvbl9jb25uZWN0b3Ig PSBOVUxMOwotCXUzMiB0bXA7Ci0JdTggKnNhZGI7Ci0JaW50IHNhZF9jb3VudDsKLQotCWxpc3Rf Zm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZW5jb2Rlci0+ZGV2LT5tb2RlX2NvbmZpZy5jb25u ZWN0b3JfbGlzdCwgaGVhZCkgewotCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIp IHsKLQkJCXJhZGVvbl9jb25uZWN0b3IgPSB0b19yYWRlb25fY29ubmVjdG9yKGNvbm5lY3Rvcik7 Ci0JCQlicmVhazsKLQkJfQotCX0KLQotCWlmICghcmFkZW9uX2Nvbm5lY3RvcikgewotCQlEUk1f RVJST1IoIkNvdWxkbid0IGZpbmQgZW5jb2RlcidzIGNvbm5lY3RvclxuIik7Ci0JCXJldHVybjsK LQl9Ci0KLQlzYWRfY291bnQgPSBkcm1fZWRpZF90b19zcGVha2VyX2FsbG9jYXRpb24ocmFkZW9u X2Nvbm5lY3Rvci0+ZWRpZCwgJnNhZGIpOwotCWlmIChzYWRfY291bnQgPCAwKSB7Ci0JCURSTV9F UlJPUigiQ291bGRuJ3QgcmVhZCBTcGVha2VyIEFsbG9jYXRpb24gRGF0YSBCbG9jazogJWRcbiIs IHNhZF9jb3VudCk7Ci0JCXJldHVybjsKLQl9Ci0KLQkvKiBwcm9ncmFtIHRoZSBzcGVha2VyIGFs bG9jYXRpb24gKi8KLQl0bXAgPSBSUkVHMzIoQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0NIQU5O RUxfU1BFQUtFUik7Ci0JdG1wICY9IH4oRFBfQ09OTkVDVElPTiB8IFNQRUFLRVJfQUxMT0NBVElP Tl9NQVNLKTsKLQkvKiBzZXQgSERNSSBtb2RlICovCi0JdG1wIHw9IEhETUlfQ09OTkVDVElPTjsK LQlpZiAoc2FkX2NvdW50KQotCQl0bXAgfD0gU1BFQUtFUl9BTExPQ0FUSU9OKHNhZGJbMF0pOwot CWVsc2UKLQkJdG1wIHw9IFNQRUFLRVJfQUxMT0NBVElPTig1KTsgLyogc3RlcmVvICovCi0JV1JF RzMyKEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9DSEFOTkVMX1NQRUFLRVIsIHRtcCk7Ci0KLQlr ZnJlZShzYWRiKTsKLX0KLQotc3RhdGljIHZvaWQgZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3Mo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQotewotCXN0cnVjdCByYWRlb25fZGV2aWNlICpy ZGV2ID0gZW5jb2Rlci0+ZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yOwotCXN0cnVjdCByYWRlb25fY29ubmVjdG9yICpyYWRlb25fY29ubmVjdG9yID0g TlVMTDsKLQlzdHJ1Y3QgY2VhX3NhZCAqc2FkczsKLQlpbnQgaSwgc2FkX2NvdW50OwotCi0Jc3Rh dGljIGNvbnN0IHUxNiBlbGRfcmVnX3RvX3R5cGVbXVsyXSA9IHsKLQkJeyBBWl9GMF9DT0RFQ19Q SU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjAsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfUENN IH0sCi0JCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IxLCBIRE1J X0FVRElPX0NPRElOR19UWVBFX0FDMyB9LAotCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9B VURJT19ERVNDUklQVE9SMiwgSERNSV9BVURJT19DT0RJTkdfVFlQRV9NUEVHMSB9LAotCQl7IEFa X0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVNDUklQVE9SMywgSERNSV9BVURJT19DT0RJ TkdfVFlQRV9NUDMgfSwKLQkJeyBBWl9GMF9DT0RFQ19QSU4wX0NPTlRST0xfQVVESU9fREVTQ1JJ UFRPUjQsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfTVBFRzIgfSwKLQkJeyBBWl9GMF9DT0RFQ19Q SU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjUsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfQUFD X0xDIH0sCi0JCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1I2LCBI RE1JX0FVRElPX0NPRElOR19UWVBFX0RUUyB9LAotCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJP TF9BVURJT19ERVNDUklQVE9SNywgSERNSV9BVURJT19DT0RJTkdfVFlQRV9BVFJBQyB9LAotCQl7 IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVNDUklQVE9SOSwgSERNSV9BVURJT19D T0RJTkdfVFlQRV9FQUMzIH0sCi0JCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FVRElPX0RF U0NSSVBUT1IxMCwgSERNSV9BVURJT19DT0RJTkdfVFlQRV9EVFNfSEQgfSwKLQkJeyBBWl9GMF9D T0RFQ19QSU4wX0NPTlRST0xfQVVESU9fREVTQ1JJUFRPUjExLCBIRE1JX0FVRElPX0NPRElOR19U WVBFX01MUCB9LAotCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVNDUklQVE9S MTMsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfV01BX1BSTyB9LAotCX07Ci0KLQlsaXN0X2Zvcl9l YWNoX2VudHJ5KGNvbm5lY3RvciwgJmVuY29kZXItPmRldi0+bW9kZV9jb25maWcuY29ubmVjdG9y X2xpc3QsIGhlYWQpIHsKLQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2RlciA9PSBlbmNvZGVyKSB7Ci0J CQlyYWRlb25fY29ubmVjdG9yID0gdG9fcmFkZW9uX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwotCQkJ YnJlYWs7Ci0JCX0KLQl9Ci0KLQlpZiAoIXJhZGVvbl9jb25uZWN0b3IpIHsKLQkJRFJNX0VSUk9S KCJDb3VsZG4ndCBmaW5kIGVuY29kZXIncyBjb25uZWN0b3JcbiIpOwotCQlyZXR1cm47Ci0JfQot Ci0Jc2FkX2NvdW50ID0gZHJtX2VkaWRfdG9fc2FkKHJhZGVvbl9jb25uZWN0b3ItPmVkaWQsICZz YWRzKTsKLQlpZiAoc2FkX2NvdW50IDwgMCkgewotCQlEUk1fRVJST1IoIkNvdWxkbid0IHJlYWQg U0FEczogJWRcbiIsIHNhZF9jb3VudCk7Ci0JCXJldHVybjsKLQl9Ci0JQlVHX09OKCFzYWRzKTsK LQotCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGVsZF9yZWdfdG9fdHlwZSk7IGkrKykgewot CQl1MzIgdmFsdWUgPSAwOwotCQl1OCBzdGVyZW9fZnJlcXMgPSAwOwotCQlpbnQgbWF4X2NoYW5u ZWxzID0gLTE7Ci0JCWludCBqOwotCi0JCWZvciAoaiA9IDA7IGogPCBzYWRfY291bnQ7IGorKykg ewotCQkJc3RydWN0IGNlYV9zYWQgKnNhZCA9ICZzYWRzW2pdOwotCi0JCQlpZiAoc2FkLT5mb3Jt YXQgPT0gZWxkX3JlZ190b190eXBlW2ldWzFdKSB7Ci0JCQkJaWYgKHNhZC0+Y2hhbm5lbHMgPiBt YXhfY2hhbm5lbHMpIHsKLQkJCQkJdmFsdWUgPSBNQVhfQ0hBTk5FTFMoc2FkLT5jaGFubmVscykg fAotCQkJCQkJREVTQ1JJUFRPUl9CWVRFXzIoc2FkLT5ieXRlMikgfAotCQkJCQkJU1VQUE9SVEVE X0ZSRVFVRU5DSUVTKHNhZC0+ZnJlcSk7Ci0JCQkJCW1heF9jaGFubmVscyA9IHNhZC0+Y2hhbm5l bHM7Ci0JCQkJfQotCi0JCQkJaWYgKHNhZC0+Zm9ybWF0ID09IEhETUlfQVVESU9fQ09ESU5HX1RZ UEVfUENNKQotCQkJCQlzdGVyZW9fZnJlcXMgfD0gc2FkLT5mcmVxOwotCQkJCWVsc2UKLQkJCQkJ YnJlYWs7Ci0JCQl9Ci0JCX0KLQotCQl2YWx1ZSB8PSBTVVBQT1JURURfRlJFUVVFTkNJRVNfU1RF UkVPKHN0ZXJlb19mcmVxcyk7Ci0KLQkJV1JFRzMyKGVsZF9yZWdfdG9fdHlwZVtpXVswXSwgdmFs dWUpOwotCX0KLQotCWtmcmVlKHNhZHMpOwotfQotCiAvKgogICogdXBkYXRlIHRoZSBpbmZvIGZy YW1lcyB3aXRoIHRoZSBkYXRhIGZyb20gdGhlIGN1cnJlbnQgZGlzcGxheSBtb2RlCiAgKi8KQEAg LTQ2OCwyNSArMzUzLDExIEBAIHZvaWQgcjYwMF9oZG1pX3NldG1vZGUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kCiAKIAlXUkVHMzIoSERN STBfQVVESU9fQ1JDX0NPTlRST0wgKyBvZmZzZXQsIDB4MTAwMCk7CiAKLQlpZiAoQVNJQ19JU19E Q0UzMihyZGV2KSkgewotCQlXUkVHMzIoSERNSTBfQVVESU9fUEFDS0VUX0NPTlRST0wgKyBvZmZz ZXQsCi0JCSAgICAgICBIRE1JMF9BVURJT19ERUxBWV9FTigxKSB8IC8qIGRlZmF1bHQgYXVkaW8g ZGVsYXkgKi8KLQkJICAgICAgIEhETUkwX0FVRElPX1BBQ0tFVFNfUEVSX0xJTkUoMykpOyAvKiBz aG91bGQgYmUgc3VmZmllbnQgZm9yIGFsbCBhdWRpbyBtb2RlcyBhbmQgc21hbGwgZW5vdWdoIGZv ciBhbGwgaGJsYW5rcyAqLwotCQlXUkVHMzIoQUZNVF9BVURJT19QQUNLRVRfQ09OVFJPTCArIG9m ZnNldCwKLQkJICAgICAgIEFGTVRfQVVESU9fU0FNUExFX1NFTkQgfCAvKiBzZW5kIGF1ZGlvIHBh Y2tldHMgKi8KLQkJICAgICAgIEFGTVRfNjA5NThfQ1NfVVBEQVRFKTsgLyogYWxsb3cgNjA5NTgg Y2hhbm5lbCBzdGF0dXMgZmllbGRzIHRvIGJlIHVwZGF0ZWQgKi8KLQl9IGVsc2UgewotCQlXUkVH MzIoSERNSTBfQVVESU9fUEFDS0VUX0NPTlRST0wgKyBvZmZzZXQsCi0JCSAgICAgICBIRE1JMF9B VURJT19TQU1QTEVfU0VORCB8IC8qIHNlbmQgYXVkaW8gcGFja2V0cyAqLwotCQkgICAgICAgSERN STBfQVVESU9fREVMQVlfRU4oMSkgfCAvKiBkZWZhdWx0IGF1ZGlvIGRlbGF5ICovCi0JCSAgICAg ICBIRE1JMF9BVURJT19QQUNLRVRTX1BFUl9MSU5FKDMpIHwgLyogc2hvdWxkIGJlIHN1ZmZpZW50 IGZvciBhbGwgYXVkaW8gbW9kZXMgYW5kIHNtYWxsIGVub3VnaCBmb3IgYWxsIGhibGFua3MgKi8K LQkJICAgICAgIEhETUkwXzYwOTU4X0NTX1VQREFURSk7IC8qIGFsbG93IDYwOTU4IGNoYW5uZWwg c3RhdHVzIGZpZWxkcyB0byBiZSB1cGRhdGVkICovCi0JfQotCi0JaWYgKEFTSUNfSVNfRENFMzIo cmRldikpIHsKLQkJZGNlM18yX2FmbXRfd3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9uKGVuY29kZXIp OwotCQlkY2UzXzJfYWZtdF93cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKLQl9CisJV1JFRzMyKEhE TUkwX0FVRElPX1BBQ0tFVF9DT05UUk9MICsgb2Zmc2V0LAorCSAgICAgICBIRE1JMF9BVURJT19T QU1QTEVfU0VORCB8IC8qIHNlbmQgYXVkaW8gcGFja2V0cyAqLworCSAgICAgICBIRE1JMF9BVURJ T19ERUxBWV9FTigxKSB8IC8qIGRlZmF1bHQgYXVkaW8gZGVsYXkgKi8KKwkgICAgICAgSERNSTBf QVVESU9fUEFDS0VUU19QRVJfTElORSgzKSB8IC8qIHNob3VsZCBiZSBzdWZmaWVudCBmb3IgYWxs IGF1ZGlvIG1vZGVzIGFuZCBzbWFsbCBlbm91Z2ggZm9yIGFsbCBoYmxhbmtzICovCisJICAgICAg IEhETUkwXzYwOTU4X0NTX1VQREFURSk7IC8qIGFsbG93IDYwOTU4IGNoYW5uZWwgc3RhdHVzIGZp ZWxkcyB0byBiZSB1cGRhdGVkICovCiAKIAlXUkVHMzIoSERNSTBfQUNSX1BBQ0tFVF9DT05UUk9M ICsgb2Zmc2V0LAogCSAgICAgICBIRE1JMF9BQ1JfU09VUkNFIHwgLyogc2VsZWN0IFNXIENUUyB2 YWx1ZSAtIFhYWCB2ZXJpZnkgdGhhdCBodyBDVFMgd29ya3Mgb24gYWxsIGZhbWlsaWVzICovCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hc2ljLmMKaW5kZXggNTlkNTZkYy4uN2JjMzYwNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXNpYy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2FzaWMuYwpAQCAtMTIxNCw3ICsxMjE0LDcgQEAgc3Rh dGljIHN0cnVjdCByYWRlb25fYXNpYyBydjc3MF9hc2ljID0gewogCQkuc2V0X2JhY2tsaWdodF9s ZXZlbCA9ICZhdG9tYmlvc19zZXRfYmFja2xpZ2h0X2xldmVsLAogCQkuZ2V0X2JhY2tsaWdodF9s ZXZlbCA9ICZhdG9tYmlvc19nZXRfYmFja2xpZ2h0X2xldmVsLAogCQkuaGRtaV9lbmFibGUgPSAm cjYwMF9oZG1pX2VuYWJsZSwKLQkJLmhkbWlfc2V0bW9kZSA9ICZyNjAwX2hkbWlfc2V0bW9kZSwK KwkJLmhkbWlfc2V0bW9kZSA9ICZkY2UzXzFfaGRtaV9zZXRtb2RlLAogCX0sCiAJLmNvcHkgPSB7 CiAJCS5ibGl0ID0gJnI2MDBfY29weV9jcGRtYSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2FzaWMuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2Fz aWMuaAppbmRleCA1NjQ2ZjlkLi5kZWI4NDk2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9hc2ljLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXNpYy5oCkBAIC0zOTEsNiArMzkxLDExIEBAIHZvaWQgcjYwMF9ybGNfc3RvcChzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldik7CiBpbnQgcjYwMF9hdWRpb19pbml0KHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2KTsKIHN0cnVjdCByNjAwX2F1ZGlvX3BpbiByNjAwX2F1ZGlvX3N0YXR1cyhzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiB2b2lkIHI2MDBfYXVkaW9fZmluaShzdHJ1Y3QgcmFk ZW9uX2RldmljZSAqcmRldik7Cit2b2lkIHI2MDBfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHUzMiBjbG9jayk7Cit2b2lkIHI2MDBfaGRtaV91cGRhdGVfYXZpX2lu Zm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHZvaWQgKmJ1ZmZlciwKKwkJCQkg ICAgc2l6ZV90IHNpemUpOwordm9pZCByNjAwX2hkbWlfdXBkYXRlX0FDUihzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHVpbnQzMl90IGNsb2NrKTsKK3ZvaWQgcjYwMF9oZG1pX2F1ZGlvX3dv cmthcm91bmQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKIGludCByNjAwX2hkbWlfYnVm ZmVyX3N0YXR1c19jaGFuZ2VkKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiB2b2lkIHI2 MDBfaGRtaV91cGRhdGVfYXVkaW9fc2V0dGluZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy KTsKIHZvaWQgcjYwMF9oZG1pX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIGJv b2wgZW5hYmxlKTsKQEAgLTQ2Myw2ICs0NjgsOCBAQCBpbnQgcnY3NzBfY29weV9kbWEoc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiB1MzIgcnY3NzBfZ2V0X3hjbGsoc3RydWN0IHJhZGVvbl9k ZXZpY2UgKnJkZXYpOwogaW50IHJ2NzcwX3NldF91dmRfY2xvY2tzKHN0cnVjdCByYWRlb25fZGV2 aWNlICpyZGV2LCB1MzIgdmNsaywgdTMyIGRjbGspOwogaW50IHJ2NzcwX2dldF90ZW1wKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2KTsKKy8qIGhkbWkgKi8KK3ZvaWQgZGNlM18xX2hkbWlfc2V0 bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKTsKIC8qIHJ2N3h4IHBtICovCiBpbnQgcnY3NzBfZHBtX2luaXQoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpOwogaW50IHJ2NzcwX2RwbV9lbmFibGUoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYpOwotLSAKMS44LjQuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK