From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Francis Subject: [PATCH v2 3/3] drm/amd: Add DM DMCU support Date: Wed, 12 Sep 2018 10:34:45 -0400 Message-ID: <20180912143445.10610-4-David.Francis@amd.com> References: <20180912143445.10610-1-David.Francis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180912143445.10610-1-David.Francis-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 RE1DVSAoRGlzcGxheSBNaWNyb2NvbnRyb2xsZXIgVW5pdCkgaXMgYSBHUFUgY2hpcCBpbnZvbHZl ZCBpbgplRFAgZmVhdHVyZXMgbGlrZSBBZGFwdGl2ZSBCYWNrbGlnaHQgTW9kdWxhdGlvbiBhbmQg UGFuZWwgU2VsZgpSZWZyZXNoLgoKREMgaXMgYWxyZWFkeSBmdWxseSBlcXVpcHBlZCB0byBpbml0 aWFsaXplIERNQ1UgYXMgbG9uZyBhcyB0aGUKZmlybXdhcmUgaXMgbG9hZGVkLgoKQXQgdGhlIG1v bWVudCBvbmx5IHRoZSByYXZlbiBmaXJtd2FyZSBpcyBhdmFpbGFibGUuCgpBIHNpbmdsZSAuYmlu IGZpbGUgaXMgbG9hZGVkIGJ5IHRoZSBrZXJuZWwncyBsb2FkaW5nIG1lY2hhbmlzbQphbmQgc3Bs aXQgaW50byB0d28gdWNvZGVzIGFjY29yZGluZyB0byB0aGUgaGVhZGVyLgoKRE1DVSBpcyBvcHRp b25hbCwgc28gaWYgdGhlIGZpcm13YXJlIGlzIG5vdCBmb3VuZCwgbm8gZXJyb3Igb3IKd2Fybmlu ZyBpcyByYWlzZWQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBGcmFuY2lzIDxEYXZpZC5GcmFuY2lz QGFtZC5jb20+Ci0tLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5jIHwgOTEgKysrKysrKysrKysrKysrKysrLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1k Z3B1X2RtL2FtZGdwdV9kbS5oIHwgIDIgKwogMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtLmMKaW5kZXggNTEwM2ViYTc1Y2IzLi43Y2I3NTNlMWQwMjYgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u YwpAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgInZpZC5oIgogI2luY2x1ZGUgImFtZGdwdS5o IgogI2luY2x1ZGUgImFtZGdwdV9kaXNwbGF5LmgiCisjaW5jbHVkZSAiYW1kZ3B1X3Vjb2RlLmgi CiAjaW5jbHVkZSAiYXRvbS5oIgogI2luY2x1ZGUgImFtZGdwdV9kbS5oIgogI2luY2x1ZGUgImFt ZGdwdV9wbS5oIgpAQCAtNTAsNiArNTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3ZlcnNpb24uaD4K ICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGxpbnV4L3BtX3J1bnRpbWUuaD4K KyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPgogCiAjaW5jbHVkZSA8ZHJtL2RybVAuaD4KICNp bmNsdWRlIDxkcm0vZHJtX2F0b21pYy5oPgpAQCAtNzEsNiArNzMsOSBAQAogCiAjaW5jbHVkZSAi bW9kdWxlcy9pbmMvbW9kX2ZyZWVzeW5jLmgiCiAKKyNkZWZpbmUgRklSTVdBUkVfUkFWRU5fRE1D VQkJImFtZGdwdS9yYXZlbl9kbWN1ZS5iaW4iCitNT0RVTEVfRklSTVdBUkUoRklSTVdBUkVfUkFW RU5fRE1DVSk7CisKIC8qIGJhc2ljIGluaXQvZmluaSBBUEkgKi8KIHN0YXRpYyBpbnQgYW1kZ3B1 X2RtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwogc3RhdGljIHZvaWQgYW1kZ3B1 X2RtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpOwpAQCAtNTE0LDEzICs1MTksOTcg QEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYp CiAJcmV0dXJuOwogfQogCi1zdGF0aWMgaW50IGRtX3N3X2luaXQodm9pZCAqaGFuZGxlKQorc3Rh dGljIGludCBsb2FkX2RtY3VfZncoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CisJY29u c3QgY2hhciAqZndfbmFtZV9kbWN1OworCWludCByOworCWNvbnN0IHN0cnVjdCBkbWN1X2Zpcm13 YXJlX2hlYWRlcl92MV8wICpoZHI7CisKKwlzd2l0Y2goYWRldi0+YXNpY190eXBlKSB7CisJY2Fz ZSBDSElQX0JPTkFJUkU6CisJY2FzZSBDSElQX0hBV0FJSToKKwljYXNlIENISVBfS0FWRVJJOgor CWNhc2UgQ0hJUF9LQUJJTkk6CisJY2FzZSBDSElQX01VTExJTlM6CisJY2FzZSBDSElQX1RPTkdB OgorCWNhc2UgQ0hJUF9GSUpJOgorCWNhc2UgQ0hJUF9DQVJSSVpPOgorCWNhc2UgQ0hJUF9TVE9O RVk6CisJY2FzZSBDSElQX1BPTEFSSVMxMToKKwljYXNlIENISVBfUE9MQVJJUzEwOgorCWNhc2Ug Q0hJUF9QT0xBUklTMTI6CisJY2FzZSBDSElQX1ZFR0FNOgorCWNhc2UgQ0hJUF9WRUdBMTA6CisJ Y2FzZSBDSElQX1ZFR0ExMjoKKwljYXNlIENISVBfVkVHQTIwOgorCQlyZXR1cm4gMDsKKwljYXNl IENISVBfUkFWRU46CisJCWZ3X25hbWVfZG1jdSA9IEZJUk1XQVJFX1JBVkVOX0RNQ1U7CisJCWJy ZWFrOworCWRlZmF1bHQ6CisJCURSTV9FUlJPUigiVW5zdXBwb3J0ZWQgQVNJQyB0eXBlOiAweCVY XG4iLCBhZGV2LT5hc2ljX3R5cGUpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGFkZXYtPmZp cm13YXJlLmxvYWRfdHlwZSAhPSBBTURHUFVfRldfTE9BRF9QU1ApIHsKKwkJRFJNX0RFQlVHX0tN UygiZG06IERNQ1UgZmlybXdhcmUgbm90IHN1cHBvcnRlZCBvbiBkaXJlY3Qgb3IgU01VIGxvYWRp bmdcbiIpOworCQlyZXR1cm4gMDsKKwl9CisKKwlyID0gcmVxdWVzdF9maXJtd2FyZV9kaXJlY3Qo JmFkZXYtPmRtLmZ3X2RtY3UsIGZ3X25hbWVfZG1jdSwgYWRldi0+ZGV2KTsKKwlpZiAociA9PSAt RU5PRU5UKSB7CisJCS8qIERNQ1UgZmlybXdhcmUgaXMgbm90IG5lY2Vzc2FyeSwgc28gZG9uJ3Qg cmFpc2UgYSBmdXNzIGlmIGl0J3MgbWlzc2luZyAqLworCQlEUk1fREVCVUdfS01TKCJkbTogRE1D VSBmaXJtd2FyZSBub3QgZm91bmRcbiIpOworCQlhZGV2LT5kbS5md19kbWN1ID0gTlVMTDsKKwkJ cmV0dXJuIDA7CisJfQorCWlmIChyKSB7CisJCWRldl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2Rt OiBDYW4ndCBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCWZ3X25hbWVfZG1jdSk7CisJCXJl dHVybiByOworCX0KKworCXIgPSBhbWRncHVfdWNvZGVfdmFsaWRhdGUoYWRldi0+ZG0uZndfZG1j dSk7CisJaWYgKHIpIHsKKwkJZGV2X2VycihhZGV2LT5kZXYsICJhbWRncHVfZG06IENhbid0IHZh bGlkYXRlIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJCWZ3X25hbWVfZG1jdSk7CisJCXJlbGVhc2Vf ZmlybXdhcmUoYWRldi0+ZG0uZndfZG1jdSk7CisJCWFkZXYtPmRtLmZ3X2RtY3UgPSBOVUxMOwor CQlyZXR1cm4gcjsKKwl9CisKKwloZHIgPSAoY29uc3Qgc3RydWN0IGRtY3VfZmlybXdhcmVfaGVh ZGVyX3YxXzAgKilhZGV2LT5kbS5md19kbWN1LT5kYXRhOworCWFkZXYtPmZpcm13YXJlLnVjb2Rl W0FNREdQVV9VQ09ERV9JRF9ETUNVX0VSQU1dLnVjb2RlX2lkID0gQU1ER1BVX1VDT0RFX0lEX0RN Q1VfRVJBTTsKKwlhZGV2LT5maXJtd2FyZS51Y29kZVtBTURHUFVfVUNPREVfSURfRE1DVV9FUkFN XS5mdyA9IGFkZXYtPmRtLmZ3X2RtY3U7CisJYWRldi0+ZmlybXdhcmUuZndfc2l6ZSArPQorCQlB TElHTihsZTMyX3RvX2NwdShoZHItPmhlYWRlci51Y29kZV9zaXplX2J5dGVzKSAtIGxlMzJfdG9f Y3B1KGhkci0+aW50dl9zaXplX2J5dGVzKSwgUEFHRV9TSVpFKTsKKworCWFkZXYtPmZpcm13YXJl LnVjb2RlW0FNREdQVV9VQ09ERV9JRF9ETUNVX0lOVFZdLnVjb2RlX2lkID0gQU1ER1BVX1VDT0RF X0lEX0RNQ1VfSU5UVjsKKwlhZGV2LT5maXJtd2FyZS51Y29kZVtBTURHUFVfVUNPREVfSURfRE1D VV9JTlRWXS5mdyA9IGFkZXYtPmRtLmZ3X2RtY3U7CisJYWRldi0+ZmlybXdhcmUuZndfc2l6ZSAr PQorCQlBTElHTihsZTMyX3RvX2NwdShoZHItPmludHZfc2l6ZV9ieXRlcyksIFBBR0VfU0laRSk7 CisKKwlEUk1fREVCVUdfS01TKCJQU1AgbG9hZGluZyBETUNVIGZpcm13YXJlXG4iKTsKKwogCXJl dHVybiAwOwogfQogCitzdGF0aWMgaW50IGRtX3N3X2luaXQodm9pZCAqaGFuZGxlKQoreworCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxl OworCisJcmV0dXJuIGxvYWRfZG1jdV9mdyhhZGV2KTsKK30KKwogc3RhdGljIGludCBkbV9zd19m aW5pKHZvaWQgKmhhbmRsZSkKIHsKKwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqKWhhbmRsZTsKKworCWlmKGFkZXYtPmRtLmZ3X2RtY3UpIHsKKwkJ cmVsZWFzZV9maXJtd2FyZShhZGV2LT5kbS5md19kbWN1KTsKKwkJYWRldi0+ZG0uZndfZG1jdSA9 IE5VTEw7CisJfQorCiAJcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCmluZGV4IGMxNTk1ODRjMDRmNy4uOWE1N2M2 NTQ5NDNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2Rt L2FtZGdwdV9kbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0v YW1kZ3B1X2RtLmgKQEAgLTEyOSw2ICsxMjksOCBAQCBzdHJ1Y3QgYW1kZ3B1X2Rpc3BsYXlfbWFu YWdlciB7CiAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKmNhY2hlZF9zdGF0ZTsKIAogCXN0cnVj dCBkbV9jb21yZXNzb3JfaW5mbyBjb21wcmVzc29yOworCisJY29uc3Qgc3RydWN0IGZpcm13YXJl ICpmd19kbWN1OwogfTsKIAogc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgewotLSAKMi4xNy4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4 IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK