From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH] drm/amd: Add DMCU firmware loading on raven Date: Fri, 7 Sep 2018 13:49:42 -0400 Message-ID: <20180907174942.10007-1-David.Francis@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 Cc: David Francis W1doeV0KRE1DVSAoRGlzcGxheSBNaWNyb0NvbnRyb2xsZXIgVW5pdCkgaXMgYW4gb24tR1BVIG1p Y3JvY29udHJvbGxlcgppbiBBTUQgZ3JhcGhpY3MgY2FyZHMgdGhhdCBpcyB1c2VkIGluIGZlYXR1 cmVzIGZvcgplbWJlZGRlZCBkaXNwbGF5cyBzdWNoIGFzIFBhbmVsIFNlbGYtUmVmcmVzaAoKRE1D VSBpcyBwYXJ0IG9mIHRoZSBETSBJUCBibG9jawoKW0hvd10KRE1DVSBpcyBhZGRlZCBhcyBhbiBv cHRpb24gaW4gdGhlIGVudW0gQU1ER1BVX1VDT0RFX0lECgpETUNVIG5lZWRzIHR3byBwaWVjZXMg b2YgZmlybXdhcmUgLSB0aGUgaW5pdGlhbCBlcmFtIGFuZCB0aGUKaW50ZXJydXB0IHZlY3RvcnMu ICBUaGVzZSBhcmUgdHJlYXRlZCBhcyBzZXBlcmF0ZSBwaWVjZXMgb2YKZmlybXdhcmUgYW5kIGxv YWRlZCBieSBQU1AKClRoZSBsb2FkaW5nIG9jY3VycyBpbiB0aGUgc3dfaW5pdCBob29rIG9mIERN CgpJZiB0aGUgZmlybXdhcmUgaXMgbm90IGZvdW5kLCB0aGUgc3dfaW5pdCBob29rIHJldHVybnMg d2l0aG91dCBlcnJvci4KRE1DVSBpcyBub3QgYSByZXF1aXJlbWVudCBmb3IgRE0gdG8gcnVuLgoK U2lnbmVkLW9mZi1ieTogRGF2aWQgRnJhbmNpcyA8RGF2aWQuRnJhbmNpc0BhbWQuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91Y29kZS5oICAgICB8ICAyICsKIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jICAgICAgICB8ICA2ICsrCiAuLi4v Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCA5OCArKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuaAppbmRleCBiMzU4ZTc1MTk5ODcuLjM4ZDNh ZjMxN2FhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vj b2RlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmgKQEAg LTE5Niw2ICsxOTYsOCBAQCBlbnVtIEFNREdQVV9VQ09ERV9JRCB7CiAJQU1ER1BVX1VDT0RFX0lE X1VWRDEsCiAJQU1ER1BVX1VDT0RFX0lEX1ZDRSwKIAlBTURHUFVfVUNPREVfSURfVkNOLAorCUFN REdQVV9VQ09ERV9JRF9ETUNVX0VSQU0sCisJQU1ER1BVX1VDT0RFX0lEX0RNQ1VfSU5UViwKIAlB TURHUFVfVUNPREVfSURfTUFYSU1VTSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNw X3YxMF8wLmMKaW5kZXggMDJiZTM0ZTcyZWQ5Li4yNDBkYzhjODU4NjcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCkBAIC05MSw2ICs5MSwxMiBAQCBwc3BfdjEwXzBfZ2V0 X2Z3X3R5cGUoc3RydWN0IGFtZGdwdV9maXJtd2FyZV9pbmZvICp1Y29kZSwgZW51bSBwc3BfZ2Z4 X2Z3X3R5cGUgKgogCWNhc2UgQU1ER1BVX1VDT0RFX0lEX1ZDTjoKIAkJKnR5cGUgPSBHRlhfRldf VFlQRV9WQ047CiAJCWJyZWFrOworCWNhc2UgQU1ER1BVX1VDT0RFX0lEX0RNQ1VfRVJBTToKKwkJ KnR5cGUgPSBHRlhfRldfVFlQRV9ETUNVX0VSQU07CisJCWJyZWFrOworCWNhc2UgQU1ER1BVX1VD T0RFX0lEX0RNQ1VfSU5UVjoKKwkJKnR5cGUgPSBHRlhfRldfVFlQRV9ETUNVX0lTUjsKKwkJYnJl YWs7CiAJY2FzZSBBTURHUFVfVUNPREVfSURfTUFYSU1VTToKIAlkZWZhdWx0OgogCQlyZXR1cm4g LUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVf ZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2Ft ZGdwdV9kbS5jCmluZGV4IDUxMDNlYmE3NWNiMy4uOGFkMGVlMzU5ZWY4IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTMwLDYg KzMwLDcgQEAKICNpbmNsdWRlICJ2aWQuaCIKICNpbmNsdWRlICJhbWRncHUuaCIKICNpbmNsdWRl ICJhbWRncHVfZGlzcGxheS5oIgorI2luY2x1ZGUgImFtZGdwdV91Y29kZS5oIgogI2luY2x1ZGUg ImF0b20uaCIKICNpbmNsdWRlICJhbWRncHVfZG0uaCIKICNpbmNsdWRlICJhbWRncHVfcG0uaCIK QEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8 bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+CisjaW5jbHVkZSA8 bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJt L2RybV9hdG9taWMuaD4KQEAgLTcxLDYgKzczLDEyIEBACiAKICNpbmNsdWRlICJtb2R1bGVzL2lu Yy9tb2RfZnJlZXN5bmMuaCIKIAorI2RlZmluZSBGSVJNV0FSRV9SQVZFTl9ETUNVX0VSQU0JCSJh bWRncHUvcmF2ZW5fZG1jdV9lcmFtLmJpbiIKK01PRFVMRV9GSVJNV0FSRShGSVJNV0FSRV9SQVZF Tl9ETUNVX0VSQU0pOworCisjZGVmaW5lIEZJUk1XQVJFX1JBVkVOX0RNQ1VfSU5UVgkJImFtZGdw dS9yYXZlbl9kbWN1X2ludHYuYmluIgorTU9EVUxFX0ZJUk1XQVJFKEZJUk1XQVJFX1JBVkVOX0RN Q1VfSU5UVik7CisKIC8qIGJhc2ljIGluaXQvZmluaSBBUEkgKi8KIHN0YXRpYyBpbnQgYW1kZ3B1 X2RtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogc3RhdGljIHZvaWQgYW1kZ3B1 X2RtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwpAQCAtNTE2LDYgKzUyNCw5NiBA QCBzdGF0aWMgdm9pZCBhbWRncHVfZG1fZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK IAogc3RhdGljIGludCBkbV9zd19pbml0KHZvaWQgKmhhbmRsZSkKIHsKKwljb25zdCBzdHJ1Y3Qg ZmlybXdhcmUgKmZ3OworCWNvbnN0IGNoYXIgKmZ3X25hbWVfZG1jdV9lcmFtOworCWNvbnN0IGNo YXIgKmZ3X25hbWVfZG1jdV9pbnR2OworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0 cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOworCWludCByOworCisJc3dpdGNoKGFkZXYtPmFz aWNfdHlwZSkgeworCWNhc2UgQ0hJUF9CT05BSVJFOgorCWNhc2UgQ0hJUF9IQVdBSUk6CisJY2Fz ZSBDSElQX0tBVkVSSToKKwljYXNlIENISVBfS0FCSU5JOgorCWNhc2UgQ0hJUF9NVUxMSU5TOgor CWNhc2UgQ0hJUF9UT05HQToKKwljYXNlIENISVBfRklKSToKKwljYXNlIENISVBfQ0FSUklaTzoK KwljYXNlIENISVBfU1RPTkVZOgorCWNhc2UgQ0hJUF9QT0xBUklTMTE6CisJY2FzZSBDSElQX1BP TEFSSVMxMDoKKwljYXNlIENISVBfUE9MQVJJUzEyOgorCWNhc2UgQ0hJUF9WRUdBTToKKwljYXNl IENISVBfVkVHQTEwOgorCWNhc2UgQ0hJUF9WRUdBMTI6CisJY2FzZSBDSElQX1ZFR0EyMDoKKwkJ cmV0dXJuIDA7CisJY2FzZSBDSElQX1JBVkVOOgorCQlmd19uYW1lX2RtY3VfZXJhbSA9IEZJUk1X QVJFX1JBVkVOX0RNQ1VfRVJBTTsKKwkJZndfbmFtZV9kbWN1X2ludHYgPSBGSVJNV0FSRV9SQVZF Tl9ETUNVX0lOVFY7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCURSTV9FUlJPUigiVW5zdXBwb3J0 ZWQgQVNJQyB0eXBlOiAweCVYXG4iLCBhZGV2LT5hc2ljX3R5cGUpOworCQlyZXR1cm4gLTE7CisJ fQorCisJciA9IHJlcXVlc3RfZmlybXdhcmUoJmZ3LCBmd19uYW1lX2RtY3VfZXJhbSwgYWRldi0+ ZGV2KTsKKwlpZiAociA9PSAtRU5PRU5UKQorCXsKKwkJLyogRE1DVSBmaXJtd2FyZSBpcyBub3Qg bmVjZXNzYXJ5LCBzbyBkb24ndCByYWlzZSBhIGZ1c3MgaWYgaXQncyBtaXNzaW5nICovCisJCXJl dHVybiAwOworCX0KKwlpZiAocikgeworCQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV9kbTog Q2FuJ3QgbG9hZCBmaXJtd2FyZSBcIiVzXCJcbiIsCisJCQlmd19uYW1lX2RtY3VfZXJhbSk7CisJ CXJldHVybiByOworCX0KKworCXIgPSBhbWRncHVfdWNvZGVfdmFsaWRhdGUoZncpOworCWlmIChy KSB7CisJCWRldl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2RtOiBDYW4ndCB2YWxpZGF0ZSBmaXJt d2FyZSBcIiVzXCJcbiIsCisJCQlmd19uYW1lX2RtY3VfZXJhbSk7CisJCXJlbGVhc2VfZmlybXdh cmUoZncpOworCQlmdyA9IE5VTEw7CisJCXJldHVybiByOworCX0KKworCWlmIChhZGV2LT5maXJt d2FyZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xPQURfUFNQKSB7CisJCWNvbnN0IHN0cnVjdCBj b21tb25fZmlybXdhcmVfaGVhZGVyICpoZHI7CisJCWhkciA9IChjb25zdCBzdHJ1Y3QgY29tbW9u X2Zpcm13YXJlX2hlYWRlciAqKWZ3LT5kYXRhOworCQlhZGV2LT5maXJtd2FyZS51Y29kZVtBTURH UFVfVUNPREVfSURfRE1DVV9FUkFNXS51Y29kZV9pZCA9IEFNREdQVV9VQ09ERV9JRF9ETUNVX0VS QU07CisJCWFkZXYtPmZpcm13YXJlLnVjb2RlW0FNREdQVV9VQ09ERV9JRF9ETUNVX0VSQU1dLmZ3 ID0gZnc7CisJCWFkZXYtPmZpcm13YXJlLmZ3X3NpemUgKz0KKwkJCUFMSUdOKGxlMzJfdG9fY3B1 KGhkci0+dWNvZGVfc2l6ZV9ieXRlcyksIFBBR0VfU0laRSk7CisJCURSTV9JTkZPKCJQU1AgbG9h ZGluZyBETUNVX0VSQU0gZmlybXdhcmVcbiIpOworCX0KKworCXIgPSByZXF1ZXN0X2Zpcm13YXJl KCZmdywgZndfbmFtZV9kbWN1X2ludHYsIGFkZXYtPmRldik7CisJaWYgKHIpIHsKKwkJZGV2X2Vy cihhZGV2LT5kZXYsICJhbWRncHVfZG06IENhbid0IGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAor CQkJCWZ3X25hbWVfZG1jdV9pbnR2KTsKKwkJcmV0dXJuIHI7CisJfQorCisJciA9IGFtZGdwdV91 Y29kZV92YWxpZGF0ZShmdyk7CisJaWYgKHIpIHsKKwkJZGV2X2VycihhZGV2LT5kZXYsICJhbWRn cHVfZG06IENhbid0IHZhbGlkYXRlIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCQlmd19uYW1lX2Rt Y3VfaW50dik7CisJCXJlbGVhc2VfZmlybXdhcmUoZncpOworCQlmdyA9IE5VTEw7CisJCXJldHVy biByOworCX0KKworCWlmIChhZGV2LT5maXJtd2FyZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xP QURfUFNQKSB7CisJCWNvbnN0IHN0cnVjdCBjb21tb25fZmlybXdhcmVfaGVhZGVyICpoZHI7CisJ CWhkciA9IChjb25zdCBzdHJ1Y3QgY29tbW9uX2Zpcm13YXJlX2hlYWRlciAqKWZ3LT5kYXRhOwor CQlhZGV2LT5maXJtd2FyZS51Y29kZVtBTURHUFVfVUNPREVfSURfRE1DVV9JTlRWXS51Y29kZV9p ZCA9IEFNREdQVV9VQ09ERV9JRF9ETUNVX0lOVFY7CisJCWFkZXYtPmZpcm13YXJlLnVjb2RlW0FN REdQVV9VQ09ERV9JRF9ETUNVX0lOVFZdLmZ3ID0gZnc7CisJCWFkZXYtPmZpcm13YXJlLmZ3X3Np emUgKz0KKwkJCUFMSUdOKGxlMzJfdG9fY3B1KGhkci0+dWNvZGVfc2l6ZV9ieXRlcyksIFBBR0Vf U0laRSk7CisJCURSTV9JTkZPKCJQU1AgbG9hZGluZyBETUNVX0lOVFYgZmlybXdhcmVcbiIpOwor CX0KKwogCXJldHVybiAwOwogfQogCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vYW1kLWdmeAo=