From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 03/24] radeon/audio: consolidate write_sad_regs() functions Date: Tue, 13 Jan 2015 12:46:32 -0500 Message-ID: <1421171213-23977-4-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-qc0-f173.google.com (mail-qc0-f173.google.com [209.85.216.173]) by gabe.freedesktop.org (Postfix) with ESMTP id EFE2A6E640 for ; Tue, 13 Jan 2015 09:47:02 -0800 (PST) Received: by mail-qc0-f173.google.com with SMTP id i17so3429552qcy.4 for ; Tue, 13 Jan 2015 09:47:02 -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 Z3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYyAgICB8IDM1ICsrKy0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMgICAgICB8IDM0ICsrKy0tLS0tLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2hkbWkuYyB8IDM4ICsrKystLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jICAgfCA3MiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24v cmFkZW9uX2F1ZGlvLmggICB8ICA0ICstCiA1IGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlvbnMo KyksIDkwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24v ZGNlM18xX2FmbXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlM18xX2FmbXQuYwppbmRl eCAyZmU4Y2ZjLi5jNzQ0MzFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2Rj ZTNfMV9hZm10LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2UzXzFfYWZtdC5jCkBA IC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNpbmNsdWRlICJyYWRlb24u aCIKICNpbmNsdWRlICJyYWRlb25fYXNpYy5oIgorI2luY2x1ZGUgInJhZGVvbl9hdWRpby5oIgog I2luY2x1ZGUgInI2MDBkLmgiCiAKIHN0YXRpYyB2b2lkIGRjZTNfMl9hZm10X3dyaXRlX3NwZWFr ZXJfYWxsb2NhdGlvbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCkBAIC02NywxNCArNjgs MTEgQEAgc3RhdGljIHZvaWQgZGNlM18yX2FmbXRfd3JpdGVfc3BlYWtlcl9hbGxvY2F0aW9uKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAlrZnJlZShzYWRiKTsKIH0KIAotc3RhdGljIHZv aWQgZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVy KQordm9pZCBkY2UzXzJfYWZtdF93cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIsCisJc3RydWN0IGNlYV9zYWQgKnNhZHMsIGludCBzYWRfY291bnQpCiB7CisJaW50IGk7 CiAJc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYgPSBlbmNvZGVyLT5kZXYtPmRldl9wcml2YXRl OwotCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3I7Ci0Jc3RydWN0IHJhZGVvbl9jb25u ZWN0b3IgKnJhZGVvbl9jb25uZWN0b3IgPSBOVUxMOwotCXN0cnVjdCBjZWFfc2FkICpzYWRzOwot CWludCBpLCBzYWRfY291bnQ7Ci0KIAlzdGF0aWMgY29uc3QgdTE2IGVsZF9yZWdfdG9fdHlwZVtd WzJdID0gewogCQl7IEFaX0YwX0NPREVDX1BJTjBfQ09OVFJPTF9BVURJT19ERVNDUklQVE9SMCwg SERNSV9BVURJT19DT0RJTkdfVFlQRV9QQ00gfSwKIAkJeyBBWl9GMF9DT0RFQ19QSU4wX0NPTlRS T0xfQVVESU9fREVTQ1JJUFRPUjEsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfQUMzIH0sCkBAIC05 MCwyNSArODgsNiBAQCBzdGF0aWMgdm9pZCBkY2UzXzJfYWZtdF93cml0ZV9zYWRfcmVncyhzdHJ1 Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCXsgQVpfRjBfQ09ERUNfUElOMF9DT05UUk9MX0FV RElPX0RFU0NSSVBUT1IxMywgSERNSV9BVURJT19DT0RJTkdfVFlQRV9XTUFfUFJPIH0sCiAJfTsK IAotCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZW5jb2Rlci0+ZGV2LT5tb2RlX2Nv bmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewotCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyID09 IGVuY29kZXIpIHsKLQkJCXJhZGVvbl9jb25uZWN0b3IgPSB0b19yYWRlb25fY29ubmVjdG9yKGNv bm5lY3Rvcik7Ci0JCQlicmVhazsKLQkJfQotCX0KLQotCWlmICghcmFkZW9uX2Nvbm5lY3Rvcikg ewotCQlEUk1fRVJST1IoIkNvdWxkbid0IGZpbmQgZW5jb2RlcidzIGNvbm5lY3RvclxuIik7Ci0J CXJldHVybjsKLQl9Ci0KLQlzYWRfY291bnQgPSBkcm1fZWRpZF90b19zYWQocmFkZW9uX2Nvbm5l Y3Rvci0+ZWRpZCwgJnNhZHMpOwotCWlmIChzYWRfY291bnQgPCAwKSB7Ci0JCURSTV9FUlJPUigi Q291bGRuJ3QgcmVhZCBTQURzOiAlZFxuIiwgc2FkX2NvdW50KTsKLQkJcmV0dXJuOwotCX0KLQlC VUdfT04oIXNhZHMpOwotCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZWxkX3JlZ190b190 eXBlKTsgaSsrKSB7CiAJCXUzMiB2YWx1ZSA9IDA7CiAJCXU4IHN0ZXJlb19mcmVxcyA9IDA7CkBA IC0xMzUsMTAgKzExNCw4IEBAIHN0YXRpYyB2b2lkIGRjZTNfMl9hZm10X3dyaXRlX3NhZF9yZWdz KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogCQl2YWx1ZSB8PSBTVVBQT1JURURfRlJF UVVFTkNJRVNfU1RFUkVPKHN0ZXJlb19mcmVxcyk7CiAKLQkJV1JFRzMyKGVsZF9yZWdfdG9fdHlw ZVtpXVswXSwgdmFsdWUpOworCQlXUkVHMzJfRU5EUE9JTlQoMCwgZWxkX3JlZ190b190eXBlW2ld WzBdLCB2YWx1ZSk7CiAJfQotCi0Ja2ZyZWUoc2Fkcyk7CiB9CiAKIC8qCkBAIC0xOTEsNyArMTY4 LDcgQEAgdm9pZCBkY2UzXzFfaGRtaV9zZXRtb2RlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0KIAogCWlmIChBU0lDX0lTX0RDRTMyKHJkZXYp KSB7CiAJCWRjZTNfMl9hZm10X3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlvbihlbmNvZGVyKTsKLQkJ ZGNlM18yX2FmbXRfd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7CisJCXJhZGVvbl9hdWRpb193cml0 ZV9zYWRfcmVncyhlbmNvZGVyKTsKIAl9CiAKIAlXUkVHMzIoSERNSTBfQUNSX1BBQ0tFVF9DT05U Uk9MICsgb2Zmc2V0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2U2X2Fm bXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZGNlNl9hZm10LmMKaW5kZXggODIxZjUzYy4u ZjI2M2VhYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9kY2U2X2FmbXQuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2RjZTZfYWZtdC5jCkBAIC0xOTIsMTcgKzE5Miwx NCBAQCB2b2lkIGRjZTZfYWZtdF93cml0ZV9zcGVha2VyX2FsbG9jYXRpb24oc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyKQogCWtmcmVlKHNhZGIpOwogfQogCi12b2lkIGRjZTZfYWZtdF93cml0 ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCit2b2lkIGRjZTZfYWZtdF93 cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCisJc3RydWN0IGNlYV9z YWQgKnNhZHMsIGludCBzYWRfY291bnQpCiB7Ci0Jc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYg PSBlbmNvZGVyLT5kZXYtPmRldl9wcml2YXRlOworCXUzMiBvZmZzZXQ7CisJaW50IGk7CiAJc3Ry dWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciA9IHRvX3JhZGVvbl9lbmNvZGVyKGVu Y29kZXIpOwogCXN0cnVjdCByYWRlb25fZW5jb2Rlcl9hdG9tX2RpZyAqZGlnID0gcmFkZW9uX2Vu Y29kZXItPmVuY19wcml2OwotCXUzMiBvZmZzZXQ7Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvcjsKLQlzdHJ1Y3QgcmFkZW9uX2Nvbm5lY3RvciAqcmFkZW9uX2Nvbm5lY3RvciA9IE5V TEw7Ci0Jc3RydWN0IGNlYV9zYWQgKnNhZHM7Ci0JaW50IGksIHNhZF9jb3VudDsKLQorCXN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2ID0gZW5jb2Rlci0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdGF0 aWMgY29uc3QgdTE2IGVsZF9yZWdfdG9fdHlwZVtdWzJdID0gewogCQl7IEFaX0YwX0NPREVDX1BJ Tl9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IwLCBIRE1JX0FVRElPX0NPRElOR19UWVBFX1BDTSB9 LAogCQl7IEFaX0YwX0NPREVDX1BJTl9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IxLCBIRE1JX0FV RElPX0NPRElOR19UWVBFX0FDMyB9LApAQCAtMjIzLDI1ICsyMjAsNiBAQCB2b2lkIGRjZTZfYWZt dF93cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAKIAlvZmZzZXQg PSBkaWctPmFmbXQtPnBpbi0+b2Zmc2V0OwogCi0JbGlzdF9mb3JfZWFjaF9lbnRyeShjb25uZWN0 b3IsICZlbmNvZGVyLT5kZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rvcl9saXN0LCBoZWFkKSB7Ci0J CWlmIChjb25uZWN0b3ItPmVuY29kZXIgPT0gZW5jb2RlcikgewotCQkJcmFkZW9uX2Nvbm5lY3Rv ciA9IHRvX3JhZGVvbl9jb25uZWN0b3IoY29ubmVjdG9yKTsKLQkJCWJyZWFrOwotCQl9Ci0JfQot Ci0JaWYgKCFyYWRlb25fY29ubmVjdG9yKSB7Ci0JCURSTV9FUlJPUigiQ291bGRuJ3QgZmluZCBl bmNvZGVyJ3MgY29ubmVjdG9yXG4iKTsKLQkJcmV0dXJuOwotCX0KLQotCXNhZF9jb3VudCA9IGRy bV9lZGlkX3RvX3NhZChyYWRlb25fY29ubmVjdG9yX2VkaWQoY29ubmVjdG9yKSwgJnNhZHMpOwot CWlmIChzYWRfY291bnQgPD0gMCkgewotCQlEUk1fRVJST1IoIkNvdWxkbid0IHJlYWQgU0FEczog JWRcbiIsIHNhZF9jb3VudCk7Ci0JCXJldHVybjsKLQl9Ci0JQlVHX09OKCFzYWRzKTsKLQogCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGVsZF9yZWdfdG9fdHlwZSk7IGkrKykgewogCQl1MzIg dmFsdWUgPSAwOwogCQl1OCBzdGVyZW9fZnJlcXMgPSAwOwpAQCAtMjcwLDggKzI0OCw2IEBAIHZv aWQgZGNlNl9hZm10X3dyaXRlX3NhZF9yZWdzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikK IAogCQlXUkVHMzJfRU5EUE9JTlQob2Zmc2V0LCBlbGRfcmVnX3RvX3R5cGVbaV1bMF0sIHZhbHVl KTsKIAl9Ci0KLQlrZnJlZShzYWRzKTsKIH0KIAogdm9pZCBkY2U2X2F1ZGlvX2VuYWJsZShzdHJ1 Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vZXZlcmdyZWVuX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vZXZlcmdyZWVuX2hk bWkuYwppbmRleCA1M2FiZDliLi5kZDE0MmUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL2V2ZXJncmVlbl9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9ldmVy Z3JlZW5faGRtaS5jCkBAIC0yOSwxMSArMjksMTEgQEAKICNpbmNsdWRlIDxkcm0vcmFkZW9uX2Ry bS5oPgogI2luY2x1ZGUgInJhZGVvbi5oIgogI2luY2x1ZGUgInJhZGVvbl9hc2ljLmgiCisjaW5j bHVkZSAicmFkZW9uX2F1ZGlvLmgiCiAjaW5jbHVkZSAiZXZlcmdyZWVuZC5oIgogI2luY2x1ZGUg ImF0b20uaCIKIAogZXh0ZXJuIHZvaWQgZGNlNl9hZm10X3dyaXRlX3NwZWFrZXJfYWxsb2NhdGlv bihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwotZXh0ZXJuIHZvaWQgZGNlNl9hZm10X3dy aXRlX3NhZF9yZWdzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiBleHRlcm4gdm9pZCBk Y2U2X2FmbXRfc2VsZWN0X3BpbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwogZXh0ZXJu IHZvaWQgZGNlNl9hZm10X3dyaXRlX2xhdGVuY3lfZmllbGRzKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlciwKIAkJCQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwpAQCAtMTY4 LDE0ICsxNjgsMTEgQEAgc3RhdGljIHZvaWQgZGNlNF9hZm10X3dyaXRlX3NwZWFrZXJfYWxsb2Nh dGlvbihzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJa2ZyZWUoc2FkYik7CiB9CiAKLXN0 YXRpYyB2b2lkIGV2ZXJncmVlbl9oZG1pX3dyaXRlX3NhZF9yZWdzKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlcikKK3ZvaWQgZXZlcmdyZWVuX2hkbWlfd3JpdGVfc2FkX3JlZ3Moc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyLAorCXN0cnVjdCBjZWFfc2FkICpzYWRzLCBpbnQgc2FkX2NvdW50 KQogeworCWludCBpOwogCXN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2ID0gZW5jb2Rlci0+ZGV2 LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwotCXN0cnVj dCByYWRlb25fY29ubmVjdG9yICpyYWRlb25fY29ubmVjdG9yID0gTlVMTDsKLQlzdHJ1Y3QgY2Vh X3NhZCAqc2FkczsKLQlpbnQgaSwgc2FkX2NvdW50OwotCiAJc3RhdGljIGNvbnN0IHUxNiBlbGRf cmVnX3RvX3R5cGVbXVsyXSA9IHsKIAkJeyBBWl9GMF9DT0RFQ19QSU4wX0NPTlRST0xfQVVESU9f REVTQ1JJUFRPUjAsIEhETUlfQVVESU9fQ09ESU5HX1RZUEVfUENNIH0sCiAJCXsgQVpfRjBfQ09E RUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IxLCBIRE1JX0FVRElPX0NPRElOR19UWVBF X0FDMyB9LApAQCAtMTkxLDI1ICsxODgsNiBAQCBzdGF0aWMgdm9pZCBldmVyZ3JlZW5faGRtaV93 cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCXsgQVpfRjBfQ09E RUNfUElOMF9DT05UUk9MX0FVRElPX0RFU0NSSVBUT1IxMywgSERNSV9BVURJT19DT0RJTkdfVFlQ RV9XTUFfUFJPIH0sCiAJfTsKIAotCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9yLCAmZW5j b2Rlci0+ZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewotCQlpZiAoY29u bmVjdG9yLT5lbmNvZGVyID09IGVuY29kZXIpIHsKLQkJCXJhZGVvbl9jb25uZWN0b3IgPSB0b19y YWRlb25fY29ubmVjdG9yKGNvbm5lY3Rvcik7Ci0JCQlicmVhazsKLQkJfQotCX0KLQotCWlmICgh cmFkZW9uX2Nvbm5lY3RvcikgewotCQlEUk1fRVJST1IoIkNvdWxkbid0IGZpbmQgZW5jb2Rlcidz IGNvbm5lY3RvclxuIik7Ci0JCXJldHVybjsKLQl9Ci0KLQlzYWRfY291bnQgPSBkcm1fZWRpZF90 b19zYWQocmFkZW9uX2Nvbm5lY3Rvcl9lZGlkKGNvbm5lY3RvciksICZzYWRzKTsKLQlpZiAoc2Fk X2NvdW50IDw9IDApIHsKLQkJRFJNX0VSUk9SKCJDb3VsZG4ndCByZWFkIFNBRHM6ICVkXG4iLCBz YWRfY291bnQpOwotCQlyZXR1cm47Ci0JfQotCUJVR19PTighc2Fkcyk7Ci0KIAlmb3IgKGkgPSAw OyBpIDwgQVJSQVlfU0laRShlbGRfcmVnX3RvX3R5cGUpOyBpKyspIHsKIAkJdTMyIHZhbHVlID0g MDsKIAkJdTggc3RlcmVvX2ZyZXFzID0gMDsKQEAgLTIzNiwxMCArMjE0LDggQEAgc3RhdGljIHZv aWQgZXZlcmdyZWVuX2hkbWlfd3JpdGVfc2FkX3JlZ3Moc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQogCiAJCXZhbHVlIHw9IFNVUFBPUlRFRF9GUkVRVUVOQ0lFU19TVEVSRU8oc3RlcmVvX2Zy ZXFzKTsKIAotCQlXUkVHMzIoZWxkX3JlZ190b190eXBlW2ldWzBdLCB2YWx1ZSk7CisJCVdSRUcz Ml9FTkRQT0lOVCgwLCBlbGRfcmVnX3RvX3R5cGVbaV1bMF0sIHZhbHVlKTsKIAl9Ci0KLQlrZnJl ZShzYWRzKTsKIH0KIAogLyoKQEAgLTQ1NCwxMCArNDMwLDEwIEBAIHZvaWQgZXZlcmdyZWVuX2hk bWlfc2V0bW9kZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlCiAKIAlpZiAoQVNJQ19JU19EQ0U2KHJkZXYpKSB7CiAJCWRjZTZfYWZtdF9zZWxlY3Rf cGluKGVuY29kZXIpOwotCQlkY2U2X2FmbXRfd3JpdGVfc2FkX3JlZ3MoZW5jb2Rlcik7CisJCXJh ZGVvbl9hdWRpb193cml0ZV9zYWRfcmVncyhlbmNvZGVyKTsKIAkJZGNlNl9hZm10X3dyaXRlX2xh dGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwogCX0gZWxzZSB7Ci0JCWV2ZXJncmVlbl9oZG1p X3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOworCQlyYWRlb25fYXVkaW9fd3JpdGVfc2FkX3JlZ3Mo ZW5jb2Rlcik7CiAJCWRjZTRfYWZtdF93cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBtb2Rl KTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jCmluZGV4IDM2MTc0YjYu LjBmYzdhOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uYwpAQCAtMzUsNiAr MzUsMTIgQEAgdm9pZCBkY2U2X2F1ZGlvX2VuYWJsZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRl diwgc3RydWN0IHI2MDBfYXVkaW9fcGluICpwaW4sCiB1MzIgZGNlNl9lbmRwb2ludF9ycmVnKHN0 cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LCB1MzIgcmVnKTsKIHZvaWQgZGNl Nl9lbmRwb2ludF93cmVnKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LAogCQl1MzIgb2Zmc2V0 LCB1MzIgcmVnLCB1MzIgdik7Cit2b2lkIGRjZTNfMl9hZm10X3dyaXRlX3NhZF9yZWdzKHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2RlciwKKwkJc3RydWN0IGNlYV9zYWQgKnNhZHMsIGludCBzYWRf Y291bnQpOwordm9pZCBldmVyZ3JlZW5faGRtaV93cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIsCisJCXN0cnVjdCBjZWFfc2FkICpzYWRzLCBpbnQgc2FkX2NvdW50KTsK K3ZvaWQgZGNlNl9hZm10X3dyaXRlX3NhZF9yZWdzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKKwkJc3RydWN0IGNlYV9zYWQgKnNhZHMsIGludCBzYWRfY291bnQpOwogCiBzdGF0aWMgY29u c3QgdTMyIHBpbl9vZmZzZXRzWzddID0KIHsKQEAgLTczLDE0ICs3OSw0NCBAQCBzdGF0aWMgc3Ry dWN0IHJhZGVvbl9hdWRpb19iYXNpY19mdW5jcyBkY2U2X2Z1bmNzID0gewogCS5lbmRwb2ludF93 cmVnID0gZGNlNl9lbmRwb2ludF93cmVnLAogfTsKIAorc3RhdGljIHN0cnVjdCByYWRlb25fYXVk aW9fZnVuY3MgZGNlMzJfaGRtaV9mdW5jcyA9IHsKKwkud3JpdGVfc2FkX3JlZ3MgPSBkY2UzXzJf YWZtdF93cml0ZV9zYWRfcmVncywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1 bmNzIGRjZTMyX2RwX2Z1bmNzID0geworCS53cml0ZV9zYWRfcmVncyA9IGRjZTNfMl9hZm10X3dy aXRlX3NhZF9yZWdzLAorfTsKKworc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNl NF9oZG1pX2Z1bmNzID0geworCS53cml0ZV9zYWRfcmVncyA9IGV2ZXJncmVlbl9oZG1pX3dyaXRl X3NhZF9yZWdzLAorfTsKKworc3RhdGljIHN0cnVjdCByYWRlb25fYXVkaW9fZnVuY3MgZGNlNF9k cF9mdW5jcyA9IHsKKwkud3JpdGVfc2FkX3JlZ3MgPSBldmVyZ3JlZW5faGRtaV93cml0ZV9zYWRf cmVncywKK307CisKK3N0YXRpYyBzdHJ1Y3QgcmFkZW9uX2F1ZGlvX2Z1bmNzIGRjZTZfaGRtaV9m dW5jcyA9IHsKKwkud3JpdGVfc2FkX3JlZ3MgPSBkY2U2X2FmbXRfd3JpdGVfc2FkX3JlZ3MsCit9 OworCitzdGF0aWMgc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcyBkY2U2X2RwX2Z1bmNzID0gewor CS53cml0ZV9zYWRfcmVncyA9IGRjZTZfYWZtdF93cml0ZV9zYWRfcmVncywKK307CisKIHN0YXRp YyB2b2lkIHJhZGVvbl9hdWRpb19pbnRlcmZhY2VfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAq cmRldikKIHsKIAlpZiAoQVNJQ19JU19EQ0U2KHJkZXYpKSB7CiAJCXJkZXYtPmF1ZGlvLmZ1bmNz ID0gJmRjZTZfZnVuY3M7CisJCXJkZXYtPmF1ZGlvLmhkbWlfZnVuY3MgPSAmZGNlNl9oZG1pX2Z1 bmNzOworCQlyZGV2LT5hdWRpby5kcF9mdW5jcyA9ICZkY2U2X2RwX2Z1bmNzOwogCX0gZWxzZSBp ZiAoQVNJQ19JU19EQ0U0KHJkZXYpKSB7CiAJCXJkZXYtPmF1ZGlvLmZ1bmNzID0gJmRjZTRfZnVu Y3M7CisJCXJkZXYtPmF1ZGlvLmhkbWlfZnVuY3MgPSAmZGNlNF9oZG1pX2Z1bmNzOworCQlyZGV2 LT5hdWRpby5kcF9mdW5jcyA9ICZkY2U0X2RwX2Z1bmNzOwogCX0gZWxzZSB7CiAJCXJkZXYtPmF1 ZGlvLmZ1bmNzID0gJmRjZTMyX2Z1bmNzOworCQlyZGV2LT5hdWRpby5oZG1pX2Z1bmNzID0gJmRj ZTMyX2hkbWlfZnVuY3M7CisJCXJkZXYtPmF1ZGlvLmRwX2Z1bmNzID0gJmRjZTMyX2RwX2Z1bmNz OwogCX0KIH0KIApAQCAtMTgyLDMgKzIxOCwzOSBAQCB2b2lkIHJhZGVvbl9hdWRpb19lbmRwb2lu dF93cmVnKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2LCB1MzIgb2Zmc2V0LAogCWlmIChyZGV2 LT5hdWRpby5mdW5jcy0+ZW5kcG9pbnRfd3JlZykKIAkJcmRldi0+YXVkaW8uZnVuY3MtPmVuZHBv aW50X3dyZWcocmRldiwgb2Zmc2V0LCByZWcsIHYpOwogfQorCit2b2lkIHJhZGVvbl9hdWRpb193 cml0ZV9zYWRfcmVncyhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCit7CisJc3RydWN0IHJh ZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlcjsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yOworCXN0cnVjdCByYWRlb25fY29ubmVjdG9yICpyYWRlb25fY29ubmVjdG9yID0gTlVM TDsKKwlzdHJ1Y3QgY2VhX3NhZCAqc2FkczsKKwlpbnQgc2FkX2NvdW50OworCisJbGlzdF9mb3Jf ZWFjaF9lbnRyeShjb25uZWN0b3IsCisJCSZlbmNvZGVyLT5kZXYtPm1vZGVfY29uZmlnLmNvbm5l Y3Rvcl9saXN0LCBoZWFkKSB7CisJCWlmIChjb25uZWN0b3ItPmVuY29kZXIgPT0gZW5jb2Rlcikg eworCQkJcmFkZW9uX2Nvbm5lY3RvciA9IHRvX3JhZGVvbl9jb25uZWN0b3IoY29ubmVjdG9yKTsK KwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCFyYWRlb25fY29ubmVjdG9yKSB7CisJCURSTV9F UlJPUigiQ291bGRuJ3QgZmluZCBlbmNvZGVyJ3MgY29ubmVjdG9yXG4iKTsKKwkJcmV0dXJuOwor CX0KKworCXNhZF9jb3VudCA9IGRybV9lZGlkX3RvX3NhZChyYWRlb25fY29ubmVjdG9yX2VkaWQo Y29ubmVjdG9yKSwgJnNhZHMpOworCWlmIChzYWRfY291bnQgPD0gMCkgeworCQlEUk1fRVJST1Io IkNvdWxkbid0IHJlYWQgU0FEczogJWRcbiIsIHNhZF9jb3VudCk7CisJCXJldHVybjsKKwl9CisJ QlVHX09OKCFzYWRzKTsKKworCXJhZGVvbl9lbmNvZGVyID0gdG9fcmFkZW9uX2VuY29kZXIoZW5j b2Rlcik7CisKKwlpZiAocmFkZW9uX2VuY29kZXItPmF1ZGlvICYmIHJhZGVvbl9lbmNvZGVyLT5h dWRpby0+d3JpdGVfc2FkX3JlZ3MpCisJCXJhZGVvbl9lbmNvZGVyLT5hdWRpby0+d3JpdGVfc2Fk X3JlZ3MoZW5jb2Rlciwgc2Fkcywgc2FkX2NvdW50KTsKKworCWtmcmVlKHNhZHMpOworfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uaCBiL2RyaXZlcnMv Z3B1L2RybS9yYWRlb24vcmFkZW9uX2F1ZGlvLmgKaW5kZXggZTRiMGI2NC4uZWEzNTk0ZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8uaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5oCkBAIC00MSw3ICs0MSw4IEBAIHN0cnVj dCByYWRlb25fYXVkaW9fYmFzaWNfZnVuY3MKIAogc3RydWN0IHJhZGVvbl9hdWRpb19mdW5jcwog ewotCS8qIFRPRE86IGFkZCBtb2RlIGRlcGVuZGVkIGF1ZGlvIGludGVyZmFjZSAqLworCXZvaWQg KCp3cml0ZV9zYWRfcmVncykoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAorCQlzdHJ1Y3Qg Y2VhX3NhZCAqc2FkcywgaW50IHNhZF9jb3VudCk7CiB9OwogCiBpbnQgcmFkZW9uX2F1ZGlvX2lu aXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwpAQCAtNTEsNSArNTIsNiBAQCB1MzIgcmFk ZW9uX2F1ZGlvX2VuZHBvaW50X3JyZWcoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCiAJdTMy IG9mZnNldCwgdTMyIHJlZyk7CiB2b2lkIHJhZGVvbl9hdWRpb19lbmRwb2ludF93cmVnKHN0cnVj dCByYWRlb25fZGV2aWNlICpyZGV2LAogCXUzMiBvZmZzZXQsCXUzMiByZWcsIHUzMiB2KTsKK3Zv aWQgcmFkZW9uX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cik7CiAKICNlbmRpZgotLSAKMS44LjMuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK