From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Hajda Subject: [PATCH v2 RESEND 20/24] drm/exynos/gscaler: add local path support Date: Wed, 20 Mar 2019 14:07:03 +0100 Message-ID: <20190320130707.25161-21-a.hajda@samsung.com> References: <20190320130707.25161-1-a.hajda@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7869289DDF for ; Wed, 20 Mar 2019 13:07:22 +0000 (UTC) In-reply-to: <20190320130707.25161-1-a.hajda@samsung.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Inki Dae Cc: linux-samsung-soc@vger.kernel.org, Bartlomiej Zolnierkiewicz , Krzysztof Kozlowski , dri-devel@lists.freedesktop.org, Marek Szyprowski List-Id: dri-devel@lists.freedesktop.org R1NDQUxFUnMgaW4gRXh5bm9zNTQzMyBoYXZlIGxvY2FsIHBhdGggdG8gREVDT04gYW5kIERFQ09O X1RWLgpUaGV5IGNhbiBiZSB1c2VkIGFzIGV4dHJhIHBsYW5lcyB3aXRoIHN1cHBvcnQgZm9yIG5v bi1SR0IgZm9ybWF0cyBhbmQgc2NhbGluZy4KVG8gZW5hYmxlIGl0IEdTQ0FMRVIgbXVzdCBleHBv c2UgZXh5bm9zX3BsYW5lIHdpdGggYXNzb2NpYXRlZCBwbGFuZSBjYWxsYmFja3MKYW5kIGJpbmQg aXQgdG8gREVDT05zIENSVENzLiBNb3Jlb3ZlciBkZXZpY2UgbG9ja2luZyBzaG91bGQgYmUgYWRk ZWQgdG8gcHJldmVudApzaW11bHRhbm91cyBkZXZpY2UgdXNhZ2UgYnkgSVBQIGFuZCBEUk0uCgpT aWduZWQtb2ZmLWJ5OiBBbmRyemVqIEhhamRhIDxhLmhhamRhQHNhbXN1bmcuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9nc2MuYyB8IDE3OSArKysrKysrKysrKysr KysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9leHlub3MvcmVncy1nc2MuaCAgICAgICB8ICAg NiArCiAyIGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25zKCspLCAyOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ3NjLmMgYi9k cml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ3NjLmMKaW5kZXggOGQ1YWE3MGM4YWI4 Li4yOGE3MzhhNjhhODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9nc2MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZ3NjLmMK QEAgLTE2LDE0ICsxNiwxNiBAQAogI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgog I2luY2x1ZGUgPGxpbnV4L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4KLSNp bmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+ CiAjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+CiAKKyNpbmNsdWRlIDxkcm0vZHJtX2F0b21pYy5o PgogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJtL2V4eW5vc19kcm0uaD4KICNp bmNsdWRlICJyZWdzLWdzYy5oIgorI2luY2x1ZGUgImV4eW5vc19kcm1fY3J0Yy5oIgogI2luY2x1 ZGUgImV4eW5vc19kcm1fZHJ2LmgiCisjaW5jbHVkZSAiZXh5bm9zX2RybV9mYi5oIgogI2luY2x1 ZGUgImV4eW5vc19kcm1faXBwLmgiCiAKIC8qCkBAIC05OCwxMSArMTAwLDEzIEBAIHN0cnVjdCBn c2Nfc2NhbGVyIHsKICAqLwogc3RydWN0IGdzY19jb250ZXh0IHsKIAlzdHJ1Y3QgZXh5bm9zX2Ry bV9pcHAgaXBwOworCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lIHBsYW5lOwogCXN0cnVjdCBkcm1f ZGV2aWNlICpkcm1fZGV2OwogCXN0cnVjdCBkZXZpY2UJKmRldjsKIAlzdHJ1Y3QgZXh5bm9zX2Ry bV9pcHBfdGFzawkqdGFzazsKIAlzdHJ1Y3QgZXh5bm9zX2RybV9pcHBfZm9ybWF0cwkqZm9ybWF0 czsKIAl1bnNpZ25lZCBpbnQJCQludW1fZm9ybWF0czsKKwlzdHJ1Y3Qgc3BpbmxvY2sgbG9jazsK IAogCXN0cnVjdCByZXNvdXJjZQkqcmVnc19yZXM7CiAJdm9pZCBfX2lvbWVtCSpyZWdzOwpAQCAt MTEzLDggKzExNywxMiBAQCBzdHJ1Y3QgZ3NjX2NvbnRleHQgewogCWludAlpZDsKIAlpbnQJaXJx OwogCWJvb2wJcm90YXRpb247CisJYm9vbAllbmFibGVkOworCWJvb2wJdXNlX2xvY2FsX3BhdGg7 CiB9OwogCisjZGVmaW5lIHRvX2dzYyhwdHIpIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBnc2Nf Y29udGV4dCwgcHRyKQorCiAvKioKICAqIHN0cnVjdCBnc2NfZHJpdmVyZGF0YSAtIHBlciBkZXZp Y2UgdHlwZSBkcml2ZXIgZGF0YSBmb3IgaW5pdCB0aW1lLgogICoKQEAgLTEyNyw2ICsxMzUsNyBA QCBzdHJ1Y3QgZ3NjX2RyaXZlcmRhdGEgewogCWludAkJbnVtX2xpbWl0czsKIAljb25zdCBjaGFy CSpjbGtfbmFtZXNbR1NDX01BWF9DTE9DS1NdOwogCWludAkJbnVtX2Nsb2NrczsKKwlib29sCQl1 c2VfbG9jYWxfcGF0aDsKIH07CiAKIC8qIDgtdGFwIEZpbHRlciBDb2VmZmljaWVudCAqLwpAQCAt Mzc3LDYgKzM4NiwzMiBAQCBzdGF0aWMgY29uc3QgaW50IHZfY29lZl80dFtHU0NfQ09FRl9SQVRJ T11bR1NDX0NPRUZfQVRUUl1bR1NDX0NPRUZfVl80VF0gPSB7CiAJfQogfTsKIAorc3RhdGljIGlu dCBnc2NfZGV2X2xvY2soc3RydWN0IGdzY19jb250ZXh0ICpjdHgsIHZvaWQgKnRhc2spCit7CisJ dW5zaWduZWQgbG9uZyBmbGFnczsKKwlpbnQgcmV0ID0gMDsKKworCXNwaW5fbG9ja19pcnFzYXZl KCZjdHgtPmxvY2ssIGZsYWdzKTsKKwlpZiAoY3R4LT50YXNrKQorCQlyZXQgPSAtRUJVU1k7CisJ ZWxzZQorCQljdHgtPnRhc2sgPSB0YXNrOworCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmN0eC0+ bG9jaywgZmxhZ3MpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyB2b2lkICpnc2NfZGV2X3Vu bG9jayhzdHJ1Y3QgZ3NjX2NvbnRleHQgKmN0eCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOwor CXZvaWQgKnRhc2s7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmY3R4LT5sb2NrLCBmbGFncyk7CisJ dGFzayA9IGN0eC0+dGFzazsKKwljdHgtPnRhc2sgPSBOVUxMOworCXNwaW5fdW5sb2NrX2lycXJl c3RvcmUoJmN0eC0+bG9jaywgZmxhZ3MpOworCXJldHVybiB0YXNrOworfQorCiBzdGF0aWMgaW50 IGdzY19zd19yZXNldChzdHJ1Y3QgZ3NjX2NvbnRleHQgKmN0eCkKIHsKIAl1MzIgY2ZnOwpAQCAt MTAyMSw2ICsxMDU2LDcgQEAgc3RhdGljIGludCBnc2NfZ2V0X2RzdF9idWZfaW5kZXgoc3RydWN0 IGdzY19jb250ZXh0ICpjdHgpCiBzdGF0aWMgaXJxcmV0dXJuX3QgZ3NjX2lycV9oYW5kbGVyKGlu dCBpcnEsIHZvaWQgKmRldl9pZCkKIHsKIAlzdHJ1Y3QgZ3NjX2NvbnRleHQgKmN0eCA9IGRldl9p ZDsKKwlzdHJ1Y3QgZXh5bm9zX2RybV9pcHBfdGFzayAqdGFzazsKIAl1MzIgc3RhdHVzOwogCWlu dCBlcnIgPSAwOwogCkBAIC0xMDQ5LDEwICsxMDg1LDggQEAgc3RhdGljIGlycXJldHVybl90IGdz Y19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXZfaWQpCiAJCQllcnIgPSAtRUlOVkFMOwog CX0KIAotCWlmIChjdHgtPnRhc2spIHsKLQkJc3RydWN0IGV4eW5vc19kcm1faXBwX3Rhc2sgKnRh c2sgPSBjdHgtPnRhc2s7Ci0KLQkJY3R4LT50YXNrID0gTlVMTDsKKwl0YXNrID0gZ3NjX2Rldl91 bmxvY2soY3R4KTsKKwlpZiAoIUlTX0VSUl9PUl9OVUxMKHRhc2spKSB7CiAJCXBtX3J1bnRpbWVf bWFya19sYXN0X2J1c3koY3R4LT5kZXYpOwogCQlwbV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChj dHgtPmRldik7CiAJCWV4eW5vc19kcm1faXBwX3Rhc2tfZG9uZSh0YXNrLCBlcnIpOwpAQCAtMTEx NywxMyArMTE1MSwxNSBAQCBzdGF0aWMgaW50IGdzY19jb21taXQoc3RydWN0IGV4eW5vc19kcm1f aXBwICppcHAsCiAJc3RydWN0IGdzY19jb250ZXh0ICpjdHggPSBjb250YWluZXJfb2YoaXBwLCBz dHJ1Y3QgZ3NjX2NvbnRleHQsIGlwcCk7CiAJaW50IHJldDsKIAotCXBtX3J1bnRpbWVfZ2V0X3N5 bmMoY3R4LT5kZXYpOwotCWN0eC0+dGFzayA9IHRhc2s7CisJcmV0ID0gZ3NjX2Rldl9sb2NrKGN0 eCwgdGFzayk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKIAorCXBtX3J1bnRpbWVfZ2V0X3N5 bmMoY3R4LT5kZXYpOwogCXJldCA9IGdzY19yZXNldChjdHgpOwogCWlmIChyZXQpIHsKIAkJcG1f cnVudGltZV9wdXRfYXV0b3N1c3BlbmQoY3R4LT5kZXYpOwotCQljdHgtPnRhc2sgPSBOVUxMOwor CQlnc2NfZGV2X3VubG9jayhjdHgpOwogCQlyZXR1cm4gcmV0OwogCX0KIApAQCAtMTE0NywxMCAr MTE4Myw4IEBAIHN0YXRpYyB2b2lkIGdzY19hYm9ydChzdHJ1Y3QgZXh5bm9zX2RybV9pcHAgKmlw cCwKIAkJCWNvbnRhaW5lcl9vZihpcHAsIHN0cnVjdCBnc2NfY29udGV4dCwgaXBwKTsKIAogCWdz Y19yZXNldChjdHgpOwotCWlmIChjdHgtPnRhc2spIHsKLQkJc3RydWN0IGV4eW5vc19kcm1faXBw X3Rhc2sgKnRhc2sgPSBjdHgtPnRhc2s7Ci0KLQkJY3R4LT50YXNrID0gTlVMTDsKKwl0YXNrID0g Z3NjX2Rldl91bmxvY2soY3R4KTsKKwlpZiAoIUlTX0VSUl9PUl9OVUxMKHRhc2spKSB7CiAJCXBt X3J1bnRpbWVfbWFya19sYXN0X2J1c3koY3R4LT5kZXYpOwogCQlwbV9ydW50aW1lX3B1dF9hdXRv c3VzcGVuZChjdHgtPmRldik7CiAJCWV4eW5vc19kcm1faXBwX3Rhc2tfZG9uZSh0YXNrLCAtRUlP KTsKQEAgLTExNjIsMTEgKzExOTYsOTcgQEAgc3RhdGljIHN0cnVjdCBleHlub3NfZHJtX2lwcF9m dW5jcyBpcHBfZnVuY3MgPSB7CiAJLmFib3J0ID0gZ3NjX2Fib3J0LAogfTsKIAorc3RhdGljIGNv bnN0IHVuc2lnbmVkIGludCBnc2NfZm9ybWF0c1tdID0geworCURSTV9GT1JNQVRfQVJHQjg4ODgs IERSTV9GT1JNQVRfWFJHQjg4ODgsIERSTV9GT1JNQVRfQkdSWDg4ODgsCisJRFJNX0ZPUk1BVF9S R0I1NjUsCisJRFJNX0ZPUk1BVF9OVjEyLCBEUk1fRk9STUFUX05WMTYsIERSTV9GT1JNQVRfTlYy MSwgRFJNX0ZPUk1BVF9OVjYxLAorCURSTV9GT1JNQVRfVVlWWSwgRFJNX0ZPUk1BVF9WWVVZLCBE Uk1fRk9STUFUX1lVWVYsIERSTV9GT1JNQVRfWVZZVSwKKwlEUk1fRk9STUFUX1lVVjQyMCwgRFJN X0ZPUk1BVF9ZVlU0MjAsIERSTV9GT1JNQVRfWVVWNDIyLAorfTsKKworc3RhdGljIGNvbnN0IHVu c2lnbmVkIGludCBnc2NfdGlsZWRfZm9ybWF0c1tdID0geworCURSTV9GT1JNQVRfTlYxMiwgRFJN X0ZPUk1BVF9OVjIxLAorfTsKKworc3RhdGljIHZvaWQgZ3NjX3VwZGF0ZV9wbGFuZShzdHJ1Y3Qg ZXh5bm9zX2RybV9wbGFuZSAqcGxhbmUpCit7CisJc3RydWN0IGdzY19jb250ZXh0ICpjdHggPSB0 b19nc2MocGxhbmUpOworCXN0cnVjdCBleHlub3NfZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSA9CisJ CQl0b19leHlub3NfcGxhbmVfc3RhdGUocGxhbmUtPmJhc2Uuc3RhdGUpOworCXN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKmZiID0gcGxhbmUtPmJhc2Uuc3RhdGUtPmZiOworCXUzMiBzcmNfdyA9IGZi LT5waXRjaGVzWzBdIC8gZmItPmZvcm1hdC0+Y3BwWzBdLCBzcmNfaCA9IHN0YXRlLT5zcmMuaDsK Kwl1MzIgc3JjX3ggPSBzdGF0ZS0+c3JjLngsIHNyY195ID0gc3RhdGUtPnNyYy55OworCXUzMiBj cm9wcGVkX3cgPSBzdGF0ZS0+c3JjLncsIGNyb3BwZWRfaCA9IHN0YXRlLT5zcmMuaDsKKwl1MzIg c2NhbGVkX3cgPSBzdGF0ZS0+Y3J0Yy53LCBzY2FsZWRfaCA9IHN0YXRlLT5jcnRjLmg7CisJaW50 IGk7CisKKwlpZiAoIWN0eC0+ZW5hYmxlZCkgeworCQl3aGlsZSAoZ3NjX2Rldl9sb2NrKGN0eCwg RVJSX1BUUigtRUJVU1kpKSA8IDApCisJCQl1c2xlZXBfcmFuZ2UoMTAwMCwgMjAwMCk7CisJCXBt X3J1bnRpbWVfZ2V0X3N5bmMoY3R4LT5kZXYpOworCQlnc2Nfc3dfcmVzZXQoY3R4KTsKKwkJZ3Nj X3NyY19zZXRfYnVmX3NlcShjdHgsIDAsIHRydWUpOworCQlnc2Nfd3JpdGUoR1NDX1NNQVJUX0lG X0VOIHwgR1NDX0hJRVJBUkNISUNBTF9NT0RFLCBHU0NfU01BUlRfSUZfQ09OKTsKKwkJY3R4LT5l bmFibGVkID0gdHJ1ZTsKKwl9CisJZ3NjX3dyaXRlKEdTQ19QT0lOVChzcmNfeCwgc3JjX3kpLCBH U0NfU1JDSU1HX09GRlNFVCk7CisJZ3NjX3dyaXRlKEdTQ19QT0lOVChzcmNfdywgc3JjX2gpLCBH U0NfU1JDSU1HX1NJWkUpOworCWdzY193cml0ZShHU0NfUE9JTlQoY3JvcHBlZF93LCBjcm9wcGVk X2gpLCBHU0NfQ1JPUFBFRF9TSVpFKTsKKwlnc2Nfd3JpdGUoR1NDX1BPSU5UKHNjYWxlZF93LCBz Y2FsZWRfaCksIEdTQ19TQ0FMRURfU0laRSk7CisJZ3NjX3dyaXRlKEdTQ19PVVRfUEFUSF9MT0NB TCB8IEdTQ19PVVRfUkdCX0hEX1dJREUsIEdTQ19PVVRfQ09OKTsKKwlnc2Nfd3JpdGUoR1NDX1BP SU5UKDEsIDEpLCBHU0NfUFJFX1NDQUxFX1JBVElPKTsKKwlnc2Nfd3JpdGUoQklUKDE2KSAqIGNy b3BwZWRfdyAvIHNjYWxlZF93LCBHU0NfTUFJTl9IX1JBVElPKTsKKwlnc2Nfd3JpdGUoQklUKDE2 KSAqIGNyb3BwZWRfaCAvIHNjYWxlZF9oLCBHU0NfTUFJTl9WX1JBVElPKTsKKwlnc2Nfd3JpdGUo ZXh5bm9zX2RybV9mYl9kbWFfYWRkcihmYiwgMCksIEdTQ19JTl9CQVNFX0FERFJfWSgwKSk7CisJ aWYgKGZiLT5mb3JtYXQtPm51bV9wbGFuZXMgPiAxKQorCSAgICAgICAgZ3NjX3dyaXRlKGV4eW5v c19kcm1fZmJfZG1hX2FkZHIoZmIsIDEpLCBHU0NfSU5fQkFTRV9BRERSX0NCKDApKTsKKwlpZiAo ZmItPmZvcm1hdC0+bnVtX3BsYW5lcyA+IDIpCisJICAgICAgICBnc2Nfd3JpdGUoZXh5bm9zX2Ry bV9mYl9kbWFfYWRkcihmYiwgMiksIEdTQ19JTl9CQVNFX0FERFJfQ1IoMCkpOworCWdzY19zcmNf c2V0X2ZtdChjdHgsIGZiLT5mb3JtYXQtPmZvcm1hdCwgZmItPm1vZGlmaWVyKTsKKwlnc2Nfd3Jp dGUoc2NhbGVkX3cgKiBzY2FsZWRfaCwgR1NDX1NNQVJUX0lGX1BJWEVMX05VTSk7CisJZ3NjX3dy aXRlKEdTQ19FTkFCTEVfU0ZSX1VQREFURSB8IEdTQ19FTkFCTEVfT04sIEdTQ19FTkFCTEUpOwor fQorCitzdGF0aWMgdm9pZCBnc2NfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZXh5bm9zX2RybV9wbGFu ZSAqcGxhbmUpCit7CisJc3RydWN0IGdzY19jb250ZXh0ICpjdHggPSB0b19nc2MocGxhbmUpOwor CXUzMiB2YWw7CisKKwl2YWwgPSBnc2NfcmVhZChHU0NfRU5BQkxFKTsKKwl2YWwgfD0gR1NDX0VO QUJMRV9TRlJfVVBEQVRFOworCXZhbCAmPSB+R1NDX0VOQUJMRV9PTjsKKwlnc2Nfd3JpdGUodmFs LCBHU0NfRU5BQkxFKTsKKwlwbV9ydW50aW1lX21hcmtfbGFzdF9idXN5KGN0eC0+ZGV2KTsKKwlw bV9ydW50aW1lX3B1dF9hdXRvc3VzcGVuZChjdHgtPmRldik7CisJY3R4LT5lbmFibGVkID0gZmFs c2U7CisJZ3NjX2Rldl91bmxvY2soY3R4KTsKK30KKworY29uc3Qgc3RydWN0IGV4eW5vc19kcm1f cGxhbmVfb3BzIGdzY19wbGFuZV9vcHMgPSB7CisJLnVwZGF0ZV9wbGFuZSA9IGdzY191cGRhdGVf cGxhbmUsCisJLmRpc2FibGVfcGxhbmUgPSBnc2NfZGlzYWJsZV9wbGFuZQorfTsKKworc3RhdGlj IHZvaWQgZ3NjX3NldF9wb3NzaWJsZV9jcnRjcyhzdHJ1Y3QgZ3NjX2NvbnRleHQgKmN0eCkKK3sK KwlzdHJ1Y3QgZXh5bm9zX2RybV9jcnRjICpjcnRjOworCXUzMiBtYXNrID0gMDsKKworCWNydGMg PSBleHlub3NfZHJtX2NydGNfZ2V0X2J5X3R5cGUoY3R4LT5kcm1fZGV2LCBFWFlOT1NfRElTUExB WV9UWVBFX0hETUkpOworCWlmIChjcnRjKQorCQltYXNrIHw9IGRybV9jcnRjX21hc2soJmNydGMt PmJhc2UpOworCWNydGMgPSBleHlub3NfZHJtX2NydGNfZ2V0X2J5X3R5cGUoY3R4LT5kcm1fZGV2 LCBFWFlOT1NfRElTUExBWV9UWVBFX0xDRCk7CisJaWYgKGNydGMpCisJCW1hc2sgfD0gZHJtX2Ny dGNfbWFzaygmY3J0Yy0+YmFzZSk7CisJY3R4LT5wbGFuZS5iYXNlLnBvc3NpYmxlX2NydGNzID0g bWFzazsKK30KKwogc3RhdGljIGludCBnc2NfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVj dCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIHsKIAlzdHJ1Y3QgZ3NjX2NvbnRleHQgKmN0 eCA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0g ZGF0YTsKIAlzdHJ1Y3QgZXh5bm9zX2RybV9pcHAgKmlwcCA9ICZjdHgtPmlwcDsKKwlpbnQgcmV0 OwogCiAJY3R4LT5kcm1fZGV2ID0gZHJtX2RldjsKIAlleHlub3NfZHJtX3JlZ2lzdGVyX2RtYShk cm1fZGV2LCBkZXYpOwpAQCAtMTE3Niw5ICsxMjk2LDE5IEBAIHN0YXRpYyBpbnQgZ3NjX2JpbmQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiAJ CQlEUk1fRVhZTk9TX0lQUF9DQVBfU0NBTEUgfCBEUk1fRVhZTk9TX0lQUF9DQVBfQ09OVkVSVCwK IAkJCWN0eC0+Zm9ybWF0cywgY3R4LT5udW1fZm9ybWF0cywgImdzYyIpOwogCi0JZGV2X2luZm8o ZGV2LCAiVGhlIGV4eW5vcyBnc2NhbGVyIGhhcyBiZWVuIHByb2JlZCBzdWNjZXNzZnVsbHlcbiIp OwotCi0JcmV0dXJuIDA7CisJaWYgKCFjdHgtPnVzZV9sb2NhbF9wYXRoKQorCQlyZXR1cm4gMDsK KworCWN0eC0+cGxhbmUuaW5kZXggPSBjdHgtPmlkOworCWN0eC0+cGxhbmUuY2FwYWJpbGl0aWVz ID0gRVhZTk9TX0RSTV9QTEFORV9DQVBfR1NDQUxFUiB8CisJCQkJICBFWFlOT1NfRFJNX1BMQU5F X0NBUF9aUE9TIHwKKwkJCQkgIEVYWU5PU19EUk1fUExBTkVfQ0FQX1NDQUxFIHwKKwkJCQkgIEVY WU5PU19EUk1fUExBTkVfQ0FQX1dJTl9CTEVORDsKKwljdHgtPnBsYW5lLm9wcyA9ICZnc2NfcGxh bmVfb3BzOworCXJldCA9IGV4eW5vc19wbGFuZV9pbml0KGRybV9kZXYsICZjdHgtPnBsYW5lLCBn c2NfZm9ybWF0cywKKwkJCUFSUkFZX1NJWkUoZ3NjX2Zvcm1hdHMpLCAwKTsKKwlnc2Nfc2V0X3Bv c3NpYmxlX2NydGNzKGN0eCk7CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQgZ3NjX3Vu YmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKQEAgLTExOTcs MTggKzEzMjcsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9vcHMgZ3NjX2NvbXBv bmVudF9vcHMgPSB7CiAJLnVuYmluZCA9IGdzY191bmJpbmQsCiB9OwogCi1zdGF0aWMgY29uc3Qg dW5zaWduZWQgaW50IGdzY19mb3JtYXRzW10gPSB7Ci0JRFJNX0ZPUk1BVF9BUkdCODg4OCwKLQlE Uk1fRk9STUFUX1hSR0I4ODg4LCBEUk1fRk9STUFUX1JHQjU2NSwgRFJNX0ZPUk1BVF9CR1JYODg4 OCwKLQlEUk1fRk9STUFUX05WMTIsIERSTV9GT1JNQVRfTlYxNiwgRFJNX0ZPUk1BVF9OVjIxLCBE Uk1fRk9STUFUX05WNjEsCi0JRFJNX0ZPUk1BVF9VWVZZLCBEUk1fRk9STUFUX1ZZVVksIERSTV9G T1JNQVRfWVVZViwgRFJNX0ZPUk1BVF9ZVllVLAotCURSTV9GT1JNQVRfWVVWNDIwLCBEUk1fRk9S TUFUX1lWVTQyMCwgRFJNX0ZPUk1BVF9ZVVY0MjIsCi19OwotCi1zdGF0aWMgY29uc3QgdW5zaWdu ZWQgaW50IGdzY190aWxlZF9mb3JtYXRzW10gPSB7Ci0JRFJNX0ZPUk1BVF9OVjEyLCBEUk1fRk9S TUFUX05WMjEsCi19OwotCiBzdGF0aWMgaW50IGdzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CkBAIC0xMjI2 LDYgKzEzNDQsOCBAQCBzdGF0aWMgaW50IGdzY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQogCWN0eC0+ZGV2ID0gZGV2OwogCWN0eC0+bnVtX2Nsb2NrcyA9IGRyaXZlcl9kYXRh LT5udW1fY2xvY2tzOwogCWN0eC0+Y2xrX25hbWVzID0gZHJpdmVyX2RhdGEtPmNsa19uYW1lczsK KwljdHgtPnVzZV9sb2NhbF9wYXRoID0gZHJpdmVyX2RhdGEtPnVzZV9sb2NhbF9wYXRoOworCXNw aW5fbG9ja19pbml0KCZjdHgtPmxvY2spOwogCiAJLyogY29uc3RydWN0IGZvcm1hdHMvbGltaXRz IGFycmF5ICovCiAJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGdzY19mb3JtYXRzKSArIEFSUkFZ X1NJWkUoZ3NjX3RpbGVkX2Zvcm1hdHMpOwpAQCAtMTM5NSwxMCArMTUxNSwxMSBAQCBzdGF0aWMg c3RydWN0IGdzY19kcml2ZXJkYXRhIGdzY19leHlub3M1NDIwX2RydmRhdGEgPSB7CiB9OwogCiBz dGF0aWMgc3RydWN0IGdzY19kcml2ZXJkYXRhIGdzY19leHlub3M1NDMzX2RydmRhdGEgPSB7Ci0J LmNsa19uYW1lcyA9IHsicGNsayIsICJhY2xrIiwgImFjbGtfeGl1IiwgImFjbGtfZ3NjbGJlbmQi fSwKLQkubnVtX2Nsb2NrcyA9IDQsCisJLmNsa19uYW1lcyA9IHsicGNsayIsICJhY2xrIiwgImFj bGtfeGl1IiwgImFjbGtfZ3NjbGJlbmQiLCAiZ3NkIn0sCisJLm51bV9jbG9ja3MgPSA1LAogCS5s aW1pdHMgPSBnc2NfNTQzM19saW1pdHMsCiAJLm51bV9saW1pdHMgPSBBUlJBWV9TSVpFKGdzY181 NDMzX2xpbWl0cyksCisJLnVzZV9sb2NhbF9wYXRoID0gdHJ1ZSwKIH07CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGV4eW5vc19kcm1fZ3NjX29mX21hdGNoW10gPSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL3JlZ3MtZ3NjLmggYi9kcml2ZXJzL2dwdS9k cm0vZXh5bm9zL3JlZ3MtZ3NjLmgKaW5kZXggMTZiMzk3MzQxMTVjLi43YzIzYTc5MDg1ZTIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvcmVncy1nc2MuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vZXh5bm9zL3JlZ3MtZ3NjLmgKQEAgLTkxLDYgKzkxLDcgQEAKICNkZWZpbmUgR1ND X0lOX1BBVEhfTE9DQUwJCSgxIDw8IDApCiAjZGVmaW5lIEdTQ19JTl9QQVRIX01FTU9SWQkJKDAg PDwgMCkKIAorI2RlZmluZSBHU0NfUE9JTlQoeCwgeSkJCQkoKHgpICsgKCh5KSA8PCAxNikpCiAv KiBHLVNjYWxlciBzb3VyY2UgaW1hZ2Ugc2l6ZSAqLwogI2RlZmluZSBHU0NfU1JDSU1HX1NJWkUJ CQkweDE0CiAjZGVmaW5lIEdTQ19TUkNJTUdfSEVJR0hUX01BU0sJCSgweDFmZmYgPDwgMTYpCkBA IC0yNjQsNiArMjY1LDExIEBACiAjZGVmaW5lIEdTQ19WUE9TSVRJT04JCQkweEE3QwogI2RlZmlu ZSBHU0NfVlBPU19GKHgpCQkJKCh4KSA8PCAwKQogCisjZGVmaW5lIEdTQ19TTUFSVF9JRl9QSVhF TF9OVU0JCTB4QUYwCisKKyNkZWZpbmUgR1NDX1NNQVJUX0lGX0NPTgkJMHhBRjQKKyNkZWZpbmUg R1NDX1NNQVJUX0lGX0VOCQkJKDEgPDwgMCkKKyNkZWZpbmUgR1NDX0hJRVJBUkNISUNBTF9NT0RF CQkoMHgzIDw8IDEpCiAKIC8qIEctU2NhbGVyIGNsb2NrIGluaXRpYWwgY291bnQgKi8KICNkZWZp bmUgR1NDX0NMS19JTklUX0NPVU5UCQkweEMwMAotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=