From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 02/12] drm/i915: Extract functions to derive SKL+ DIMM info Date: Wed, 6 Mar 2019 22:35:41 +0200 Message-ID: <20190306203551.24592-3-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 mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id C36616E1B8 for ; Wed, 6 Mar 2019 20:36:00 +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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk1h a2UgdGhlIGNvZGUgbGVzcyByZXBldGl0aXZlIGJ5IGV4dHJhY3RpbmcgYSBmZXcgc21hbGwgaGVs cGVycy4KCnYyOiBTcXVhc2ggaW4gdGhlIHN3aXRjaCByZW1vdmFsIGZvciBza2xfZ2V0X2RpbW1f cmFua3MoKQogICAgKGl0IGdvdCBtaXNwbGFjZWQgaW4gYSByZWJhc2UgYWNjaWRlbnQpCiAgICBE b2N1bWVudCB3aGF0IHNrbF9nZXRfZGltbV9zaXplKCkgcmV0dXJucyAoSmFuaSkKClJldmlld2Vk LWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgfCA2MyArKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBlYzNmYjM0OWQ0OWUuLjQ1ZDcwZWNkOTAz NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMDY4LDE2ICsxMDY4LDM3IEBAIHN0YXRp YyB2b2lkIGludGVsX3Nhbml0aXplX29wdGlvbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCWludGVsX2d2dF9zYW5pdGl6ZV9vcHRpb25zKGRldl9wcml2KTsKIH0KIAotc3Rh dGljIGludCBza2xfZ2V0X2RpbW1fcmFua3ModTggc2l6ZSwgdTMyIHJhbmspCisvKiBSZXR1cm5z IHRvdGFsIEdCIGZvciB0aGUgd2hvbGUgRElNTSAqLworc3RhdGljIGludCBza2xfZ2V0X2RpbW1f c2l6ZSh1MTYgdmFsKQogewotCWlmIChzaXplID09IDApCisJcmV0dXJuIHZhbCAmIFNLTF9EUkFN X1NJWkVfTUFTSzsKK30KKworc3RhdGljIGludCBza2xfZ2V0X2RpbW1fd2lkdGgodTE2IHZhbCkK K3sKKwlpZiAoc2tsX2dldF9kaW1tX3NpemUodmFsKSA9PSAwKQogCQlyZXR1cm4gMDsKLQlpZiAo cmFuayA9PSBTS0xfRFJBTV9SQU5LX1NJTkdMRSkKLQkJcmV0dXJuIDE7Ci0JZWxzZSBpZiAocmFu ayA9PSBTS0xfRFJBTV9SQU5LX0RVQUwpCi0JCXJldHVybiAyOwogCi0JcmV0dXJuIDA7CisJc3dp dGNoICh2YWwgJiBTS0xfRFJBTV9XSURUSF9NQVNLKSB7CisJY2FzZSBTS0xfRFJBTV9XSURUSF9Y ODoKKwljYXNlIFNLTF9EUkFNX1dJRFRIX1gxNjoKKwljYXNlIFNLTF9EUkFNX1dJRFRIX1gzMjoK KwkJdmFsID0gKHZhbCAmIFNLTF9EUkFNX1dJRFRIX01BU0spID4+IFNLTF9EUkFNX1dJRFRIX1NI SUZUOworCQlyZXR1cm4gOCA8PCB2YWw7CisJZGVmYXVsdDoKKwkJTUlTU0lOR19DQVNFKHZhbCk7 CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGludCBza2xfZ2V0X2RpbW1fcmFua3ModTE2 IHZhbCkKK3sKKwlpZiAoc2tsX2dldF9kaW1tX3NpemUodmFsKSA9PSAwKQorCQlyZXR1cm4gMDsK KworCXZhbCA9ICh2YWwgJiBTS0xfRFJBTV9SQU5LX01BU0spID4+IFNLTF9EUkFNX1JBTktfU0hJ RlQ7CisKKwlyZXR1cm4gdmFsICsgMTsKIH0KIAogc3RhdGljIGJvb2wKQEAgLTEwOTgsMzAgKzEx MTksMjIgQEAgc2tsX2lzXzE2Z2JfZGltbSh1OCByYW5rcywgdTggc2l6ZSwgdTggd2lkdGgpCiBz dGF0aWMgaW50CiBza2xfZHJhbV9nZXRfY2hhbm5lbF9pbmZvKHN0cnVjdCBkcmFtX2NoYW5uZWxf aW5mbyAqY2gsIHUzMiB2YWwpCiB7Ci0JdTMyIHRtcF9sLCB0bXBfczsKLQl1MzIgc192YWwgPSB2 YWwgPj4gU0tMX0RSQU1fU19TSElGVDsKKwl1MTYgdG1wX2wsIHRtcF9zOwogCi0JaWYgKCF2YWwp Ci0JCXJldHVybiAtRUlOVkFMOworCXRtcF9sID0gdmFsICYgMHhmZmZmOworCXRtcF9zID0gdmFs ID4+IDE2OwogCi0JdG1wX2wgPSB2YWwgJiBTS0xfRFJBTV9TSVpFX01BU0s7Ci0JdG1wX3MgPSBz X3ZhbCAmIFNLTF9EUkFNX1NJWkVfTUFTSzsKKwljaC0+bF9pbmZvLnNpemUgPSBza2xfZ2V0X2Rp bW1fc2l6ZSh0bXBfbCk7CisJY2gtPnNfaW5mby5zaXplID0gc2tsX2dldF9kaW1tX3NpemUodG1w X3MpOwogCi0JaWYgKHRtcF9sID09IDAgJiYgdG1wX3MgPT0gMCkKKwlpZiAoY2gtPmxfaW5mby5z aXplID09IDAgJiYgY2gtPnNfaW5mby5zaXplID09IDApCiAJCXJldHVybiAtRUlOVkFMOwogCi0J Y2gtPmxfaW5mby5zaXplID0gdG1wX2w7Ci0JY2gtPnNfaW5mby5zaXplID0gdG1wX3M7Ci0KLQl0 bXBfbCA9ICh2YWwgJiBTS0xfRFJBTV9XSURUSF9NQVNLKSA+PiBTS0xfRFJBTV9XSURUSF9TSElG VDsKLQl0bXBfcyA9IChzX3ZhbCAmIFNLTF9EUkFNX1dJRFRIX01BU0spID4+IFNLTF9EUkFNX1dJ RFRIX1NISUZUOwotCWNoLT5sX2luZm8ud2lkdGggPSAoMSA8PCB0bXBfbCkgKiA4OwotCWNoLT5z X2luZm8ud2lkdGggPSAoMSA8PCB0bXBfcykgKiA4OworCWNoLT5sX2luZm8ud2lkdGggPSBza2xf Z2V0X2RpbW1fd2lkdGgodG1wX2wpOworCWNoLT5zX2luZm8ud2lkdGggPSBza2xfZ2V0X2RpbW1f d2lkdGgodG1wX3MpOwogCi0JdG1wX2wgPSB2YWwgJiBTS0xfRFJBTV9SQU5LX01BU0s7Ci0JdG1w X3MgPSBzX3ZhbCAmIFNLTF9EUkFNX1JBTktfTUFTSzsKLQljaC0+bF9pbmZvLnJhbmtzID0gc2ts X2dldF9kaW1tX3JhbmtzKGNoLT5sX2luZm8uc2l6ZSwgdG1wX2wpOwotCWNoLT5zX2luZm8ucmFu a3MgPSBza2xfZ2V0X2RpbW1fcmFua3MoY2gtPnNfaW5mby5zaXplLCB0bXBfcyk7CisJY2gtPmxf aW5mby5yYW5rcyA9IHNrbF9nZXRfZGltbV9yYW5rcyh0bXBfbCk7CisJY2gtPnNfaW5mby5yYW5r cyA9IHNrbF9nZXRfZGltbV9yYW5rcyh0bXBfcyk7CiAKIAlpZiAoY2gtPmxfaW5mby5yYW5rcyA9 PSAyIHx8IGNoLT5zX2luZm8ucmFua3MgPT0gMikKIAkJY2gtPnJhbmtzID0gMjsKLS0gCjIuMTku MgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4