From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Rodriguez Subject: [PATCH 05/13] drm/amdgpu: unify MQD programming sequence for kfd and amdgpu Date: Fri, 3 Feb 2017 23:51:34 -0500 Message-ID: <20170204045142.5596-6-andresx7@gmail.com> References: <20170204045142.5596-1-andresx7@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170204045142.5596-1-andresx7-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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 Cc: Alexander.Deucher-5C7GfCeVMHo@public.gmane.org, jay-gJmSnxjMpeIFV7jr3Ov9Ew@public.gmane.org, Felix.Kuehling-5C7GfCeVMHo@public.gmane.org, Andres Rodriguez , John.Bridgman-5C7GfCeVMHo@public.gmane.org VXNlIHRoZSBzYW1lIGdmeF8qX21xZF9jb21taXQgZnVuY3Rpb24gZm9yIGtmZCBhbmQgYW1kZ3B1 IGNvZGVwYXRocy4KClRoaXMgcmVtb3ZlcyB0aGUgbGFzdCBkdXBsaWNhdGVzIG9mIHRoaXMgcHJv Z3JhbW1pbmcgc2VxdWVuY2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXMgUm9kcmlndWV6IDxhbmRy ZXN4N0BnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Ft ZGtmZF9nZnhfdjcuYyB8IDUxICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dmeF92OC5jIHwgNDkgKystLS0tLS0tLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyAgICAgICAgICAg ICB8IDM4ICsrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhf djdfMC5oICAgICAgICAgICAgIHwgIDUgKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9n ZnhfdjhfMC5jICAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuaCAgICAgICAgICAgICB8ICA1ICsrKwogNiBmaWxl cyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspLCA5NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkX2dmeF92Ny5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjcuYwppbmRleCAxYTBh NWY3Li4wMzhiN2VhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkX2dmeF92Ny5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9hbWRrZmRfZ2Z4X3Y3LmMKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJjaWtkLmgiCiAj aW5jbHVkZSAiY2lrX3NkbWEuaCIKICNpbmNsdWRlICJhbWRncHVfdWNvZGUuaCIKKyNpbmNsdWRl ICJnZnhfdjdfMC5oIgogI2luY2x1ZGUgImdjYS9nZnhfN18yX2QuaCIKICNpbmNsdWRlICJnY2Ev Z2Z4XzdfMl9lbnVtLmgiCiAjaW5jbHVkZSAiZ2NhL2dmeF83XzJfc2hfbWFzay5oIgpAQCAtMzA5 LDU1ICszMTAsMTEgQEAgc3RhdGljIGludCBrZ2RfaHFkX2xvYWQoc3RydWN0IGtnZF9kZXYgKmtn ZCwgdm9pZCAqbXFkLCB1aW50MzJfdCBwaXBlX2lkLAogCW0gPSBnZXRfbXFkKG1xZCk7CiAKIAlp c193cHRyX3NoYWRvd192YWxpZCA9ICFnZXRfdXNlcih3cHRyX3NoYWRvdywgd3B0cik7Ci0KLQlh Y3F1aXJlX3F1ZXVlKGtnZCwgcGlwZV9pZCwgcXVldWVfaWQpOwotCVdSRUczMihtbUNQX01RRF9C QVNFX0FERFIsIG0tPmNwX21xZF9iYXNlX2FkZHJfbG8pOwotCVdSRUczMihtbUNQX01RRF9CQVNF X0FERFJfSEksIG0tPmNwX21xZF9iYXNlX2FkZHJfaGkpOwotCVdSRUczMihtbUNQX01RRF9DT05U Uk9MLCBtLT5jcF9tcWRfY29udHJvbCk7Ci0KLQlXUkVHMzIobW1DUF9IUURfUFFfQkFTRSwgbS0+ Y3BfaHFkX3BxX2Jhc2VfbG8pOwotCVdSRUczMihtbUNQX0hRRF9QUV9CQVNFX0hJLCBtLT5jcF9o cWRfcHFfYmFzZV9oaSk7Ci0JV1JFRzMyKG1tQ1BfSFFEX1BRX0NPTlRST0wsIG0tPmNwX2hxZF9w cV9jb250cm9sKTsKLQotCVdSRUczMihtbUNQX0hRRF9JQl9DT05UUk9MLCBtLT5jcF9ocWRfaWJf Y29udHJvbCk7Ci0JV1JFRzMyKG1tQ1BfSFFEX0lCX0JBU0VfQUREUiwgbS0+Y3BfaHFkX2liX2Jh c2VfYWRkcl9sbyk7Ci0JV1JFRzMyKG1tQ1BfSFFEX0lCX0JBU0VfQUREUl9ISSwgbS0+Y3BfaHFk X2liX2Jhc2VfYWRkcl9oaSk7Ci0KLQlXUkVHMzIobW1DUF9IUURfSUJfUlBUUiwgbS0+Y3BfaHFk X2liX3JwdHIpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX1BFUlNJU1RFTlRfU1RBVEUsIG0tPmNwX2hx ZF9wZXJzaXN0ZW50X3N0YXRlKTsKLQlXUkVHMzIobW1DUF9IUURfU0VNQV9DTUQsIG0tPmNwX2hx ZF9zZW1hX2NtZCk7Ci0JV1JFRzMyKG1tQ1BfSFFEX01TR19UWVBFLCBtLT5jcF9ocWRfbXNnX3R5 cGUpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX0FUT01JQzBfUFJFT1BfTE8sIG0tPmNwX2hxZF9hdG9t aWMwX3ByZW9wX2xvKTsKLQlXUkVHMzIobW1DUF9IUURfQVRPTUlDMF9QUkVPUF9ISSwgbS0+Y3Bf aHFkX2F0b21pYzBfcHJlb3BfaGkpOwotCVdSRUczMihtbUNQX0hRRF9BVE9NSUMxX1BSRU9QX0xP LCBtLT5jcF9ocWRfYXRvbWljMV9wcmVvcF9sbyk7Ci0JV1JFRzMyKG1tQ1BfSFFEX0FUT01JQzFf UFJFT1BfSEksIG0tPmNwX2hxZF9hdG9taWMxX3ByZW9wX2hpKTsKLQotCVdSRUczMihtbUNQX0hR RF9QUV9SUFRSX1JFUE9SVF9BRERSLCBtLT5jcF9ocWRfcHFfcnB0cl9yZXBvcnRfYWRkcl9sbyk7 Ci0JV1JFRzMyKG1tQ1BfSFFEX1BRX1JQVFJfUkVQT1JUX0FERFJfSEksCi0JCQltLT5jcF9ocWRf cHFfcnB0cl9yZXBvcnRfYWRkcl9oaSk7Ci0KLQlXUkVHMzIobW1DUF9IUURfUFFfUlBUUiwgbS0+ Y3BfaHFkX3BxX3JwdHIpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX1BRX1dQVFJfUE9MTF9BRERSLCBt LT5jcF9ocWRfcHFfd3B0cl9wb2xsX2FkZHJfbG8pOwotCVdSRUczMihtbUNQX0hRRF9QUV9XUFRS X1BPTExfQUREUl9ISSwgbS0+Y3BfaHFkX3BxX3dwdHJfcG9sbF9hZGRyX2hpKTsKLQotCVdSRUcz MihtbUNQX0hRRF9QUV9ET09SQkVMTF9DT05UUk9MLCBtLT5jcF9ocWRfcHFfZG9vcmJlbGxfY29u dHJvbCk7Ci0KLQlXUkVHMzIobW1DUF9IUURfVk1JRCwgbS0+Y3BfaHFkX3ZtaWQpOwotCi0JV1JF RzMyKG1tQ1BfSFFEX1FVQU5UVU0sIG0tPmNwX2hxZF9xdWFudHVtKTsKLQotCVdSRUczMihtbUNQ X0hRRF9QSVBFX1BSSU9SSVRZLCBtLT5jcF9ocWRfcGlwZV9wcmlvcml0eSk7Ci0JV1JFRzMyKG1t Q1BfSFFEX1FVRVVFX1BSSU9SSVRZLCBtLT5jcF9ocWRfcXVldWVfcHJpb3JpdHkpOwotCi0JV1JF RzMyKG1tQ1BfSFFEX0lRX1JQVFIsIG0tPmNwX2hxZF9pcV9ycHRyKTsKLQogCWlmIChpc193cHRy X3NoYWRvd192YWxpZCkKLQkJV1JFRzMyKG1tQ1BfSFFEX1BRX1dQVFIsIHdwdHJfc2hhZG93KTsK KwkJbS0+Y3BfaHFkX3BxX3dwdHIgPSB3cHRyX3NoYWRvdzsKIAotCVdSRUczMihtbUNQX0hRRF9B Q1RJVkUsIG0tPmNwX2hxZF9hY3RpdmUpOworCWFjcXVpcmVfcXVldWUoa2dkLCBwaXBlX2lkLCBx dWV1ZV9pZCk7CisJZ2Z4X3Y3XzBfbXFkX2NvbW1pdChhZGV2LCBtKTsKIAlyZWxlYXNlX3F1ZXVl KGtnZCk7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkX2dmeF92OC5jCmluZGV4IDY2OTc2MTIuLjJlY2VmM2QgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ2Z4X3Y4LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9nZnhfdjguYwpAQCAtMjgs NiArMjgsNyBAQAogI2luY2x1ZGUgImFtZGdwdS5oIgogI2luY2x1ZGUgImFtZGdwdV9hbWRrZmQu aCIKICNpbmNsdWRlICJhbWRncHVfdWNvZGUuaCIKKyNpbmNsdWRlICJnZnhfdjhfMC5oIgogI2lu Y2x1ZGUgImdjYS9nZnhfOF8wX3NoX21hc2suaCIKICNpbmNsdWRlICJnY2EvZ2Z4XzhfMF9kLmgi CiAjaW5jbHVkZSAiZ2NhL2dmeF84XzBfZW51bS5oIgpAQCAtMjUxLDUzICsyNTIsMTEgQEAgc3Rh dGljIGludCBrZ2RfaHFkX2xvYWQoc3RydWN0IGtnZF9kZXYgKmtnZCwgdm9pZCAqbXFkLCB1aW50 MzJfdCBwaXBlX2lkLAogCW0gPSBnZXRfbXFkKG1xZCk7CiAKIAl2YWxpZF93cHRyID0gY29weV9m cm9tX3VzZXIoJnNoYWRvd193cHRyLCB3cHRyLCBzaXplb2Yoc2hhZG93X3dwdHIpKTsKLQlhY3F1 aXJlX3F1ZXVlKGtnZCwgcGlwZV9pZCwgcXVldWVfaWQpOwotCi0JV1JFRzMyKG1tQ1BfTVFEX0NP TlRST0wsIG0tPmNwX21xZF9jb250cm9sKTsKLQlXUkVHMzIobW1DUF9NUURfQkFTRV9BRERSLCBt LT5jcF9tcWRfYmFzZV9hZGRyX2xvKTsKLQlXUkVHMzIobW1DUF9NUURfQkFTRV9BRERSX0hJLCBt LT5jcF9tcWRfYmFzZV9hZGRyX2hpKTsKLQotCVdSRUczMihtbUNQX0hRRF9WTUlELCBtLT5jcF9o cWRfdm1pZCk7Ci0JV1JFRzMyKG1tQ1BfSFFEX1BFUlNJU1RFTlRfU1RBVEUsIG0tPmNwX2hxZF9w ZXJzaXN0ZW50X3N0YXRlKTsKLQlXUkVHMzIobW1DUF9IUURfUElQRV9QUklPUklUWSwgbS0+Y3Bf aHFkX3BpcGVfcHJpb3JpdHkpOwotCVdSRUczMihtbUNQX0hRRF9RVUVVRV9QUklPUklUWSwgbS0+ Y3BfaHFkX3F1ZXVlX3ByaW9yaXR5KTsKLQlXUkVHMzIobW1DUF9IUURfUVVBTlRVTSwgbS0+Y3Bf aHFkX3F1YW50dW0pOwotCVdSRUczMihtbUNQX0hRRF9QUV9CQVNFLCBtLT5jcF9ocWRfcHFfYmFz ZV9sbyk7Ci0JV1JFRzMyKG1tQ1BfSFFEX1BRX0JBU0VfSEksIG0tPmNwX2hxZF9wcV9iYXNlX2hp KTsKLQlXUkVHMzIobW1DUF9IUURfUFFfUlBUUl9SRVBPUlRfQUREUiwgbS0+Y3BfaHFkX3BxX3Jw dHJfcmVwb3J0X2FkZHJfbG8pOwotCVdSRUczMihtbUNQX0hRRF9QUV9SUFRSX1JFUE9SVF9BRERS X0hJLAotCQkJbS0+Y3BfaHFkX3BxX3JwdHJfcmVwb3J0X2FkZHJfaGkpOwotCiAJaWYgKHZhbGlk X3dwdHIgPiAwKQotCQlXUkVHMzIobW1DUF9IUURfUFFfV1BUUiwgc2hhZG93X3dwdHIpOwotCi0J V1JFRzMyKG1tQ1BfSFFEX1BRX0NPTlRST0wsIG0tPmNwX2hxZF9wcV9jb250cm9sKTsKLQlXUkVH MzIobW1DUF9IUURfUFFfRE9PUkJFTExfQ09OVFJPTCwgbS0+Y3BfaHFkX3BxX2Rvb3JiZWxsX2Nv bnRyb2wpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX0VPUF9CQVNFX0FERFIsIG0tPmNwX2hxZF9lb3Bf YmFzZV9hZGRyX2xvKTsKLQlXUkVHMzIobW1DUF9IUURfRU9QX0JBU0VfQUREUl9ISSwgbS0+Y3Bf aHFkX2VvcF9iYXNlX2FkZHJfaGkpOwotCVdSRUczMihtbUNQX0hRRF9FT1BfQ09OVFJPTCwgbS0+ Y3BfaHFkX2VvcF9jb250cm9sKTsKLQlXUkVHMzIobW1DUF9IUURfRU9QX1JQVFIsIG0tPmNwX2hx ZF9lb3BfcnB0cik7Ci0JV1JFRzMyKG1tQ1BfSFFEX0VPUF9XUFRSLCBtLT5jcF9ocWRfZW9wX3dw dHIpOwotCVdSRUczMihtbUNQX0hRRF9FT1BfRVZFTlRTLCBtLT5jcF9ocWRfZW9wX2RvbmVfZXZl bnRzKTsKLQotCVdSRUczMihtbUNQX0hRRF9DVFhfU0FWRV9CQVNFX0FERFJfTE8sIG0tPmNwX2hx ZF9jdHhfc2F2ZV9iYXNlX2FkZHJfbG8pOwotCVdSRUczMihtbUNQX0hRRF9DVFhfU0FWRV9CQVNF X0FERFJfSEksIG0tPmNwX2hxZF9jdHhfc2F2ZV9iYXNlX2FkZHJfaGkpOwotCVdSRUczMihtbUNQ X0hRRF9DVFhfU0FWRV9DT05UUk9MLCBtLT5jcF9ocWRfY3R4X3NhdmVfY29udHJvbCk7Ci0JV1JF RzMyKG1tQ1BfSFFEX0NOVExfU1RBQ0tfT0ZGU0VULCBtLT5jcF9ocWRfY250bF9zdGFja19vZmZz ZXQpOwotCVdSRUczMihtbUNQX0hRRF9DTlRMX1NUQUNLX1NJWkUsIG0tPmNwX2hxZF9jbnRsX3N0 YWNrX3NpemUpOwotCVdSRUczMihtbUNQX0hRRF9XR19TVEFURV9PRkZTRVQsIG0tPmNwX2hxZF93 Z19zdGF0ZV9vZmZzZXQpOwotCVdSRUczMihtbUNQX0hRRF9DVFhfU0FWRV9TSVpFLCBtLT5jcF9o cWRfY3R4X3NhdmVfc2l6ZSk7Ci0KLQlXUkVHMzIobW1DUF9IUURfSUJfQ09OVFJPTCwgbS0+Y3Bf aHFkX2liX2NvbnRyb2wpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX0RFUVVFVUVfUkVRVUVTVCwgbS0+ Y3BfaHFkX2RlcXVldWVfcmVxdWVzdCk7Ci0JV1JFRzMyKG1tQ1BfSFFEX0VSUk9SLCBtLT5jcF9o cWRfZXJyb3IpOwotCVdSRUczMihtbUNQX0hRRF9FT1BfV1BUUl9NRU0sIG0tPmNwX2hxZF9lb3Bf d3B0cl9tZW0pOwotCVdSRUczMihtbUNQX0hRRF9FT1BfRE9ORVMsIG0tPmNwX2hxZF9lb3BfZG9u ZXMpOwotCi0JV1JFRzMyKG1tQ1BfSFFEX0FDVElWRSwgbS0+Y3BfaHFkX2FjdGl2ZSk7CisJCW0t PmNwX2hxZF9wcV93cHRyID0gdmFsaWRfd3B0cjsKIAorCWFjcXVpcmVfcXVldWUoa2dkLCBwaXBl X2lkLCBxdWV1ZV9pZCk7CisJZ2Z4X3Y4XzBfbXFkX2NvbW1pdChhZGV2LCBtcWQpOwogCXJlbGVh c2VfcXVldWUoa2dkKTsKIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92 N18wLmMKaW5kZXggNGEyNzliYi4uZDIyNjgwNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9n ZnhfdjdfMC5jCkBAIC0zMDM4LDEyICszMDM4LDI5IEBAIHN0YXRpYyB2b2lkIGdmeF92N18wX21x ZF9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCS8qIHNldCB0aGUgdm1pZCBmb3Ig dGhlIHF1ZXVlICovCiAJbXFkLT5jcF9ocWRfdm1pZCA9IDA7CiAKKwkvKiBkZWZhdWx0cyAqLwor CW1xZC0+Y3BfaHFkX2liX2NvbnRyb2wgPSBSUkVHMzIobW1DUF9IUURfSUJfQ09OVFJPTCk7CisJ bXFkLT5jcF9ocWRfaWJfYmFzZV9hZGRyX2xvID0gUlJFRzMyKG1tQ1BfSFFEX0lCX0JBU0VfQURE Uik7CisJbXFkLT5jcF9ocWRfaWJfYmFzZV9hZGRyX2hpID0gUlJFRzMyKG1tQ1BfSFFEX0lCX0JB U0VfQUREUl9ISSk7CisJbXFkLT5jcF9ocWRfaWJfcnB0ciA9IFJSRUczMihtbUNQX0hRRF9JQl9S UFRSKTsKKwltcWQtPmNwX2hxZF9wZXJzaXN0ZW50X3N0YXRlID0gUlJFRzMyKG1tQ1BfSFFEX1BF UlNJU1RFTlRfU1RBVEUpOworCW1xZC0+Y3BfaHFkX3NlbWFfY21kID0gUlJFRzMyKG1tQ1BfSFFE X1NFTUFfQ01EKTsKKwltcWQtPmNwX2hxZF9tc2dfdHlwZSA9IFJSRUczMihtbUNQX0hRRF9NU0df VFlQRSk7CisJbXFkLT5jcF9ocWRfYXRvbWljMF9wcmVvcF9sbyA9IFJSRUczMihtbUNQX0hRRF9B VE9NSUMwX1BSRU9QX0xPKTsKKwltcWQtPmNwX2hxZF9hdG9taWMwX3ByZW9wX2hpID0gUlJFRzMy KG1tQ1BfSFFEX0FUT01JQzBfUFJFT1BfSEkpOworCW1xZC0+Y3BfaHFkX2F0b21pYzFfcHJlb3Bf bG8gPSBSUkVHMzIobW1DUF9IUURfQVRPTUlDMV9QUkVPUF9MTyk7CisJbXFkLT5jcF9ocWRfYXRv bWljMV9wcmVvcF9oaSA9IFJSRUczMihtbUNQX0hRRF9BVE9NSUMxX1BSRU9QX0hJKTsKKwltcWQt PmNwX2hxZF9wcV9ycHRyID0gUlJFRzMyKG1tQ1BfSFFEX1BRX1JQVFIpOworCW1xZC0+Y3BfaHFk X3F1YW50dW0gPSBSUkVHMzIobW1DUF9IUURfUVVBTlRVTSk7CisJbXFkLT5jcF9ocWRfcGlwZV9w cmlvcml0eSA9IFJSRUczMihtbUNQX0hRRF9QSVBFX1BSSU9SSVRZKTsKKwltcWQtPmNwX2hxZF9x dWV1ZV9wcmlvcml0eSA9IFJSRUczMihtbUNQX0hRRF9RVUVVRV9QUklPUklUWSk7CisJbXFkLT5j cF9ocWRfaXFfcnB0ciA9IFJSRUczMihtbUNQX0hRRF9JUV9SUFRSKTsKKwogCS8qIGFjdGl2YXRl IHRoZSBxdWV1ZSAqLwogCW1xZC0+Y3BfaHFkX2FjdGl2ZSA9IDE7CiB9CiAKLXN0YXRpYyBpbnQg Z2Z4X3Y3XzBfbXFkX2NvbW1pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKLQkJCSAgICAg ICBzdHJ1Y3QgY2lrX21xZCAqbXFkKQoraW50IGdmeF92N18wX21xZF9jb21taXQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBjaWtfbXFkICptcWQpCiB7CiAJdTMyIHRtcDsKIApA QCAtMzA2Nyw2ICszMDg0LDIzIEBAIHN0YXRpYyBpbnQgZ2Z4X3Y3XzBfbXFkX2NvbW1pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAlXUkVHMzIobW1DUF9IUURfUFFfV1BUUiwgbXFkLT5j cF9ocWRfcHFfd3B0cik7CiAJV1JFRzMyKG1tQ1BfSFFEX1ZNSUQsIG1xZC0+Y3BfaHFkX3ZtaWQp OwogCisJV1JFRzMyKG1tQ1BfSFFEX0lCX0NPTlRST0wsIG1xZC0+Y3BfaHFkX2liX2NvbnRyb2wp OworCVdSRUczMihtbUNQX0hRRF9JQl9CQVNFX0FERFIsIG1xZC0+Y3BfaHFkX2liX2Jhc2VfYWRk cl9sbyk7CisJV1JFRzMyKG1tQ1BfSFFEX0lCX0JBU0VfQUREUl9ISSwgbXFkLT5jcF9ocWRfaWJf YmFzZV9hZGRyX2hpKTsKKwlXUkVHMzIobW1DUF9IUURfSUJfUlBUUiwgbXFkLT5jcF9ocWRfaWJf cnB0cik7CisJV1JFRzMyKG1tQ1BfSFFEX1BFUlNJU1RFTlRfU1RBVEUsIG1xZC0+Y3BfaHFkX3Bl cnNpc3RlbnRfc3RhdGUpOworCVdSRUczMihtbUNQX0hRRF9TRU1BX0NNRCwgbXFkLT5jcF9ocWRf c2VtYV9jbWQpOworCVdSRUczMihtbUNQX0hRRF9NU0dfVFlQRSwgbXFkLT5jcF9ocWRfbXNnX3R5 cGUpOworCVdSRUczMihtbUNQX0hRRF9BVE9NSUMwX1BSRU9QX0xPLCBtcWQtPmNwX2hxZF9hdG9t aWMwX3ByZW9wX2xvKTsKKwlXUkVHMzIobW1DUF9IUURfQVRPTUlDMF9QUkVPUF9ISSwgbXFkLT5j cF9ocWRfYXRvbWljMF9wcmVvcF9oaSk7CisJV1JFRzMyKG1tQ1BfSFFEX0FUT01JQzFfUFJFT1Bf TE8sIG1xZC0+Y3BfaHFkX2F0b21pYzFfcHJlb3BfbG8pOworCVdSRUczMihtbUNQX0hRRF9BVE9N SUMxX1BSRU9QX0hJLCBtcWQtPmNwX2hxZF9hdG9taWMxX3ByZW9wX2hpKTsKKwlXUkVHMzIobW1D UF9IUURfUFFfUlBUUiwgbXFkLT5jcF9ocWRfcHFfcnB0cik7CisJV1JFRzMyKG1tQ1BfSFFEX1FV QU5UVU0sIG1xZC0+Y3BfaHFkX3F1YW50dW0pOworCVdSRUczMihtbUNQX0hRRF9QSVBFX1BSSU9S SVRZLCBtcWQtPmNwX2hxZF9waXBlX3ByaW9yaXR5KTsKKwlXUkVHMzIobW1DUF9IUURfUVVFVUVf UFJJT1JJVFksIG1xZC0+Y3BfaHFkX3F1ZXVlX3ByaW9yaXR5KTsKKwlXUkVHMzIobW1DUF9IUURf SVFfUlBUUiwgbXFkLT5jcF9ocWRfaXFfcnB0cik7CisKIAkvKiBhY3RpdmF0ZSB0aGUgSFFEICov CiAJV1JFRzMyKG1tQ1BfSFFEX0FDVElWRSwgbXFkLT5jcF9ocWRfYWN0aXZlKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmgKaW5kZXggMmY1MTY0Yy4uNmZiOWMxNSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjdfMC5oCkBAIC0yOSw0ICsyOSw5IEBAIGV4dGVybiBj b25zdCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3ZlcnNpb24gZ2Z4X3Y3XzFfaXBfYmxvY2s7CiBl eHRlcm4gY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIGdmeF92N18yX2lwX2Js b2NrOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBhbWRncHVfaXBfYmxvY2tfdmVyc2lvbiBnZnhfdjdf M19pcF9ibG9jazsKIAorc3RydWN0IGFtZGdwdV9kZXZpY2U7CitzdHJ1Y3QgY2lrX21xZDsKKwor aW50IGdmeF92N18wX21xZF9jb21taXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVj dCBjaWtfbXFkICptcWQpOworCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhf MC5jCmluZGV4IDQ0MmNkNjYuLjc3NTVkNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4 X3Y4XzAuYwpAQCAtNDc2Miw2ICs0NzYyLDI2IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfbXFkX2lu aXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJdG1wID0gUkVHX1NFVF9GSUVMRCh0bXAs IENQX0hRRF9QRVJTSVNURU5UX1NUQVRFLCBQUkVMT0FEX1NJWkUsIDB4NTMpOwogCW1xZC0+Y3Bf aHFkX3BlcnNpc3RlbnRfc3RhdGUgPSB0bXA7CiAKKwkvKiBkZWZhdWx0cyAqLworCW1xZC0+Y3Bf aHFkX2VvcF9ycHRyID0gUlJFRzMyKG1tQ1BfSFFEX0VPUF9SUFRSKTsKKwltcWQtPmNwX2hxZF9l b3Bfd3B0ciA9IFJSRUczMihtbUNQX0hRRF9FT1BfV1BUUik7CisJbXFkLT5jcF9ocWRfcGlwZV9w cmlvcml0eSA9IFJSRUczMihtbUNQX0hRRF9QSVBFX1BSSU9SSVRZKTsKKwltcWQtPmNwX2hxZF9x dWV1ZV9wcmlvcml0eSA9IFJSRUczMihtbUNQX0hRRF9RVUVVRV9QUklPUklUWSk7CisJbXFkLT5j cF9ocWRfcXVhbnR1bSA9IFJSRUczMihtbUNQX0hRRF9RVUFOVFVNKTsKKwltcWQtPmNwX2hxZF9j dHhfc2F2ZV9iYXNlX2FkZHJfbG8gPSBSUkVHMzIobW1DUF9IUURfQ1RYX1NBVkVfQkFTRV9BRERS X0xPKTsKKwltcWQtPmNwX2hxZF9jdHhfc2F2ZV9iYXNlX2FkZHJfaGkgPSBSUkVHMzIobW1DUF9I UURfQ1RYX1NBVkVfQkFTRV9BRERSX0hJKTsKKwltcWQtPmNwX2hxZF9jdHhfc2F2ZV9jb250cm9s ID0gUlJFRzMyKG1tQ1BfSFFEX0NUWF9TQVZFX0NPTlRST0wpOworCW1xZC0+Y3BfaHFkX2NudGxf c3RhY2tfb2Zmc2V0ID0gUlJFRzMyKG1tQ1BfSFFEX0NOVExfU1RBQ0tfT0ZGU0VUKTsKKwltcWQt PmNwX2hxZF9jbnRsX3N0YWNrX3NpemUgPSBSUkVHMzIobW1DUF9IUURfQ05UTF9TVEFDS19TSVpF KTsKKwltcWQtPmNwX2hxZF93Z19zdGF0ZV9vZmZzZXQgPSBSUkVHMzIobW1DUF9IUURfV0dfU1RB VEVfT0ZGU0VUKTsKKwltcWQtPmNwX2hxZF9jdHhfc2F2ZV9zaXplID0gUlJFRzMyKG1tQ1BfSFFE X0NUWF9TQVZFX1NJWkUpOworCW1xZC0+Y3BfaHFkX2liX2NvbnRyb2wgPSBSUkVHMzIobW1DUF9I UURfSUJfQ09OVFJPTCk7CisJbXFkLT5jcF9ocWRfZW9wX2RvbmVfZXZlbnRzID0gUlJFRzMyKG1t Q1BfSFFEX0VPUF9FVkVOVFMpOworCW1xZC0+Y3BfaHFkX2Vycm9yID0gUlJFRzMyKG1tQ1BfSFFE X0VSUk9SKTsKKwltcWQtPmNwX2hxZF9lb3Bfd3B0cl9tZW0gPSBSUkVHMzIobW1DUF9IUURfRU9Q X1dQVFJfTUVNKTsKKwltcWQtPmNwX2hxZF9lb3BfZG9uZXMgPSBSUkVHMzIobW1DUF9IUURfRU9Q X0RPTkVTKTsKKworCiAJLyogYWN0aXZhdGUgdGhlIHF1ZXVlICovCiAJbXFkLT5jcF9ocWRfYWN0 aXZlID0gMTsKIApAQCAtNDgxNSw3ICs0ODM1LDcgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y4XzBfZW5h YmxlX2Rvb3JiZWxsKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBib29sIGVuYWJsZSkKIAlh ZGV2LT5kb29yYmVsbF9lbmFibGVkID0gdHJ1ZTsKIH0KIAotc3RhdGljIGludCBnZnhfdjhfMF9t cWRfY29tbWl0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgdmlfbXFkICptcWQp CitpbnQgZ2Z4X3Y4XzBfbXFkX2NvbW1pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3Ry dWN0IHZpX21xZCAqbXFkKQogewogCXVpbnQzMl90IHRtcDsKIApAQCAtNDg2Nyw2ICs0ODg3LDI4 IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y4XzBfbXFkX2NvbW1pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgc3RydWN0IHZpX21xZCAqbXFkKQogCiAJLyogcmVzZXQgcmVhZCBhbmQgd3JpdGUgcG9p bnRlcnMsIHNpbWlsYXIgdG8gQ1BfUkIwX1dQVFIvX1JQVFIgKi8KIAlXUkVHMzIobW1DUF9IUURf UFFfV1BUUiwgbXFkLT5jcF9ocWRfcHFfd3B0cik7CisJV1JFRzMyKG1tQ1BfSFFEX0VPUF9SUFRS LCBtcWQtPmNwX2hxZF9lb3BfcnB0cik7CisJV1JFRzMyKG1tQ1BfSFFEX0VPUF9XUFRSLCBtcWQt PmNwX2hxZF9lb3Bfd3B0cik7CisKKwkvKiBzZXQgdGhlIEhRRCBwcmlvcml0eSAqLworCVdSRUcz MihtbUNQX0hRRF9QSVBFX1BSSU9SSVRZLCBtcWQtPmNwX2hxZF9waXBlX3ByaW9yaXR5KTsKKwlX UkVHMzIobW1DUF9IUURfUVVFVUVfUFJJT1JJVFksIG1xZC0+Y3BfaHFkX3F1ZXVlX3ByaW9yaXR5 KTsKKwlXUkVHMzIobW1DUF9IUURfUVVBTlRVTSwgbXFkLT5jcF9ocWRfcXVhbnR1bSk7CisKKwkv KiBzZXQgY3dzciBzYXZlIGFyZWEgKi8KKwlXUkVHMzIobW1DUF9IUURfQ1RYX1NBVkVfQkFTRV9B RERSX0xPLCBtcWQtPmNwX2hxZF9jdHhfc2F2ZV9iYXNlX2FkZHJfbG8pOworCVdSRUczMihtbUNQ X0hRRF9DVFhfU0FWRV9CQVNFX0FERFJfSEksIG1xZC0+Y3BfaHFkX2N0eF9zYXZlX2Jhc2VfYWRk cl9oaSk7CisJV1JFRzMyKG1tQ1BfSFFEX0NUWF9TQVZFX0NPTlRST0wsIG1xZC0+Y3BfaHFkX2N0 eF9zYXZlX2NvbnRyb2wpOworCVdSRUczMihtbUNQX0hRRF9DTlRMX1NUQUNLX09GRlNFVCwgbXFk LT5jcF9ocWRfY250bF9zdGFja19vZmZzZXQpOworCVdSRUczMihtbUNQX0hRRF9DTlRMX1NUQUNL X1NJWkUsIG1xZC0+Y3BfaHFkX2NudGxfc3RhY2tfc2l6ZSk7CisJV1JFRzMyKG1tQ1BfSFFEX1dH X1NUQVRFX09GRlNFVCwgbXFkLT5jcF9ocWRfd2dfc3RhdGVfb2Zmc2V0KTsKKwlXUkVHMzIobW1D UF9IUURfQ1RYX1NBVkVfU0laRSwgbXFkLT5jcF9ocWRfY3R4X3NhdmVfc2l6ZSk7CisKKwlXUkVH MzIobW1DUF9IUURfSUJfQ09OVFJPTCwgbXFkLT5jcF9ocWRfaWJfY29udHJvbCk7CisJV1JFRzMy KG1tQ1BfSFFEX0VPUF9FVkVOVFMsIG1xZC0+Y3BfaHFkX2VvcF9kb25lX2V2ZW50cyk7CisJV1JF RzMyKG1tQ1BfSFFEX0VSUk9SLCBtcWQtPmNwX2hxZF9lcnJvcik7CisJV1JFRzMyKG1tQ1BfSFFE X0VPUF9XUFRSX01FTSwgbXFkLT5jcF9ocWRfZW9wX3dwdHJfbWVtKTsKKwlXUkVHMzIobW1DUF9I UURfRU9QX0RPTkVTLCBtcWQtPmNwX2hxZF9lb3BfZG9uZXMpOwogCiAJLyogc2V0IHRoZSB2bWlk IGZvciB0aGUgcXVldWUgKi8KIAlXUkVHMzIobW1DUF9IUURfVk1JRCwgbXFkLT5jcF9ocWRfdm1p ZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuaAppbmRleCA3ODhjYzNhLi5lYzNm MTFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OF8wLmgKQEAgLTI3LDQgKzI3LDkg QEAKIGV4dGVybiBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrX3ZlcnNpb24gZ2Z4X3Y4XzBf aXBfYmxvY2s7CiBleHRlcm4gY29uc3Qgc3RydWN0IGFtZGdwdV9pcF9ibG9ja192ZXJzaW9uIGdm eF92OF8xX2lwX2Jsb2NrOwogCitzdHJ1Y3QgYW1kZ3B1X2RldmljZTsKK3N0cnVjdCB2aV9tcWQ7 CisKK2ludCBnZnhfdjhfMF9tcWRfY29tbWl0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBz dHJ1Y3QgdmlfbXFkICptcWQpOworCiAjZW5kaWYKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK