From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 1/2] drm/msm/adreno: Define a list of firmware files to load per target Date: Thu, 1 Feb 2018 12:15:16 -0700 Message-ID: <1517512517-31166-2-git-send-email-jcrouse@codeaurora.org> References: <1517512517-31166-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1517512517-31166-1-git-send-email-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhlIG51bWJlciBhbmQgdHlwZSBvZiBmaXJtd2FyZSBmaWxlcyByZXF1aXJlZCBkaWZmZXJzIGZv ciBlYWNoCnRhcmdldC4gSW5zdGVhZCBvZiB1c2luZyBhIGZpeGVkIHN0cnVjdCBtZW1iZXIgZm9y IGVhY2ggcG9zc2libGUKZmlybXdhcmUgZmlsZSB1c2UgYSBnZW5lcmljIGxpc3Qgb2YgZmlsZXMg dGhhdCBzaG91bGQgYmUgbG9hZGVkCm9uIGJvb3QuICBVc2Ugc29tZSBzZW1pLXRhcmdldCBzcGVj aWZpYyBlbnVtcyB0byBoZWxwIGVhY2ggdGFyZ2V0CmZpbmQgdGhlIGFwcHJvcHJpYXRlIGZpcm13 YXJlKHMpIHRoYXQgaXQgbmVlZHMgdG8gbG9hZC4KClNpZ25lZC1vZmYtYnk6IEpvcmRhbiBDcm91 c2UgPGpjcm91c2VAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTN4eF9ncHUuYyAgICAgIHwgIDggKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVu by9hNHh4X2dwdS5jICAgICAgfCAgOCArKystLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2E1eHhfZGVidWdmcy5jICB8IDEzICsrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTV4eF9ncHUuYyAgICAgIHwgIDggKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVu by9hNXh4X3Bvd2VyLmMgICAgfCAyNiArKysrKy0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vYWRyZW5vL2FkcmVub19kZXZpY2UuYyB8IDQ0ICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jICAgIHwgMzMg KysrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5v X2dwdS5oICAgIHwgMTIgKysrKysrLS0KIDggZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygr KSwgNzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTN4eF9ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2EzeHhfZ3B1LmMKaW5k ZXggNGJhZWYyNy4uMWRkODRkMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYTN4eF9ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hM3h4X2dwdS5j CkBAIC0yNTYsOCArMjU2LDggQEAgc3RhdGljIGludCBhM3h4X2h3X2luaXQoc3RydWN0IG1zbV9n cHUgKmdwdSkKIAkgKi8KIAogCS8qIExvYWQgUE00OiAqLwotCXB0ciA9ICh1aW50MzJfdCAqKShh ZHJlbm9fZ3B1LT5wbTQtPmRhdGEpOwotCWxlbiA9IGFkcmVub19ncHUtPnBtNC0+c2l6ZSAvIDQ7 CisJcHRyID0gKHVpbnQzMl90ICopKGFkcmVub19ncHUtPmZ3W0FEUkVOT19GV19QTTRdLT5kYXRh KTsKKwlsZW4gPSBhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldfUE00XS0+c2l6ZSAvIDQ7CiAJREJH KCJsb2FkaW5nIFBNNCB1Y29kZSB2ZXJzaW9uOiAleCIsIHB0clsxXSk7CiAKIAlncHVfd3JpdGUo Z3B1LCBSRUdfQVhYWF9DUF9ERUJVRywKQEAgLTI2OCw4ICsyNjgsOCBAQCBzdGF0aWMgaW50IGEz eHhfaHdfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCQlncHVfd3JpdGUoZ3B1LCBSRUdfQVhY WF9DUF9NRV9SQU1fREFUQSwgcHRyW2ldKTsKIAogCS8qIExvYWQgUEZQOiAqLwotCXB0ciA9ICh1 aW50MzJfdCAqKShhZHJlbm9fZ3B1LT5wZnAtPmRhdGEpOwotCWxlbiA9IGFkcmVub19ncHUtPnBm cC0+c2l6ZSAvIDQ7CisJcHRyID0gKHVpbnQzMl90ICopKGFkcmVub19ncHUtPmZ3W0FEUkVOT19G V19QRlBdLT5kYXRhKTsKKwlsZW4gPSBhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldfUEZQXS0+c2l6 ZSAvIDQ7CiAJREJHKCJsb2FkaW5nIFBGUCB1Y29kZSB2ZXJzaW9uOiAleCIsIHB0cls1XSk7CiAK IAlncHVfd3JpdGUoZ3B1LCBSRUdfQTNYWF9DUF9QRlBfVUNPREVfQUREUiwgMCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9hZHJlbm8vYTR4eF9ncHUuYwppbmRleCA4MTk5YTRiLi4yODg0YjFiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNHh4X2dwdS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vYWRyZW5vL2E0eHhfZ3B1LmMKQEAgLTI3NCwxNiArMjc0LDE2IEBAIHN0YXRp YyBpbnQgYTR4eF9od19pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJCXJldHVybiByZXQ7CiAK IAkvKiBMb2FkIFBNNDogKi8KLQlwdHIgPSAodWludDMyX3QgKikoYWRyZW5vX2dwdS0+cG00LT5k YXRhKTsKLQlsZW4gPSBhZHJlbm9fZ3B1LT5wbTQtPnNpemUgLyA0OworCXB0ciA9ICh1aW50MzJf dCAqKShhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldfUE00XS0+ZGF0YSk7CisJbGVuID0gYWRyZW5v X2dwdS0+ZndbQURSRU5PX0ZXX1BNNF0tPnNpemUgLyA0OwogCURCRygibG9hZGluZyBQTTQgdWNv ZGUgdmVyc2lvbjogJXUiLCBwdHJbMF0pOwogCWdwdV93cml0ZShncHUsIFJFR19BNFhYX0NQX01F X1JBTV9XQUREUiwgMCk7CiAJZm9yIChpID0gMTsgaSA8IGxlbjsgaSsrKQogCQlncHVfd3JpdGUo Z3B1LCBSRUdfQTRYWF9DUF9NRV9SQU1fREFUQSwgcHRyW2ldKTsKIAogCS8qIExvYWQgUEZQOiAq LwotCXB0ciA9ICh1aW50MzJfdCAqKShhZHJlbm9fZ3B1LT5wZnAtPmRhdGEpOwotCWxlbiA9IGFk cmVub19ncHUtPnBmcC0+c2l6ZSAvIDQ7CisJcHRyID0gKHVpbnQzMl90ICopKGFkcmVub19ncHUt PmZ3W0FEUkVOT19GV19QRlBdLT5kYXRhKTsKKwlsZW4gPSBhZHJlbm9fZ3B1LT5md1tBRFJFTk9f RldfUEZQXS0+c2l6ZSAvIDQ7CiAJREJHKCJsb2FkaW5nIFBGUCB1Y29kZSB2ZXJzaW9uOiAldSIs IHB0clswXSk7CiAKIAlncHVfd3JpdGUoZ3B1LCBSRUdfQTRYWF9DUF9QRlBfVUNPREVfQUREUiwg MCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2RlYnVnZnMu YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZGVidWdmcy5jCmluZGV4IGNlZjA5 NzguLjZiMjc5NDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhf ZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfZGVidWdmcy5j CkBAIC0xMjMsMTUgKzEyMywxMiBAQCBzdGF0aWMgaW50IHNob3coc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICphcmcpCiAKIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAKLQlpZiAo YWRyZW5vX2dwdS0+cG00KSB7Ci0JCXJlbGVhc2VfZmlybXdhcmUoYWRyZW5vX2dwdS0+cG00KTsK LQkJYWRyZW5vX2dwdS0+cG00ID0gTlVMTDsKLQl9CisJcmVsZWFzZV9maXJtd2FyZShhZHJlbm9f Z3B1LT5md1tBRFJFTk9fRldfUE00XSk7CisJYWRyZW5vX2dwdS0+ZndbQURSRU5PX0ZXX1BNNF0g PSBOVUxMOworCisJcmVsZWFzZV9maXJtd2FyZShhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldfUEZQ XSk7CisJYWRyZW5vX2dwdS0+ZndbQURSRU5PX0ZXX1BGUF0gPSBOVUxMOwogCi0JaWYgKGFkcmVu b19ncHUtPnBmcCkgewotCQlyZWxlYXNlX2Zpcm13YXJlKGFkcmVub19ncHUtPnBmcCk7Ci0JCWFk cmVub19ncHUtPnBmcCA9IE5VTEw7Ci0JfQogCWlmIChhNXh4X2dwdS0+cG00X2JvKSB7CiAJCWlm IChhNXh4X2dwdS0+cG00X2lvdmEpCiAJCQltc21fZ2VtX3B1dF9pb3ZhKGE1eHhfZ3B1LT5wbTRf Ym8sIGdwdS0+YXNwYWNlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2E1eHhfZ3B1LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X2dwdS5jCmluZGV4 IDc5NWZlMTEuLjUxN2UxOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2E1eHhfZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9ncHUuYwpA QCAtNTIzLDggKzUyMyw4IEBAIHN0YXRpYyBpbnQgYTV4eF91Y29kZV9pbml0KHN0cnVjdCBtc21f Z3B1ICpncHUpCiAJaW50IHJldDsKIAogCWlmICghYTV4eF9ncHUtPnBtNF9ibykgewotCQlhNXh4 X2dwdS0+cG00X2JvID0gYTV4eF91Y29kZV9sb2FkX2JvKGdwdSwgYWRyZW5vX2dwdS0+cG00LAot CQkJJmE1eHhfZ3B1LT5wbTRfaW92YSk7CisJCWE1eHhfZ3B1LT5wbTRfYm8gPSBhNXh4X3Vjb2Rl X2xvYWRfYm8oZ3B1LAorCQkJYWRyZW5vX2dwdS0+ZndbQURSRU5PX0ZXX1BNNF0sICZhNXh4X2dw dS0+cG00X2lvdmEpOwogCiAJCWlmIChJU19FUlIoYTV4eF9ncHUtPnBtNF9ibykpIHsKIAkJCXJl dCA9IFBUUl9FUlIoYTV4eF9ncHUtPnBtNF9ibyk7CkBAIC01MzYsOCArNTM2LDggQEAgc3RhdGlj IGludCBhNXh4X3Vjb2RlX2luaXQoc3RydWN0IG1zbV9ncHUgKmdwdSkKIAl9CiAKIAlpZiAoIWE1 eHhfZ3B1LT5wZnBfYm8pIHsKLQkJYTV4eF9ncHUtPnBmcF9ibyA9IGE1eHhfdWNvZGVfbG9hZF9i byhncHUsIGFkcmVub19ncHUtPnBmcCwKLQkJCSZhNXh4X2dwdS0+cGZwX2lvdmEpOworCQlhNXh4 X2dwdS0+cGZwX2JvID0gYTV4eF91Y29kZV9sb2FkX2JvKGdwdSwKKwkJCWFkcmVub19ncHUtPmZ3 W0FEUkVOT19GV19QRlBdLCAmYTV4eF9ncHUtPnBmcF9pb3ZhKTsKIAogCQlpZiAoSVNfRVJSKGE1 eHhfZ3B1LT5wZnBfYm8pKSB7CiAJCQlyZXQgPSBQVFJfRVJSKGE1eHhfZ3B1LT5wZnBfYm8pOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9wb3dlci5jIGIvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYTV4eF9wb3dlci5jCmluZGV4IDY2MzBlNmMuLmU5YzBl NTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2E1eHhfcG93ZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hNXh4X3Bvd2VyLmMKQEAgLTI2MSw3ICsy NjEsNiBAQCB2b2lkIGE1eHhfZ3BtdV91Y29kZV9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJ c3RydWN0IGFkcmVub19ncHUgKmFkcmVub19ncHUgPSB0b19hZHJlbm9fZ3B1KGdwdSk7CiAJc3Ry dWN0IGE1eHhfZ3B1ICphNXh4X2dwdSA9IHRvX2E1eHhfZ3B1KGFkcmVub19ncHUpOwogCXN0cnVj dCBkcm1fZGV2aWNlICpkcm0gPSBncHUtPmRldjsKLQljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3 OwogCXVpbnQzMl90IGR3b3JkcyA9IDAsIG9mZnNldCA9IDAsIGJvc2l6ZTsKIAl1bnNpZ25lZCBp bnQgKmRhdGEsICpwdHIsICpjbWRzOwogCXVuc2lnbmVkIGludCBjbWRzX3NpemU7CkBAIC0yNjks MTUgKzI2OCw3IEBAIHZvaWQgYTV4eF9ncG11X3Vjb2RlX2luaXQoc3RydWN0IG1zbV9ncHUgKmdw dSkKIAlpZiAoYTV4eF9ncHUtPmdwbXVfYm8pCiAJCXJldHVybjsKIAotCS8qIEdldCB0aGUgZmly bXdhcmUgKi8KLQlmdyA9IGFkcmVub19yZXF1ZXN0X2Z3KGFkcmVub19ncHUsIGFkcmVub19ncHUt PmluZm8tPnBvd2VyZncpOwotCWlmIChJU19FUlIoZncpKSB7Ci0JCURSTV9FUlJPUigiJXM6IENv dWxkIG5vdCBnZXQgR1BNVSBmaXJtd2FyZS4gR1BNVSB3aWxsIG5vdCBiZSBhY3RpdmVcbiIsCi0J CQlncHUtPm5hbWUpOwotCQlyZXR1cm47Ci0JfQotCi0JZGF0YSA9ICh1bnNpZ25lZCBpbnQgKikg ZnctPmRhdGE7CisJZGF0YSA9ICh1bnNpZ25lZCBpbnQgKikgYWRyZW5vX2dwdS0+ZndbQURSRU5P X0ZXX0dQTVVdLT5kYXRhOwogCiAJLyoKIAkgKiBUaGUgZmlyc3QgZHdvcmQgaXMgdGhlIHNpemUg b2YgdGhlIHJlbWFpbmluZyBkYXRhIGluIGR3b3Jkcy4gVXNlIGl0CkBAIC0yODUsMTIgKzI3Niwx NCBAQCB2b2lkIGE1eHhfZ3BtdV91Y29kZV9pbml0KHN0cnVjdCBtc21fZ3B1ICpncHUpCiAJICog dGhlIGZpcm13YXJlIHRoYXQgd2UgcmVhZAogCSAqLwogCi0JaWYgKGZ3LT5zaXplIDwgOCB8fCAo ZGF0YVswXSA8IDIpIHx8IChkYXRhWzBdID49IChmdy0+c2l6ZSA+PiAyKSkpCi0JCWdvdG8gb3V0 OworCWlmIChhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldfR1BNVV0tPnNpemUgPCA4IHx8CisJCShk YXRhWzBdIDwgMikgfHwgKGRhdGFbMF0gPj0KKwkJCShhZHJlbm9fZ3B1LT5md1tBRFJFTk9fRldf R1BNVV0tPnNpemUgPj4gMikpKQorCQlyZXR1cm47CiAKIAkvKiBUaGUgc2Vjb25kIGR3b3JkIGlz IGFuIElEIC0gbG9vayBmb3IgMiAoR1BNVV9GSVJNV0FSRV9JRCkgKi8KIAlpZiAoZGF0YVsxXSAh PSAyKQotCQlnb3RvIG91dDsKKwkJcmV0dXJuOwogCiAJY21kcyA9IGRhdGEgKyBkYXRhWzJdICsg MzsKIAljbWRzX3NpemUgPSBkYXRhWzBdIC0gZGF0YVsyXSAtIDI7CkBAIC0zMjUsOCArMzE4LDcg QEAgdm9pZCBhNXh4X2dwbXVfdWNvZGVfaW5pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1KQogCW1zbV9n ZW1fcHV0X3ZhZGRyKGE1eHhfZ3B1LT5ncG11X2JvKTsKIAlhNXh4X2dwdS0+Z3BtdV9kd29yZHMg PSBkd29yZHM7CiAKLQlnb3RvIG91dDsKLQorCXJldHVybjsKIGVycjoKIAlpZiAoYTV4eF9ncHUt PmdwbXVfaW92YSkKIAkJbXNtX2dlbV9wdXRfaW92YShhNXh4X2dwdS0+Z3BtdV9ibywgZ3B1LT5h c3BhY2UpOwpAQCAtMzM2LDggKzMyOCw0IEBAIHZvaWQgYTV4eF9ncG11X3Vjb2RlX2luaXQoc3Ry dWN0IG1zbV9ncHUgKmdwdSkKIAlhNXh4X2dwdS0+Z3BtdV9ibyA9IE5VTEw7CiAJYTV4eF9ncHUt PmdwbXVfaW92YSA9IDA7CiAJYTV4eF9ncHUtPmdwbXVfZHdvcmRzID0gMDsKLQotb3V0OgotCS8q IE5vIG5lZWQgdG8ga2VlcCB0aGF0IGZpcm13YXJlIGxheWluZyBhcm91bmQgYW55bW9yZSAqLwot CXJlbGVhc2VfZmlybXdhcmUoZncpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9hZHJlbm8vYWRyZW5vX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRy ZW5vX2RldmljZS5jCmluZGV4IGQ2NGNlZWIuLmYwN2QzZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2FkcmVuby9hZHJlbm9fZGV2aWNlLmMKQEAgLTMwLDYxICszMCw3NSBAQAogCQkucmV2ICAg PSBBRFJFTk9fUkVWKDMsIDAsIDUsIEFOWV9JRCksCiAJCS5yZXZuICA9IDMwNSwKIAkJLm5hbWUg ID0gIkEzMDUiLAotCQkucG00ZncgPSAiYTMwMF9wbTQuZnciLAotCQkucGZwZncgPSAiYTMwMF9w ZnAuZnciLAorCQkuZncgPSB7CisJCQlbQURSRU5PX0ZXX1BNNF0gPSAiYTMwMF9wbTQuZnciLAor CQkJW0FEUkVOT19GV19QRlBdID0gImEzMDBfcGZwLmZ3IiwKKwkJfSwKIAkJLmdtZW0gID0gU1pf MjU2SywKIAkJLmluaXQgID0gYTN4eF9ncHVfaW5pdCwKIAl9LCB7CiAJCS5yZXYgICA9IEFEUkVO T19SRVYoMywgMCwgNiwgMCksCiAJCS5yZXZuICA9IDMwNywgICAgICAgIC8qIGJlY2F1c2UgYTMw NWMgaXMgcmV2bj09MzA2ICovCiAJCS5uYW1lICA9ICJBMzA2IiwKLQkJLnBtNGZ3ID0gImEzMDBf cG00LmZ3IiwKLQkJLnBmcGZ3ID0gImEzMDBfcGZwLmZ3IiwKKwkJLmZ3ID0geworCQkJW0FEUkVO T19GV19QTTRdID0gImEzMDBfcG00LmZ3IiwKKwkJCVtBRFJFTk9fRldfUEZQXSA9ICJhMzAwX3Bm cC5mdyIsCisJCX0sCiAJCS5nbWVtICA9IFNaXzEyOEssCiAJCS5pbml0ICA9IGEzeHhfZ3B1X2lu aXQsCiAJfSwgewogCQkucmV2ICAgPSBBRFJFTk9fUkVWKDMsIDIsIEFOWV9JRCwgQU5ZX0lEKSwK IAkJLnJldm4gID0gMzIwLAogCQkubmFtZSAgPSAiQTMyMCIsCi0JCS5wbTRmdyA9ICJhMzAwX3Bt NC5mdyIsCi0JCS5wZnBmdyA9ICJhMzAwX3BmcC5mdyIsCisJCS5mdyA9IHsKKwkJCVtBRFJFTk9f RldfUE00XSA9ICJhMzAwX3BtNC5mdyIsCisJCQlbQURSRU5PX0ZXX1BGUF0gPSAiYTMwMF9wZnAu ZnciLAorCQl9LAogCQkuZ21lbSAgPSBTWl81MTJLLAogCQkuaW5pdCAgPSBhM3h4X2dwdV9pbml0 LAogCX0sIHsKIAkJLnJldiAgID0gQURSRU5PX1JFVigzLCAzLCAwLCBBTllfSUQpLAogCQkucmV2 biAgPSAzMzAsCiAJCS5uYW1lICA9ICJBMzMwIiwKLQkJLnBtNGZ3ID0gImEzMzBfcG00LmZ3IiwK LQkJLnBmcGZ3ID0gImEzMzBfcGZwLmZ3IiwKKwkJLmZ3ID0geworCQkJW0FEUkVOT19GV19QTTRd ID0gImEzMzBfcG00LmZ3IiwKKwkJCVtBRFJFTk9fRldfUEZQXSA9ICJhMzMwX3BmcC5mdyIsCisJ CX0sCiAJCS5nbWVtICA9IFNaXzFNLAogCQkuaW5pdCAgPSBhM3h4X2dwdV9pbml0LAogCX0sIHsK IAkJLnJldiAgID0gQURSRU5PX1JFVig0LCAyLCAwLCBBTllfSUQpLAogCQkucmV2biAgPSA0MjAs CiAJCS5uYW1lICA9ICJBNDIwIiwKLQkJLnBtNGZ3ID0gImE0MjBfcG00LmZ3IiwKLQkJLnBmcGZ3 ID0gImE0MjBfcGZwLmZ3IiwKKwkJLmZ3ID0geworCQkJW0FEUkVOT19GV19QTTRdID0gImE0MjBf cG00LmZ3IiwKKwkJCVtBRFJFTk9fRldfUEZQXSA9ICJhNDIwX3BmcC5mdyIsCisJCX0sCiAJCS5n bWVtICA9IChTWl8xTSArIFNaXzUxMkspLAogCQkuaW5pdCAgPSBhNHh4X2dwdV9pbml0LAogCX0s IHsKIAkJLnJldiAgID0gQURSRU5PX1JFVig0LCAzLCAwLCBBTllfSUQpLAogCQkucmV2biAgPSA0 MzAsCiAJCS5uYW1lICA9ICJBNDMwIiwKLQkJLnBtNGZ3ID0gImE0MjBfcG00LmZ3IiwKLQkJLnBm cGZ3ID0gImE0MjBfcGZwLmZ3IiwKKwkJLmZ3ID0geworCQkJW0FEUkVOT19GV19QTTRdID0gImE0 MjBfcG00LmZ3IiwKKwkJCVtBRFJFTk9fRldfUEZQXSA9ICJhNDIwX3BmcC5mdyIsCisJCX0sCiAJ CS5nbWVtICA9IChTWl8xTSArIFNaXzUxMkspLAogCQkuaW5pdCAgPSBhNHh4X2dwdV9pbml0LAog CX0sIHsKIAkJLnJldiA9IEFEUkVOT19SRVYoNSwgMywgMCwgMiksCiAJCS5yZXZuID0gNTMwLAog CQkubmFtZSA9ICJBNTMwIiwKLQkJLnBtNGZ3ID0gImE1MzBfcG00LmZ3IiwKLQkJLnBmcGZ3ID0g ImE1MzBfcGZwLmZ3IiwKKwkJLmZ3ID0geworCQkJW0FEUkVOT19GV19QTTRdID0gImE1MzBfcG00 LmZ3IiwKKwkJCVtBRFJFTk9fRldfUEZQXSA9ICJhNTMwX3BmcC5mdyIsCisJCQlbQURSRU5PX0ZX X0dQTVVdID0gImE1MzB2M19ncG11LmZ3MiIsCisJCX0sCiAJCS5nbWVtID0gU1pfMU0sCiAJCS5x dWlya3MgPSBBRFJFTk9fUVVJUktfVFdPX1BBU1NfVVNFX1dGSSB8CiAJCQlBRFJFTk9fUVVJUktf RkFVTFRfREVURUNUX01BU0ssCiAJCS5pbml0ID0gYTV4eF9ncHVfaW5pdCwKLQkJLnBvd2VyZncg PSAiYTUzMHYzX2dwbXUuZncyIiwKIAkJLnphcGZ3ID0gImE1MzBfemFwLm1kdCIsCiAJfSwKIH07 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMKaW5kZXggZGU2M2ZmMi4uNGE4 ZWU1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYwpAQCAtMTQwLDIz ICsxNDAsMjQgQEAgaW50IGFkcmVub19nZXRfcGFyYW0oc3RydWN0IG1zbV9ncHUgKmdwdSwgdWlu dDMyX3QgcGFyYW0sIHVpbnQ2NF90ICp2YWx1ZSkKIAogc3RhdGljIGludCBhZHJlbm9fbG9hZF9m dyhzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSkKIHsKLQljb25zdCBzdHJ1Y3QgZmlybXdh cmUgKmZ3OworCWludCBpOwogCi0JaWYgKGFkcmVub19ncHUtPnBtNCkKLQkJcmV0dXJuIDA7CisJ Zm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRyZW5vX2dwdS0+aW5mby0+ZncpOyBpKyspIHsK KwkJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdzsKIAotCWZ3ID0gYWRyZW5vX3JlcXVlc3RfZnco YWRyZW5vX2dwdSwgYWRyZW5vX2dwdS0+aW5mby0+cG00ZncpOwotCWlmIChJU19FUlIoZncpKQot CQlyZXR1cm4gUFRSX0VSUihmdyk7Ci0JYWRyZW5vX2dwdS0+cG00ID0gZnc7CisJCWlmICghYWRy ZW5vX2dwdS0+aW5mby0+ZndbaV0pCisJCQljb250aW51ZTsKIAotCWZ3ID0gYWRyZW5vX3JlcXVl c3RfZncoYWRyZW5vX2dwdSwgYWRyZW5vX2dwdS0+aW5mby0+cGZwZncpOwotCWlmIChJU19FUlIo ZncpKSB7Ci0JCXJlbGVhc2VfZmlybXdhcmUoYWRyZW5vX2dwdS0+cG00KTsKLQkJYWRyZW5vX2dw dS0+cG00ID0gTlVMTDsKLQkJcmV0dXJuIFBUUl9FUlIoZncpOworCQkvKiBTa2lwIGlmIHRoZSBm aXJtd2FyZSBoYXMgYWxyZWFkeSBiZWVuIGxvYWRlZCAqLworCQlpZiAoYWRyZW5vX2dwdS0+Zndb aV0pCisJCQljb250aW51ZTsKKworCQlmdyA9IGFkcmVub19yZXF1ZXN0X2Z3KGFkcmVub19ncHUs IGFkcmVub19ncHUtPmluZm8tPmZ3W2ldKTsKKwkJaWYgKElTX0VSUihmdykpCisJCQlyZXR1cm4g UFRSX0VSUihmdyk7CisKKwkJYWRyZW5vX2dwdS0+ZndbaV0gPSBmdzsKIAl9Ci0JYWRyZW5vX2dw dS0+cGZwID0gZnc7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTU2OSw4ICs1NzAsMTAgQEAgaW50IGFk cmVub19ncHVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAogCiB2b2lkIGFkcmVub19ncHVfY2xlYW51cChzdHJ1Y3QgYWRyZW5vX2dwdSAq YWRyZW5vX2dwdSkKIHsKLQlyZWxlYXNlX2Zpcm13YXJlKGFkcmVub19ncHUtPnBtNCk7Ci0JcmVs ZWFzZV9maXJtd2FyZShhZHJlbm9fZ3B1LT5wZnApOworCXVuc2lnbmVkIGludCBpOworCisJZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUoYWRyZW5vX2dwdS0+aW5mby0+ZncpOyBpKyspCisJCXJl bGVhc2VfZmlybXdhcmUoYWRyZW5vX2dwdS0+ZndbaV0pOwogCiAJbXNtX2dwdV9jbGVhbnVwKCZh ZHJlbm9fZ3B1LT5iYXNlKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2FkcmVub19ncHUuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUu aAppbmRleCAwYTg2OWJiLi40OTkwOTJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L2FkcmVuby9hZHJlbm9fZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRy ZW5vX2dwdS5oCkBAIC00OCw2ICs0OCwxMyBAQCBlbnVtIGFkcmVub19yZWdzIHsKIAlSRUdfQURS RU5PX1JFR0lTVEVSX01BWCwKIH07CiAKK2VudW0geworCUFEUkVOT19GV19QTTQgPSAwLAorCUFE UkVOT19GV19QRlAgPSAxLAorCUFEUkVOT19GV19HUE1VID0gMiwKKwlBRFJFTk9fRldfTUFYLAor fTsKKwogZW51bSBhZHJlbm9fcXVpcmtzIHsKIAlBRFJFTk9fUVVJUktfVFdPX1BBU1NfVVNFX1dG SSA9IDEsCiAJQURSRU5PX1FVSVJLX0ZBVUxUX0RFVEVDVF9NQVNLID0gMiwKQEAgLTcyLDggKzc5 LDcgQEAgc3RydWN0IGFkcmVub19pbmZvIHsKIAlzdHJ1Y3QgYWRyZW5vX3JldiByZXY7CiAJdWlu dDMyX3QgcmV2bjsKIAljb25zdCBjaGFyICpuYW1lOwotCWNvbnN0IGNoYXIgKnBtNGZ3LCAqcGZw Znc7Ci0JY29uc3QgY2hhciAqcG93ZXJmdzsKKwljb25zdCBjaGFyICpmd1tBRFJFTk9fRldfTUFY XTsKIAl1aW50MzJfdCBnbWVtOwogCWVudW0gYWRyZW5vX3F1aXJrcyBxdWlya3M7CiAJc3RydWN0 IG1zbV9ncHUgKigqaW5pdCkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CkBAIC0xMTUsNyArMTIx LDcgQEAgc3RydWN0IGFkcmVub19ncHUgewogCX0gZndsb2M7CiAKIAkvKiBmaXJtd2FyZTogKi8K LQljb25zdCBzdHJ1Y3QgZmlybXdhcmUgKnBtNCwgKnBmcDsKKwljb25zdCBzdHJ1Y3QgZmlybXdh cmUgKmZ3W0FEUkVOT19GV19NQVhdOwogCiAJLyoKIAkgKiBSZWdpc3RlciBvZmZzZXRzIGFyZSBk aWZmZXJlbnQgYmV0d2VlbiBzb21lIEdQVXMuCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVl ZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==