From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH 12/25] drm/armada: move regs into armada_plane_work Date: Fri, 08 Dec 2017 12:29:59 +0000 Message-ID: References: <20171208122754.GA20895@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id B09346E8F0 for ; Fri, 8 Dec 2017 12:30:04 +0000 (UTC) In-Reply-To: <20171208122754.GA20895@n2100.armlinux.org.uk> Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org TW92ZSB0aGUgcmVnaXN0ZXIgdXBkYXRlIHN0cnVjdHVyZSBvdXQgb2YgdGhlIG92ZXJsYXkgcHJp dmF0ZSBzdHJ1Y3R1cmUKaW50byBhcm1hZGFfcGxhbmVfd29yaywgYXMgdGhpcyBpcyBjb21tb24g dG8gYm90aCB0aGUgcHJpbWFyeSBhbmQKb3ZlcmxheSBwbGFuZXMuCgpTaWduZWQtb2ZmLWJ5OiBS dXNzZWxsIEtpbmcgPHJtaytrZXJuZWxAYXJtbGludXgub3JnLnVrPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYyAgICB8IDQyICsrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5oICAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jIHwgNDYgKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyks IDUwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJt YWRhX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuYwppbmRleCBi MDQzNzY2YzQxNmMuLjAyZWVmZGM2ZjA2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Fy bWFkYS9hcm1hZGFfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2Ny dGMuYwpAQCAtMjAsMTEgKzIwLDYgQEAKICNpbmNsdWRlICJhcm1hZGFfaHcuaCIKICNpbmNsdWRl ICJhcm1hZGFfdHJhY2UuaCIKIAotc3RydWN0IGFybWFkYV9mcmFtZV93b3JrIHsKLQlzdHJ1Y3Qg YXJtYWRhX3BsYW5lX3dvcmsgd29yazsKLQlzdHJ1Y3QgYXJtYWRhX3JlZ3MgcmVnc1s0XTsKLX07 Ci0KIGVudW0gY3NjX21vZGUgewogCUNTQ19BVVRPID0gMCwKIAlDU0NfWVVWX0NDSVI2MDEgPSAx LApAQCAtMjg4LDM3ICsyODMsMzQgQEAgdm9pZCBhcm1hZGFfZHJtX3BsYW5lX3dvcmtfY2FuY2Vs KHN0cnVjdCBhcm1hZGFfY3J0YyAqZGNydGMsCiBzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNf ZmluaXNoX2ZyYW1lX3dvcmsoc3RydWN0IGFybWFkYV9jcnRjICpkY3J0YywKIAlzdHJ1Y3QgYXJt YWRhX3BsYW5lX3dvcmsgKndvcmspCiB7Ci0Jc3RydWN0IGFybWFkYV9mcmFtZV93b3JrICpmd29y ayA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgYXJtYWRhX2ZyYW1lX3dvcmssIHdvcmspOwot Ci0Ja2ZyZWUoZndvcmspOworCWtmcmVlKHdvcmspOwogfQogCiBzdGF0aWMgdm9pZCBhcm1hZGFf ZHJtX2NydGNfY29tcGxldGVfZnJhbWVfd29yayhzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjLAog CXN0cnVjdCBhcm1hZGFfcGxhbmVfd29yayAqd29yaykKIHsKLQlzdHJ1Y3QgYXJtYWRhX2ZyYW1l X3dvcmsgKmZ3b3JrID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBhcm1hZGFfZnJhbWVfd29y aywgd29yayk7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZk Y3J0Yy0+aXJxX2xvY2ssIGZsYWdzKTsKLQlhcm1hZGFfZHJtX2NydGNfdXBkYXRlX3JlZ3MoZGNy dGMsIGZ3b3JrLT5yZWdzKTsKKwlhcm1hZGFfZHJtX2NydGNfdXBkYXRlX3JlZ3MoZGNydGMsIHdv cmstPnJlZ3MpOwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRjcnRjLT5pcnFfbG9jaywgZmxh Z3MpOwogCiAJYXJtYWRhX2RybV9jcnRjX2ZpbmlzaF9mcmFtZV93b3JrKGRjcnRjLCB3b3JrKTsK IH0KIAotc3RhdGljIHN0cnVjdCBhcm1hZGFfZnJhbWVfd29yayAqCi1hcm1hZGFfZHJtX2NydGNf YWxsb2NfZnJhbWVfd29yayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKK3N0YXRpYyBzdHJ1Y3Qg YXJtYWRhX3BsYW5lX3dvcmsgKgorYXJtYWRhX2RybV9jcnRjX2FsbG9jX3BsYW5lX3dvcmsoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7Ci0Jc3RydWN0IGFybWFkYV9mcmFtZV93b3JrICp3b3Jr OworCXN0cnVjdCBhcm1hZGFfcGxhbmVfd29yayAqd29yazsKIAlpbnQgaSA9IDA7CiAKIAl3b3Jr ID0ga3phbGxvYyhzaXplb2YoKndvcmspLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXdvcmspCiAJCXJl dHVybiBOVUxMOwogCi0Jd29yay0+d29yay5wbGFuZSA9IHBsYW5lOwotCXdvcmstPndvcmsuZm4g PSBhcm1hZGFfZHJtX2NydGNfY29tcGxldGVfZnJhbWVfd29yazsKLQl3b3JrLT53b3JrLmNhbmNl bCA9IGFybWFkYV9kcm1fY3J0Y19maW5pc2hfZnJhbWVfd29yazsKKwl3b3JrLT5wbGFuZSA9IHBs YW5lOworCXdvcmstPmZuID0gYXJtYWRhX2RybV9jcnRjX2NvbXBsZXRlX2ZyYW1lX3dvcms7CisJ d29yay0+Y2FuY2VsID0gYXJtYWRhX2RybV9jcnRjX2ZpbmlzaF9mcmFtZV93b3JrOwogCWFybWFk YV9yZWdfcXVldWVfZW5kKHdvcmstPnJlZ3MsIGkpOwogCiAJcmV0dXJuIHdvcms7CkBAIC0zMjcs NyArMzE5LDcgQEAgYXJtYWRhX2RybV9jcnRjX2FsbG9jX2ZyYW1lX3dvcmsoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUpCiBzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfZmluaXNoX2ZiKHN0cnVj dCBhcm1hZGFfY3J0YyAqZGNydGMsCiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGJvb2wg Zm9yY2UpCiB7Ci0Jc3RydWN0IGFybWFkYV9mcmFtZV93b3JrICp3b3JrOworCXN0cnVjdCBhcm1h ZGFfcGxhbmVfd29yayAqd29yazsKIAogCWlmICghZmIpCiAJCXJldHVybjsKQEAgLTMzOCwxMSAr MzMwLDExIEBAIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y19maW5pc2hfZmIoc3RydWN0IGFy bWFkYV9jcnRjICpkY3J0YywKIAkJcmV0dXJuOwogCX0KIAotCXdvcmsgPSBhcm1hZGFfZHJtX2Ny dGNfYWxsb2NfZnJhbWVfd29yayhkY3J0Yy0+Y3J0Yy5wcmltYXJ5KTsKKwl3b3JrID0gYXJtYWRh X2RybV9jcnRjX2FsbG9jX3BsYW5lX3dvcmsoZGNydGMtPmNydGMucHJpbWFyeSk7CiAJaWYgKHdv cmspIHsKLQkJd29yay0+d29yay5vbGRfZmIgPSBmYjsKKwkJd29yay0+b2xkX2ZiID0gZmI7CiAK LQkJaWYgKGFybWFkYV9kcm1fcGxhbmVfd29ya19xdWV1ZShkY3J0YywgJndvcmstPndvcmspID09 IDApCisJCWlmIChhcm1hZGFfZHJtX3BsYW5lX3dvcmtfcXVldWUoZGNydGMsIHdvcmspID09IDAp CiAJCQlyZXR1cm47CiAKIAkJa2ZyZWUod29yayk7CkBAIC0xMDE5LDcgKzEwMTEsNyBAQCBzdGF0 aWMgaW50IGFybWFkYV9kcm1fY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQogewogCXN0cnVjdCBhcm1hZGFf Y3J0YyAqZGNydGMgPSBkcm1fdG9fYXJtYWRhX2NydGMoY3J0Yyk7Ci0Jc3RydWN0IGFybWFkYV9m cmFtZV93b3JrICp3b3JrOworCXN0cnVjdCBhcm1hZGFfcGxhbmVfd29yayAqd29yazsKIAl1bnNp Z25lZCBpOwogCWludCByZXQ7CiAKQEAgLTEwMjcsMTIgKzEwMTksMTIgQEAgc3RhdGljIGludCBh cm1hZGFfZHJtX2NydGNfcGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlpZiAoZmIt PmZvcm1hdCAhPSBjcnRjLT5wcmltYXJ5LT5mYi0+Zm9ybWF0KQogCQlyZXR1cm4gLUVJTlZBTDsK IAotCXdvcmsgPSBhcm1hZGFfZHJtX2NydGNfYWxsb2NfZnJhbWVfd29yayhkY3J0Yy0+Y3J0Yy5w cmltYXJ5KTsKKwl3b3JrID0gYXJtYWRhX2RybV9jcnRjX2FsbG9jX3BsYW5lX3dvcmsoZGNydGMt PmNydGMucHJpbWFyeSk7CiAJaWYgKCF3b3JrKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCXdvcmst PndvcmsuZXZlbnQgPSBldmVudDsKLQl3b3JrLT53b3JrLm9sZF9mYiA9IGRjcnRjLT5jcnRjLnBy aW1hcnktPmZiOworCXdvcmstPmV2ZW50ID0gZXZlbnQ7CisJd29yay0+b2xkX2ZiID0gZGNydGMt PmNydGMucHJpbWFyeS0+ZmI7CiAKIAlpID0gYXJtYWRhX2RybV9jcnRjX2NhbGNfZmIoZmIsIGNy dGMtPngsIGNydGMtPnksIHdvcmstPnJlZ3MsCiAJCQkJICAgIGRjcnRjLT5pbnRlcmxhY2VkKTsK QEAgLTEwNDQsNyArMTAzNiw3IEBAIHN0YXRpYyBpbnQgYXJtYWRhX2RybV9jcnRjX3BhZ2VfZmxp cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJICovCiAJZHJtX2ZyYW1lYnVmZmVyX2dldChmYik7 CiAKLQlyZXQgPSBhcm1hZGFfZHJtX3BsYW5lX3dvcmtfcXVldWUoZGNydGMsICZ3b3JrLT53b3Jr KTsKKwlyZXQgPSBhcm1hZGFfZHJtX3BsYW5lX3dvcmtfcXVldWUoZGNydGMsIHdvcmspOwogCWlm IChyZXQpIHsKIAkJLyogVW5kbyBvdXIgcmVmZXJlbmNlIGFib3ZlICovCiAJCWRybV9mcmFtZWJ1 ZmZlcl9wdXQoZmIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFf Y3J0Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5oCmluZGV4IDRjZGQy ZjBlYWJkOS4uMTJlZjk2ODhhNDVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRh L2FybWFkYV9jcnRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0Yy5o CkBAIC00MSw2ICs0MSw3IEBAIHN0cnVjdCBhcm1hZGFfcGxhbmVfd29yayB7CiAJc3RydWN0IGRy bV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqb2xkX2ZiOwogCXN0cnVj dCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50OworCXN0cnVjdCBhcm1hZGFfcmVncyBy ZWdzWzE0XTsKIH07CiAKIHN0cnVjdCBhcm1hZGFfcGxhbmVfc3RhdGUgewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCmluZGV4IDAxMDg3Yzk1MjkxNi4uMjAwMjIzODYxYmZi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9vdmVybGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfb3ZlcmxheS5jCkBAIC0zMiwxMCArMzIs NyBAQCBzdHJ1Y3QgYXJtYWRhX292bF9wbGFuZV9wcm9wZXJ0aWVzIHsKIAogc3RydWN0IGFybWFk YV9vdmxfcGxhbmUgewogCXN0cnVjdCBhcm1hZGFfcGxhbmUgYmFzZTsKLQlzdHJ1Y3QgewotCQlz dHJ1Y3QgYXJtYWRhX3BsYW5lX3dvcmsgd29yazsKLQkJc3RydWN0IGFybWFkYV9yZWdzIHJlZ3Nb MTNdOwotCX0gdmJsOworCXN0cnVjdCBhcm1hZGFfcGxhbmVfd29yayB3b3JrOwogCXN0cnVjdCBh cm1hZGFfb3ZsX3BsYW5lX3Byb3BlcnRpZXMgcHJvcDsKIH07CiAjZGVmaW5lIGRybV90b19hcm1h ZGFfb3ZsX3BsYW5lKHApIFwKQEAgLTcwLDE0ICs2NywxMiBAQCBhcm1hZGFfb3ZsX3VwZGF0ZV9h dHRyKHN0cnVjdCBhcm1hZGFfb3ZsX3BsYW5lX3Byb3BlcnRpZXMgKnByb3AsCiBzdGF0aWMgdm9p ZCBhcm1hZGFfb3ZsX3BsYW5lX3dvcmsoc3RydWN0IGFybWFkYV9jcnRjICpkY3J0YywKIAlzdHJ1 Y3QgYXJtYWRhX3BsYW5lX3dvcmsgKndvcmspCiB7Ci0Jc3RydWN0IGFybWFkYV9vdmxfcGxhbmUg KmRwbGFuZSA9IGNvbnRhaW5lcl9vZih3b3JrLT5wbGFuZSwKLQkJCQkJc3RydWN0IGFybWFkYV9v dmxfcGxhbmUsIGJhc2UuYmFzZSk7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCXRyYWNlX2Fy bWFkYV9vdmxfcGxhbmVfd29yaygmZGNydGMtPmNydGMsIHdvcmstPnBsYW5lKTsKIAogCXNwaW5f bG9ja19pcnFzYXZlKCZkY3J0Yy0+aXJxX2xvY2ssIGZsYWdzKTsKLQlhcm1hZGFfZHJtX2NydGNf dXBkYXRlX3JlZ3MoZGNydGMsIGRwbGFuZS0+dmJsLnJlZ3MpOworCWFybWFkYV9kcm1fY3J0Y191 cGRhdGVfcmVncyhkY3J0Yywgd29yay0+cmVncyk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm ZGNydGMtPmlycV9sb2NrLCBmbGFncyk7CiB9CiAKQEAgLTkwLDYgKzg1LDcgQEAgYXJtYWRhX292 bF9wbGFuZV91cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIHsKIAlzdHJ1Y3QgYXJtYWRhX292bF9wbGFuZSAqZHBsYW5lID0gZHJtX3RvX2FybWFk YV9vdmxfcGxhbmUocGxhbmUpOwogCXN0cnVjdCBhcm1hZGFfY3J0YyAqZGNydGMgPSBkcm1fdG9f YXJtYWRhX2NydGMoY3J0Yyk7CisJc3RydWN0IGFybWFkYV9wbGFuZV93b3JrICp3b3JrID0gJmRw bGFuZS0+d29yazsKIAljb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvICpmb3JtYXQ7CiAJc3Ry dWN0IGRybV9yZWN0IHNyYyA9IHsKIAkJLngxID0gc3JjX3gsCkBAIC0xODIsNjAgKzE3OCw2MCBA QCBhcm1hZGFfb3ZsX3BsYW5lX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0 IGRybV9jcnRjICpjcnRjLAogCQkgKi8KIAkJZHJtX2ZyYW1lYnVmZmVyX2dldChmYik7CiAKLQkJ ZHBsYW5lLT52Ymwud29yay5vbGRfZmIgPSBwbGFuZS0+ZmI7CisJCXdvcmstPm9sZF9mYiA9IHBs YW5lLT5mYjsKIAogCQlkcGxhbmUtPmJhc2Uuc3RhdGUuc3JjX3kgPSBzcmNfeSA9IHNyYy55MSA+ PiAxNjsKIAkJZHBsYW5lLT5iYXNlLnN0YXRlLnNyY194ID0gc3JjX3ggPSBzcmMueDEgPj4gMTY7 CiAKIAkJYXJtYWRhX2RybV9wbGFuZV9jYWxjX2FkZHJzKGFkZHJzLCBmYiwgc3JjX3gsIHNyY195 KTsKIAotCQlhcm1hZGFfcmVnX3F1ZXVlX3NldChkcGxhbmUtPnZibC5yZWdzLCBpZHgsIGFkZHJz WzBdLAorCQlhcm1hZGFfcmVnX3F1ZXVlX3NldCh3b3JrLT5yZWdzLCBpZHgsIGFkZHJzWzBdLAog CQkJCSAgICAgTENEX1NQVV9ETUFfU1RBUlRfQUREUl9ZMCk7Ci0JCWFybWFkYV9yZWdfcXVldWVf c2V0KGRwbGFuZS0+dmJsLnJlZ3MsIGlkeCwgYWRkcnNbMV0sCisJCWFybWFkYV9yZWdfcXVldWVf c2V0KHdvcmstPnJlZ3MsIGlkeCwgYWRkcnNbMV0sCiAJCQkJICAgICBMQ0RfU1BVX0RNQV9TVEFS VF9BRERSX1UwKTsKLQkJYXJtYWRhX3JlZ19xdWV1ZV9zZXQoZHBsYW5lLT52YmwucmVncywgaWR4 LCBhZGRyc1syXSwKKwkJYXJtYWRhX3JlZ19xdWV1ZV9zZXQod29yay0+cmVncywgaWR4LCBhZGRy c1syXSwKIAkJCQkgICAgIExDRF9TUFVfRE1BX1NUQVJUX0FERFJfVjApOwotCQlhcm1hZGFfcmVn X3F1ZXVlX3NldChkcGxhbmUtPnZibC5yZWdzLCBpZHgsIGFkZHJzWzBdLAorCQlhcm1hZGFfcmVn X3F1ZXVlX3NldCh3b3JrLT5yZWdzLCBpZHgsIGFkZHJzWzBdLAogCQkJCSAgICAgTENEX1NQVV9E TUFfU1RBUlRfQUREUl9ZMSk7Ci0JCWFybWFkYV9yZWdfcXVldWVfc2V0KGRwbGFuZS0+dmJsLnJl Z3MsIGlkeCwgYWRkcnNbMV0sCisJCWFybWFkYV9yZWdfcXVldWVfc2V0KHdvcmstPnJlZ3MsIGlk eCwgYWRkcnNbMV0sCiAJCQkJICAgICBMQ0RfU1BVX0RNQV9TVEFSVF9BRERSX1UxKTsKLQkJYXJt YWRhX3JlZ19xdWV1ZV9zZXQoZHBsYW5lLT52YmwucmVncywgaWR4LCBhZGRyc1syXSwKKwkJYXJt YWRhX3JlZ19xdWV1ZV9zZXQod29yay0+cmVncywgaWR4LCBhZGRyc1syXSwKIAkJCQkgICAgIExD RF9TUFVfRE1BX1NUQVJUX0FERFJfVjEpOwogCiAJCXZhbCA9IGZiLT5waXRjaGVzWzBdIDw8IDE2 IHwgZmItPnBpdGNoZXNbMF07Ci0JCWFybWFkYV9yZWdfcXVldWVfc2V0KGRwbGFuZS0+dmJsLnJl Z3MsIGlkeCwgdmFsLAorCQlhcm1hZGFfcmVnX3F1ZXVlX3NldCh3b3JrLT5yZWdzLCBpZHgsIHZh bCwKIAkJCQkgICAgIExDRF9TUFVfRE1BX1BJVENIX1lDKTsKIAkJdmFsID0gZmItPnBpdGNoZXNb MV0gPDwgMTYgfCBmYi0+cGl0Y2hlc1syXTsKLQkJYXJtYWRhX3JlZ19xdWV1ZV9zZXQoZHBsYW5l LT52YmwucmVncywgaWR4LCB2YWwsCisJCWFybWFkYV9yZWdfcXVldWVfc2V0KHdvcmstPnJlZ3Ms IGlkeCwgdmFsLAogCQkJCSAgICAgTENEX1NQVV9ETUFfUElUQ0hfVVYpOwogCX0gZWxzZSB7Ci0J CWRwbGFuZS0+dmJsLndvcmsub2xkX2ZiID0gTlVMTDsKKwkJd29yay0+b2xkX2ZiID0gTlVMTDsK IAl9CiAKIAl2YWwgPSAoZHJtX3JlY3RfaGVpZ2h0KCZzcmMpICYgMHhmZmZmMDAwMCkgfCBkcm1f cmVjdF93aWR0aCgmc3JjKSA+PiAxNjsKIAlpZiAoZHBsYW5lLT5iYXNlLnN0YXRlLnNyY19odyAh PSB2YWwpIHsKIAkJZHBsYW5lLT5iYXNlLnN0YXRlLnNyY19odyA9IHZhbDsKLQkJYXJtYWRhX3Jl Z19xdWV1ZV9zZXQoZHBsYW5lLT52YmwucmVncywgaWR4LCB2YWwsCisJCWFybWFkYV9yZWdfcXVl dWVfc2V0KHdvcmstPnJlZ3MsIGlkeCwgdmFsLAogCQkJCSAgICAgTENEX1NQVV9ETUFfSFBYTF9W TE4pOwogCX0KIAogCXZhbCA9IGRybV9yZWN0X2hlaWdodCgmZGVzdCkgPDwgMTYgfCBkcm1fcmVj dF93aWR0aCgmZGVzdCk7CiAJaWYgKGRwbGFuZS0+YmFzZS5zdGF0ZS5kc3RfaHcgIT0gdmFsKSB7 CiAJCWRwbGFuZS0+YmFzZS5zdGF0ZS5kc3RfaHcgPSB2YWw7Ci0JCWFybWFkYV9yZWdfcXVldWVf c2V0KGRwbGFuZS0+dmJsLnJlZ3MsIGlkeCwgdmFsLAorCQlhcm1hZGFfcmVnX3F1ZXVlX3NldCh3 b3JrLT5yZWdzLCBpZHgsIHZhbCwKIAkJCQkgICAgIExDRF9TUFVfRFpNX0hQWExfVkxOKTsKIAl9 CiAKIAl2YWwgPSBkZXN0LnkxIDw8IDE2IHwgZGVzdC54MTsKIAlpZiAoZHBsYW5lLT5iYXNlLnN0 YXRlLmRzdF95eCAhPSB2YWwpIHsKIAkJZHBsYW5lLT5iYXNlLnN0YXRlLmRzdF95eCA9IHZhbDsK LQkJYXJtYWRhX3JlZ19xdWV1ZV9zZXQoZHBsYW5lLT52YmwucmVncywgaWR4LCB2YWwsCisJCWFy bWFkYV9yZWdfcXVldWVfc2V0KHdvcmstPnJlZ3MsIGlkeCwgdmFsLAogCQkJCSAgICAgTENEX1NQ VV9ETUFfT1ZTQV9IUFhMX1ZMTik7CiAJfQogCiAJaWYgKGRwbGFuZS0+YmFzZS5zdGF0ZS5jdHJs MCAhPSBjdHJsMCkgewogCQlkcGxhbmUtPmJhc2Uuc3RhdGUuY3RybDAgPSBjdHJsMDsKLQkJYXJt YWRhX3JlZ19xdWV1ZV9tb2QoZHBsYW5lLT52YmwucmVncywgaWR4LCBjdHJsMCwKKwkJYXJtYWRh X3JlZ19xdWV1ZV9tb2Qod29yay0+cmVncywgaWR4LCBjdHJsMCwKIAkJCUNGR19DQlNIX0VOQSB8 IENGR19ETUFGT1JNQVQgfCBDRkdfRE1BX0ZUT0dHTEUgfAogCQkJQ0ZHX0RNQV9IU01PT1RIIHwg Q0ZHX0RNQV9UU1RNT0RFIHwKIAkJCUNGR19ETUFfTU9EKENGR19TV0FQUkIgfCBDRkdfU1dBUFVW IHwgQ0ZHX1NXQVBZVSB8CkBAIC0yNDMsOSArMjM5LDkgQEAgYXJtYWRhX292bF9wbGFuZV91cGRh dGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCUxD RF9TUFVfRE1BX0NUUkwwKTsKIAl9CiAJaWYgKGlkeCkgewotCQlhcm1hZGFfcmVnX3F1ZXVlX2Vu ZChkcGxhbmUtPnZibC5yZWdzLCBpZHgpOworCQlhcm1hZGFfcmVnX3F1ZXVlX2VuZCh3b3JrLT5y ZWdzLCBpZHgpOwogCQkvKiBRdWV1ZSBpdCBmb3IgdXBkYXRlIG9uIHRoZSBuZXh0IGludGVycnVw dCBpZiB3ZSBhcmUgZW5hYmxlZCAqLwotCQlhcm1hZGFfZHJtX3BsYW5lX3dvcmtfcXVldWUoZGNy dGMsICZkcGxhbmUtPnZibC53b3JrKTsKKwkJYXJtYWRhX2RybV9wbGFuZV93b3JrX3F1ZXVlKGRj cnRjLCB3b3JrKTsKIAl9CiAJcmV0dXJuIDA7CiB9CkBAIC00MzIsOCArNDI4LDggQEAgaW50IGFy bWFkYV9vdmVybGF5X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25l ZCBsb25nIGNydGNzKQogCQlyZXR1cm4gcmV0OwogCX0KIAotCWRwbGFuZS0+dmJsLndvcmsucGxh bmUgPSAmZHBsYW5lLT5iYXNlLmJhc2U7Ci0JZHBsYW5lLT52Ymwud29yay5mbiA9IGFybWFkYV9v dmxfcGxhbmVfd29yazsKKwlkcGxhbmUtPndvcmsucGxhbmUgPSAmZHBsYW5lLT5iYXNlLmJhc2U7 CisJZHBsYW5lLT53b3JrLmZuID0gYXJtYWRhX292bF9wbGFuZV93b3JrOwogCiAJcmV0ID0gZHJt X3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmRwbGFuZS0+YmFzZS5iYXNlLCBjcnRjcywKIAkJ CQkgICAgICAgJmFybWFkYV9vdmxfcGxhbmVfZnVuY3MsCi0tIAoyLjcuNAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==