From mboxrd@z Thu Jan 1 00:00:00 1970 From: "=?UTF-8?q?Christian=20K=C3=B6nig?=" Subject: [PATCH 1/3] drm/amdgpu: add optional ring to *_hdp callbacks Date: Mon, 22 Jan 2018 11:00:11 +0100 Message-ID: <20180122100013.9765-1-christian.koenig@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org VGhpcyBhZGRzIGFuIG9wdGlvbmFsIHJpbmcgdG8gdGhlIGludmFsaWRhdGVfaGRwIGFuZCBmbHVz aF9oZHAKY2FsbGJhY2tzLiBJZiB0aGUgcmluZyBpc24ndCBzcGVjaWZpZWQgb3IgdGhlIGVtaXRf d3JlZyBmdW5jdGlvbiBub3QKYXZhaWxhYmxlIHRoZSBIRFAgb3BlcmF0aW9uIHdpbGwgYmUgZG9u ZSB3aXRoIHRoZSBDUFUgb3RoZXJ3aXNlIGJ5CndyaXRpbmcgb24gdGhlIHJpbmcuCgpTaWduZWQt b2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAgICB8IDExICsrKysrKy0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2FydC5jIHwgIDQgKystLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgICB8ICA0ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jICAgICAgICAgfCAyMSArKysrKysrKysrKysrKystLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmJpb192Nl8xLmMgICB8IDExICsrKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9uYmlvX3Y3XzAuYyAgIHwgIDkgKysrKysrKy0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaS5jICAgICAgICAgIHwgMjEgKysrKysrKysrKysr KysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jICAgICAgIHwgMTMg KysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmkuYyAgICAgICAgICB8 IDIxICsrKysrKysrKysrKysrKy0tLS0tLQogMTAgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9u cygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAppbmRl eCAyMzA4MjY3MThjOTguLmNmNTUwODZjOTgyMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1LmgKQEAgLTEyMjEsOSArMTIyMSwxMCBAQCBzdHJ1Y3QgYW1kZ3B1X2FzaWNfZnVuY3Mgewog CS8qIGdldCBjb25maWcgbWVtc2l6ZSByZWdpc3RlciAqLwogCXUzMiAoKmdldF9jb25maWdfbWVt c2l6ZSkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogCS8qIGZsdXNoIGhkcCB3cml0ZSBx dWV1ZSAqLwotCXZvaWQgKCpmbHVzaF9oZHApKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsK Kwl2b2lkICgqZmx1c2hfaGRwKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFt ZGdwdV9yaW5nICpyaW5nKTsKIAkvKiBpbnZhbGlkYXRlIGhkcCByZWFkIGNhY2hlICovCi0Jdm9p ZCAoKmludmFsaWRhdGVfaGRwKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CisJdm9pZCAo KmludmFsaWRhdGVfaGRwKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCSAgICAgICBz dHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpOwogfTsKIAogLyoKQEAgLTEzNzAsNyArMTM3MSw3IEBA IHN0cnVjdCBhbWRncHVfbmJpb19mdW5jcyB7CiAJdTMyICgqZ2V0X3BjaWVfZGF0YV9vZmZzZXQp KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIAl1MzIgKCpnZXRfcmV2X2lkKShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7CiAJdm9pZCAoKm1jX2FjY2Vzc19lbmFibGUpKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LCBib29sIGVuYWJsZSk7Ci0Jdm9pZCAoKmhkcF9mbHVzaCkoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOworCXZvaWQgKCpoZHBfZmx1c2gpKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpOwogCXUzMiAoKmdldF9t ZW1zaXplKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldik7CiAJdm9pZCAoKnNkbWFfZG9vcmJl bGxfcmFuZ2UpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBpbnQgaW5zdGFuY2UsCiAJCQkJ ICAgIGJvb2wgdXNlX2Rvb3JiZWxsLCBpbnQgZG9vcmJlbGxfaW5kZXgpOwpAQCAtMTc3Niw4ICsx Nzc3LDggQEAgYW1kZ3B1X2dldF9zZG1hX2luc3RhbmNlKHN0cnVjdCBhbWRncHVfcmluZyAqcmlu ZykKICNkZWZpbmUgYW1kZ3B1X2FzaWNfcmVhZF9iaW9zX2Zyb21fcm9tKGFkZXYsIGIsIGwpIChh ZGV2KS0+YXNpY19mdW5jcy0+cmVhZF9iaW9zX2Zyb21fcm9tKChhZGV2KSwgKGIpLCAobCkpCiAj ZGVmaW5lIGFtZGdwdV9hc2ljX3JlYWRfcmVnaXN0ZXIoYWRldiwgc2UsIHNoLCBvZmZzZXQsIHYp KChhZGV2KS0+YXNpY19mdW5jcy0+cmVhZF9yZWdpc3RlcigoYWRldiksIChzZSksIChzaCksIChv ZmZzZXQpLCAodikpKQogI2RlZmluZSBhbWRncHVfYXNpY19nZXRfY29uZmlnX21lbXNpemUoYWRl dikgKGFkZXYpLT5hc2ljX2Z1bmNzLT5nZXRfY29uZmlnX21lbXNpemUoKGFkZXYpKQotI2RlZmlu ZSBhbWRncHVfYXNpY19mbHVzaF9oZHAoYWRldikgKGFkZXYpLT5hc2ljX2Z1bmNzLT5mbHVzaF9o ZHAoKGFkZXYpKQotI2RlZmluZSBhbWRncHVfYXNpY19pbnZhbGlkYXRlX2hkcChhZGV2KSAoYWRl diktPmFzaWNfZnVuY3MtPmludmFsaWRhdGVfaGRwKChhZGV2KSkKKyNkZWZpbmUgYW1kZ3B1X2Fz aWNfZmx1c2hfaGRwKGFkZXYsIHIpIChhZGV2KS0+YXNpY19mdW5jcy0+Zmx1c2hfaGRwKChhZGV2 KSwgKHIpKQorI2RlZmluZSBhbWRncHVfYXNpY19pbnZhbGlkYXRlX2hkcChhZGV2LCByKSAoYWRl diktPmFzaWNfZnVuY3MtPmludmFsaWRhdGVfaGRwKChhZGV2KSwgKHIpKQogI2RlZmluZSBhbWRn cHVfZ21jX2ZsdXNoX2dwdV90bGIoYWRldiwgdm1pZCkgKGFkZXYpLT5nbWMuZ21jX2Z1bmNzLT5m bHVzaF9ncHVfdGxiKChhZGV2KSwgKHZtaWQpKQogI2RlZmluZSBhbWRncHVfZ21jX2VtaXRfZmx1 c2hfZ3B1X3RsYihyLCB2bWlkLCBwYXNpZCwgYWRkcikgKHIpLT5hZGV2LT5nbWMuZ21jX2Z1bmNz LT5lbWl0X2ZsdXNoX2dwdV90bGIoKHIpLCAodm1pZCksIChwYXNpZCksIChhZGRyKSkKICNkZWZp bmUgYW1kZ3B1X2dtY19zZXRfcHRlX3BkZShhZGV2LCBwdCwgaWR4LCBhZGRyLCBmbGFncykgKGFk ZXYpLT5nbWMuZ21jX2Z1bmNzLT5zZXRfcHRlX3BkZSgoYWRldiksIChwdCksIChpZHgpLCAoYWRk ciksIChmbGFncykpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZ2FydC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYwppbmRl eCAxOGQyMzg3OGFkMTQuLjU2YjBiMzA1YTlmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ2FydC5jCkBAIC0yNDcsNyArMjQ3LDcgQEAgaW50IGFtZGdwdV9nYXJ0X3VuYmlu ZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDY0X3Qgb2Zmc2V0LAogCQl9CiAJfQog CW1iKCk7Ci0JYW1kZ3B1X2FzaWNfZmx1c2hfaGRwKGFkZXYpOworCWFtZGdwdV9hc2ljX2ZsdXNo X2hkcChhZGV2LCBOVUxMKTsKIAlhbWRncHVfZ21jX2ZsdXNoX2dwdV90bGIoYWRldiwgMCk7CiAJ cmV0dXJuIDA7CiB9CkBAIC0zMzAsNyArMzMwLDcgQEAgaW50IGFtZGdwdV9nYXJ0X2JpbmQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQ2NF90IG9mZnNldCwKIAkJcmV0dXJuIHI7CiAK IAltYigpOwotCWFtZGdwdV9hc2ljX2ZsdXNoX2hkcChhZGV2KTsKKwlhbWRncHVfYXNpY19mbHVz aF9oZHAoYWRldiwgTlVMTCk7CiAJYW1kZ3B1X2dtY19mbHVzaF9ncHVfdGxiKGFkZXYsIDApOwog CXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ZtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRleCAw ODcyNjIwYTgwOGYuLjZmNzE0MTE2ODgzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ZtLmMKQEAgLTg1NCw3ICs4NTQsNyBAQCBpbnQgYW1kZ3B1X3ZtX3VwZGF0ZV9kaXJlY3Rv cmllcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlpZiAodm0tPnVzZV9jcHVfZm9yX3Vw ZGF0ZSkgewogCQkvKiBGbHVzaCBIRFAgKi8KIAkJbWIoKTsKLQkJYW1kZ3B1X2FzaWNfZmx1c2hf aGRwKGFkZXYpOworCQlhbWRncHVfYXNpY19mbHVzaF9oZHAoYWRldiwgTlVMTCk7CiAJfSBlbHNl IGlmIChwYXJhbXMuaWItPmxlbmd0aF9kdyA9PSAwKSB7CiAJCWFtZGdwdV9qb2JfZnJlZShqb2Ip OwogCX0gZWxzZSB7CkBAIC0xNDM2LDcgKzE0MzYsNyBAQCBpbnQgYW1kZ3B1X3ZtX2JvX3VwZGF0 ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlpZiAodm0tPnVzZV9jcHVfZm9yX3VwZGF0 ZSkgewogCQkvKiBGbHVzaCBIRFAgKi8KIAkJbWIoKTsKLQkJYW1kZ3B1X2FzaWNfZmx1c2hfaGRw KGFkZXYpOworCQlhbWRncHVfYXNpY19mbHVzaF9oZHAoYWRldiwgTlVMTCk7CiAJfQogCiAJc3Bp bl9sb2NrKCZ2bS0+c3RhdHVzX2xvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvY2lrLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWsuYwppbmRleCAy MDRjZTgwNzM3MmMuLjQzMjQxODQ5OTZhNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvY2lrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrLmMKQEAg LTE3MTUsMTYgKzE3MTUsMjUgQEAgc3RhdGljIHZvaWQgY2lrX2RldGVjdF9od192aXJ0dWFsaXph dGlvbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJYWRldi0+dmlydC5jYXBzIHw9IEFN REdQVV9QQVNTVEhST1VHSF9NT0RFOwogfQogCi1zdGF0aWMgdm9pZCBjaWtfZmx1c2hfaGRwKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorc3RhdGljIHZvaWQgY2lrX2ZsdXNoX2hkcChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogewotCVdS RUczMihtbUhEUF9NRU1fQ09IRVJFTkNZX0ZMVVNIX0NOVEwsIDEpOwotCVJSRUczMihtbUhEUF9N RU1fQ09IRVJFTkNZX0ZMVVNIX0NOVEwpOworCWlmICghcmluZyB8fCAhcmluZy0+ZnVuY3MtPmVt aXRfd3JlZykgeworCQlXUkVHMzIobW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRMLCAxKTsK KwkJUlJFRzMyKG1tSERQX01FTV9DT0hFUkVOQ1lfRkxVU0hfQ05UTCk7CisJfSBlbHNlIHsKKwkJ YW1kZ3B1X3JpbmdfZW1pdF93cmVnKHJpbmcsIG1tSERQX01FTV9DT0hFUkVOQ1lfRkxVU0hfQ05U TCwgMSk7CisJfQogfQogCi1zdGF0aWMgdm9pZCBjaWtfaW52YWxpZGF0ZV9oZHAoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpCitzdGF0aWMgdm9pZCBjaWtfaW52YWxpZGF0ZV9oZHAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkgICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n KQogewotCVdSRUczMihtbUhEUF9ERUJVRzAsIDEpOwotCVJSRUczMihtbUhEUF9ERUJVRzApOwor CWlmICghcmluZyB8fCAhcmluZy0+ZnVuY3MtPmVtaXRfd3JlZykgeworCQlXUkVHMzIobW1IRFBf REVCVUcwLCAxKTsKKwkJUlJFRzMyKG1tSERQX0RFQlVHMCk7CisJfSBlbHNlIHsKKwkJYW1kZ3B1 X3JpbmdfZW1pdF93cmVnKHJpbmcsIG1tSERQX0RFQlVHMCwgMSk7CisJfQogfQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGFtZGdwdV9hc2ljX2Z1bmNzIGNpa19hc2ljX2Z1bmNzID0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCmluZGV4IDI2M2RhNGYzZTcwYi4uMmIyNTFkZjk0Njg0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMKQEAgLTEwMDcsNyArMTAwNyw3 IEBAIHN0YXRpYyBpbnQgZ21jX3Y5XzBfZ2FydF9lbmFibGUoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCiAJV1JFRzMyX1NPQzE1KEhEUCwgMCwgbW1IRFBfSE9TVF9QQVRIX0NOVEwsIHRtcCk7 CiAKIAkvKiBBZnRlciBIRFAgaXMgaW5pdGlhbGl6ZWQsIGZsdXNoIEhEUC4qLwotCWFkZXYtPm5i aW9fZnVuY3MtPmhkcF9mbHVzaChhZGV2KTsKKwlhZGV2LT5uYmlvX2Z1bmNzLT5oZHBfZmx1c2go YWRldiwgTlVMTCk7CiAKIAlpZiAoYW1kZ3B1X3ZtX2ZhdWx0X3N0b3AgPT0gQU1ER1BVX1ZNX0ZB VUxUX1NUT1BfQUxXQVlTKQogCQl2YWx1ZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvbmJpb192Nl8xLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9uYmlvX3Y2XzEuYwppbmRleCBkNGRhNjYzZDVlYjAuLjJkYWVlZjZlOTM0NSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmJpb192Nl8xLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvbmJpb192Nl8xLmMKQEAgLTUzLDkgKzUzLDE2IEBAIHN0YXRpYyB2 b2lkIG5iaW9fdjZfMV9tY19hY2Nlc3NfZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBib29sIGVuYWJsZSkKIAkJV1JFRzMyX1NPQzE1KE5CSU8sIDAsIG1tQklGX0ZCX0VOLCAwKTsK IH0KIAotc3RhdGljIHZvaWQgbmJpb192Nl8xX2hkcF9mbHVzaChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKK3N0YXRpYyB2b2lkIG5iaW9fdjZfMV9oZHBfZmx1c2goc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCisJCQkJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogewotCVdSRUczMl9T T0MxNV9OT19LSVEoTkJJTywgMCwgbW1CSUZfQlhfUEYwX0hEUF9NRU1fQ09IRVJFTkNZX0ZMVVNI X0NOVEwsIDApOworCWlmICghcmluZyB8fCAhcmluZy0+ZnVuY3MtPmVtaXRfd3JlZykKKwkJV1JF RzMyX1NPQzE1X05PX0tJUShOQklPLCAwLAorCQkJCSAgICBtbUJJRl9CWF9QRjBfSERQX01FTV9D T0hFUkVOQ1lfRkxVU0hfQ05UTCwKKwkJCQkgICAgMCk7CisJZWxzZQorCQlhbWRncHVfcmluZ19l bWl0X3dyZWcocmluZywgU09DMTVfUkVHX09GRlNFVCgKKwkJCU5CSU8sIDAsIG1tQklGX0JYX1BG MF9IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRMKSwgMCk7CiB9CiAKIHN0YXRpYyB1MzIgbmJp b192Nl8xX2dldF9tZW1zaXplKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmJpb192N18wLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9uYmlvX3Y3XzAuYwppbmRleCAxN2E5MTMxYTQ1OTguLmNkMTBjNzZhNzZl MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmJpb192N18wLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbmJpb192N18wLmMKQEAgLTUzLDkgKzUzLDE0 IEBAIHN0YXRpYyB2b2lkIG5iaW9fdjdfMF9tY19hY2Nlc3NfZW5hYmxlKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LCBib29sIGVuYWJsZSkKIAkJV1JFRzMyX1NPQzE1KE5CSU8sIDAsIG1tQklG X0ZCX0VOLCAwKTsKIH0KIAotc3RhdGljIHZvaWQgbmJpb192N18wX2hkcF9mbHVzaChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKK3N0YXRpYyB2b2lkIG5iaW9fdjdfMF9oZHBfZmx1c2goc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQog ewotCVdSRUczMl9TT0MxNV9OT19LSVEoTkJJTywgMCwgbW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVT SF9DTlRMLCAwKTsKKwlpZiAoIXJpbmcgfHwgIXJpbmctPmZ1bmNzLT5lbWl0X3dyZWcpCisJCVdS RUczMl9TT0MxNV9OT19LSVEoTkJJTywgMCwgbW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRM LCAwKTsKKwllbHNlCisJCWFtZGdwdV9yaW5nX2VtaXRfd3JlZyhyaW5nLCBTT0MxNV9SRUdfT0ZG U0VUKAorCQkJTkJJTywgMCwgbW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRMKSwgMCk7CiB9 CiAKIHN0YXRpYyB1MzIgbmJpb192N18wX2dldF9tZW1zaXplKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMKaW5kZXggZjYxYTQzMWI5NTUzLi5mMjBjNGI3 NDE0ZTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2kuYwpAQCAtMTIzMCwxNiArMTIzMCwyNSBAQCBz dGF0aWMgdm9pZCBzaV9kZXRlY3RfaHdfdmlydHVhbGl6YXRpb24oc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpCiAJCWFkZXYtPnZpcnQuY2FwcyB8PSBBTURHUFVfUEFTU1RIUk9VR0hfTU9ERTsK IH0KIAotc3RhdGljIHZvaWQgc2lfZmx1c2hfaGRwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQorc3RhdGljIHZvaWQgc2lfZmx1c2hfaGRwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBz dHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7Ci0JV1JFRzMyKG1tSERQX01FTV9DT0hFUkVOQ1lf RkxVU0hfQ05UTCwgMSk7Ci0JUlJFRzMyKG1tSERQX01FTV9DT0hFUkVOQ1lfRkxVU0hfQ05UTCk7 CisJaWYgKCFyaW5nIHx8ICFyaW5nLT5mdW5jcy0+ZW1pdF93cmVnKSB7CisJCVdSRUczMihtbUhE UF9NRU1fQ09IRVJFTkNZX0ZMVVNIX0NOVEwsIDEpOworCQlSUkVHMzIobW1IRFBfTUVNX0NPSEVS RU5DWV9GTFVTSF9DTlRMKTsKKwl9IGVsc2UgeworCQlhbWRncHVfcmluZ19lbWl0X3dyZWcocmlu ZywgbW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRMLCAxKTsKKwl9CiB9CiAKLXN0YXRpYyB2 b2lkIHNpX2ludmFsaWRhdGVfaGRwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorc3RhdGlj IHZvaWQgc2lfaW52YWxpZGF0ZV9oZHAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkg ICAgICBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7Ci0JV1JFRzMyKG1tSERQX0RFQlVHMCwg MSk7Ci0JUlJFRzMyKG1tSERQX0RFQlVHMCk7CisJaWYgKCFyaW5nIHx8ICFyaW5nLT5mdW5jcy0+ ZW1pdF93cmVnKSB7CisJCVdSRUczMihtbUhEUF9ERUJVRzAsIDEpOworCQlSUkVHMzIobW1IRFBf REVCVUcwKTsKKwl9IGVsc2UgeworCQlhbWRncHVfcmluZ19lbWl0X3dyZWcocmluZywgbW1IRFBf REVCVUcwLCAxKTsKKwl9CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2FzaWNfZnVu Y3Mgc2lfYXNpY19mdW5jcyA9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9zb2MxNS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYwppbmRleCBhZDM5 ZmZkMDEyYmMuLjA0YTQ3MWI4MDA2NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc29jMTUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jCkBA IC01ODMsMTQgKzU4MywxOSBAQCBzdGF0aWMgdWludDMyX3Qgc29jMTVfZ2V0X3Jldl9pZChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlyZXR1cm4gYWRldi0+bmJpb19mdW5jcy0+Z2V0X3Jl dl9pZChhZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgc29jMTVfZmx1c2hfaGRwKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2KQorc3RhdGljIHZvaWQgc29jMTVfZmx1c2hfaGRwKHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiB7Ci0JYWRldi0+bmJp b19mdW5jcy0+aGRwX2ZsdXNoKGFkZXYpOworCWFkZXYtPm5iaW9fZnVuY3MtPmhkcF9mbHVzaChh ZGV2LCByaW5nKTsKIH0KIAotc3RhdGljIHZvaWQgc29jMTVfaW52YWxpZGF0ZV9oZHAoc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCitzdGF0aWMgdm9pZCBzb2MxNV9pbnZhbGlkYXRlX2hkcChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5n KQogewotCVdSRUczMl9TT0MxNV9OT19LSVEoTkJJTywgMCwgbW1IRFBfUkVBRF9DQUNIRV9JTlZB TElEQVRFLCAxKTsKKwlpZiAoIXJpbmcgfHwgIXJpbmctPmZ1bmNzLT5lbWl0X3dyZWcpCisJCVdS RUczMl9TT0MxNV9OT19LSVEoTkJJTywgMCwgbW1IRFBfUkVBRF9DQUNIRV9JTlZBTElEQVRFLCAx KTsKKwllbHNlCisJCWFtZGdwdV9yaW5nX2VtaXRfd3JlZyhyaW5nLCBTT0MxNV9SRUdfT0ZGU0VU KAorCQkJSERQLCAwLCBtbUhEUF9SRUFEX0NBQ0hFX0lOVkFMSURBVEUpLCAxKTsKIH0KIAogc3Rh dGljIGNvbnN0IHN0cnVjdCBhbWRncHVfYXNpY19mdW5jcyBzb2MxNV9hc2ljX2Z1bmNzID0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS92aS5jCmluZGV4IDlkZDUzNTBkOTUwNC4uM2I2NmUxYWJiMzdmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3ZpLmMKQEAgLTg1NiwxNiArODU2LDI1IEBAIHN0YXRpYyB1aW50MzJf dCB2aV9nZXRfcmV2X2lkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJPj4gUENJRV9F RlVTRTRfX1NUUkFQX0JJRl9BVElfUkVWX0lEX19TSElGVDsKIH0KIAotc3RhdGljIHZvaWQgdmlf Zmx1c2hfaGRwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorc3RhdGljIHZvaWQgdmlfZmx1 c2hfaGRwKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJp bmcpCiB7Ci0JV1JFRzMyKG1tSERQX01FTV9DT0hFUkVOQ1lfRkxVU0hfQ05UTCwgMSk7Ci0JUlJF RzMyKG1tSERQX01FTV9DT0hFUkVOQ1lfRkxVU0hfQ05UTCk7CisJaWYgKCFyaW5nIHx8ICFyaW5n LT5mdW5jcy0+ZW1pdF93cmVnKSB7CisJCVdSRUczMihtbUhEUF9NRU1fQ09IRVJFTkNZX0ZMVVNI X0NOVEwsIDEpOworCQlSUkVHMzIobW1IRFBfTUVNX0NPSEVSRU5DWV9GTFVTSF9DTlRMKTsKKwl9 IGVsc2UgeworCQlhbWRncHVfcmluZ19lbWl0X3dyZWcocmluZywgbW1IRFBfTUVNX0NPSEVSRU5D WV9GTFVTSF9DTlRMLCAxKTsKKwl9CiB9CiAKLXN0YXRpYyB2b2lkIHZpX2ludmFsaWRhdGVfaGRw KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQorc3RhdGljIHZvaWQgdmlfaW52YWxpZGF0ZV9o ZHAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkgICAgICBzdHJ1Y3QgYW1kZ3B1X3Jp bmcgKnJpbmcpCiB7Ci0JV1JFRzMyKG1tSERQX0RFQlVHMCwgMSk7Ci0JUlJFRzMyKG1tSERQX0RF QlVHMCk7CisJaWYgKCFyaW5nIHx8ICFyaW5nLT5mdW5jcy0+ZW1pdF93cmVnKSB7CisJCVdSRUcz MihtbUhEUF9ERUJVRzAsIDEpOworCQlSUkVHMzIobW1IRFBfREVCVUcwKTsKKwl9IGVsc2Ugewor CQlhbWRncHVfcmluZ19lbWl0X3dyZWcocmluZywgbW1IRFBfREVCVUcwLCAxKTsKKwl9CiB9CiAK IHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2FzaWNfZnVuY3MgdmlfYXNpY19mdW5jcyA9Ci0t IAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=