From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH v2] drm/amd: Add DMCU firmware loading on raven Date: Fri, 7 Sep 2018 15:15:58 -0400 Message-ID: <20180907191558.14900-1-David.Francis@amd.com> References: <767d6c2a-8d72-6806-6ce2-7fd8e69a7215@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <767d6c2a-8d72-6806-6ce2-7fd8e69a7215-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: David Francis W1doeV0KRE1DVSAoRGlzcGxheSBNaWNyb0NvbnRyb2xsZXIgVW5pdCkgaXMgYW4gb24tR1BVIG1p Y3JvY29udHJvbGxlcgppbiBBTUQgZ3JhcGhpY3MgY2FyZHMgdGhhdCBpcyB1c2VkIGluIGZlYXR1 cmVzIGZvcgplbWJlZGRlZCBkaXNwbGF5cyBzdWNoIGFzIFBhbmVsIFNlbGYtUmVmcmVzaAoKRE1D VSBpcyBwYXJ0IG9mIHRoZSBETSBJUCBibG9jawoKW0hvd10KRE1DVSBpcyBhZGRlZCBhcyBhbiBv cHRpb24gaW4gdGhlIGVudW0gQU1ER1BVX1VDT0RFX0lECgpETUNVIG5lZWRzIHR3byBwaWVjZXMg b2YgZmlybXdhcmUgLSB0aGUgaW5pdGlhbCBlcmFtIGFuZCB0aGUKaW50ZXJydXB0IHZlY3RvcnMu ICBUaGVzZSBhcmUgdHJlYXRlZCBhcyBzZXBlcmF0ZSBwaWVjZXMgb2YKZmlybXdhcmUgYW5kIGxv YWRlZCBieSBQU1AKClRoZSBsb2FkaW5nIG9jY3VycyBpbiB0aGUgc3dfaW5pdCBob29rIG9mIERN CgpJZiB0aGUgZmlybXdhcmUgaXMgbm90IGZvdW5kLCB0aGUgc3dfaW5pdCBob29rIHJldHVybnMg d2l0aG91dCBlcnJvci4KRE1DVSBpcyBub3QgYSByZXF1aXJlbWVudCBmb3IgRE0gdG8gcnVuLgoK djI6IE1vdmUgZG1jdSBmaXJtd2FyZSBsb2FkaW5nIGludG8gaXRzIG93biBmdW5jdGlvbiwgcHJv cGVybHkKcmVsZWFzZSBmaXJtd2FyZSwgYWRkIGRlYnVnIG1lc3NhZ2VzCgpTaWduZWQtb2ZmLWJ5 OiBEYXZpZCBGcmFuY2lzIDxEYXZpZC5GcmFuY2lzQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmggICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jICAgICAgICB8ICAgNiArCiAuLi4vZ3B1L2RybS9hbWQv ZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAxMTQgKysrKysrKysrKysrKysrKystCiAz IGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmggYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuaAppbmRleCBiMzU4ZTc1MTk5ODcuLjM4 ZDNhZjMxN2FhMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3Vjb2RlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Vjb2RlLmgK QEAgLTE5Niw2ICsxOTYsOCBAQCBlbnVtIEFNREdQVV9VQ09ERV9JRCB7CiAJQU1ER1BVX1VDT0RF X0lEX1VWRDEsCiAJQU1ER1BVX1VDT0RFX0lEX1ZDRSwKIAlBTURHUFVfVUNPREVfSURfVkNOLAor CUFNREdQVV9VQ09ERV9JRF9ETUNVX0VSQU0sCisJQU1ER1BVX1VDT0RFX0lEX0RNQ1VfSU5UViwK IAlBTURHUFVfVUNPREVfSURfTUFYSU1VTSwKIH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv cHNwX3YxMF8wLmMKaW5kZXggMDJiZTM0ZTcyZWQ5Li4yNDBkYzhjODU4NjcgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCkBAIC05MSw2ICs5MSwxMiBAQCBwc3BfdjEwXzBf Z2V0X2Z3X3R5cGUoc3RydWN0IGFtZGdwdV9maXJtd2FyZV9pbmZvICp1Y29kZSwgZW51bSBwc3Bf Z2Z4X2Z3X3R5cGUgKgogCWNhc2UgQU1ER1BVX1VDT0RFX0lEX1ZDTjoKIAkJKnR5cGUgPSBHRlhf RldfVFlQRV9WQ047CiAJCWJyZWFrOworCWNhc2UgQU1ER1BVX1VDT0RFX0lEX0RNQ1VfRVJBTToK KwkJKnR5cGUgPSBHRlhfRldfVFlQRV9ETUNVX0VSQU07CisJCWJyZWFrOworCWNhc2UgQU1ER1BV X1VDT0RFX0lEX0RNQ1VfSU5UVjoKKwkJKnR5cGUgPSBHRlhfRldfVFlQRV9ETUNVX0lTUjsKKwkJ YnJlYWs7CiAJY2FzZSBBTURHUFVfVUNPREVfSURfTUFYSU1VTToKIAlkZWZhdWx0OgogCQlyZXR1 cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRn cHVfZG0vYW1kZ3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5jCmluZGV4IDUxMDNlYmE3NWNiMy4uMDE2ZGEyNDNkZGU4IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKQEAgLTMw LDYgKzMwLDcgQEAKICNpbmNsdWRlICJ2aWQuaCIKICNpbmNsdWRlICJhbWRncHUuaCIKICNpbmNs dWRlICJhbWRncHVfZGlzcGxheS5oIgorI2luY2x1ZGUgImFtZGdwdV91Y29kZS5oIgogI2luY2x1 ZGUgImF0b20uaCIKICNpbmNsdWRlICJhbWRncHVfZG0uaCIKICNpbmNsdWRlICJhbWRncHVfcG0u aCIKQEAgLTUwLDYgKzUxLDcgQEAKICNpbmNsdWRlIDxsaW51eC92ZXJzaW9uLmg+CiAjaW5jbHVk ZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+CisjaW5jbHVk ZSA8bGludXgvZmlybXdhcmUuaD4KIAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8 ZHJtL2RybV9hdG9taWMuaD4KQEAgLTcxLDYgKzczLDEyIEBACiAKICNpbmNsdWRlICJtb2R1bGVz L2luYy9tb2RfZnJlZXN5bmMuaCIKIAorI2RlZmluZSBGSVJNV0FSRV9SQVZFTl9ETUNVX0VSQU0J CSJhbWRncHUvcmF2ZW5fZG1jdV9lcmFtLmJpbiIKK01PRFVMRV9GSVJNV0FSRShGSVJNV0FSRV9S QVZFTl9ETUNVX0VSQU0pOworCisjZGVmaW5lIEZJUk1XQVJFX1JBVkVOX0RNQ1VfSU5UVgkJImFt ZGdwdS9yYXZlbl9kbWN1X2ludHYuYmluIgorTU9EVUxFX0ZJUk1XQVJFKEZJUk1XQVJFX1JBVkVO X0RNQ1VfSU5UVik7CisKIC8qIGJhc2ljIGluaXQvZmluaSBBUEkgKi8KIHN0YXRpYyBpbnQgYW1k Z3B1X2RtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogc3RhdGljIHZvaWQgYW1k Z3B1X2RtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwpAQCAtNTE0LDExICs1MjIs MTE1IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2KQogCXJldHVybjsKIH0KIAotc3RhdGljIGludCBkbV9zd19pbml0KHZvaWQgKmhhbmRsZSkK K3N0YXRpYyBpbnQgbG9hZF9kbWN1X2Z3KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogewor CWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZnc7CisJY29uc3QgY2hhciAqZndfbmFtZV9kbWN1X2Vy YW07CisJY29uc3QgY2hhciAqZndfbmFtZV9kbWN1X2ludHY7CisJaW50IHI7CisJY29uc3Qgc3Ry dWN0IGNvbW1vbl9maXJtd2FyZV9oZWFkZXIgKmhkcjsKKworCXN3aXRjaChhZGV2LT5hc2ljX3R5 cGUpIHsKKwljYXNlIENISVBfQk9OQUlSRToKKwljYXNlIENISVBfSEFXQUlJOgorCWNhc2UgQ0hJ UF9LQVZFUkk6CisJY2FzZSBDSElQX0tBQklOSToKKwljYXNlIENISVBfTVVMTElOUzoKKwljYXNl IENISVBfVE9OR0E6CisJY2FzZSBDSElQX0ZJSkk6CisJY2FzZSBDSElQX0NBUlJJWk86CisJY2Fz ZSBDSElQX1NUT05FWToKKwljYXNlIENISVBfUE9MQVJJUzExOgorCWNhc2UgQ0hJUF9QT0xBUklT MTA6CisJY2FzZSBDSElQX1BPTEFSSVMxMjoKKwljYXNlIENISVBfVkVHQU06CisJY2FzZSBDSElQ X1ZFR0ExMDoKKwljYXNlIENISVBfVkVHQTEyOgorCWNhc2UgQ0hJUF9WRUdBMjA6CisJCXJldHVy biAwOworCWNhc2UgQ0hJUF9SQVZFTjoKKwkJZndfbmFtZV9kbWN1X2VyYW0gPSBGSVJNV0FSRV9S QVZFTl9ETUNVX0VSQU07CisJCWZ3X25hbWVfZG1jdV9pbnR2ID0gRklSTVdBUkVfUkFWRU5fRE1D VV9JTlRWOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlEUk1fRVJST1IoIlVuc3VwcG9ydGVkIEFT SUMgdHlwZTogMHglWFxuIiwgYWRldi0+YXNpY190eXBlKTsKKwkJcmV0dXJuIC0xOworCX0KKwor CWlmIChhZGV2LT5maXJtd2FyZS5sb2FkX3R5cGUgIT0gQU1ER1BVX0ZXX0xPQURfUFNQKQorCXsK KwkJRFJNX0RFQlVHX0tNUygiZG06IERNQ1UgZmlybXdhcmUgbm90IHN1cHBvcnRlZCBvbiBkaXJl Y3Qgb3IgU01VIGxvYWRpbmdcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyID0gcmVxdWVzdF9m aXJtd2FyZSgmZncsIGZ3X25hbWVfZG1jdV9lcmFtLCBhZGV2LT5kZXYpOworCWlmIChyID09IC1F Tk9FTlQpCisJeworCQkvKiBETUNVIGZpcm13YXJlIGlzIG5vdCBuZWNlc3NhcnksIHNvIGRvbid0 IHJhaXNlIGEgZnVzcyBpZiBpdCdzIG1pc3NpbmcgKi8KKwkJRFJNX0RFQlVHX0tNUygiZG06IERN Q1UgZmlybXdhcmUgbm90IGZvdW5kXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChyKSB7CisJ CWRldl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2RtOiBDYW4ndCBsb2FkIGZpcm13YXJlIFwiJXNc IlxuIiwKKwkJCWZ3X25hbWVfZG1jdV9lcmFtKTsKKwkJcmV0dXJuIHI7CisJfQorCisJciA9IGFt ZGdwdV91Y29kZV92YWxpZGF0ZShmdyk7CisJaWYgKHIpIHsKKwkJZGV2X2VycihhZGV2LT5kZXYs ICJhbWRncHVfZG06IENhbid0IHZhbGlkYXRlIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCWZ3X25h bWVfZG1jdV9lcmFtKTsKKwkJcmVsZWFzZV9maXJtd2FyZShmdyk7CisJCWZ3ID0gTlVMTDsKKwkJ cmV0dXJuIHI7CisJfQorCisJaGRyID0gKGNvbnN0IHN0cnVjdCBjb21tb25fZmlybXdhcmVfaGVh ZGVyICopZnctPmRhdGE7CisJYWRldi0+ZmlybXdhcmUudWNvZGVbQU1ER1BVX1VDT0RFX0lEX0RN Q1VfRVJBTV0udWNvZGVfaWQgPSBBTURHUFVfVUNPREVfSURfRE1DVV9FUkFNOworCWFkZXYtPmZp cm13YXJlLnVjb2RlW0FNREdQVV9VQ09ERV9JRF9ETUNVX0VSQU1dLmZ3ID0gZnc7CisJYWRldi0+ ZmlybXdhcmUuZndfc2l6ZSArPQorCQlBTElHTihsZTMyX3RvX2NwdShoZHItPnVjb2RlX3NpemVf Ynl0ZXMpLCBQQUdFX1NJWkUpOworCURSTV9ERUJVR19LTVMoIlBTUCBsb2FkaW5nIERNQ1VfRVJB TSBmaXJtd2FyZVxuIik7CisKKwlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKKwlmdyA9IE5VTEw7CisK KwlyID0gcmVxdWVzdF9maXJtd2FyZSgmZncsIGZ3X25hbWVfZG1jdV9pbnR2LCBhZGV2LT5kZXYp OworCWlmIChyKSB7CisJCWRldl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2RtOiBDYW4ndCBsb2Fk IGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCQlmd19uYW1lX2RtY3VfaW50dik7CisJCXJldHVybiBy OworCX0KKworCXIgPSBhbWRncHVfdWNvZGVfdmFsaWRhdGUoZncpOworCWlmIChyKSB7CisJCWRl dl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2RtOiBDYW4ndCB2YWxpZGF0ZSBmaXJtd2FyZSBcIiVz XCJcbiIsCisJCQkJZndfbmFtZV9kbWN1X2ludHYpOworCQlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsK KwkJZncgPSBOVUxMOworCQlyZXR1cm4gcjsKKwl9CisKKwloZHIgPSAoY29uc3Qgc3RydWN0IGNv bW1vbl9maXJtd2FyZV9oZWFkZXIgKilmdy0+ZGF0YTsKKwlhZGV2LT5maXJtd2FyZS51Y29kZVtB TURHUFVfVUNPREVfSURfRE1DVV9JTlRWXS51Y29kZV9pZCA9IEFNREdQVV9VQ09ERV9JRF9ETUNV X0lOVFY7CisJYWRldi0+ZmlybXdhcmUudWNvZGVbQU1ER1BVX1VDT0RFX0lEX0RNQ1VfSU5UVl0u ZncgPSBmdzsKKwlhZGV2LT5maXJtd2FyZS5md19zaXplICs9CisJCUFMSUdOKGxlMzJfdG9fY3B1 KGhkci0+dWNvZGVfc2l6ZV9ieXRlcyksIFBBR0VfU0laRSk7CisJRFJNX0RFQlVHX0tNUygiUFNQ IGxvYWRpbmcgRE1DVV9JTlRWIGZpcm13YXJlXG4iKTsKKworCXJlbGVhc2VfZmlybXdhcmUoZncp OworCWZ3ID0gTlVMTDsKKwogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGRtX3N3X2luaXQo dm9pZCAqaGFuZGxlKQoreworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBh bWRncHVfZGV2aWNlICopaGFuZGxlOworCisJcmV0dXJuIGxvYWRfZG1jdV9mdyhhZGV2KTsKK30K Kwogc3RhdGljIGludCBkbV9zd19maW5pKHZvaWQgKmhhbmRsZSkKIHsKIAlyZXR1cm4gMDsKLS0g CjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K YW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==