From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 11/12] drm/i915: Extract DIMM info on cnl+ Date: Wed, 6 Mar 2019 22:35:50 +0200 Message-ID: <20190306203551.24592-12-ville.syrjala@linux.intel.com> References: <20190306203551.24592-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 89B9A6E1C4 for ; Wed, 6 Mar 2019 20:36:25 +0000 (UTC) In-Reply-To: <20190306203551.24592-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCldl J2xsIG5lZWQgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1lbW9yeSBjb25maWd1cmF0aW9uIG9uIGNu bCsgdG9vLgpFeHRlbmQgdGhlIGNvZGUgdG8gcGFyc2UgdGhlIHNsaWdodGx5IGNoYW5nZWQgcmVn aXN0ZXIgbGF5b3V0LgoKdjI6IERvY3VtZW50IHdoYXQgY25sX2dldF9kaW1tX3NpemUoKSByZXR1 cm5zIChKYW5pKQoKUmV2aWV3ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyB8IDY2ICsrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCB8IDE3ICsrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCAx NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCAwZDAwZjgzN2JhN2Yu LjYxMWUxNWVkY2Q2NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMTA2LDYgKzExMDYs MzkgQEAgc3RhdGljIGludCBza2xfZ2V0X2RpbW1fcmFua3ModTE2IHZhbCkKIAlyZXR1cm4gdmFs ICsgMTsKIH0KIAorLyogUmV0dXJucyB0b3RhbCBHQiBmb3IgdGhlIHdob2xlIERJTU0gKi8KK3N0 YXRpYyBpbnQgY25sX2dldF9kaW1tX3NpemUodTE2IHZhbCkKK3sKKwlyZXR1cm4gKHZhbCAmIENO TF9EUkFNX1NJWkVfTUFTSykgLyAyOworfQorCitzdGF0aWMgaW50IGNubF9nZXRfZGltbV93aWR0 aCh1MTYgdmFsKQoreworCWlmIChjbmxfZ2V0X2RpbW1fc2l6ZSh2YWwpID09IDApCisJCXJldHVy biAwOworCisJc3dpdGNoICh2YWwgJiBDTkxfRFJBTV9XSURUSF9NQVNLKSB7CisJY2FzZSBDTkxf RFJBTV9XSURUSF9YODoKKwljYXNlIENOTF9EUkFNX1dJRFRIX1gxNjoKKwljYXNlIENOTF9EUkFN X1dJRFRIX1gzMjoKKwkJdmFsID0gKHZhbCAmIENOTF9EUkFNX1dJRFRIX01BU0spID4+IENOTF9E UkFNX1dJRFRIX1NISUZUOworCQlyZXR1cm4gOCA8PCB2YWw7CisJZGVmYXVsdDoKKwkJTUlTU0lO R19DQVNFKHZhbCk7CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGludCBjbmxfZ2V0X2Rp bW1fcmFua3ModTE2IHZhbCkKK3sKKwlpZiAoY25sX2dldF9kaW1tX3NpemUodmFsKSA9PSAwKQor CQlyZXR1cm4gMDsKKworCXZhbCA9ICh2YWwgJiBDTkxfRFJBTV9SQU5LX01BU0spID4+IENOTF9E UkFNX1JBTktfU0hJRlQ7CisKKwlyZXR1cm4gdmFsICsgMTsKK30KKwogc3RhdGljIGJvb2wKIHNr bF9pc18xNmdiX2RpbW0oY29uc3Qgc3RydWN0IGRyYW1fZGltbV9pbmZvICpkaW1tKQogewpAQCAt MTExNCwxMiArMTE0NywxOSBAQCBza2xfaXNfMTZnYl9kaW1tKGNvbnN0IHN0cnVjdCBkcmFtX2Rp bW1faW5mbyAqZGltbSkKIH0KIAogc3RhdGljIHZvaWQKLXNrbF9kcmFtX2dldF9kaW1tX2luZm8o c3RydWN0IGRyYW1fZGltbV9pbmZvICpkaW1tLAorc2tsX2RyYW1fZ2V0X2RpbW1faW5mbyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCSAgICAgICBzdHJ1Y3QgZHJhbV9kaW1t X2luZm8gKmRpbW0sCiAJCSAgICAgICBpbnQgY2hhbm5lbCwgY2hhciBkaW1tX25hbWUsIHUxNiB2 YWwpCiB7Ci0JZGltbS0+c2l6ZSA9IHNrbF9nZXRfZGltbV9zaXplKHZhbCk7Ci0JZGltbS0+d2lk dGggPSBza2xfZ2V0X2RpbW1fd2lkdGgodmFsKTsKLQlkaW1tLT5yYW5rcyA9IHNrbF9nZXRfZGlt bV9yYW5rcyh2YWwpOworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7CisJCWRpbW0t PnNpemUgPSBjbmxfZ2V0X2RpbW1fc2l6ZSh2YWwpOworCQlkaW1tLT53aWR0aCA9IGNubF9nZXRf ZGltbV93aWR0aCh2YWwpOworCQlkaW1tLT5yYW5rcyA9IGNubF9nZXRfZGltbV9yYW5rcyh2YWwp OworCX0gZWxzZSB7CisJCWRpbW0tPnNpemUgPSBza2xfZ2V0X2RpbW1fc2l6ZSh2YWwpOworCQlk aW1tLT53aWR0aCA9IHNrbF9nZXRfZGltbV93aWR0aCh2YWwpOworCQlkaW1tLT5yYW5rcyA9IHNr bF9nZXRfZGltbV9yYW5rcyh2YWwpOworCX0KIAogCURSTV9ERUJVR19LTVMoIkNIJXUgRElNTSAl YyBzaXplOiAldSBHQiwgd2lkdGg6IFgldSwgcmFua3M6ICV1LCAxNkdiIERJTU1zOiAlc1xuIiwK IAkJICAgICAgY2hhbm5lbCwgZGltbV9uYW1lLCBkaW1tLT5zaXplLCBkaW1tLT53aWR0aCwgZGlt bS0+cmFua3MsCkBAIC0xMTI3LDExICsxMTY3LDE0IEBAIHNrbF9kcmFtX2dldF9kaW1tX2luZm8o c3RydWN0IGRyYW1fZGltbV9pbmZvICpkaW1tLAogfQogCiBzdGF0aWMgaW50Ci1za2xfZHJhbV9n ZXRfY2hhbm5lbF9pbmZvKHN0cnVjdCBkcmFtX2NoYW5uZWxfaW5mbyAqY2gsCitza2xfZHJhbV9n ZXRfY2hhbm5lbF9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCSAg c3RydWN0IGRyYW1fY2hhbm5lbF9pbmZvICpjaCwKIAkJCSAgaW50IGNoYW5uZWwsIHUzMiB2YWwp CiB7Ci0Jc2tsX2RyYW1fZ2V0X2RpbW1faW5mbygmY2gtPmRpbW1fbCwgY2hhbm5lbCwgJ0wnLCB2 YWwgJiAweGZmZmYpOwotCXNrbF9kcmFtX2dldF9kaW1tX2luZm8oJmNoLT5kaW1tX3MsIGNoYW5u ZWwsICdTJywgdmFsID4+IDE2KTsKKwlza2xfZHJhbV9nZXRfZGltbV9pbmZvKGRldl9wcml2LCAm Y2gtPmRpbW1fbCwKKwkJCSAgICAgICBjaGFubmVsLCAnTCcsIHZhbCAmIDB4ZmZmZik7CisJc2ts X2RyYW1fZ2V0X2RpbW1faW5mbyhkZXZfcHJpdiwgJmNoLT5kaW1tX3MsCisJCQkgICAgICAgY2hh bm5lbCwgJ1MnLCB2YWwgPj4gMTYpOwogCiAJaWYgKGNoLT5kaW1tX2wuc2l6ZSA9PSAwICYmIGNo LT5kaW1tX3Muc2l6ZSA9PSAwKSB7CiAJCURSTV9ERUJVR19LTVMoIkNIJXUgbm90IHBvcHVsYXRl ZFxuIiwgY2hhbm5lbCk7CkBAIC0xMTczLDEyICsxMjE2LDEyIEBAIHNrbF9kcmFtX2dldF9jaGFu bmVsc19pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnQgcmV0Owog CiAJdmFsID0gSTkxNV9SRUFEKFNLTF9NQURfRElNTV9DSDBfMF8wXzBfTUNIQkFSX01DTUFJTik7 Ci0JcmV0ID0gc2tsX2RyYW1fZ2V0X2NoYW5uZWxfaW5mbygmY2gwLCAwLCB2YWwpOworCXJldCA9 IHNrbF9kcmFtX2dldF9jaGFubmVsX2luZm8oZGV2X3ByaXYsICZjaDAsIDAsIHZhbCk7CiAJaWYg KHJldCA9PSAwKQogCQlkcmFtX2luZm8tPm51bV9jaGFubmVscysrOwogCiAJdmFsID0gSTkxNV9S RUFEKFNLTF9NQURfRElNTV9DSDFfMF8wXzBfTUNIQkFSX01DTUFJTik7Ci0JcmV0ID0gc2tsX2Ry YW1fZ2V0X2NoYW5uZWxfaW5mbygmY2gxLCAxLCB2YWwpOworCXJldCA9IHNrbF9kcmFtX2dldF9j aGFubmVsX2luZm8oZGV2X3ByaXYsICZjaDEsIDEsIHZhbCk7CiAJaWYgKHJldCA9PSAwKQogCQlk cmFtX2luZm8tPm51bV9jaGFubmVscysrOwogCkBAIC0xMzc1LDEzICsxNDE4LDEwIEBAIGludGVs X2dldF9kcmFtX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkKIAkJcmV0dXJuOwogCi0JLyogTmVlZCB0byBjYWxjdWxh dGUgYmFuZHdpZHRoIG9ubHkgZm9yIEdlbjkgKi8KIAlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikp CiAJCXJldCA9IGJ4dF9nZXRfZHJhbV9pbmZvKGRldl9wcml2KTsKLQllbHNlIGlmIChJU19HRU4o ZGV2X3ByaXYsIDkpKQotCQlyZXQgPSBza2xfZ2V0X2RyYW1faW5mbyhkZXZfcHJpdik7CiAJZWxz ZQotCQlyZXQgPSBza2xfZHJhbV9nZXRfY2hhbm5lbHNfaW5mbyhkZXZfcHJpdik7CisJCXJldCA9 IHNrbF9nZXRfZHJhbV9pbmZvKGRldl9wcml2KTsKIAlpZiAocmV0KQogCQlyZXR1cm47CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDc1MjM2YjRmMGRhZi4uNjk1ZWIzZWM3MTg3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTk4NzcsOCArOTg3NywyMSBAQCBlbnVtIHNrbF9wb3dl cl9nYXRlIHsKICNkZWZpbmUgIFNLTF9EUkFNX1dJRFRIX1gzMgkJCSgweDIgPDwgOCkKICNkZWZp bmUgIFNLTF9EUkFNX1JBTktfTUFTSwkJCSgweDEgPDwgMTApCiAjZGVmaW5lICBTS0xfRFJBTV9S QU5LX1NISUZUCQkJMTAKLSNkZWZpbmUgIFNLTF9EUkFNX1JBTktfU0lOR0xFCQkJKDB4MCA8PCAx MCkKLSNkZWZpbmUgIFNLTF9EUkFNX1JBTktfRFVBTAkJCSgweDEgPDwgMTApCisjZGVmaW5lICBT S0xfRFJBTV9SQU5LXzEJCQkoMHgwIDw8IDEwKQorI2RlZmluZSAgU0tMX0RSQU1fUkFOS18yCQkJ KDB4MSA8PCAxMCkKKyNkZWZpbmUgIFNLTF9EUkFNX1JBTktfTUFTSwkJCSgweDEgPDwgMTApCisj ZGVmaW5lICBDTkxfRFJBTV9TSVpFX01BU0sJCQkweDdGCisjZGVmaW5lICBDTkxfRFJBTV9XSURU SF9NQVNLCQkJKDB4MyA8PCA3KQorI2RlZmluZSAgQ05MX0RSQU1fV0lEVEhfU0hJRlQJCQk3Cisj ZGVmaW5lICBDTkxfRFJBTV9XSURUSF9YOAkJCSgweDAgPDwgNykKKyNkZWZpbmUgIENOTF9EUkFN X1dJRFRIX1gxNgkJCSgweDEgPDwgNykKKyNkZWZpbmUgIENOTF9EUkFNX1dJRFRIX1gzMgkJCSgw eDIgPDwgNykKKyNkZWZpbmUgIENOTF9EUkFNX1JBTktfTUFTSwkJCSgweDMgPDwgOSkKKyNkZWZp bmUgIENOTF9EUkFNX1JBTktfU0hJRlQJCQk5CisjZGVmaW5lICBDTkxfRFJBTV9SQU5LXzEJCQko MHgwIDw8IDkpCisjZGVmaW5lICBDTkxfRFJBTV9SQU5LXzIJCQkoMHgxIDw8IDkpCisjZGVmaW5l ICBDTkxfRFJBTV9SQU5LXzMJCQkoMHgyIDw8IDkpCisjZGVmaW5lICBDTkxfRFJBTV9SQU5LXzQJ CQkoMHgzIDw8IDkpCiAKIC8qIFBsZWFzZSBzZWUgaHN3X3JlYWRfZGNvbXAoKSBhbmQgaHN3X3dy aXRlX2Rjb21wKCkgYmVmb3JlIHVzaW5nIHRoaXMgcmVnaXN0ZXIsCiAgKiBzaW5jZSBvbiBIU1cg d2UgY2FuJ3Qgd3JpdGUgdG8gaXQgdXNpbmcgSTkxNV9XUklURS4gKi8KLS0gCjIuMTkuMgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4