From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 10/24] radeon/audio: consolidate audio_set_dto() functions Date: Tue, 13 Jan 2015 12:46:39 -0500 Message-ID: <1421171213-23977-11-git-send-email-alexander.deucher@amd.com> References: <1421171213-23977-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by gabe.freedesktop.org (Postfix) with ESMTP id 235356E65A for ; Tue, 13 Jan 2015 09:47:07 -0800 (PST) Received: by mail-qg0-f44.google.com with SMTP id q107so3303648qgd.3 for ; Tue, 13 Jan 2015 09:47:06 -0800 (PST) In-Reply-To: <1421171213-23977-1-git-send-email-alexander.deucher@amd.com> 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: Alex Deucher , slava.grigorev@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogU2xhdmEgR3JpZ29yZXYgPHNsYXZhLmdyaWdvcmV2QGFtZC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBTbGF2YSBHcmlnb3JldiA8c2xhdmEuZ3JpZ29yZXZAYW1kLmNvbT4KU2lnbmVkLW9mZi1i eTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYyAgICB8IDU2ICsrKysrKysrKysrKysrKysrKyst CiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTZfYWZtdC5jICAgICAgfCAzOSArKysrKysrKysr KysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3JlZW5faGRtaS5jIHwgOTIgKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2V2ZXJn cmVlbmQuaCAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jICAg ICAgfCA4MCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdWRpby5jICAgfCA0NSArKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JhZGVvbl9hdWRpby5oICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9zaWQuaCAgICAgICAgICAgIHwgMTAgKysrKwogOCBmaWxlcyBjaGFuZ2VkLCAyMjYgaW5zZXJ0 aW9ucygrKSwgMTAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y YWRlb24vZGNlM18xX2FmbXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQu YwppbmRleCBmN2IyNjU5Li42Y2IyZjExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL2RjZTNfMV9hZm10LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2UzXzFfYWZt dC5jCkBAIC0xMTMsNiArMTEzLDYwIEBAIHZvaWQgZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3Mo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCX0KIH0KIAordm9pZCBkY2UzXzJfYXVkaW9f c2V0X2R0byhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKKwlzdHJ1Y3QgcmFkZW9uX2NydGMg KmNydGMsIHVuc2lnbmVkIGludCBjbG9jaykKK3sKKwlzdHJ1Y3QgcmFkZW9uX2VuY29kZXIgKnJh ZGVvbl9lbmNvZGVyOworCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnOworCXVu c2lnbmVkIGludCBtYXhfcmF0aW8gPSBjbG9jayAvIDI0MDAwOworCXUzMiBkdG9fcGhhc2U7CisJ dTMyIHdhbGxjbG9ja19yYXRpbzsKKwl1MzIgZHRvX2NudGw7CisKKwlpZiAoIWNydGMpCisJCXJl dHVybjsKKworCXJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoY3J0Yy0+ZW5jb2Rl cik7CisJZGlnID0gcmFkZW9uX2VuY29kZXItPmVuY19wcml2OworCisJaWYgKCFkaWcpCisJCXJl dHVybjsKKworCWlmIChtYXhfcmF0aW8gPj0gOCkgeworCQlkdG9fcGhhc2UgPSAxOTIgKiAxMDAw OworCQl3YWxsY2xvY2tfcmF0aW8gPSAzOworCX0gZWxzZSBpZiAobWF4X3JhdGlvID49IDQpIHsK KwkJZHRvX3BoYXNlID0gOTYgKiAxMDAwOworCQl3YWxsY2xvY2tfcmF0aW8gPSAyOworCX0gZWxz ZSBpZiAobWF4X3JhdGlvID49IDIpIHsKKwkJZHRvX3BoYXNlID0gNDggKiAxMDAwOworCQl3YWxs Y2xvY2tfcmF0aW8gPSAxOworCX0gZWxzZSB7CisJCWR0b19waGFzZSA9IDI0ICogMTAwMDsKKwkJ d2FsbGNsb2NrX3JhdGlvID0gMDsKKwl9CisKKwkvKiBFeHByZXNzIFsyNE1IeiAvIHRhcmdldCBw aXhlbCBjbG9ja10gYXMgYW4gZXhhY3QgcmF0aW9uYWwKKwkgKiBudW1iZXIgKGNvZWZmaWNpZW50 IG9mIHR3byBpbnRlZ2VyIG51bWJlcnMuICBEQ0NHX0FVRElPX0RUT3hfUEhBU0UKKwkgKiBpcyB0 aGUgbnVtZXJhdG9yLCBEQ0NHX0FVRElPX0RUT3hfTU9EVUxFIGlzIHRoZSBkZW5vbWluYXRvcgor CSAqLworCWlmIChkaWctPmRpZ19lbmNvZGVyID09IDApIHsKKwkJZHRvX2NudGwgPSBSUkVHMzIo RENDR19BVURJT19EVE8wX0NOVEwpICYgfkRDQ0dfQVVESU9fRFRPX1dBTExDTE9DS19SQVRJT19N QVNLOworCQlkdG9fY250bCB8PSBEQ0NHX0FVRElPX0RUT19XQUxMQ0xPQ0tfUkFUSU8od2FsbGNs b2NrX3JhdGlvKTsKKwkJV1JFRzMyKERDQ0dfQVVESU9fRFRPMF9DTlRMLCBkdG9fY250bCk7CisJ CVdSRUczMihEQ0NHX0FVRElPX0RUTzBfUEhBU0UsIGR0b19waGFzZSk7CisJCVdSRUczMihEQ0NH X0FVRElPX0RUTzBfTU9EVUxFLCBjbG9jayk7CisJCVdSRUczMihEQ0NHX0FVRElPX0RUT19TRUxF Q1QsIDApOyAvKiBzZWxlY3QgRFRPMCAqLworCX0gZWxzZSB7CisJCWR0b19jbnRsID0gUlJFRzMy KERDQ0dfQVVESU9fRFRPMV9DTlRMKSAmIH5EQ0NHX0FVRElPX0RUT19XQUxMQ0xPQ0tfUkFUSU9f TUFTSzsKKwkJZHRvX2NudGwgfD0gRENDR19BVURJT19EVE9fV0FMTENMT0NLX1JBVElPKHdhbGxj bG9ja19yYXRpbyk7CisJCVdSRUczMihEQ0NHX0FVRElPX0RUTzFfQ05UTCwgZHRvX2NudGwpOwor CQlXUkVHMzIoRENDR19BVURJT19EVE8xX1BIQVNFLCBkdG9fcGhhc2UpOworCQlXUkVHMzIoREND R19BVURJT19EVE8xX01PRFVMRSwgY2xvY2spOworCQlXUkVHMzIoRENDR19BVURJT19EVE9fU0VM RUNULCAxKTsgLyogc2VsZWN0IERUTzEgKi8KKwl9Cit9CisKIC8qCiAgKiB1cGRhdGUgdGhlIGlu Zm8gZnJhbWVzIHdpdGggdGhlIGRhdGEgZnJvbSB0aGUgY3VycmVudCBkaXNwbGF5IG1vZGUKICAq LwpAQCAtMTM5LDcgKzE5Myw3IEBAIHZvaWQgZGNlM18xX2hkbWlfc2V0bW9kZShzdHJ1Y3QgZHJt X2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptCiAJZGlnLT5hZm10 LT5waW4gPSByYWRlb25fYXVkaW9fZ2V0X3BpbihlbmNvZGVyKTsKIAlyYWRlb25fYXVkaW9fZW5h YmxlKHJkZXYsIGRpZy0+YWZtdC0+cGluLCAwKTsKIAotCXI2MDBfYXVkaW9fc2V0X2R0byhlbmNv ZGVyLCBtb2RlLT5jbG9jayk7CisJcmFkZW9uX2F1ZGlvX3NldF9kdG8oZW5jb2RlciwgbW9kZS0+ Y2xvY2spOwogCiAJV1JFRzMyKEhETUkwX1ZCSV9QQUNLRVRfQ09OVFJPTCArIG9mZnNldCwKIAkg ICAgICAgSERNSTBfTlVMTF9TRU5EKTsgLyogc2VuZCBudWxsIHBhY2tldHMgd2hlbiByZXF1aXJl ZCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2U2X2FmbXQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMKaW5kZXggYzRmZjYwZi4uMWM4NzAwNiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2U2X2FmbXQuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTZfYWZtdC5jCkBAIC0yNDgsMyArMjQ4LDQyIEBAIHZvaWQg ZGNlNl9hdWRpb19lbmFibGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJV1JFRzMyX0VO RFBPSU5UKHBpbi0+b2Zmc2V0LCBBWl9GMF9DT0RFQ19QSU5fQ09OVFJPTF9IT1RfUExVR19DT05U Uk9MLAogCQkJZW5hYmxlX21hc2sgPyBBVURJT19FTkFCTEVEIDogMCk7CiB9CisKK3ZvaWQgZGNl Nl9oZG1pX2F1ZGlvX3NldF9kdG8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCisJc3RydWN0 IHJhZGVvbl9jcnRjICpjcnRjLCB1bnNpZ25lZCBpbnQgY2xvY2spCit7CisgICAgLyogVHdvIGR0 b3M7IGdlbmVyYWxseSB1c2UgZHRvMCBmb3IgSERNSSAqLworCXUzMiB2YWx1ZSA9IDA7CisKKyAg ICBpZiAoY3J0YykKKwkJdmFsdWUgfD0gRENDR19BVURJT19EVE8wX1NPVVJDRV9TRUwoY3J0Yy0+ Y3J0Y19pZCk7CisKKwlXUkVHMzIoRENDR19BVURJT19EVE9fU09VUkNFLCB2YWx1ZSk7CisKKyAg ICAvKiBFeHByZXNzIFsyNE1IeiAvIHRhcmdldCBwaXhlbCBjbG9ja10gYXMgYW4gZXhhY3QgcmF0 aW9uYWwKKyAgICAgKiBudW1iZXIgKGNvZWZmaWNpZW50IG9mIHR3byBpbnRlZ2VyIG51bWJlcnMu ICBEQ0NHX0FVRElPX0RUT3hfUEhBU0UKKyAgICAgKiBpcyB0aGUgbnVtZXJhdG9yLCBEQ0NHX0FV RElPX0RUT3hfTU9EVUxFIGlzIHRoZSBkZW5vbWluYXRvcgorICAgICAqLworICAgIFdSRUczMihE Q0NHX0FVRElPX0RUTzBfUEhBU0UsIDI0MDAwKTsKKyAgICBXUkVHMzIoRENDR19BVURJT19EVE8w X01PRFVMRSwgY2xvY2spOworfQorCit2b2lkIGRjZTZfZHBfYXVkaW9fc2V0X2R0byhzdHJ1Y3Qg cmFkZW9uX2RldmljZSAqcmRldiwKKwlzdHJ1Y3QgcmFkZW9uX2NydGMgKmNydGMsIHVuc2lnbmVk IGludCBjbG9jaykKK3sKKyAgICAvKiBUd28gZHRvczsgZ2VuZXJhbGx5IHVzZSBkdG8xIGZvciBE UCAqLworCXUzMiB2YWx1ZSA9IDA7CisJdmFsdWUgfD0gRENDR19BVURJT19EVE9fU0VMOworCisg ICAgaWYgKGNydGMpCisJCXZhbHVlIHw9IERDQ0dfQVVESU9fRFRPMF9TT1VSQ0VfU0VMKGNydGMt PmNydGNfaWQpOworCisJV1JFRzMyKERDQ0dfQVVESU9fRFRPX1NPVVJDRSwgdmFsdWUpOworCisg ICAgLyogRXhwcmVzcyBbMjRNSHogLyB0YXJnZXQgcGl4ZWwgY2xvY2tdIGFzIGFuIGV4YWN0IHJh dGlvbmFsCisgICAgICogbnVtYmVyIChjb2VmZmljaWVudCBvZiB0d28gaW50ZWdlciBudW1iZXJz LiAgRENDR19BVURJT19EVE94X1BIQVNFCisgICAgICogaXMgdGhlIG51bWVyYXRvciwgRENDR19B VURJT19EVE94X01PRFVMRSBpcyB0aGUgZGVub21pbmF0b3IKKyAgICAgKi8KKyAgICBXUkVHMzIo RENDR19BVURJT19EVE8xX1BIQVNFLCAyNDAwMCk7CisgICAgV1JFRzMyKERDQ0dfQVVESU9fRFRP MV9NT0RVTEUsIGNsb2NrKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v ZXZlcmdyZWVuX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2hkbWku YwppbmRleCAyZjI5OTE4Li4zOGIxYzUxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL2V2ZXJncmVlbl9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVyZ3Jl ZW5faGRtaS5jCkBAIC0yMTgsNTQgKzIxOCw3NCBAQCBzdGF0aWMgdm9pZCBldmVyZ3JlZW5faGRt aV91cGRhdGVfYXZpX2luZm9mcmFtZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJCWZy YW1lWzB4Q10gfCAoZnJhbWVbMHhEXSA8PCA4KSB8IChoZWFkZXJbMV0gPDwgMjQpKTsKIH0KIAot c3RhdGljIHZvaWQgZXZlcmdyZWVuX2F1ZGlvX3NldF9kdG8oc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLCB1MzIgY2xvY2spCit2b2lkIGRjZTRfaGRtaV9hdWRpb19zZXRfZHRvKHN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2LAorCXN0cnVjdCByYWRlb25fY3J0YyAqY3J0YywgdW5zaWduZWQg aW50IGNsb2NrKQogewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmNvZGVyLT5kZXY7Ci0J c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBkZXYtPmRldl9wcml2YXRlOwotCXN0cnVjdCBy YWRlb25fZW5jb2RlciAqcmFkZW9uX2VuY29kZXIgPSB0b19yYWRlb25fZW5jb2RlcihlbmNvZGVy KTsKLQlzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfYXRvbV9kaWcgKmRpZyA9IHJhZGVvbl9lbmNvZGVy LT5lbmNfcHJpdjsKLQlzdHJ1Y3QgcmFkZW9uX2NydGMgKnJhZGVvbl9jcnRjID0gdG9fcmFkZW9u X2NydGMoZW5jb2Rlci0+Y3J0Yyk7Ci0JdTMyIGJhc2VfcmF0ZSA9IDI0MDAwOwotCXUzMiBtYXhf cmF0aW8gPSBjbG9jayAvIGJhc2VfcmF0ZTsKKwl1bnNpZ25lZCBpbnQgbWF4X3JhdGlvID0gY2xv Y2sgLyAyNDAwMDsKIAl1MzIgZHRvX3BoYXNlOwotCXUzMiBkdG9fbW9kdWxvID0gY2xvY2s7CiAJ dTMyIHdhbGxjbG9ja19yYXRpbzsKLQl1MzIgZHRvX2NudGw7Ci0KLQlpZiAoIWRpZyB8fCAhZGln LT5hZm10KQotCQlyZXR1cm47Ci0KLQlpZiAoQVNJQ19JU19EQ0U2KHJkZXYpKSB7Ci0JCWR0b19w aGFzZSA9IDI0ICogMTAwMDsKKwl1MzIgdmFsdWU7CisKKwlpZiAobWF4X3JhdGlvID49IDgpIHsK KwkJZHRvX3BoYXNlID0gMTkyICogMTAwMDsKKwkJd2FsbGNsb2NrX3JhdGlvID0gMzsKKwl9IGVs c2UgaWYgKG1heF9yYXRpbyA+PSA0KSB7CisJCWR0b19waGFzZSA9IDk2ICogMTAwMDsKKwkJd2Fs bGNsb2NrX3JhdGlvID0gMjsKKwl9IGVsc2UgaWYgKG1heF9yYXRpbyA+PSAyKSB7CisJCWR0b19w aGFzZSA9IDQ4ICogMTAwMDsKKwkJd2FsbGNsb2NrX3JhdGlvID0gMTsKIAl9IGVsc2UgewotCQlp ZiAobWF4X3JhdGlvID49IDgpIHsKLQkJCWR0b19waGFzZSA9IDE5MiAqIDEwMDA7Ci0JCQl3YWxs Y2xvY2tfcmF0aW8gPSAzOwotCQl9IGVsc2UgaWYgKG1heF9yYXRpbyA+PSA0KSB7Ci0JCQlkdG9f cGhhc2UgPSA5NiAqIDEwMDA7Ci0JCQl3YWxsY2xvY2tfcmF0aW8gPSAyOwotCQl9IGVsc2UgaWYg KG1heF9yYXRpbyA+PSAyKSB7Ci0JCQlkdG9fcGhhc2UgPSA0OCAqIDEwMDA7Ci0JCQl3YWxsY2xv Y2tfcmF0aW8gPSAxOwotCQl9IGVsc2UgewotCQkJZHRvX3BoYXNlID0gMjQgKiAxMDAwOwotCQkJ d2FsbGNsb2NrX3JhdGlvID0gMDsKLQkJfQotCQlkdG9fY250bCA9IFJSRUczMihEQ0NHX0FVRElP X0RUTzBfQ05UTCkgJiB+RENDR19BVURJT19EVE9fV0FMTENMT0NLX1JBVElPX01BU0s7Ci0JCWR0 b19jbnRsIHw9IERDQ0dfQVVESU9fRFRPX1dBTExDTE9DS19SQVRJTyh3YWxsY2xvY2tfcmF0aW8p OwotCQlXUkVHMzIoRENDR19BVURJT19EVE8wX0NOVEwsIGR0b19jbnRsKTsKKwkJZHRvX3BoYXNl ID0gMjQgKiAxMDAwOworCQl3YWxsY2xvY2tfcmF0aW8gPSAwOwogCX0KIAotCS8qIFhYWCB0d28g ZHRvczsgZ2VuZXJhbGx5IHVzZSBkdG8wIGZvciBoZG1pICovCisJdmFsdWUgPSBSUkVHMzIoREND R19BVURJT19EVE8wX0NOVEwpICYgfkRDQ0dfQVVESU9fRFRPX1dBTExDTE9DS19SQVRJT19NQVNL OworCXZhbHVlIHw9IERDQ0dfQVVESU9fRFRPX1dBTExDTE9DS19SQVRJTyh3YWxsY2xvY2tfcmF0 aW8pOworCXZhbHVlICY9IH5EQ0NHX0FVRElPX0RUTzFfVVNFXzUxMkZCUl9EVE87CisJV1JFRzMy KERDQ0dfQVVESU9fRFRPMF9DTlRMLCB2YWx1ZSk7CisKKwkvKiBUd28gZHRvczsgZ2VuZXJhbGx5 IHVzZSBkdG8wIGZvciBIRE1JICovCisJdmFsdWUgPSAwOworCisJaWYgKGNydGMpCisJCXZhbHVl IHw9IERDQ0dfQVVESU9fRFRPMF9TT1VSQ0VfU0VMKGNydGMtPmNydGNfaWQpOworCisJV1JFRzMy KERDQ0dfQVVESU9fRFRPX1NPVVJDRSwgdmFsdWUpOworCiAJLyogRXhwcmVzcyBbMjRNSHogLyB0 YXJnZXQgcGl4ZWwgY2xvY2tdIGFzIGFuIGV4YWN0IHJhdGlvbmFsCiAJICogbnVtYmVyIChjb2Vm ZmljaWVudCBvZiB0d28gaW50ZWdlciBudW1iZXJzLiAgRENDR19BVURJT19EVE94X1BIQVNFCiAJ ICogaXMgdGhlIG51bWVyYXRvciwgRENDR19BVURJT19EVE94X01PRFVMRSBpcyB0aGUgZGVub21p bmF0b3IKIAkgKi8KLQlXUkVHMzIoRENDR19BVURJT19EVE9fU09VUkNFLCBEQ0NHX0FVRElPX0RU TzBfU09VUkNFX1NFTChyYWRlb25fY3J0Yy0+Y3J0Y19pZCkpOwogCVdSRUczMihEQ0NHX0FVRElP X0RUTzBfUEhBU0UsIGR0b19waGFzZSk7Ci0JV1JFRzMyKERDQ0dfQVVESU9fRFRPMF9NT0RVTEUs IGR0b19tb2R1bG8pOworCVdSRUczMihEQ0NHX0FVRElPX0RUTzBfTU9EVUxFLCBjbG9jayk7CiB9 CiAKK3ZvaWQgZGNlNF9kcF9hdWRpb19zZXRfZHRvKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2 LAorCXN0cnVjdCByYWRlb25fY3J0YyAqY3J0YywgdW5zaWduZWQgaW50IGNsb2NrKQoreworCXUz MiB2YWx1ZTsKKworCXZhbHVlID0gUlJFRzMyKERDQ0dfQVVESU9fRFRPMV9DTlRMKSAmIH5EQ0NH X0FVRElPX0RUT19XQUxMQ0xPQ0tfUkFUSU9fTUFTSzsKKwl2YWx1ZSB8PSBEQ0NHX0FVRElPX0RU TzFfVVNFXzUxMkZCUl9EVE87CisJV1JFRzMyKERDQ0dfQVVESU9fRFRPMV9DTlRMLCB2YWx1ZSk7 CisKKwkvKiBUd28gZHRvczsgZ2VuZXJhbGx5IHVzZSBkdG8xIGZvciBEUCAqLworCXZhbHVlID0g MDsKKwl2YWx1ZSB8PSBEQ0NHX0FVRElPX0RUT19TRUw7CisKKwlpZiAoY3J0YykKKwkJdmFsdWUg fD0gRENDR19BVURJT19EVE8wX1NPVVJDRV9TRUwoY3J0Yy0+Y3J0Y19pZCk7CisKKwlXUkVHMzIo RENDR19BVURJT19EVE9fU09VUkNFLCB2YWx1ZSk7CisKKwkvKiBFeHByZXNzIFsyNE1IeiAvIHRh cmdldCBwaXhlbCBjbG9ja10gYXMgYW4gZXhhY3QgcmF0aW9uYWwKKwkgKiBudW1iZXIgKGNvZWZm aWNpZW50IG9mIHR3byBpbnRlZ2VyIG51bWJlcnMuICBEQ0NHX0FVRElPX0RUT3hfUEhBU0UKKwkg KiBpcyB0aGUgbnVtZXJhdG9yLCBEQ0NHX0FVRElPX0RUT3hfTU9EVUxFIGlzIHRoZSBkZW5vbWlu YXRvcgorCSAqLworCVdSRUczMihEQ0NHX0FVRElPX0RUTzFfUEhBU0UsIDI0MDAwKTsKKwlXUkVH MzIoRENDR19BVURJT19EVE8xX01PRFVMRSwgcmRldi0+Y2xvY2subWF4X3BpeGVsX2Nsb2NrICog MTApOworfQogCiAvKgogICogdXBkYXRlIHRoZSBpbmZvIGZyYW1lcyB3aXRoIHRoZSBkYXRhIGZy b20gdGhlIGN1cnJlbnQgZGlzcGxheSBtb2RlCkBAIC0zMDIsNyArMzIyLDcgQEAgdm9pZCBldmVy Z3JlZW5faGRtaV9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRy bV9kaXNwbGF5X21vZGUKIAlkaWctPmFmbXQtPnBpbiA9IHJhZGVvbl9hdWRpb19nZXRfcGluKGVu Y29kZXIpOwogCXJhZGVvbl9hdWRpb19lbmFibGUocmRldiwgZGlnLT5hZm10LT5waW4sIDApOwog Ci0JZXZlcmdyZWVuX2F1ZGlvX3NldF9kdG8oZW5jb2RlciwgbW9kZS0+Y2xvY2spOworCXJhZGVv bl9hdWRpb19zZXRfZHRvKGVuY29kZXIsIG1vZGUtPmNsb2NrKTsKIAogCVdSRUczMihIRE1JX1ZC SV9QQUNLRVRfQ09OVFJPTCArIG9mZnNldCwKIAkgICAgICAgSERNSV9OVUxMX1NFTkQpOyAvKiBz ZW5kIG51bGwgcGFja2V0cyB3aGVuIHJlcXVpcmVkICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL2V2ZXJncmVlbmQuaCBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdy ZWVuZC5oCmluZGV4IGIwNjZkNjcuLmVlODNkMmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vZXZlcmdyZWVuZC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdy ZWVuZC5oCkBAIC01MDksNiArNTA5LDcgQEAKICNkZWZpbmUgRENDR19BVURJT19EVE8xX01PRFVM RSAgICAgICAgICAgIDB4MDVjNAogI2RlZmluZSBEQ0NHX0FVRElPX0RUTzFfTE9BRCAgICAgICAg ICAgICAgMHgwNWM4CiAjZGVmaW5lIERDQ0dfQVVESU9fRFRPMV9DTlRMICAgICAgICAgICAgICAw eDA1Y2MKKyMgICAgICAgZGVmaW5lIERDQ0dfQVVESU9fRFRPMV9VU0VfNTEyRkJSX0RUTyAoMSA8 PCAzKQogCiAvKiBEQ0UgNC4wIEFGTVQgKi8KICNkZWZpbmUgSERNSV9DT05UUk9MICAgICAgICAg ICAgICAgICAgICAgICAgIDB4NzAzMApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yNjAwX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjYwMF9oZG1pLmMKaW5kZXgg MWM0OWY0ZC4uMzA1ODBkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNjAw X2hkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3I2MDBfaGRtaS5jCkBAIC0zODAs NzMgKzM4MCwyOSBAQCB2b2lkIHI2MDBfaGRtaV9hdWRpb193b3JrYXJvdW5kKHN0cnVjdCBkcm1f ZW5jb2RlciAqZW5jb2RlcikKIAkJIHZhbHVlLCB+SERNSTBfQVVESU9fVEVTVF9FTik7CiB9CiAK LXZvaWQgcjYwMF9hdWRpb19zZXRfZHRvKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgdTMy IGNsb2NrKQordm9pZCByNjAwX2hkbWlfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgcmFkZW9uX2Rldmlj ZSAqcmRldiwKKyAgICBzdHJ1Y3QgcmFkZW9uX2NydGMgKmNydGMsIHVuc2lnbmVkIGludCBjbG9j aykKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2OwotCXN0cnVjdCBy YWRlb25fZGV2aWNlICpyZGV2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgcmFkZW9uX2Vu Y29kZXIgKnJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoZW5jb2Rlcik7Ci0Jc3Ry dWN0IHJhZGVvbl9lbmNvZGVyX2F0b21fZGlnICpkaWcgPSByYWRlb25fZW5jb2Rlci0+ZW5jX3By aXY7Ci0JdTMyIGJhc2VfcmF0ZSA9IDI0MDAwOwotCXUzMiBtYXhfcmF0aW8gPSBjbG9jayAvIGJh c2VfcmF0ZTsKLQl1MzIgZHRvX3BoYXNlOwotCXUzMiBkdG9fbW9kdWxvID0gY2xvY2s7Ci0JdTMy IHdhbGxjbG9ja19yYXRpbzsKLQl1MzIgZHRvX2NudGw7CisJc3RydWN0IHJhZGVvbl9lbmNvZGVy ICpyYWRlb25fZW5jb2RlcjsKKwlzdHJ1Y3QgcmFkZW9uX2VuY29kZXJfYXRvbV9kaWcgKmRpZzsK IAotCWlmICghZGlnIHx8ICFkaWctPmFmbXQpCisJaWYgKCFjcnRjKQogCQlyZXR1cm47CiAKLQlp ZiAobWF4X3JhdGlvID49IDgpIHsKLQkJZHRvX3BoYXNlID0gMTkyICogMTAwMDsKLQkJd2FsbGNs b2NrX3JhdGlvID0gMzsKLQl9IGVsc2UgaWYgKG1heF9yYXRpbyA+PSA0KSB7Ci0JCWR0b19waGFz ZSA9IDk2ICogMTAwMDsKLQkJd2FsbGNsb2NrX3JhdGlvID0gMjsKLQl9IGVsc2UgaWYgKG1heF9y YXRpbyA+PSAyKSB7Ci0JCWR0b19waGFzZSA9IDQ4ICogMTAwMDsKLQkJd2FsbGNsb2NrX3JhdGlv ID0gMTsKLQl9IGVsc2UgewotCQlkdG9fcGhhc2UgPSAyNCAqIDEwMDA7Ci0JCXdhbGxjbG9ja19y YXRpbyA9IDA7Ci0JfQorCXJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoY3J0Yy0+ ZW5jb2Rlcik7CisJZGlnID0gcmFkZW9uX2VuY29kZXItPmVuY19wcml2OwogCi0JLyogdGhlcmUg YXJlIHR3byBEVE9zIHNlbGVjdGVkIGJ5IERDQ0dfQVVESU9fRFRPX1NFTEVDVC4KLQkgKiBkb2Vz bid0IG1hdHRlciB3aGljaCBvbmUgeW91IHVzZS4gIEp1c3QgdXNlIHRoZSBmaXJzdCBvbmUuCi0J ICovCi0JLyogWFhYIHR3byBkdG9zOyBnZW5lcmFsbHkgdXNlIGR0bzAgZm9yIGhkbWkgKi8KLQkv KiBFeHByZXNzIFsyNE1IeiAvIHRhcmdldCBwaXhlbCBjbG9ja10gYXMgYW4gZXhhY3QgcmF0aW9u YWwKLQkgKiBudW1iZXIgKGNvZWZmaWNpZW50IG9mIHR3byBpbnRlZ2VyIG51bWJlcnMuICBEQ0NH X0FVRElPX0RUT3hfUEhBU0UKLQkgKiBpcyB0aGUgbnVtZXJhdG9yLCBEQ0NHX0FVRElPX0RUT3hf TU9EVUxFIGlzIHRoZSBkZW5vbWluYXRvcgotCSAqLwotCWlmIChBU0lDX0lTX0RDRTMyKHJkZXYp KSB7Ci0JCWlmIChkaWctPmRpZ19lbmNvZGVyID09IDApIHsKLQkJCWR0b19jbnRsID0gUlJFRzMy KERDQ0dfQVVESU9fRFRPMF9DTlRMKSAmIH5EQ0NHX0FVRElPX0RUT19XQUxMQ0xPQ0tfUkFUSU9f TUFTSzsKLQkJCWR0b19jbnRsIHw9IERDQ0dfQVVESU9fRFRPX1dBTExDTE9DS19SQVRJTyh3YWxs Y2xvY2tfcmF0aW8pOwotCQkJV1JFRzMyKERDQ0dfQVVESU9fRFRPMF9DTlRMLCBkdG9fY250bCk7 Ci0JCQlXUkVHMzIoRENDR19BVURJT19EVE8wX1BIQVNFLCBkdG9fcGhhc2UpOwotCQkJV1JFRzMy KERDQ0dfQVVESU9fRFRPMF9NT0RVTEUsIGR0b19tb2R1bG8pOwotCQkJV1JFRzMyKERDQ0dfQVVE SU9fRFRPX1NFTEVDVCwgMCk7IC8qIHNlbGVjdCBEVE8wICovCi0JCX0gZWxzZSB7Ci0JCQlkdG9f Y250bCA9IFJSRUczMihEQ0NHX0FVRElPX0RUTzFfQ05UTCkgJiB+RENDR19BVURJT19EVE9fV0FM TENMT0NLX1JBVElPX01BU0s7Ci0JCQlkdG9fY250bCB8PSBEQ0NHX0FVRElPX0RUT19XQUxMQ0xP Q0tfUkFUSU8od2FsbGNsb2NrX3JhdGlvKTsKLQkJCVdSRUczMihEQ0NHX0FVRElPX0RUTzFfQ05U TCwgZHRvX2NudGwpOwotCQkJV1JFRzMyKERDQ0dfQVVESU9fRFRPMV9QSEFTRSwgZHRvX3BoYXNl KTsKLQkJCVdSRUczMihEQ0NHX0FVRElPX0RUTzFfTU9EVUxFLCBkdG9fbW9kdWxvKTsKLQkJCVdS RUczMihEQ0NHX0FVRElPX0RUT19TRUxFQ1QsIDEpOyAvKiBzZWxlY3QgRFRPMSAqLwotCQl9CisJ aWYgKCFkaWcpCisJCXJldHVybjsKKworCWlmIChkaWctPmRpZ19lbmNvZGVyID09IDApIHsKKwkJ V1JFRzMyKERDQ0dfQVVESU9fRFRPMF9QSEFTRSwgMjQwMDAgKiAxMDApOworCQlXUkVHMzIoREND R19BVURJT19EVE8wX01PRFVMRSwgY2xvY2sgKiAxMDApOworCQlXUkVHMzIoRENDR19BVURJT19E VE9fU0VMRUNULCAwKTsgLyogc2VsZWN0IERUTzAgKi8KIAl9IGVsc2UgewotCQkvKiBhY2NvcmRp bmcgdG8gdGhlIHJlZyBzcGVjcywgdGhpcyBzaG91bGQgRENFMy4yIG9ubHksIGJ1dCBpbgotCQkg KiBwcmFjdGljZSBpdCBzZWVtcyB0byBjb3ZlciBEQ0UyLjAvMy4wLzMuMSBhcyB3ZWxsLgotCQkg Ki8KLQkJaWYgKGRpZy0+ZGlnX2VuY29kZXIgPT0gMCkgewotCQkJV1JFRzMyKERDQ0dfQVVESU9f RFRPMF9QSEFTRSwgYmFzZV9yYXRlICogMTAwKTsKLQkJCVdSRUczMihEQ0NHX0FVRElPX0RUTzBf TU9EVUxFLCBjbG9jayAqIDEwMCk7Ci0JCQlXUkVHMzIoRENDR19BVURJT19EVE9fU0VMRUNULCAw KTsgLyogc2VsZWN0IERUTzAgKi8KLQkJfSBlbHNlIHsKLQkJCVdSRUczMihEQ0NHX0FVRElPX0RU TzFfUEhBU0UsIGJhc2VfcmF0ZSAqIDEwMCk7Ci0JCQlXUkVHMzIoRENDR19BVURJT19EVE8xX01P RFVMRSwgY2xvY2sgKiAxMDApOwotCQkJV1JFRzMyKERDQ0dfQVVESU9fRFRPX1NFTEVDVCwgMSk7 IC8qIHNlbGVjdCBEVE8xICovCi0JCX0KKwkJV1JFRzMyKERDQ0dfQVVESU9fRFRPMV9QSEFTRSwg MjQwMDAgKiAxMDApOworCQlXUkVHMzIoRENDR19BVURJT19EVE8xX01PRFVMRSwgY2xvY2sgKiAx MDApOworCQlXUkVHMzIoRENDR19BVURJT19EVE9fU0VMRUNULCAxKTsgLyogc2VsZWN0IERUTzEg Ki8KIAl9CiB9CiAKQEAgLTQ3Nyw3ICs0MzMsNyBAQCB2b2lkIHI2MDBfaGRtaV9zZXRtb2RlKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZAog CWRpZy0+YWZtdC0+cGluID0gcmFkZW9uX2F1ZGlvX2dldF9waW4oZW5jb2Rlcik7CiAJcmFkZW9u X2F1ZGlvX2VuYWJsZShyZGV2LCBkaWctPmFmbXQtPnBpbiwgMCk7CiAKLQlyNjAwX2F1ZGlvX3Nl dF9kdG8oZW5jb2RlciwgbW9kZS0+Y2xvY2spOworCXJhZGVvbl9hdWRpb19zZXRfZHRvKGVuY29k ZXIsIG1vZGUtPmNsb2NrKTsKIAogCVdSRUczMl9QKEhETUkwX0FVRElPX1BBQ0tFVF9DT05UUk9M ICsgb2Zmc2V0LAogCQkgSERNSTBfQVVESU9fU0FNUExFX1NFTkQgfCAvKiBzZW5kIGF1ZGlvIHBh Y2tldHMgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCmluZGV4IGU2YzczZjgu LjJhMmJmNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwpAQCAtNjIsNiAr NjIsMTggQEAgdm9pZCBkY2U2X2FmbXRfd3JpdGVfbGF0ZW5jeV9maWVsZHMoc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyLAogc3RydWN0IHI2MDBfYXVkaW9fcGluKiByNjAwX2F1ZGlvX2dldF9w aW4oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogc3RydWN0IHI2MDBfYXVkaW9fcGluKiBk Y2U2X2F1ZGlvX2dldF9waW4oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCBkY2U2 X2FmbXRfc2VsZWN0X3BpbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwordm9pZCByNjAw X2hkbWlfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKKwlzdHJ1Y3Qg cmFkZW9uX2NydGMgKmNydGMsIHVuc2lnbmVkIGludCBjbG9jayk7Cit2b2lkIGRjZTNfMl9hdWRp b19zZXRfZHRvKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAorCXN0cnVjdCByYWRlb25fY3J0 YyAqY3J0YywgdW5zaWduZWQgaW50IGNsb2NrKTsKK3ZvaWQgZGNlNF9oZG1pX2F1ZGlvX3NldF9k dG8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCisJc3RydWN0IHJhZGVvbl9jcnRjICpjcnRj LCB1bnNpZ25lZCBpbnQgY2xvY2spOwordm9pZCBkY2U0X2RwX2F1ZGlvX3NldF9kdG8oc3RydWN0 IHJhZGVvbl9kZXZpY2UgKnJkZXYsCisJc3RydWN0IHJhZGVvbl9jcnRjICpjcnRjLCB1bnNpZ25l ZCBpbnQgY2xvY2spOwordm9pZCBkY2U2X2hkbWlfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldiwKKwlzdHJ1Y3QgcmFkZW9uX2NydGMgKmNydGMsIHVuc2lnbmVkIGludCBj bG9jayk7Cit2b2lkIGRjZTZfZHBfYXVkaW9fc2V0X2R0byhzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldiwKKwlzdHJ1Y3QgcmFkZW9uX2NydGMgKmNydGMsIHVuc2lnbmVkIGludCBjbG9jayk7CiAK IHN0YXRpYyBjb25zdCB1MzIgcGluX29mZnNldHNbN10gPQogewpAQCAtODUsNiArOTcsMTIgQEAg c3RhdGljIHZvaWQgcmFkZW9uX2F1ZGlvX3dyZWcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYs IHUzMiBvZmZzZXQsCiAJV1JFRzMyKHJlZywgdik7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgcmFkZW9u X2F1ZGlvX2Jhc2ljX2Z1bmNzIHI2MDBfZnVuY3MgPSB7CisJLmVuZHBvaW50X3JyZWcgPSByYWRl b25fYXVkaW9fcnJlZywKKwkuZW5kcG9pbnRfd3JlZyA9IHJhZGVvbl9hdWRpb193cmVnLAorCS5l bmFibGUgPSByNjAwX2F1ZGlvX2VuYWJsZSwKK307CisKIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1 ZGlvX2Jhc2ljX2Z1bmNzIGRjZTMyX2Z1bmNzID0gewogCS5lbmRwb2ludF9ycmVnID0gcmFkZW9u X2F1ZGlvX3JyZWcsCiAJLmVuZHBvaW50X3dyZWcgPSByYWRlb25fYXVkaW9fd3JlZywKQEAgLTEw MywxNiArMTIxLDIzIEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Jhc2ljX2Z1bmNzIGRj ZTZfZnVuY3MgPSB7CiAJLmVuYWJsZSA9IGRjZTZfYXVkaW9fZW5hYmxlLAogfTsKIAorc3RhdGlj IHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgcjYwMF9oZG1pX2Z1bmNzID0geworCS5nZXRfcGlu ID0gcjYwMF9hdWRpb19nZXRfcGluLAorCS5zZXRfZHRvID0gcjYwMF9oZG1pX2F1ZGlvX3NldF9k dG8sCit9OworCiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2UzMl9oZG1pX2Z1 bmNzID0gewogCS5nZXRfcGluID0gcjYwMF9hdWRpb19nZXRfcGluLAogCS53cml0ZV9zYWRfcmVn cyA9IGRjZTNfMl9hZm10X3dyaXRlX3NhZF9yZWdzLAogCS53cml0ZV9zcGVha2VyX2FsbG9jYXRp b24gPSBkY2UzXzJfYWZtdF9oZG1pX3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlvbiwKKwkuc2V0X2R0 byA9IGRjZTNfMl9hdWRpb19zZXRfZHRvLAogfTsKIAogc3RhdGljIHN0cnVjdCByYWRlb25fYXVk aW9fZnVuY3MgZGNlMzJfZHBfZnVuY3MgPSB7CiAJLmdldF9waW4gPSByNjAwX2F1ZGlvX2dldF9w aW4sCiAJLndyaXRlX3NhZF9yZWdzID0gZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3MsCiAJLndy aXRlX3NwZWFrZXJfYWxsb2NhdGlvbiA9IGRjZTNfMl9hZm10X2RwX3dyaXRlX3NwZWFrZXJfYWxs b2NhdGlvbiwKKwkuc2V0X2R0byA9IGRjZTNfMl9hdWRpb19zZXRfZHRvLAogfTsKIAogc3RhdGlj IHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNF9oZG1pX2Z1bmNzID0gewpAQCAtMTIwLDYg KzE0NSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTRfaGRtaV9mdW5j cyA9IHsKIAkud3JpdGVfc2FkX3JlZ3MgPSBldmVyZ3JlZW5faGRtaV93cml0ZV9zYWRfcmVncywK IAkud3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9uID0gZGNlNF9hZm10X2hkbWlfd3JpdGVfc3BlYWtl cl9hbGxvY2F0aW9uLAogCS53cml0ZV9sYXRlbmN5X2ZpZWxkcyA9IGRjZTRfYWZtdF93cml0ZV9s YXRlbmN5X2ZpZWxkcywKKwkuc2V0X2R0byA9IGRjZTRfaGRtaV9hdWRpb19zZXRfZHRvLAogfTsK IAogc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNF9kcF9mdW5jcyA9IHsKQEAg LTEyNyw2ICsxNTMsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U0X2Rw X2Z1bmNzID0gewogCS53cml0ZV9zYWRfcmVncyA9IGV2ZXJncmVlbl9oZG1pX3dyaXRlX3NhZF9y ZWdzLAogCS53cml0ZV9zcGVha2VyX2FsbG9jYXRpb24gPSBkY2U0X2FmbXRfZHBfd3JpdGVfc3Bl YWtlcl9hbGxvY2F0aW9uLAogCS53cml0ZV9sYXRlbmN5X2ZpZWxkcyA9IGRjZTRfYWZtdF93cml0 ZV9sYXRlbmN5X2ZpZWxkcywKKwkuc2V0X2R0byA9IGRjZTRfZHBfYXVkaW9fc2V0X2R0bywKIH07 CiAKIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTZfaGRtaV9mdW5jcyA9IHsK QEAgLTEzNSw2ICsxNjIsNyBAQCBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U2 X2hkbWlfZnVuY3MgPSB7CiAJLndyaXRlX3NhZF9yZWdzID0gZGNlNl9hZm10X3dyaXRlX3NhZF9y ZWdzLAogCS53cml0ZV9zcGVha2VyX2FsbG9jYXRpb24gPSBkY2U2X2FmbXRfaGRtaV93cml0ZV9z cGVha2VyX2FsbG9jYXRpb24sCiAJLndyaXRlX2xhdGVuY3lfZmllbGRzID0gZGNlNl9hZm10X3dy aXRlX2xhdGVuY3lfZmllbGRzLAorCS5zZXRfZHRvID0gZGNlNl9oZG1pX2F1ZGlvX3NldF9kdG8s CiB9OwogCiBzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U2X2RwX2Z1bmNzID0g ewpAQCAtMTQzLDYgKzE3MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRj ZTZfZHBfZnVuY3MgPSB7CiAJLndyaXRlX3NhZF9yZWdzID0gZGNlNl9hZm10X3dyaXRlX3NhZF9y ZWdzLAogCS53cml0ZV9zcGVha2VyX2FsbG9jYXRpb24gPSBkY2U2X2FmbXRfZHBfd3JpdGVfc3Bl YWtlcl9hbGxvY2F0aW9uLAogCS53cml0ZV9sYXRlbmN5X2ZpZWxkcyA9IGRjZTZfYWZtdF93cml0 ZV9sYXRlbmN5X2ZpZWxkcywKKwkuc2V0X2R0byA9IGRjZTZfZHBfYXVkaW9fc2V0X2R0bywKIH07 CiAKIHN0YXRpYyB2b2lkIHJhZGVvbl9hdWRpb19pbnRlcmZhY2VfaW5pdChzdHJ1Y3QgcmFkZW9u X2RldmljZSAqcmRldikKQEAgLTE1NSwxMCArMTg0LDE0IEBAIHN0YXRpYyB2b2lkIHJhZGVvbl9h dWRpb19pbnRlcmZhY2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAkJcmRldi0+ YXVkaW8uZnVuY3MgPSAmZGNlNF9mdW5jczsKIAkJcmRldi0+YXVkaW8uaGRtaV9mdW5jcyA9ICZk Y2U0X2hkbWlfZnVuY3M7CiAJCXJkZXYtPmF1ZGlvLmRwX2Z1bmNzID0gJmRjZTRfZHBfZnVuY3M7 Ci0JfSBlbHNlIHsKKwl9IGVsc2UgaWYgKEFTSUNfSVNfRENFMzIocmRldikpIHsKIAkJcmRldi0+ YXVkaW8uZnVuY3MgPSAmZGNlMzJfZnVuY3M7CiAJCXJkZXYtPmF1ZGlvLmhkbWlfZnVuY3MgPSAm ZGNlMzJfaGRtaV9mdW5jczsKIAkJcmRldi0+YXVkaW8uZHBfZnVuY3MgPSAmZGNlMzJfZHBfZnVu Y3M7CisJfSBlbHNlIHsKKwkJcmRldi0+YXVkaW8uZnVuY3MgPSAmcjYwMF9mdW5jczsKKwkJcmRl di0+YXVkaW8uaGRtaV9mdW5jcyA9ICZyNjAwX2hkbWlfZnVuY3M7CisJCXJkZXYtPmF1ZGlvLmRw X2Z1bmNzID0gMDsKIAl9CiB9CiAKQEAgLTM5MywzICs0MjYsMTMgQEAgdm9pZCByYWRlb25fYXVk aW9fZmluaShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKIAogCXJkZXYtPmF1ZGlvLmVuYWJs ZWQgPSBmYWxzZTsKIH0KKwordm9pZCByYWRlb25fYXVkaW9fc2V0X2R0byhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsIHVuc2lnbmVkIGludCBjbG9jaykKK3sKKwlzdHJ1Y3QgcmFkZW9uX2Rl dmljZSAqcmRldiA9IGVuY29kZXItPmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IHJhZGVvbl9l bmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVyKGVuY29kZXIpOworCXN0 cnVjdCByYWRlb25fY3J0YyAqY3J0YyA9IHRvX3JhZGVvbl9jcnRjKGVuY29kZXItPmNydGMpOwor CisJaWYgKHJhZGVvbl9lbmNvZGVyLT5hdWRpbyAmJiByYWRlb25fZW5jb2Rlci0+YXVkaW8tPnNl dF9kdG8pCisJCXJhZGVvbl9lbmNvZGVyLT5hdWRpby0+c2V0X2R0byhyZGV2LCBjcnRjLCBjbG9j ayk7Cit9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5o IGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uaAppbmRleCA1ODQ0OTkzLi4w NmI4MGRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmgKQEAgLTUxLDYgKzUx LDggQEAgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcwogCQlzdHJ1Y3QgY2VhX3NhZCAqc2Fkcywg aW50IHNhZF9jb3VudCk7CiAJdm9pZCAoKndyaXRlX3NwZWFrZXJfYWxsb2NhdGlvbikoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAogCQl1OCAqc2FkYiwgaW50IHNhZF9jb3VudCk7CisJdm9p ZCAoKnNldF9kdG8pKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAorCQlzdHJ1Y3QgcmFkZW9u X2NydGMgKmNydGMsIHVuc2lnbmVkIGludCBjbG9jayk7CiB9OwogCiBpbnQgcmFkZW9uX2F1ZGlv X2luaXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwpAQCAtNjksNSArNzEsNiBAQCB2b2lk IHJhZGVvbl9hdWRpb19zZWxlY3RfcGluKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiB2 b2lkIHJhZGVvbl9hdWRpb19lbmFibGUoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJc3Ry dWN0IHI2MDBfYXVkaW9fcGluICpwaW4sIHU4IGVuYWJsZV9tYXNrKTsKIHZvaWQgcmFkZW9uX2F1 ZGlvX2Zpbmkoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwordm9pZCByYWRlb25fYXVkaW9f c2V0X2R0byhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHVuc2lnbmVkIGludCBjbG9jayk7 CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9zaWQuaCBiL2Ry aXZlcnMvZ3B1L2RybS9yYWRlb24vc2lkLmgKaW5kZXggNDA2OWJlODkuLmViNTI5M2UgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vc2lkLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9zaWQuaApAQCAtOTAxLDYgKzkwMSwxNiBAQAogLyogMHg2ZTk4LCAweDdhOTgsIDB4 MTA2OTgsIDB4MTEyOTgsIDB4MTFlOTgsIDB4MTJhOTggKi8KICNkZWZpbmUgQ1JUQ19TVEFUVVNf RlJBTUVfQ09VTlQgICAgICAgICAgICAgICAgICAgICAgICAgMHg2ZTk4CiAKKy8qIEF1ZGlvIGNs b2NrcyAqLworI2RlZmluZSBEQ0NHX0FVRElPX0RUT19TT1VSQ0UgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDA1YWMKKyMgICAgICAgZGVmaW5lIERDQ0dfQVVESU9fRFRPMF9TT1VSQ0VfU0VM KHgpICgoeCkgPDwgMCkgLyogY3J0YzAgLSBjcnRjNSAqLworIyAgICAgICBkZWZpbmUgRENDR19B VURJT19EVE9fU0VMICAgICAgICAgICAgKDEgPDwgNCkgICAvKiAwPWR0bzAgMT1kdG8xICovCisK KyNkZWZpbmUgRENDR19BVURJT19EVE8wX1BIQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwNWIwCisjZGVmaW5lIERDQ0dfQVVESU9fRFRPMF9NT0RVTEUgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDViNAorI2RlZmluZSBEQ0NHX0FVRElPX0RUTzFfUEhBU0UgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDA1YjgKKyNkZWZpbmUgRENDR19BVURJT19EVE8xX01PRFVMRSAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwNWJjCisKICNkZWZpbmUgQUZNVF9BVURJT19TUkNfQ09O VFJPTCAgICAgICAgICAgICAgICAgICAgICAgICAgMHg3MTNjCiAjZGVmaW5lCQlBRk1UX0FVRElP X1NSQ19TRUxFQ1QoeCkJCSgoKHgpICYgNykgPDwgMCkKIC8qIEFGTVRfQVVESU9fU1JDX1NFTEVD VAotLSAKMS44LjMuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK