From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 7/7] drm/amdgpu: update SDMA V4 microcode init Date: Thu, 1 Aug 2019 14:50:44 -0500 Message-ID: <20190801195044.10331-7-alexander.deucher@amd.com> References: <20190801195044.10331-1-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190801195044.10331-1-alexander.deucher-5C7GfCeVMHo@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: Alex Deucher , John Clements , Hawking Zhang RnJvbTogSm9obiBDbGVtZW50cyA8Sm9obi5DbGVtZW50c0BhbWQuY29tPgoKUmVtb3ZlZCBsb2Fk aW5nIGR1cGxpY2F0ZSBpbnN0YW5jZXMgb2YgU0RNQSBGVyBmb3IgQXJjdHVydXMuCldlIHVzZSBh IHNpbmdsZSBpbWFnZSBmb3IgYWxsIGluc3RhbmNlcy4KClNpZ25lZC1vZmYtYnk6IEpvaG4gQ2xl bWVudHMgPGpvaG4uY2xlbWVudHNAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEhhd2tpbmcgWmhhbmcg PEhhd2tpbmcuWmhhbmdAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogQWxleCBEZXVjaGVyIDxhbGV4 YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3Nk bWFfdjRfMC5jIHwgMTEwICsrKysrKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA3NSBpbnNlcnRpb25zKCspLCAzNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L3NkbWFfdjRfMC5jCmluZGV4IDMzNDQ0NDY0YjAyNC4uYTBjNzgyZDJkZWMyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYwpAQCAtNjUsMTMgKzY1LDYgQEAgTU9EVUxF X0ZJUk1XQVJFKCJhbWRncHUvcmF2ZW5fc2RtYS5iaW4iKTsKIE1PRFVMRV9GSVJNV0FSRSgiYW1k Z3B1L3BpY2Fzc29fc2RtYS5iaW4iKTsKIE1PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L3JhdmVuMl9z ZG1hLmJpbiIpOwogTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvYXJjdHVydXNfc2RtYS5iaW4iKTsK LU1PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2FyY3R1cnVzX3NkbWExLmJpbiIpOwotTU9EVUxFX0ZJ Uk1XQVJFKCJhbWRncHUvYXJjdHVydXNfc2RtYTIuYmluIik7Ci1NT0RVTEVfRklSTVdBUkUoImFt ZGdwdS9hcmN0dXJ1c19zZG1hMy5iaW4iKTsKLU1PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2FyY3R1 cnVzX3NkbWE0LmJpbiIpOwotTU9EVUxFX0ZJUk1XQVJFKCJhbWRncHUvYXJjdHVydXNfc2RtYTUu YmluIik7Ci1NT0RVTEVfRklSTVdBUkUoImFtZGdwdS9hcmN0dXJ1c19zZG1hNi5iaW4iKTsKLU1P RFVMRV9GSVJNV0FSRSgiYW1kZ3B1L2FyY3R1cnVzX3NkbWE3LmJpbiIpOwogCiAjZGVmaW5lIFNE TUEwX1BPV0VSX0NOVExfX09OX09GRl9DT05ESVRJT05fSE9MRF9USU1FX01BU0sgIDB4MDAwMDAw RjhMCiAjZGVmaW5lIFNETUEwX1BPV0VSX0NOVExfX09OX09GRl9TVEFUVVNfRFVSQVRJT05fVElN RV9NQVNLIDB4RkMwMDAwMDBMCkBAIC0zNzYsNiArMzY5LDQzIEBAIHN0YXRpYyB2b2lkIHNkbWFf djRfMF9pbml0X2dvbGRlbl9yZWdpc3RlcnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJ fQogfQogCitzdGF0aWMgaW50IHNkbWFfdjRfMF9pbml0X2luc3RfY3R4KHN0cnVjdCBhbWRncHVf c2RtYV9pbnN0YW5jZSAqc2RtYV9pbnN0KQoreworCWludCBlcnIgPSAwOworCWNvbnN0IHN0cnVj dCBzZG1hX2Zpcm13YXJlX2hlYWRlcl92MV8wICpoZHI7CisKKwllcnIgPSBhbWRncHVfdWNvZGVf dmFsaWRhdGUoc2RtYV9pbnN0LT5mdyk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWhk ciA9IChjb25zdCBzdHJ1Y3Qgc2RtYV9maXJtd2FyZV9oZWFkZXJfdjFfMCAqKXNkbWFfaW5zdC0+ ZnctPmRhdGE7CisJc2RtYV9pbnN0LT5md192ZXJzaW9uID0gbGUzMl90b19jcHUoaGRyLT5oZWFk ZXIudWNvZGVfdmVyc2lvbik7CisJc2RtYV9pbnN0LT5mZWF0dXJlX3ZlcnNpb24gPSBsZTMyX3Rv X2NwdShoZHItPnVjb2RlX2ZlYXR1cmVfdmVyc2lvbik7CisKKwlpZiAoc2RtYV9pbnN0LT5mZWF0 dXJlX3ZlcnNpb24gPj0gMjApCisJCXNkbWFfaW5zdC0+YnVyc3Rfbm9wID0gdHJ1ZTsKKworCXJl dHVybiAwOworfQorCitzdGF0aWMgdm9pZCBzZG1hX3Y0XzBfZGVzdHJveV9pbnN0X2N0eChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKK3sKKwlpbnQgaTsKKworCWZvciAoaSA9IDA7IGkgPCBh ZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgeworCQlpZiAoYWRldi0+c2RtYS5pbnN0YW5j ZVtpXS5mdyAhPSBOVUxMKQorCQkJcmVsZWFzZV9maXJtd2FyZShhZGV2LT5zZG1hLmluc3RhbmNl W2ldLmZ3KTsKKworCQkvKiBhcmN0dXJ1cyBzaGFyZXMgdGhlIHNhbWUgRlcgbWVtb3J5IGFjcm9z cworCQkgICBhbGwgU0RNQSBpc250YW5jZXMgKi8KKwkJaWYgKGFkZXYtPmFzaWNfdHlwZSA9PSBD SElQX0FSQ1RVUlVTKQorCQkJYnJlYWs7CisJfQorCisJbWVtc2V0KCh2b2lkKilhZGV2LT5zZG1h Lmluc3RhbmNlLCAwLAorCQlzaXplb2Yoc3RydWN0IGFtZGdwdV9zZG1hX2luc3RhbmNlKSAqIEFN REdQVV9NQVhfU0RNQV9JTlNUQU5DRVMpOworfQorCiAvKioKICAqIHNkbWFfdjRfMF9pbml0X21p Y3JvY29kZSAtIGxvYWQgdWNvZGUgaW1hZ2VzIGZyb20gZGlzawogICoKQEAgLTM5NSw3ICs0MjUs NiBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9pbml0X21pY3JvY29kZShzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKIAlpbnQgZXJyID0gMCwgaTsKIAlzdHJ1Y3QgYW1kZ3B1X2Zpcm13YXJlX2lu Zm8gKmluZm8gPSBOVUxMOwogCWNvbnN0IHN0cnVjdCBjb21tb25fZmlybXdhcmVfaGVhZGVyICpo ZWFkZXIgPSBOVUxMOwotCWNvbnN0IHN0cnVjdCBzZG1hX2Zpcm13YXJlX2hlYWRlcl92MV8wICpo ZHI7CiAKIAlEUk1fREVCVUcoIlxuIik7CiAKQEAgLTQyNCwyNiArNDUzLDQyIEBAIHN0YXRpYyBp bnQgc2RtYV92NF8wX2luaXRfbWljcm9jb2RlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQog CQlCVUcoKTsKIAl9CiAKLQlmb3IgKGkgPSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2Vz OyBpKyspIHsKLQkJaWYgKGkgPT0gMCkKLQkJCXNucHJpbnRmKGZ3X25hbWUsIHNpemVvZihmd19u YW1lKSwgImFtZGdwdS8lc19zZG1hLmJpbiIsIGNoaXBfbmFtZSk7Ci0JCWVsc2UKKwlzbnByaW50 Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJhbWRncHUvJXNfc2RtYS5iaW4iLCBjaGlwX25h bWUpOworCisJZXJyID0gcmVxdWVzdF9maXJtd2FyZSgmYWRldi0+c2RtYS5pbnN0YW5jZVswXS5m dywgZndfbmFtZSwgYWRldi0+ZGV2KTsKKwlpZiAoZXJyKQorCQlnb3RvIG91dDsKKworCWVyciA9 IHNkbWFfdjRfMF9pbml0X2luc3RfY3R4KCZhZGV2LT5zZG1hLmluc3RhbmNlWzBdKTsKKwlpZiAo ZXJyKQorCQlnb3RvIG91dDsKKworCWZvciAoaSA9IDE7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0 YW5jZXM7IGkrKykgeworCQlpZiAoYWRldi0+YXNpY190eXBlID09IENISVBfQVJDVFVSVVMpIHsK KwkJCS8qIEFjdHVydXMgd2lsbCBsZXZlcmFnZSB0aGUgc2FtZSBGVyBtZW1vcnkKKwkJCSAgIGZv ciBldmVyeSBTRE1BIGluc3RhbmNlICovCisJCQltZW1jcHkoKHZvaWQqKSZhZGV2LT5zZG1hLmlu c3RhbmNlW2ldLAorCQkJICAgICAgICh2b2lkKikmYWRldi0+c2RtYS5pbnN0YW5jZVswXSwKKwkJ CSAgICAgICBzaXplb2Yoc3RydWN0IGFtZGdwdV9zZG1hX2luc3RhbmNlKSk7CisJCX0KKwkJZWxz ZSB7CiAJCQlzbnByaW50Zihmd19uYW1lLCBzaXplb2YoZndfbmFtZSksICJhbWRncHUvJXNfc2Rt YSVkLmJpbiIsIGNoaXBfbmFtZSwgaSk7Ci0JCWVyciA9IHJlcXVlc3RfZmlybXdhcmUoJmFkZXYt PnNkbWEuaW5zdGFuY2VbaV0uZncsIGZ3X25hbWUsIGFkZXYtPmRldik7Ci0JCWlmIChlcnIpCi0J CQlnb3RvIG91dDsKLQkJZXJyID0gYW1kZ3B1X3Vjb2RlX3ZhbGlkYXRlKGFkZXYtPnNkbWEuaW5z dGFuY2VbaV0uZncpOwotCQlpZiAoZXJyKQotCQkJZ290byBvdXQ7Ci0JCWhkciA9IChjb25zdCBz dHJ1Y3Qgc2RtYV9maXJtd2FyZV9oZWFkZXJfdjFfMCAqKWFkZXYtPnNkbWEuaW5zdGFuY2VbaV0u ZnctPmRhdGE7Ci0JCWFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZndfdmVyc2lvbiA9IGxlMzJfdG9f Y3B1KGhkci0+aGVhZGVyLnVjb2RlX3ZlcnNpb24pOwotCQlhZGV2LT5zZG1hLmluc3RhbmNlW2ld LmZlYXR1cmVfdmVyc2lvbiA9IGxlMzJfdG9fY3B1KGhkci0+dWNvZGVfZmVhdHVyZV92ZXJzaW9u KTsKLQkJaWYgKGFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZmVhdHVyZV92ZXJzaW9uID49IDIwKQot CQkJYWRldi0+c2RtYS5pbnN0YW5jZVtpXS5idXJzdF9ub3AgPSB0cnVlOwotCQlEUk1fREVCVUco InBzcF9sb2FkID09ICclcydcbiIsCi0JCQkJYWRldi0+ZmlybXdhcmUubG9hZF90eXBlID09IEFN REdQVV9GV19MT0FEX1BTUCA/ICJ0cnVlIiA6ICJmYWxzZSIpOwotCi0JCWlmIChhZGV2LT5maXJt d2FyZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xPQURfUFNQKSB7CisKKwkJCWVyciA9IHJlcXVl c3RfZmlybXdhcmUoJmFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZncsIGZ3X25hbWUsIGFkZXYtPmRl dik7CisJCQlpZiAoZXJyKQorCQkJCWdvdG8gb3V0OworCisJCQllcnIgPSBzZG1hX3Y0XzBfaW5p dF9pbnN0X2N0eCgmYWRldi0+c2RtYS5pbnN0YW5jZVtpXSk7CisJCQlpZiAoZXJyKQorCQkJCWdv dG8gb3V0OworCQl9CisJfQorCisJRFJNX0RFQlVHKCJwc3BfbG9hZCA9PSAnJXMnXG4iLAorCQlh ZGV2LT5maXJtd2FyZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xPQURfUFNQID8gInRydWUiIDog ImZhbHNlIik7CisKKwlpZiAoYWRldi0+ZmlybXdhcmUubG9hZF90eXBlID09IEFNREdQVV9GV19M T0FEX1BTUCkgeworCQlmb3IgKGkgPSAwOyBpIDwgYWRldi0+c2RtYS5udW1faW5zdGFuY2VzOyBp KyspIHsKIAkJCWluZm8gPSAmYWRldi0+ZmlybXdhcmUudWNvZGVbQU1ER1BVX1VDT0RFX0lEX1NE TUEwICsgaV07CiAJCQlpbmZvLT51Y29kZV9pZCA9IEFNREdQVV9VQ09ERV9JRF9TRE1BMCArIGk7 CiAJCQlpbmZvLT5mdyA9IGFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZnc7CkBAIC00NTIsMTMgKzQ5 NywxMSBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9pbml0X21pY3JvY29kZShzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIAkJCQlBTElHTihsZTMyX3RvX2NwdShoZWFkZXItPnVjb2RlX3NpemVf Ynl0ZXMpLCBQQUdFX1NJWkUpOwogCQl9CiAJfQorCiBvdXQ6CiAJaWYgKGVycikgewogCQlEUk1f RVJST1IoInNkbWFfdjRfMDogRmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLCBmd19u YW1lKTsKLQkJZm9yIChpID0gMDsgaSA8IGFkZXYtPnNkbWEubnVtX2luc3RhbmNlczsgaSsrKSB7 Ci0JCQlyZWxlYXNlX2Zpcm13YXJlKGFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZncpOwotCQkJYWRl di0+c2RtYS5pbnN0YW5jZVtpXS5mdyA9IE5VTEw7Ci0JCX0KKwkJc2RtYV92NF8wX2Rlc3Ryb3lf aW5zdF9jdHgoYWRldik7CiAJfQogCXJldHVybiBlcnI7CiB9CkBAIC0xODExLDEwICsxODU0LDcg QEAgc3RhdGljIGludCBzZG1hX3Y0XzBfc3dfZmluaSh2b2lkICpoYW5kbGUpCiAJCQlhbWRncHVf cmluZ19maW5pKCZhZGV2LT5zZG1hLmluc3RhbmNlW2ldLnBhZ2UpOwogCX0KIAotCWZvciAoaSA9 IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewotCQlyZWxlYXNlX2Zpcm13 YXJlKGFkZXYtPnNkbWEuaW5zdGFuY2VbaV0uZncpOwotCQlhZGV2LT5zZG1hLmluc3RhbmNlW2ld LmZ3ID0gTlVMTDsKLQl9CisJc2RtYV92NF8wX2Rlc3Ryb3lfaW5zdF9jdHgoYWRldik7CiAKIAly ZXR1cm4gMDsKIH0KLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bWQtZ2Z4