From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 04/12] drm/i915: Extract BXT DIMM helpers Date: Wed, 6 Mar 2019 22:35:43 +0200 Message-ID: <20190306203551.24592-5-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 7FBF96E1BB for ; Wed, 6 Mar 2019 20:36:05 +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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClBv bGlzaCB0aGUgYnh0IERJTU0gcGFyc2luZyBieSBleHRyYWN0aW5nIGEgZmV3IHNtYWxsIGhlbHBl cnMuCgp2MjogVXNlIHN0cnVjdCBkcmFtX2RpbW1faW5mbwp2MzogRG9jdW1lbnQgd2hhdCBieHRf Z2V0X2RpbW1fc2l6ZSgpIHJldHVybnMgKEphbmkpCgpSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKaW5kZXggZTM1YTc1YmUzYTJhLi5iYmEwNTFkOWYyMWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuYwpAQCAtMTIzOCw2ICsxMjM4LDYwIEBAIHNrbF9nZXRfZHJhbV9pbmZvKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gMDsKIH0KIAorLyogUmV0dXJu cyBHYiBwZXIgRFJBTSBkZXZpY2UgKi8KK3N0YXRpYyBpbnQgYnh0X2dldF9kaW1tX3NpemUodTMy IHZhbCkKK3sKKwlzd2l0Y2ggKHZhbCAmIEJYVF9EUkFNX1NJWkVfTUFTSykgeworCWNhc2UgQlhU X0RSQU1fU0laRV80R0I6CisJCXJldHVybiA0OworCWNhc2UgQlhUX0RSQU1fU0laRV82R0I6CisJ CXJldHVybiA2OworCWNhc2UgQlhUX0RSQU1fU0laRV84R0I6CisJCXJldHVybiA4OworCWNhc2Ug QlhUX0RSQU1fU0laRV8xMkdCOgorCQlyZXR1cm4gMTI7CisJY2FzZSBCWFRfRFJBTV9TSVpFXzE2 R0I6CisJCXJldHVybiAxNjsKKwlkZWZhdWx0OgorCQlNSVNTSU5HX0NBU0UodmFsKTsKKwkJcmV0 dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW50IGJ4dF9nZXRfZGltbV93aWR0aCh1MzIgdmFsKQor eworCWlmICghYnh0X2dldF9kaW1tX3NpemUodmFsKSkKKwkJcmV0dXJuIDA7CisKKwl2YWwgPSAo dmFsICYgQlhUX0RSQU1fV0lEVEhfTUFTSykgPj4gQlhUX0RSQU1fV0lEVEhfU0hJRlQ7CisKKwly ZXR1cm4gOCA8PCB2YWw7Cit9CisKK3N0YXRpYyBpbnQgYnh0X2dldF9kaW1tX3JhbmtzKHUzMiB2 YWwpCit7CisJaWYgKCFieHRfZ2V0X2RpbW1fc2l6ZSh2YWwpKQorCQlyZXR1cm4gMDsKKworCXN3 aXRjaCAodmFsICYgQlhUX0RSQU1fUkFOS19NQVNLKSB7CisJY2FzZSBCWFRfRFJBTV9SQU5LX1NJ TkdMRToKKwkJcmV0dXJuIDE7CisJY2FzZSBCWFRfRFJBTV9SQU5LX0RVQUw6CisJCXJldHVybiAy OworCWRlZmF1bHQ6CisJCU1JU1NJTkdfQ0FTRSh2YWwpOworCQlyZXR1cm4gMDsKKwl9Cit9CisK K3N0YXRpYyB2b2lkIGJ4dF9nZXRfZGltbV9pbmZvKHN0cnVjdCBkcmFtX2RpbW1faW5mbyAqZGlt bSwKKwkJCSAgICAgIHUzMiB2YWwpCit7CisJZGltbS0+c2l6ZSA9IGJ4dF9nZXRfZGltbV9zaXpl KHZhbCk7CisJZGltbS0+d2lkdGggPSBieHRfZ2V0X2RpbW1fd2lkdGgodmFsKTsKKwlkaW1tLT5y YW5rcyA9IGJ4dF9nZXRfZGltbV9yYW5rcyh2YWwpOworfQorCiBzdGF0aWMgaW50CiBieHRfZ2V0 X2RyYW1faW5mbyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CkBAIC0xMjY2 LDQxICsxMzIwLDE5IEBAIGJ4dF9nZXRfZHJhbV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAkgKiBOb3cgcmVhZCBlYWNoIERVTklUOC85LzEwLzExIHRvIGNoZWNrIHRo ZSByYW5rIG9mIGVhY2ggZGltbXMuCiAJICovCiAJZm9yIChpID0gQlhUX0RfQ1JfRFJQMF9EVU5J VF9TVEFSVDsgaSA8PSBCWFRfRF9DUl9EUlAwX0RVTklUX0VORDsgaSsrKSB7Ci0JCXU4IHNpemUs IHdpZHRoLCByYW5rczsKLQkJdTMyIHRtcDsKKwkJc3RydWN0IGRyYW1fZGltbV9pbmZvIGRpbW07 CiAKIAkJdmFsID0gSTkxNV9SRUFEKEJYVF9EX0NSX0RSUDBfRFVOSVQoaSkpOwogCQlpZiAodmFs ID09IDB4RkZGRkZGRkYpCiAJCQljb250aW51ZTsKIAogCQlkcmFtX2luZm8tPm51bV9jaGFubmVs cysrOwotCQl0bXAgPSB2YWwgJiBCWFRfRFJBTV9SQU5LX01BU0s7Ci0KLQkJaWYgKHRtcCA9PSBC WFRfRFJBTV9SQU5LX1NJTkdMRSkKLQkJCXJhbmtzID0gMTsKLQkJZWxzZSBpZiAodG1wID09IEJY VF9EUkFNX1JBTktfRFVBTCkKLQkJCXJhbmtzID0gMjsKLQkJZWxzZQotCQkJcmFua3MgPSAwOwot Ci0JCXRtcCA9IHZhbCAmIEJYVF9EUkFNX1NJWkVfTUFTSzsKLQkJaWYgKHRtcCA9PSBCWFRfRFJB TV9TSVpFXzRHQikKLQkJCXNpemUgPSA0OwotCQllbHNlIGlmICh0bXAgPT0gQlhUX0RSQU1fU0la RV82R0IpCi0JCQlzaXplID0gNjsKLQkJZWxzZSBpZiAodG1wID09IEJYVF9EUkFNX1NJWkVfOEdC KQotCQkJc2l6ZSA9IDg7Ci0JCWVsc2UgaWYgKHRtcCA9PSBCWFRfRFJBTV9TSVpFXzEyR0IpCi0J CQlzaXplID0gMTI7Ci0JCWVsc2UgaWYgKHRtcCA9PSBCWFRfRFJBTV9TSVpFXzE2R0IpCi0JCQlz aXplID0gMTY7Ci0JCWVsc2UKLQkJCXNpemUgPSAwOwotCi0JCXRtcCA9ICh2YWwgJiBCWFRfRFJB TV9XSURUSF9NQVNLKSA+PiBCWFRfRFJBTV9XSURUSF9TSElGVDsKLQkJd2lkdGggPSAoMSA8PCB0 bXApICogODsKLQkJRFJNX0RFQlVHX0tNUygiZHJhbSBzaXplOiV1R0Igd2lkdGg6WCV1IHJhbmtz OiV1XG4iLAotCQkJICAgICAgc2l6ZSwgd2lkdGgsIHJhbmtzKTsKKworCQlieHRfZ2V0X2RpbW1f aW5mbygmZGltbSwgdmFsKTsKKworCQlEUk1fREVCVUdfS01TKCJDSCV1IERJTU0gc2l6ZTogJXUg R0IsIHdpZHRoOiBYJXUsIHJhbmtzOiAldVxuIiwKKwkJCSAgICAgIGkgLSBCWFRfRF9DUl9EUlAw X0RVTklUX1NUQVJULAorCQkJICAgICAgZGltbS5zaXplLCBkaW1tLndpZHRoLCBkaW1tLnJhbmtz KTsKIAogCQkvKgogCQkgKiBJZiBhbnkgb2YgdGhlIGNoYW5uZWwgaXMgc2luZ2xlIHJhbmsgY2hh bm5lbCwKQEAgLTEzMDgsOCArMTM0MCw4IEBAIGJ4dF9nZXRfZHJhbV9pbmZvKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJICogbWVtb3J5LCBzbyBjb25zaWRlciBzaW5nbGUg cmFuayBtZW1vcnkuCiAJCSAqLwogCQlpZiAoZHJhbV9pbmZvLT5yYW5rcyA9PSAwKQotCQkJZHJh bV9pbmZvLT5yYW5rcyA9IHJhbmtzOwotCQllbHNlIGlmIChyYW5rcyA9PSAxKQorCQkJZHJhbV9p bmZvLT5yYW5rcyA9IGRpbW0ucmFua3M7CisJCWVsc2UgaWYgKGRpbW0ucmFua3MgPT0gMSkKIAkJ CWRyYW1faW5mby0+cmFua3MgPSAxOwogCX0KIAotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=