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: Tue, 26 Feb 2019 17:27:17 +0200 Message-ID: <20190226152717.4495-1-ville.syrjala@linux.intel.com> References: <20190225202907.731-5-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id D815D890DF for ; Tue, 26 Feb 2019 15:27:19 +0000 (UTC) In-Reply-To: <20190225202907.731-5-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 cnMuCgp2MjogVXNlIHN0cnVjdCBkcmFtX2RpbW1faW5mbwoKU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggZDg0ZjM0ODVlNzc1Li5mOTQ4ZDQ3NWJkZjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMTI0Myw2ICsxMjQzLDU5IEBAIHNrbF9nZXRfZHJh bV9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlyZXR1cm4gMDsKIH0K IAorc3RhdGljIGludCBieHRfZ2V0X2RpbW1fc2l6ZSh1MzIgdmFsKQoreworCXN3aXRjaCAodmFs ICYgQlhUX0RSQU1fU0laRV9NQVNLKSB7CisJY2FzZSBCWFRfRFJBTV9TSVpFXzRHQjoKKwkJcmV0 dXJuIDQ7CisJY2FzZSBCWFRfRFJBTV9TSVpFXzZHQjoKKwkJcmV0dXJuIDY7CisJY2FzZSBCWFRf RFJBTV9TSVpFXzhHQjoKKwkJcmV0dXJuIDg7CisJY2FzZSBCWFRfRFJBTV9TSVpFXzEyR0I6CisJ CXJldHVybiAxMjsKKwljYXNlIEJYVF9EUkFNX1NJWkVfMTZHQjoKKwkJcmV0dXJuIDE2OworCWRl ZmF1bHQ6CisJCU1JU1NJTkdfQ0FTRSh2YWwpOworCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRp YyBpbnQgYnh0X2dldF9kaW1tX3dpZHRoKHUzMiB2YWwpCit7CisJaWYgKCFieHRfZ2V0X2RpbW1f c2l6ZSh2YWwpKQorCQlyZXR1cm4gMDsKKworCXZhbCA9ICh2YWwgJiBCWFRfRFJBTV9XSURUSF9N QVNLKSA+PiBCWFRfRFJBTV9XSURUSF9TSElGVDsKKworCXJldHVybiA4IDw8IHZhbDsKK30KKwor c3RhdGljIGludCBieHRfZ2V0X2RpbW1fcmFua3ModTMyIHZhbCkKK3sKKwlpZiAoIWJ4dF9nZXRf ZGltbV9zaXplKHZhbCkpCisJCXJldHVybiAwOworCisJc3dpdGNoICh2YWwgJiBCWFRfRFJBTV9S QU5LX01BU0spIHsKKwljYXNlIEJYVF9EUkFNX1JBTktfU0lOR0xFOgorCQlyZXR1cm4gMTsKKwlj YXNlIEJYVF9EUkFNX1JBTktfRFVBTDoKKwkJcmV0dXJuIDI7CisJZGVmYXVsdDoKKwkJTUlTU0lO R19DQVNFKHZhbCk7CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIHZvaWQgYnh0X2dldF9k aW1tX2luZm8oc3RydWN0IGRyYW1fZGltbV9pbmZvICpkaW1tLAorCQkJICAgICAgdTMyIHZhbCkK K3sKKwlkaW1tLT5zaXplID0gYnh0X2dldF9kaW1tX3NpemUodmFsKTsKKwlkaW1tLT53aWR0aCA9 IGJ4dF9nZXRfZGltbV93aWR0aCh2YWwpOworCWRpbW0tPnJhbmtzID0gYnh0X2dldF9kaW1tX3Jh bmtzKHZhbCk7Cit9CisKIHN0YXRpYyBpbnQKIGJ4dF9nZXRfZHJhbV9pbmZvKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKQEAgLTEyNzEsNDEgKzEzMjQsMTkgQEAgYnh0X2dl dF9kcmFtX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCSAqIE5vdyBy ZWFkIGVhY2ggRFVOSVQ4LzkvMTAvMTEgdG8gY2hlY2sgdGhlIHJhbmsgb2YgZWFjaCBkaW1tcy4K IAkgKi8KIAlmb3IgKGkgPSBCWFRfRF9DUl9EUlAwX0RVTklUX1NUQVJUOyBpIDw9IEJYVF9EX0NS X0RSUDBfRFVOSVRfRU5EOyBpKyspIHsKLQkJdTggc2l6ZSwgd2lkdGgsIHJhbmtzOwotCQl1MzIg dG1wOworCQlzdHJ1Y3QgZHJhbV9kaW1tX2luZm8gZGltbTsKIAogCQl2YWwgPSBJOTE1X1JFQUQo QlhUX0RfQ1JfRFJQMF9EVU5JVChpKSk7CiAJCWlmICh2YWwgPT0gMHhGRkZGRkZGRikKIAkJCWNv bnRpbnVlOwogCiAJCWRyYW1faW5mby0+bnVtX2NoYW5uZWxzKys7Ci0JCXRtcCA9IHZhbCAmIEJY VF9EUkFNX1JBTktfTUFTSzsKLQotCQlpZiAodG1wID09IEJYVF9EUkFNX1JBTktfU0lOR0xFKQot CQkJcmFua3MgPSAxOwotCQllbHNlIGlmICh0bXAgPT0gQlhUX0RSQU1fUkFOS19EVUFMKQotCQkJ cmFua3MgPSAyOwotCQllbHNlCi0JCQlyYW5rcyA9IDA7Ci0KLQkJdG1wID0gdmFsICYgQlhUX0RS QU1fU0laRV9NQVNLOwotCQlpZiAodG1wID09IEJYVF9EUkFNX1NJWkVfNEdCKQotCQkJc2l6ZSA9 IDQ7Ci0JCWVsc2UgaWYgKHRtcCA9PSBCWFRfRFJBTV9TSVpFXzZHQikKLQkJCXNpemUgPSA2Owot CQllbHNlIGlmICh0bXAgPT0gQlhUX0RSQU1fU0laRV84R0IpCi0JCQlzaXplID0gODsKLQkJZWxz ZSBpZiAodG1wID09IEJYVF9EUkFNX1NJWkVfMTJHQikKLQkJCXNpemUgPSAxMjsKLQkJZWxzZSBp ZiAodG1wID09IEJYVF9EUkFNX1NJWkVfMTZHQikKLQkJCXNpemUgPSAxNjsKLQkJZWxzZQotCQkJ c2l6ZSA9IDA7Ci0KLQkJdG1wID0gKHZhbCAmIEJYVF9EUkFNX1dJRFRIX01BU0spID4+IEJYVF9E UkFNX1dJRFRIX1NISUZUOwotCQl3aWR0aCA9ICgxIDw8IHRtcCkgKiA4OwotCQlEUk1fREVCVUdf S01TKCJkcmFtIHNpemU6JWRHQiB3aWR0aDpYJWQgcmFua3M6JWRcbiIsCi0JCQkgICAgICBzaXpl LCB3aWR0aCwgcmFua3MpOworCisJCWJ4dF9nZXRfZGltbV9pbmZvKCZkaW1tLCB2YWwpOworCisJ CURSTV9ERUJVR19LTVMoIkNIJWQgRElNTSBzaXplOiAlZCBHQiwgd2lkdGg6IFglZCwgcmFua3M6 ICVkXG4iLAorCQkJICAgICAgaSAtIEJYVF9EX0NSX0RSUDBfRFVOSVRfU1RBUlQsCisJCQkgICAg ICBkaW1tLnNpemUsIGRpbW0ud2lkdGgsIGRpbW0ucmFua3MpOwogCiAJCS8qCiAJCSAqIElmIGFu eSBvZiB0aGUgY2hhbm5lbCBpcyBzaW5nbGUgcmFuayBjaGFubmVsLApAQCAtMTMxMyw4ICsxMzQ0 LDggQEAgYnh0X2dldF9kcmFtX2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCQkgKiBtZW1vcnksIHNvIGNvbnNpZGVyIHNpbmdsZSByYW5rIG1lbW9yeS4KIAkJICovCiAJ CWlmIChkcmFtX2luZm8tPnJhbmtzID09IDApCi0JCQlkcmFtX2luZm8tPnJhbmtzID0gcmFua3M7 Ci0JCWVsc2UgaWYgKHJhbmtzID09IDEpCisJCQlkcmFtX2luZm8tPnJhbmtzID0gZGltbS5yYW5r czsKKwkJZWxzZSBpZiAoZGltbS5yYW5rcyA9PSAxKQogCQkJZHJhbV9pbmZvLT5yYW5rcyA9IDE7 CiAJfQogCi0tIAoyLjE5LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeA==