From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 040/262] drm/i915: Merge sandybridge_pcode_(read|write) Date: Thu, 17 May 2018 07:03:56 +0100 Message-ID: <20180517060738.19193-40-chris@chris-wilson.co.uk> References: <20180517060738.19193-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6594F6E624 for ; Thu, 17 May 2018 06:09:14 +0000 (UTC) In-Reply-To: <20180517060738.19193-1-chris@chris-wilson.co.uk> 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 VGhlc2Ugcm91dGluZXMgYXJlIGlkZW50aWNhbCBleGNlcHQgaW4gdGhlIG5hdHVyZSBvZiB0aGUg dmFsdWUgcGFyYW1ldGVyLgpGb3Igd3JpdGVzIGl0IGlzIGEgcHVyZSBpbi1wYXJhbSwgYnV0IGZv ciBhIHJlYWQsIHdlIG5lZWQgYW4gb3V0LXBhcmFtLgpTaW5jZSB0aGV5IGRpZmZlciBpbiBhIHNp bmdsZSBsaW5lLCBtZXJnZSB0aGUgdHdvIHJvdXRpbmVzIGludG8gb25lLgoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBJ bXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYyB8IDExNCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDc0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jCmluZGV4IDNiOGI0YjQzZGM0OS4uY2ZkNWFjMTg3NmEyIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKQEAgLTkzNDYsMTIgKzkzNDYsMTAgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUg aW50IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQorc3RhdGljIGlubGluZSBpbnQgZ2VuNl9jaGVja19tYWlsYm94X3N0YXR1cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgICB1MzIgbWJveCkKIHsKLQl1 aW50MzJfdCBmbGFncyA9Ci0JCUk5MTVfUkVBRF9GVyhHRU42X1BDT0RFX01BSUxCT1gpICYgR0VO Nl9QQ09ERV9FUlJPUl9NQVNLOwotCi0Jc3dpdGNoIChmbGFncykgeworCXN3aXRjaCAobWJveCAm IEdFTjZfUENPREVfRVJST1JfTUFTSykgewogCWNhc2UgR0VONl9QQ09ERV9TVUNDRVNTOgogCQly ZXR1cm4gMDsKIAljYXNlIEdFTjZfUENPREVfVU5JTVBMRU1FTlRFRF9DTUQ6CkBAIC05MzY0LDE3 ICs5MzYyLDE1IEBAIHN0YXRpYyBpbmxpbmUgaW50IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0dXMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWNhc2UgR0VONl9QQ09ERV9USU1F T1VUOgogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UoZmxh Z3MpOworCQlNSVNTSU5HX0NBU0UobWJveCAmIEdFTjZfUENPREVfRVJST1JfTUFTSyk7CiAJCXJl dHVybiAwOwogCX0KIH0KIAotc3RhdGljIGlubGluZSBpbnQgZ2VuN19jaGVja19tYWlsYm94X3N0 YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitzdGF0aWMgaW5saW5lIGlu dCBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJCQkJICAgIHUzMiBtYm94KQogewotCXVpbnQzMl90IGZsYWdzID0KLQkJSTkxNV9S RUFEX0ZXKEdFTjZfUENPREVfTUFJTEJPWCkgJiBHRU42X1BDT0RFX0VSUk9SX01BU0s7Ci0KLQlz d2l0Y2ggKGZsYWdzKSB7CisJc3dpdGNoIChtYm94ICYgR0VONl9QQ09ERV9FUlJPUl9NQVNLKSB7 CiAJY2FzZSBHRU42X1BDT0RFX1NVQ0NFU1M6CiAJCXJldHVybiAwOwogCWNhc2UgR0VONl9QQ09E RV9JTExFR0FMX0NNRDoKQEAgLTkzODYsMTggKzkzODIsMjEgQEAgc3RhdGljIGlubGluZSBpbnQg Z2VuN19jaGVja19tYWlsYm94X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCiAJY2FzZSBHRU43X1BDT0RFX01JTl9GUkVRX1RBQkxFX0dUX1JBVElPX09VVF9PRl9SQU5H RToKIAkJcmV0dXJuIC1FT1ZFUkZMT1c7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGZsYWdz KTsKKwkJTUlTU0lOR19DQVNFKG1ib3ggJiBHRU42X1BDT0RFX0VSUk9SX01BU0spOwogCQlyZXR1 cm4gMDsKIAl9CiB9CiAKLXN0YXRpYyBpbnQgX19zYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1ib3gsIHUzMiAqdmFsKQorc3RhdGlj IGludCBfX3NhbmR5YnJpZGdlX3Bjb2RlX3J3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKKwkJCQkgIHUzMiBtYm94LCB1MzIgKnZhbCwKKwkJCQkgIGludCBmYXN0X3RpbWVvdXRf dXMsCisJCQkJICBpbnQgc2xvd190aW1lb3V0X21zLAorCQkJCSAgYm9vbCBpc19yZWFkKQogewot CWludCBzdGF0dXM7Ci0KIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+c2JfbG9jayk7 CiAKLQkvKiBHRU42X1BDT0RFXyogYXJlIG91dHNpZGUgb2YgdGhlIGZvcmNld2FrZSBkb21haW4s IHdlIGNhbgorCS8qCisJICogR0VONl9QQ09ERV8qIGFyZSBvdXRzaWRlIG9mIHRoZSBmb3JjZXdh a2UgZG9tYWluLCB3ZSBjYW4KIAkgKiB1c2UgdGUgZncgSTkxNV9SRUFEIHZhcmlhbnRzIHRvIHJl ZHVjZSB0aGUgYW1vdW50IG9mIHdvcmsKIAkgKiByZXF1aXJlZCB3aGVuIHJlYWRpbmcvd3JpdGlu Zy4KIAkgKi8KQEAgLTk0MTEsNjkgKzk0MTAsMzYgQEAgc3RhdGljIGludCBfX3NhbmR5YnJpZGdl X3Bjb2RlX3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJveCwK IAogCWlmIChfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyX2Z3KGRldl9wcml2LAogCQkJCQkgR0VO Nl9QQ09ERV9NQUlMQk9YLCBHRU42X1BDT0RFX1JFQURZLCAwLAotCQkJCQkgNTAwLCAwLCBOVUxM KSkKKwkJCQkJIGZhc3RfdGltZW91dF91cywKKwkJCQkJIHNsb3dfdGltZW91dF9tcywKKwkJCQkJ ICZtYm94KSkKIAkJcmV0dXJuIC1FVElNRURPVVQ7CiAKLQkqdmFsID0gSTkxNV9SRUFEX0ZXKEdF TjZfUENPREVfREFUQSk7Ci0JSTkxNV9XUklURV9GVyhHRU42X1BDT0RFX0RBVEEsIDApOworCWlm IChpc19yZWFkKQorCQkqdmFsID0gSTkxNV9SRUFEX0ZXKEdFTjZfUENPREVfREFUQSk7CiAKIAlp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+IDYpCi0JCXN0YXR1cyA9IGdlbjdfY2hlY2tfbWFpbGJv eF9zdGF0dXMoZGV2X3ByaXYpOworCQlyZXR1cm4gZ2VuN19jaGVja19tYWlsYm94X3N0YXR1cyhk ZXZfcHJpdiwgbWJveCk7CiAJZWxzZQotCQlzdGF0dXMgPSBnZW42X2NoZWNrX21haWxib3hfc3Rh dHVzKGRldl9wcml2KTsKLQotCXJldHVybiBzdGF0dXM7CisJCXJldHVybiBnZW42X2NoZWNrX21h aWxib3hfc3RhdHVzKGRldl9wcml2LCBtYm94KTsKIH0KIAogaW50IHNhbmR5YnJpZGdlX3Bjb2Rl X3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJveCwgdTMyICp2 YWwpCiB7Ci0JaW50IHN0YXR1czsKKwlpbnQgZXJyOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYt PnNiX2xvY2spOwotCXN0YXR1cyA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwg bWJveCwgdmFsKTsKKwllcnIgPSBfX3NhbmR5YnJpZGdlX3Bjb2RlX3J3KGRldl9wcml2LCBtYm94 LCB2YWwsCisJCQkJICAgICA1MDAsIDAsCisJCQkJICAgICB0cnVlKTsKIAltdXRleF91bmxvY2so JmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChzdGF0dXMpIHsKKwlpZiAoZXJyKSB7CiAJCURS TV9ERUJVR19EUklWRVIoIndhcm5pbmc6IHBjb2RlIChyZWFkIGZyb20gbWJveCAleCkgbWFpbGJv eCBhY2Nlc3MgZmFpbGVkIGZvciAlcHM6ICVkXG4iLAotCQkJCSBtYm94LCBfX2J1aWx0aW5fcmV0 dXJuX2FkZHJlc3MoMCksIHN0YXR1cyk7CisJCQkJIG1ib3gsIF9fYnVpbHRpbl9yZXR1cm5fYWRk cmVzcygwKSwgZXJyKTsKIAl9CiAKLQlyZXR1cm4gc3RhdHVzOwotfQotCi1zdGF0aWMgaW50IF9f c2FuZHlicmlkZ2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCi0JCQkJCSAgICAgdTMyIG1ib3gsIHUzMiB2YWwsCi0JCQkJCSAgICAgaW50IGZh c3RfdGltZW91dF91cywKLQkJCQkJICAgICBpbnQgc2xvd190aW1lb3V0X21zKQotewotCWludCBz dGF0dXM7Ci0KLQkvKiBHRU42X1BDT0RFXyogYXJlIG91dHNpZGUgb2YgdGhlIGZvcmNld2FrZSBk b21haW4sIHdlIGNhbgotCSAqIHVzZSB0ZSBmdyBJOTE1X1JFQUQgdmFyaWFudHMgdG8gcmVkdWNl IHRoZSBhbW91bnQgb2Ygd29yawotCSAqIHJlcXVpcmVkIHdoZW4gcmVhZGluZy93cml0aW5nLgot CSAqLwotCi0JaWYgKEk5MTVfUkVBRF9GVyhHRU42X1BDT0RFX01BSUxCT1gpICYgR0VONl9QQ09E RV9SRUFEWSkKLQkJcmV0dXJuIC1FQUdBSU47Ci0KLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVf REFUQSwgdmFsKTsKLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVfREFUQTEsIDApOwotCUk5MTVf V1JJVEVfRlcoR0VONl9QQ09ERV9NQUlMQk9YLCBHRU42X1BDT0RFX1JFQURZIHwgbWJveCk7Ci0K LQlpZiAoX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcl9mdyhkZXZfcHJpdiwKLQkJCQkJIEdFTjZf UENPREVfTUFJTEJPWCwgR0VONl9QQ09ERV9SRUFEWSwgMCwKLQkJCQkJIGZhc3RfdGltZW91dF91 cywgc2xvd190aW1lb3V0X21zLAotCQkJCQkgTlVMTCkpCi0JCXJldHVybiAtRVRJTUVET1VUOwot Ci0JSTkxNV9XUklURV9GVyhHRU42X1BDT0RFX0RBVEEsIDApOwotCi0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPiA2KQotCQlzdGF0dXMgPSBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKGRldl9w cml2KTsKLQllbHNlCi0JCXN0YXR1cyA9IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0dXMoZGV2X3By aXYpOwotCi0JcmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwogfQogCiBpbnQgc2FuZHlicmlk Z2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CkBAIC05NDgxLDMxICs5NDQ3LDMxIEBAIGludCBzYW5keWJyaWRnZV9wY29kZV93cml0ZV90aW1l b3V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgaW50IGZhc3Rf dGltZW91dF91cywKIAkJCQkgICAgaW50IHNsb3dfdGltZW91dF9tcykKIHsKLQlpbnQgc3RhdHVz OworCWludCBlcnI7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7Ci0Jc3RhdHVz ID0gX19zYW5keWJyaWRnZV9wY29kZV93cml0ZV90aW1lb3V0KGRldl9wcml2LCBtYm94LCB2YWws Ci0JCQkJCQkgICBmYXN0X3RpbWVvdXRfdXMsCi0JCQkJCQkgICBzbG93X3RpbWVvdXRfbXMpOwor CWVyciA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoZGV2X3ByaXYsIG1ib3gsICZ2YWwsCisJCQkJ ICAgICBmYXN0X3RpbWVvdXRfdXMsIHNsb3dfdGltZW91dF9tcywKKwkJCQkgICAgIGZhbHNlKTsK IAltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChzdGF0dXMpIHsKKwlp ZiAoZXJyKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIndhcm5pbmc6IHBjb2RlICh3cml0ZSBvZiAw eCUwOHggdG8gbWJveCAleCkgbWFpbGJveCBhY2Nlc3MgZmFpbGVkIGZvciAlcHM6ICVkXG4iLAot CQkJCSB2YWwsIG1ib3gsIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgc3RhdHVzKTsKKwkJ CQkgdmFsLCBtYm94LCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIGVycik7CiAJfQogCi0J cmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgYm9vbCBza2xfcGNvZGVf dHJ5X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJveCwK IAkJCQkgIHUzMiByZXF1ZXN0LCB1MzIgcmVwbHlfbWFzaywgdTMyIHJlcGx5LAogCQkJCSAgdTMy ICpzdGF0dXMpCiB7Ci0JdTMyIHZhbCA9IHJlcXVlc3Q7Ci0KLQkqc3RhdHVzID0gX19zYW5keWJy aWRnZV9wY29kZV9yZWFkKGRldl9wcml2LCBtYm94LCAmdmFsKTsKKwkqc3RhdHVzID0gX19zYW5k eWJyaWRnZV9wY29kZV9ydyhkZXZfcHJpdiwgbWJveCwgJnJlcXVlc3QsCisJCQkJCSA1MDAsIDAs CisJCQkJCSB0cnVlKTsKIAotCXJldHVybiAqc3RhdHVzIHx8ICgodmFsICYgcmVwbHlfbWFzaykg PT0gcmVwbHkpOworCXJldHVybiAqc3RhdHVzIHx8ICgocmVxdWVzdCAmIHJlcGx5X21hc2spID09 IHJlcGx5KTsKIH0KIAogLyoqCi0tIAoyLjE3LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=