From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Bragg Subject: [PATCH 9/9] drm/i915: Add more Haswell OA metric sets Date: Wed, 20 Apr 2016 15:23:14 +0100 Message-ID: <1461162194-1424-10-git-send-email-robert@sixbynine.org> References: <1461162194-1424-1-git-send-email-robert@sixbynine.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461162194-1424-1-git-send-email-robert@sixbynine.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: David Airlie , dri-devel@lists.freedesktop.org, Sourab Gupta , Deepak S , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhZGRzICdjb21wdXRlJywgJ2NvbXB1dGUgZXh0ZW5kZWQnLCAnbWVtb3J5IHJlYWRzJywg J21lbW9yeSB3cml0ZXMnCmFuZCAnc2FtcGxlciBiYWxhbmNlJyBtZXRyaWMgc2V0cyBmb3IgSGFz d2VsbC4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBCcmFnZyA8cm9iZXJ0QHNpeGJ5bmluZS5vcmc+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuYyB8IDQ4MyArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNDgyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X29hX2hzdy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9vYV9oc3cuYwppbmRleCAz YWEyMmViLi40YTJkZThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29h X2hzdy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfaHN3LmMKQEAgLTMwLDkg KzMwLDE0IEBACiAKIGVudW0gbWV0cmljX3NldF9pZCB7CiAJTUVUUklDX1NFVF9JRF9SRU5ERVJf QkFTSUMgPSAxLAorCU1FVFJJQ19TRVRfSURfQ09NUFVURV9CQVNJQywKKwlNRVRSSUNfU0VUX0lE X0NPTVBVVEVfRVhURU5ERUQsCisJTUVUUklDX1NFVF9JRF9NRU1PUllfUkVBRFMsCisJTUVUUklD X1NFVF9JRF9NRU1PUllfV1JJVEVTLAorCU1FVFJJQ19TRVRfSURfU0FNUExFUl9CQUxBTkNFLAog fTsKIAotaW50IGk5MTVfb2Ffbl9idWlsdGluX21ldHJpY19zZXRzX2hzdyA9IDE7CitpbnQgaTkx NV9vYV9uX2J1aWx0aW5fbWV0cmljX3NldHNfaHN3ID0gNjsKIAogc3RhdGljIGNvbnN0IHN0cnVj dCBpOTE1X29hX3JlZyBiX2NvdW50ZXJfY29uZmlnX3JlbmRlcl9iYXNpY1tdID0gewogCXsgX01N SU8oMHgyNzI0KSwgMHgwMDgwMDAwMCB9LApAQCAtMTE4LDYgKzEyMywzMzIgQEAgc3RhdGljIGlu dCBzZWxlY3RfcmVuZGVyX2Jhc2ljX2NvbmZpZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9vYV9yZWcg Yl9jb3VudGVyX2NvbmZpZ19jb21wdXRlX2Jhc2ljW10gPSB7CisJeyBfTU1JTygweDI3MTApLCAw eDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3MTQpLCAweDAwODAwMDAwIH0sCisJeyBfTU1JTygw eDI3MTgpLCAweEFBQUFBQUFBIH0sCisJeyBfTU1JTygweDI3MUMpLCAweEFBQUFBQUFBIH0sCisJ eyBfTU1JTygweDI3MjApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3MjQpLCAweDAwODAw MDAwIH0sCisJeyBfTU1JTygweDI3MjgpLCAweEFBQUFBQUFBIH0sCisJeyBfTU1JTygweDI3MkMp LCAweEFBQUFBQUFBIH0sCisJeyBfTU1JTygweDI3NDApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1J TygweDI3NDQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3NDgpLCAweDAwMDAwMDAwIH0s CisJeyBfTU1JTygweDI3NEMpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3NTApLCAweDAw MDAwMDAwIH0sCisJeyBfTU1JTygweDI3NTQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3 NTgpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3NUMpLCAweDAwMDAwMDAwIH0sCit9Owor CitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnIG11eF9jb25maWdfY29tcHV0ZV9iYXNp Y1tdID0geworCXsgX01NSU8oMHgyNTNBNCksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjY4 MUMpLCAweDAxRjAwODAwIH0sCisJeyBfTU1JTygweDI2ODIwKSwgMHgwMDAwMTAwMCB9LAorCXsg X01NSU8oMHgyNzgxQyksIDB4MDFGMDA4MDAgfSwKKwl7IF9NTUlPKDB4MjY1MjApLCAweDAwMDAw MDA3IH0sCisJeyBfTU1JTygweDI2NUEwKSwgMHgwMDAwMDAwNyB9LAorCXsgX01NSU8oMHgyNTM4 MCksIDB4MDAwMDAwMTAgfSwKKwl7IF9NTUlPKDB4MjUzOEMpLCAweDAwMzAwMDAwIH0sCisJeyBf TU1JTygweDI1Mzg0KSwgMHhBQThBQUFBQSB9LAorCXsgX01NSU8oMHgyNTQwNCksIDB4RkZGRkZG RkYgfSwKKwl7IF9NTUlPKDB4MjY4MDApLCAweDAwMDA0MjAyIH0sCisJeyBfTU1JTygweDI2ODA4 KSwgMHgwMDYwNTgxNyB9LAorCXsgX01NSU8oMHgyNjgwQyksIDB4MTAwMDEwMDUgfSwKKwl7IF9N TUlPKDB4MjY4MDQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3ODAwKSwgMHgwMDAwMDEw MiB9LAorCXsgX01NSU8oMHgyNzgwOCksIDB4MEMwNzAxRTAgfSwKKwl7IF9NTUlPKDB4Mjc4MEMp LCAweDAwMDIwMEEwIH0sCisJeyBfTU1JTygweDI3ODA0KSwgMHgwMDAwMDAwMCB9LAorCXsgX01N SU8oMHgyNjQ4NCksIDB4NDQwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjY3MDQpLCAweDQ0MDAwMDAw IH0sCisJeyBfTU1JTygweDI2NTAwKSwgMHgwMDAwMDAwNiB9LAorCXsgX01NSU8oMHgyNjUxMCks IDB4MDAwMDAwMDEgfSwKKwl7IF9NTUlPKDB4MjY1MDQpLCAweDg4MDAwMDAwIH0sCisJeyBfTU1J TygweDI2NTgwKSwgMHgwMDAwMDAwNiB9LAorCXsgX01NSU8oMHgyNjU5MCksIDB4MDAwMDAwMjAg fSwKKwl7IF9NTUlPKDB4MjY1ODQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI2MTA0KSwg MHg1NTgyMjIyMiB9LAorCXsgX01NSU8oMHgyNjE4NCksIDB4QUE4NjY2NjYgfSwKKwl7IF9NTUlP KDB4MjU0MjApLCAweDA4MzIwQzgzIH0sCisJeyBfTU1JTygweDI1NDI0KSwgMHgwNjgyMEM4MyB9 LAorCXsgX01NSU8oMHgyNTQxQyksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MjgpLCAw eDAwMDAwQzAzIH0sCit9OworCitzdGF0aWMgaW50IHNlbGVjdF9jb21wdXRlX2Jhc2ljX2NvbmZp ZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJZGV2X3ByaXYtPnBlcmYu b2EubXV4X3JlZ3MgPQorCQltdXhfY29uZmlnX2NvbXB1dGVfYmFzaWM7CisJZGV2X3ByaXYtPnBl cmYub2EubXV4X3JlZ3NfbGVuID0KKwkJQVJSQVlfU0laRShtdXhfY29uZmlnX2NvbXB1dGVfYmFz aWMpOworCisJZGV2X3ByaXYtPnBlcmYub2EuYl9jb3VudGVyX3JlZ3MgPQorCQliX2NvdW50ZXJf Y29uZmlnX2NvbXB1dGVfYmFzaWM7CisJZGV2X3ByaXYtPnBlcmYub2EuYl9jb3VudGVyX3JlZ3Nf bGVuID0KKwkJQVJSQVlfU0laRShiX2NvdW50ZXJfY29uZmlnX2NvbXB1dGVfYmFzaWMpOworCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9vYV9yZWcgYl9jb3VudGVy X2NvbmZpZ19jb21wdXRlX2V4dGVuZGVkW10gPSB7CisJeyBfTU1JTygweDI3MjQpLCAweGYwODAw MDAwIH0sCisJeyBfTU1JTygweDI3MjApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3MTQp LCAweGYwODAwMDAwIH0sCisJeyBfTU1JTygweDI3MTApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1J TygweDI3NzApLCAweDAwMDdmZTJhIH0sCisJeyBfTU1JTygweDI3NzQpLCAweDAwMDBmZjAwIH0s CisJeyBfTU1JTygweDI3NzgpLCAweDAwMDdmZTZhIH0sCisJeyBfTU1JTygweDI3N2MpLCAweDAw MDBmZjAwIH0sCisJeyBfTU1JTygweDI3ODApLCAweDAwMDdmZTkyIH0sCisJeyBfTU1JTygweDI3 ODQpLCAweDAwMDBmZjAwIH0sCisJeyBfTU1JTygweDI3ODgpLCAweDAwMDdmZWEyIH0sCisJeyBf TU1JTygweDI3OGMpLCAweDAwMDBmZjAwIH0sCisJeyBfTU1JTygweDI3OTApLCAweDAwMDdmZTMy IH0sCisJeyBfTU1JTygweDI3OTQpLCAweDAwMDBmZjAwIH0sCisJeyBfTU1JTygweDI3OTgpLCAw eDAwMDdmZTlhIH0sCisJeyBfTU1JTygweDI3OWMpLCAweDAwMDBmZjAwIH0sCisJeyBfTU1JTygw eDI3YTApLCAweDAwMDdmZjIzIH0sCisJeyBfTU1JTygweDI3YTQpLCAweDAwMDBmZjAwIH0sCisJ eyBfTU1JTygweDI3YTgpLCAweDAwMDdmZmYzIH0sCisJeyBfTU1JTygweDI3YWMpLCAweDAwMDBm ZmZlIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnIG11eF9jb25maWdf Y29tcHV0ZV9leHRlbmRlZFtdID0geworCXsgX01NSU8oMHgyNjgxQyksIDB4M0VCMDA4MDAgfSwK Kwl7IF9NTUlPKDB4MjY4MjApLCAweDAwOTAwMDAwIH0sCisJeyBfTU1JTygweDI1Mzg0KSwgMHgw MkFBQUFBQSB9LAorCXsgX01NSU8oMHgyNTQwNCksIDB4MDNGRkZGRkYgfSwKKwl7IF9NTUlPKDB4 MjY4MDApLCAweDAwMTQyMjg0IH0sCisJeyBfTU1JTygweDI2ODA4KSwgMHgwRTYyOTA2MiB9LAor CXsgX01NSU8oMHgyNjgwQyksIDB4M0Y2RjU1Q0IgfSwKKwl7IF9NTUlPKDB4MjY4MTApLCAweDAw MDAwMDE0IH0sCisJeyBfTU1JTygweDI2ODA0KSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgy NjEwNCksIDB4MDJBQUFBQUEgfSwKKwl7IF9NTUlPKDB4MjYxODQpLCAweDAyQUFBQUFBIH0sCisJ eyBfTU1JTygweDI1NDIwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQyNCksIDB4MDAw MDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MUMpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI1 NDI4KSwgMHgwMDAwMDAwMCB9LAorfTsKKworc3RhdGljIGludCBzZWxlY3RfY29tcHV0ZV9leHRl bmRlZF9jb25maWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWRldl9w cml2LT5wZXJmLm9hLm11eF9yZWdzID0KKwkJbXV4X2NvbmZpZ19jb21wdXRlX2V4dGVuZGVkOwor CWRldl9wcml2LT5wZXJmLm9hLm11eF9yZWdzX2xlbiA9CisJCUFSUkFZX1NJWkUobXV4X2NvbmZp Z19jb21wdXRlX2V4dGVuZGVkKTsKKworCWRldl9wcml2LT5wZXJmLm9hLmJfY291bnRlcl9yZWdz ID0KKwkJYl9jb3VudGVyX2NvbmZpZ19jb21wdXRlX2V4dGVuZGVkOworCWRldl9wcml2LT5wZXJm Lm9hLmJfY291bnRlcl9yZWdzX2xlbiA9CisJCUFSUkFZX1NJWkUoYl9jb3VudGVyX2NvbmZpZ19j b21wdXRlX2V4dGVuZGVkKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IGk5MTVfb2FfcmVnIGJfY291bnRlcl9jb25maWdfbWVtb3J5X3JlYWRzW10gPSB7CisJeyBfTU1J TygweDI3MjQpLCAweGYwODAwMDAwIH0sCisJeyBfTU1JTygweDI3MjApLCAweDAwMDAwMDAwIH0s CisJeyBfTU1JTygweDI3MTQpLCAweGYwODAwMDAwIH0sCisJeyBfTU1JTygweDI3MTApLCAweDAw MDAwMDAwIH0sCisJeyBfTU1JTygweDI3NGMpLCAweDc2NTQzMjk4IH0sCisJeyBfTU1JTygweDI3 NDgpLCAweDk4OTg5ODk4IH0sCisJeyBfTU1JTygweDI3NDQpLCAweDAwMDAwMGU0IH0sCisJeyBf TU1JTygweDI3NDApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3NWMpLCAweDk4YTk4YTk4 IH0sCisJeyBfTU1JTygweDI3NTgpLCAweDg4ODg4ODg4IH0sCisJeyBfTU1JTygweDI3NTQpLCAw eDAwMGM1NTAwIH0sCisJeyBfTU1JTygweDI3NTApLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygw eDI3NzApLCAweDAwMDdmODFhIH0sCisJeyBfTU1JTygweDI3NzQpLCAweDAwMDBmYzAwIH0sCisJ eyBfTU1JTygweDI3NzgpLCAweDAwMDdmODJhIH0sCisJeyBfTU1JTygweDI3N2MpLCAweDAwMDBm YzAwIH0sCisJeyBfTU1JTygweDI3ODApLCAweDAwMDdmODcyIH0sCisJeyBfTU1JTygweDI3ODQp LCAweDAwMDBmYzAwIH0sCisJeyBfTU1JTygweDI3ODgpLCAweDAwMDdmOGJhIH0sCisJeyBfTU1J TygweDI3OGMpLCAweDAwMDBmYzAwIH0sCisJeyBfTU1JTygweDI3OTApLCAweDAwMDdmODdhIH0s CisJeyBfTU1JTygweDI3OTQpLCAweDAwMDBmYzAwIH0sCisJeyBfTU1JTygweDI3OTgpLCAweDAw MDdmOGVhIH0sCisJeyBfTU1JTygweDI3OWMpLCAweDAwMDBmYzAwIH0sCisJeyBfTU1JTygweDI3 YTApLCAweDAwMDdmOGUyIH0sCisJeyBfTU1JTygweDI3YTQpLCAweDAwMDBmYzAwIH0sCisJeyBf TU1JTygweDI3YTgpLCAweDAwMDdmOGYyIH0sCisJeyBfTU1JTygweDI3YWMpLCAweDAwMDBmYzAw IH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnIG11eF9jb25maWdfbWVt b3J5X3JlYWRzW10gPSB7CisJeyBfTU1JTygweDI1M0E0KSwgMHgzNDMwMDAwMCB9LAorCXsgX01N SU8oMHgyNTQ0MCksIDB4MkQ4MDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0NDQpLCAweDAwMDAwMDA4 IH0sCisJeyBfTU1JTygweDI1MTI4KSwgMHgwRTYwMDAwMCB9LAorCXsgX01NSU8oMHgyNTM4MCks IDB4MDAwMDA0NTAgfSwKKwl7IF9NTUlPKDB4MjUzOTApLCAweDAwMDUyQzQzIH0sCisJeyBfTU1J TygweDI1Mzg0KSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQwMCksIDB4MDAwMDYxNDQg fSwKKwl7IF9NTUlPKDB4MjU0MDgpLCAweDBBNDE4ODIwIH0sCisJeyBfTU1JTygweDI1NDBDKSwg MHgwMDA4MjBFNiB9LAorCXsgX01NSU8oMHgyNTQwNCksIDB4RkY1MDAwMDAgfSwKKwl7IF9NTUlP KDB4MjUxMDApLCAweDAwMDAwNUQ2IH0sCisJeyBfTU1JTygweDI1MTBDKSwgMHgwRUYwMDAwMCB9 LAorCXsgX01NSU8oMHgyNTEwNCksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MjApLCAw eDAyMTA4NDIxIH0sCisJeyBfTU1JTygweDI1NDI0KSwgMHgwMDAwODQyMSB9LAorCXsgX01NSU8o MHgyNTQxQyksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MjgpLCAweDAwMDAwMDAwIH0s Cit9OworCitzdGF0aWMgaW50IHNlbGVjdF9tZW1vcnlfcmVhZHNfY29uZmlnKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlkZXZfcHJpdi0+cGVyZi5vYS5tdXhfcmVncyA9 CisJCW11eF9jb25maWdfbWVtb3J5X3JlYWRzOworCWRldl9wcml2LT5wZXJmLm9hLm11eF9yZWdz X2xlbiA9CisJCUFSUkFZX1NJWkUobXV4X2NvbmZpZ19tZW1vcnlfcmVhZHMpOworCisJZGV2X3By aXYtPnBlcmYub2EuYl9jb3VudGVyX3JlZ3MgPQorCQliX2NvdW50ZXJfY29uZmlnX21lbW9yeV9y ZWFkczsKKwlkZXZfcHJpdi0+cGVyZi5vYS5iX2NvdW50ZXJfcmVnc19sZW4gPQorCQlBUlJBWV9T SVpFKGJfY291bnRlcl9jb25maWdfbWVtb3J5X3JlYWRzKTsKKworCXJldHVybiAwOworfQorCitz dGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfb2FfcmVnIGJfY291bnRlcl9jb25maWdfbWVtb3J5X3dy aXRlc1tdID0geworCXsgX01NSU8oMHgyNzI0KSwgMHhmMDgwMDAwMCB9LAorCXsgX01NSU8oMHgy NzIwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzE0KSwgMHhmMDgwMDAwMCB9LAorCXsg X01NSU8oMHgyNzEwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzRjKSwgMHg3NjU0MzI5 OCB9LAorCXsgX01NSU8oMHgyNzQ4KSwgMHg5ODk4OTg5OCB9LAorCXsgX01NSU8oMHgyNzQ0KSwg MHgwMDAwMDBlNCB9LAorCXsgX01NSU8oMHgyNzQwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8o MHgyNzVjKSwgMHhiYWJhYmFiYSB9LAorCXsgX01NSU8oMHgyNzU4KSwgMHg4ODg4ODg4OCB9LAor CXsgX01NSU8oMHgyNzU0KSwgMHgwMDBjNTUwMCB9LAorCXsgX01NSU8oMHgyNzUwKSwgMHgwMDAw MDAwMCB9LAorCXsgX01NSU8oMHgyNzcwKSwgMHgwMDA3ZjgxYSB9LAorCXsgX01NSU8oMHgyNzc0 KSwgMHgwMDAwZmMwMCB9LAorCXsgX01NSU8oMHgyNzc4KSwgMHgwMDA3ZjgyYSB9LAorCXsgX01N SU8oMHgyNzdjKSwgMHgwMDAwZmMwMCB9LAorCXsgX01NSU8oMHgyNzgwKSwgMHgwMDA3ZjgyMiB9 LAorCXsgX01NSU8oMHgyNzg0KSwgMHgwMDAwZmMwMCB9LAorCXsgX01NSU8oMHgyNzg4KSwgMHgw MDA3ZjhiYSB9LAorCXsgX01NSU8oMHgyNzhjKSwgMHgwMDAwZmMwMCB9LAorCXsgX01NSU8oMHgy NzkwKSwgMHgwMDA3Zjg3YSB9LAorCXsgX01NSU8oMHgyNzk0KSwgMHgwMDAwZmMwMCB9LAorCXsg X01NSU8oMHgyNzk4KSwgMHgwMDA3ZjhlYSB9LAorCXsgX01NSU8oMHgyNzljKSwgMHgwMDAwZmMw MCB9LAorCXsgX01NSU8oMHgyN2EwKSwgMHgwMDA3ZjhlMiB9LAorCXsgX01NSU8oMHgyN2E0KSwg MHgwMDAwZmMwMCB9LAorCXsgX01NSU8oMHgyN2E4KSwgMHgwMDA3ZjhmMiB9LAorCXsgX01NSU8o MHgyN2FjKSwgMHgwMDAwZmMwMCB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X29h X3JlZyBtdXhfY29uZmlnX21lbW9yeV93cml0ZXNbXSA9IHsKKwl7IF9NTUlPKDB4MjUzQTQpLCAw eDM0MzAwMDAwIH0sCisJeyBfTU1JTygweDI1NDQwKSwgMHgwMTUwMDAwMCB9LAorCXsgX01NSU8o MHgyNTQ0NCksIDB4MDAwMDAxMjAgfSwKKwl7IF9NTUlPKDB4MjUxMjgpLCAweDBDMjAwMDAwIH0s CisJeyBfTU1JTygweDI1MzgwKSwgMHgwMDAwMDQ1MCB9LAorCXsgX01NSU8oMHgyNTM5MCksIDB4 MDAwNTJDNDMgfSwKKwl7IF9NTUlPKDB4MjUzODQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygw eDI1NDAwKSwgMHgwMDAwNzE4NCB9LAorCXsgX01NSU8oMHgyNTQwOCksIDB4MEE0MTg4MjAgfSwK Kwl7IF9NTUlPKDB4MjU0MEMpLCAweDAwMDgyMEU2IH0sCisJeyBfTU1JTygweDI1NDA0KSwgMHhG RjUwMDAwMCB9LAorCXsgX01NSU8oMHgyNTEwMCksIDB4MDAwMDA1RDYgfSwKKwl7IF9NTUlPKDB4 MjUxMEMpLCAweDFFNzAwMDAwIH0sCisJeyBfTU1JTygweDI1MTA0KSwgMHgwMDAwMDAwMCB9LAor CXsgX01NSU8oMHgyNTQyMCksIDB4MDIxMDg0MjEgfSwKKwl7IF9NTUlPKDB4MjU0MjQpLCAweDAw MDA4NDIxIH0sCisJeyBfTU1JTygweDI1NDFDKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgy NTQyOCksIDB4MDAwMDAwMDAgfSwKK307CisKK3N0YXRpYyBpbnQgc2VsZWN0X21lbW9yeV93cml0 ZXNfY29uZmlnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKK3sKKwlkZXZfcHJp di0+cGVyZi5vYS5tdXhfcmVncyA9CisJCW11eF9jb25maWdfbWVtb3J5X3dyaXRlczsKKwlkZXZf cHJpdi0+cGVyZi5vYS5tdXhfcmVnc19sZW4gPQorCQlBUlJBWV9TSVpFKG11eF9jb25maWdfbWVt b3J5X3dyaXRlcyk7CisKKwlkZXZfcHJpdi0+cGVyZi5vYS5iX2NvdW50ZXJfcmVncyA9CisJCWJf Y291bnRlcl9jb25maWdfbWVtb3J5X3dyaXRlczsKKwlkZXZfcHJpdi0+cGVyZi5vYS5iX2NvdW50 ZXJfcmVnc19sZW4gPQorCQlBUlJBWV9TSVpFKGJfY291bnRlcl9jb25maWdfbWVtb3J5X3dyaXRl cyk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X29hX3JlZyBi X2NvdW50ZXJfY29uZmlnX3NhbXBsZXJfYmFsYW5jZVtdID0geworCXsgX01NSU8oMHgyNzQwKSwg MHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzQ0KSwgMHgwMDgwMDAwMCB9LAorCXsgX01NSU8o MHgyNzEwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzE0KSwgMHgwMDgwMDAwMCB9LAor CXsgX01NSU8oMHgyNzIwKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzI0KSwgMHgwMDgw MDAwMCB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X29hX3JlZyBtdXhfY29uZmln X3NhbXBsZXJfYmFsYW5jZVtdID0geworCXsgX01NSU8oMHgyZWI5YyksIDB4MDE5MDY0MDAgfSwK Kwl7IF9NTUlPKDB4MmZiOWMpLCAweDAxOTA2NDAwIH0sCisJeyBfTU1JTygweDI1M2E0KSwgMHgw MDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNmI5YyksIDB4MDE5MDY0MDAgfSwKKwl7IF9NTUlPKDB4 MjdiOWMpLCAweDAxOTA2NDAwIH0sCisJeyBfTU1JTygweDI3MTA0KSwgMHgwMGEwMDAwMCB9LAor CXsgX01NSU8oMHgyNzE4NCksIDB4MDBhNTAwMDAgfSwKKwl7IF9NTUlPKDB4MmU4MDQpLCAweDAw NTAwMDAwIH0sCisJeyBfTU1JTygweDJlOTg0KSwgMHgwMDUwMDAwMCB9LAorCXsgX01NSU8oMHgy ZWIwNCksIDB4MDA1MDAwMDAgfSwKKwl7IF9NTUlPKDB4MmViODApLCAweDAwMDAwMDg0IH0sCisJ eyBfTU1JTygweDJlYjhjKSwgMHgxNDIwMDAwMCB9LAorCXsgX01NSU8oMHgyZWI4NCksIDB4MDAw MDAwMDAgfSwKKwl7IF9NTUlPKDB4MmY4MDQpLCAweDAwMDUwMDAwIH0sCisJeyBfTU1JTygweDJm OTg0KSwgMHgwMDA1MDAwMCB9LAorCXsgX01NSU8oMHgyZmIwNCksIDB4MDAwNTAwMDAgfSwKKwl7 IF9NTUlPKDB4MmZiODApLCAweDAwMDAwMDg0IH0sCisJeyBfTU1JTygweDJmYjhjKSwgMHgwMDA1 MDgwMCB9LAorCXsgX01NSU8oMHgyZmI4NCksIDB4MDAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjUz ODApLCAweDAwMDAwMDEwIH0sCisJeyBfTU1JTygweDI1MzhjKSwgMHgwMDAwMDBjMCB9LAorCXsg X01NSU8oMHgyNTM4NCksIDB4YWE1NTAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MDQpLCAweGZmZmZj MDAwIH0sCisJeyBfTU1JTygweDI2ODA0KSwgMHg1MDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNjk4 NCksIDB4NTAwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjZiMDQpLCAweDUwMDAwMDAwIH0sCisJeyBf TU1JTygweDI2YjgwKSwgMHgwMDAwMDA4NCB9LAorCXsgX01NSU8oMHgyNmI5MCksIDB4MDAwNTA4 MDAgfSwKKwl7IF9NTUlPKDB4MjZiODQpLCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI3ODA0 KSwgMHgwNTAwMDAwMCB9LAorCXsgX01NSU8oMHgyNzk4NCksIDB4MDUwMDAwMDAgfSwKKwl7IF9N TUlPKDB4MjdiMDQpLCAweDA1MDAwMDAwIH0sCisJeyBfTU1JTygweDI3YjgwKSwgMHgwMDAwMDA4 NCB9LAorCXsgX01NSU8oMHgyN2I5MCksIDB4MDAwMDAxNDIgfSwKKwl7IF9NTUlPKDB4MjdiODQp LCAweDAwMDAwMDAwIH0sCisJeyBfTU1JTygweDI2MTA0KSwgMHhhMDAwMDAwMCB9LAorCXsgX01N SU8oMHgyNjE4NCksIDB4YTUwMDAwMDAgfSwKKwl7IF9NTUlPKDB4MjU0MjQpLCAweDAwMDA4NjIw IH0sCisJeyBfTU1JTygweDI1NDFjKSwgMHgwMDAwMDAwMCB9LAorCXsgX01NSU8oMHgyNTQyOCks IDB4MDAwNGE1NGEgfSwKK307CisKK3N0YXRpYyBpbnQgc2VsZWN0X3NhbXBsZXJfYmFsYW5jZV9j b25maWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCWRldl9wcml2LT5w ZXJmLm9hLm11eF9yZWdzID0KKwkJbXV4X2NvbmZpZ19zYW1wbGVyX2JhbGFuY2U7CisJZGV2X3By aXYtPnBlcmYub2EubXV4X3JlZ3NfbGVuID0KKwkJQVJSQVlfU0laRShtdXhfY29uZmlnX3NhbXBs ZXJfYmFsYW5jZSk7CisKKwlkZXZfcHJpdi0+cGVyZi5vYS5iX2NvdW50ZXJfcmVncyA9CisJCWJf Y291bnRlcl9jb25maWdfc2FtcGxlcl9iYWxhbmNlOworCWRldl9wcml2LT5wZXJmLm9hLmJfY291 bnRlcl9yZWdzX2xlbiA9CisJCUFSUkFZX1NJWkUoYl9jb3VudGVyX2NvbmZpZ19zYW1wbGVyX2Jh bGFuY2UpOworCisJcmV0dXJuIDA7Cit9CisKIGludCBpOTE1X29hX3NlbGVjdF9tZXRyaWNfc2V0 X2hzdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJZGV2X3ByaXYtPnBl cmYub2EubXV4X3JlZ3MgPSBOVUxMOwpAQCAtMTI4LDYgKzQ1OSwxNiBAQCBpbnQgaTkxNV9vYV9z ZWxlY3RfbWV0cmljX3NldF9oc3coc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog CXN3aXRjaCAoZGV2X3ByaXYtPnBlcmYub2EubWV0cmljc19zZXQpIHsKIAljYXNlIE1FVFJJQ19T RVRfSURfUkVOREVSX0JBU0lDOgogCQlyZXR1cm4gc2VsZWN0X3JlbmRlcl9iYXNpY19jb25maWco ZGV2X3ByaXYpOworCWNhc2UgTUVUUklDX1NFVF9JRF9DT01QVVRFX0JBU0lDOgorCQlyZXR1cm4g c2VsZWN0X2NvbXB1dGVfYmFzaWNfY29uZmlnKGRldl9wcml2KTsKKwljYXNlIE1FVFJJQ19TRVRf SURfQ09NUFVURV9FWFRFTkRFRDoKKwkJcmV0dXJuIHNlbGVjdF9jb21wdXRlX2V4dGVuZGVkX2Nv bmZpZyhkZXZfcHJpdik7CisJY2FzZSBNRVRSSUNfU0VUX0lEX01FTU9SWV9SRUFEUzoKKwkJcmV0 dXJuIHNlbGVjdF9tZW1vcnlfcmVhZHNfY29uZmlnKGRldl9wcml2KTsKKwljYXNlIE1FVFJJQ19T RVRfSURfTUVNT1JZX1dSSVRFUzoKKwkJcmV0dXJuIHNlbGVjdF9tZW1vcnlfd3JpdGVzX2NvbmZp ZyhkZXZfcHJpdik7CisJY2FzZSBNRVRSSUNfU0VUX0lEX1NBTVBMRVJfQkFMQU5DRToKKwkJcmV0 dXJuIHNlbGVjdF9zYW1wbGVyX2JhbGFuY2VfY29uZmlnKGRldl9wcml2KTsKIAlkZWZhdWx0Ogog CQlyZXR1cm4gLUVOT0RFVjsKIAl9CkBAIC0xNTUsNiArNDk2LDExNiBAQCBzdGF0aWMgc3RydWN0 IGF0dHJpYnV0ZV9ncm91cCBncm91cF9yZW5kZXJfYmFzaWMgPSB7CiAJLmF0dHJzID0gIGF0dHJz X3JlbmRlcl9iYXNpYywKIH07CiAKK3N0YXRpYyBzc2l6ZV90CitzaG93X2NvbXB1dGVfYmFzaWNf aWQoc3RydWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNo YXIgKmJ1ZikKK3sKKwlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgTUVUUklDX1NFVF9JRF9D T01QVVRFX0JBU0lDKTsKK30KKworc3RhdGljIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlIGRldl9h dHRyX2NvbXB1dGVfYmFzaWNfaWQgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gImlkIiwgLm1vZGUg PSBTX0lSVUdPIH0sCisJLnNob3cgPSBzaG93X2NvbXB1dGVfYmFzaWNfaWQsCisJLnN0b3JlID0g TlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICphdHRyc19jb21wdXRlX2Jhc2lj W10gPSB7CisJJmRldl9hdHRyX2NvbXB1dGVfYmFzaWNfaWQuYXR0ciwKKwlOVUxMLAorfTsKKwor c3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgZ3JvdXBfY29tcHV0ZV9iYXNpYyA9IHsKKwku bmFtZSA9ICIzOWFkMTRiYy0yMzgwLTQ1YzQtOTFlYi1mYmNiM2FhN2FlN2IiLAorCS5hdHRycyA9 ICBhdHRyc19jb21wdXRlX2Jhc2ljLAorfTsKKworc3RhdGljIHNzaXplX3QKK3Nob3dfY29tcHV0 ZV9leHRlbmRlZF9pZChzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0 ZSAqYXR0ciwgY2hhciAqYnVmKQoreworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBNRVRS SUNfU0VUX0lEX0NPTVBVVEVfRVhURU5ERUQpOworfQorCitzdGF0aWMgc3RydWN0IGRldmljZV9h dHRyaWJ1dGUgZGV2X2F0dHJfY29tcHV0ZV9leHRlbmRlZF9pZCA9IHsKKwkuYXR0ciA9IHsgLm5h bWUgPSAiaWQiLCAubW9kZSA9IFNfSVJVR08gfSwKKwkuc2hvdyA9IHNob3dfY29tcHV0ZV9leHRl bmRlZF9pZCwKKwkuc3RvcmUgPSBOVUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUg KmF0dHJzX2NvbXB1dGVfZXh0ZW5kZWRbXSA9IHsKKwkmZGV2X2F0dHJfY29tcHV0ZV9leHRlbmRl ZF9pZC5hdHRyLAorCU5VTEwsCit9OworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZV9ncm91cCBn cm91cF9jb21wdXRlX2V4dGVuZGVkID0geworCS5uYW1lID0gIjM4NjViZTI4LTY5ODItNDlmZS05 NDk0LWU0ZDFiNDc5NTQxMyIsCisJLmF0dHJzID0gIGF0dHJzX2NvbXB1dGVfZXh0ZW5kZWQsCit9 OworCitzdGF0aWMgc3NpemVfdAorc2hvd19tZW1vcnlfcmVhZHNfaWQoc3RydWN0IGRldmljZSAq a2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1ZikKK3sKKwlyZXR1 cm4gc3ByaW50ZihidWYsICIlZFxuIiwgTUVUUklDX1NFVF9JRF9NRU1PUllfUkVBRFMpOworfQor CitzdGF0aWMgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgZGV2X2F0dHJfbWVtb3J5X3JlYWRzX2lk ID0geworCS5hdHRyID0geyAubmFtZSA9ICJpZCIsIC5tb2RlID0gU19JUlVHTyB9LAorCS5zaG93 ID0gc2hvd19tZW1vcnlfcmVhZHNfaWQsCisJLnN0b3JlID0gTlVMTCwKK307CisKK3N0YXRpYyBz dHJ1Y3QgYXR0cmlidXRlICphdHRyc19tZW1vcnlfcmVhZHNbXSA9IHsKKwkmZGV2X2F0dHJfbWVt b3J5X3JlYWRzX2lkLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0cmlidXRl X2dyb3VwIGdyb3VwX21lbW9yeV9yZWFkcyA9IHsKKwkubmFtZSA9ICJiYjVlZDQ5Yi0yNDk3LTQw OTUtOTRmNi0yNmJhMjk0ZGI4OGEiLAorCS5hdHRycyA9ICBhdHRyc19tZW1vcnlfcmVhZHMsCit9 OworCitzdGF0aWMgc3NpemVfdAorc2hvd19tZW1vcnlfd3JpdGVzX2lkKHN0cnVjdCBkZXZpY2Ug KmtkZXYsIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCit7CisJcmV0 dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIE1FVFJJQ19TRVRfSURfTUVNT1JZX1dSSVRFUyk7Cit9 CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9tZW1vcnlfd3JpdGVz X2lkID0geworCS5hdHRyID0geyAubmFtZSA9ICJpZCIsIC5tb2RlID0gU19JUlVHTyB9LAorCS5z aG93ID0gc2hvd19tZW1vcnlfd3JpdGVzX2lkLAorCS5zdG9yZSA9IE5VTEwsCit9OworCitzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cnNfbWVtb3J5X3dyaXRlc1tdID0geworCSZkZXZfYXR0 cl9tZW1vcnlfd3JpdGVzX2lkLmF0dHIsCisJTlVMTCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgYXR0 cmlidXRlX2dyb3VwIGdyb3VwX21lbW9yeV93cml0ZXMgPSB7CisJLm5hbWUgPSAiMzM1OGQ2Mzkt OWI1Zi00NWFiLTk3NmQtOWIwOGNiZmM2MjQwIiwKKwkuYXR0cnMgPSAgYXR0cnNfbWVtb3J5X3dy aXRlcywKK307CisKK3N0YXRpYyBzc2l6ZV90CitzaG93X3NhbXBsZXJfYmFsYW5jZV9pZChzdHJ1 Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwgY2hhciAqYnVm KQoreworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBNRVRSSUNfU0VUX0lEX1NBTVBMRVJf QkFMQU5DRSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSBkZXZfYXR0cl9z YW1wbGVyX2JhbGFuY2VfaWQgPSB7CisJLmF0dHIgPSB7IC5uYW1lID0gImlkIiwgLm1vZGUgPSBT X0lSVUdPIH0sCisJLnNob3cgPSBzaG93X3NhbXBsZXJfYmFsYW5jZV9pZCwKKwkuc3RvcmUgPSBO VUxMLAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHJzX3NhbXBsZXJfYmFsYW5j ZVtdID0geworCSZkZXZfYXR0cl9zYW1wbGVyX2JhbGFuY2VfaWQuYXR0ciwKKwlOVUxMLAorfTsK Kworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgZ3JvdXBfc2FtcGxlcl9iYWxhbmNlID0g eworCS5uYW1lID0gImJjMjc0NDg4LWI0YjYtNDBjNy05MGRhLWI3N2Q3YWQxNjE4OSIsCisJLmF0 dHJzID0gIGF0dHJzX3NhbXBsZXJfYmFsYW5jZSwKK307CisKIGludAogaTkxNV9wZXJmX2luaXRf c3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKQEAgLTE2Myw5 ICs2MTQsMzQgQEAgaTkxNV9wZXJmX2luaXRfc3lzZnNfaHN3KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoZGV2X3ByaXYtPnBlcmYu bWV0cmljc19rb2JqLCAmZ3JvdXBfcmVuZGVyX2Jhc2ljKTsKIAlpZiAocmV0KQogCQlnb3RvIGVy cm9yX3JlbmRlcl9iYXNpYzsKKwlyZXQgPSBzeXNmc19jcmVhdGVfZ3JvdXAoZGV2X3ByaXYtPnBl cmYubWV0cmljc19rb2JqLCAmZ3JvdXBfY29tcHV0ZV9iYXNpYyk7CisJaWYgKHJldCkKKwkJZ290 byBlcnJvcl9jb21wdXRlX2Jhc2ljOworCXJldCA9IHN5c2ZzX2NyZWF0ZV9ncm91cChkZXZfcHJp di0+cGVyZi5tZXRyaWNzX2tvYmosICZncm91cF9jb21wdXRlX2V4dGVuZGVkKTsKKwlpZiAocmV0 KQorCQlnb3RvIGVycm9yX2NvbXB1dGVfZXh0ZW5kZWQ7CisJcmV0ID0gc3lzZnNfY3JlYXRlX2dy b3VwKGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiwgJmdyb3VwX21lbW9yeV9yZWFkcyk7CisJ aWYgKHJldCkKKwkJZ290byBlcnJvcl9tZW1vcnlfcmVhZHM7CisJcmV0ID0gc3lzZnNfY3JlYXRl X2dyb3VwKGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiwgJmdyb3VwX21lbW9yeV93cml0ZXMp OworCWlmIChyZXQpCisJCWdvdG8gZXJyb3JfbWVtb3J5X3dyaXRlczsKKwlyZXQgPSBzeXNmc19j cmVhdGVfZ3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfc2FtcGxlcl9i YWxhbmNlKTsKKwlpZiAocmV0KQorCQlnb3RvIGVycm9yX3NhbXBsZXJfYmFsYW5jZTsKIAogCXJl dHVybiAwOwogCitlcnJvcl9zYW1wbGVyX2JhbGFuY2U6CisJc3lzZnNfcmVtb3ZlX2dyb3VwKGRl dl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiwgJmdyb3VwX21lbW9yeV93cml0ZXMpOworZXJyb3Jf bWVtb3J5X3dyaXRlczoKKwlzeXNmc19yZW1vdmVfZ3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmlj c19rb2JqLCAmZ3JvdXBfbWVtb3J5X3JlYWRzKTsKK2Vycm9yX21lbW9yeV9yZWFkczoKKwlzeXNm c19yZW1vdmVfZ3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfY29tcHV0 ZV9leHRlbmRlZCk7CitlcnJvcl9jb21wdXRlX2V4dGVuZGVkOgorCXN5c2ZzX3JlbW92ZV9ncm91 cChkZXZfcHJpdi0+cGVyZi5tZXRyaWNzX2tvYmosICZncm91cF9jb21wdXRlX2Jhc2ljKTsKK2Vy cm9yX2NvbXB1dGVfYmFzaWM6CisJc3lzZnNfcmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1l dHJpY3Nfa29iaiwgJmdyb3VwX3JlbmRlcl9iYXNpYyk7CiBlcnJvcl9yZW5kZXJfYmFzaWM6CiAJ cmV0dXJuIHJldDsKIH0KQEAgLTE3NCw0ICs2NTAsOSBAQCB2b2lkCiBpOTE1X3BlcmZfZGVpbml0 X3N5c2ZzX2hzdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3lzZnNf cmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiwgJmdyb3VwX3JlbmRlcl9i YXNpYyk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1ldHJpY3Nfa29iaiwg Jmdyb3VwX2NvbXB1dGVfYmFzaWMpOworCXN5c2ZzX3JlbW92ZV9ncm91cChkZXZfcHJpdi0+cGVy Zi5tZXRyaWNzX2tvYmosICZncm91cF9jb21wdXRlX2V4dGVuZGVkKTsKKwlzeXNmc19yZW1vdmVf Z3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBfbWVtb3J5X3JlYWRzKTsK KwlzeXNmc19yZW1vdmVfZ3JvdXAoZGV2X3ByaXYtPnBlcmYubWV0cmljc19rb2JqLCAmZ3JvdXBf bWVtb3J5X3dyaXRlcyk7CisJc3lzZnNfcmVtb3ZlX2dyb3VwKGRldl9wcml2LT5wZXJmLm1ldHJp Y3Nfa29iaiwgJmdyb3VwX3NhbXBsZXJfYmFsYW5jZSk7CiB9Ci0tIAoyLjcuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==