From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI 7/8] drm/i915: Merge sandybridge_pcode_(read|write) Date: Fri, 26 Apr 2019 09:17:24 +0100 Message-ID: <20190426081725.31217-7-chris@chris-wilson.co.uk> References: <20190426081725.31217-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 0C3818923C for ; Fri, 26 Apr 2019 08:17:29 +0000 (UTC) Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 16366656-1500050 for ; Fri, 26 Apr 2019 09:17:27 +0100 In-Reply-To: <20190426081725.31217-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 aW50ZWxfcG0uYyB8IDExNSArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxl IGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDc1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jCmluZGV4IDRiNzYzYzI4MjIyZi4uNGIxY2Q5MDQxYjMzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKQEAgLTk3MDQsMTIgKzk3MDQsMTAgQEAgdm9pZCBpbnRlbF9pbml0X3BtKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUg aW50IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQorc3RhdGljIGlubGluZSBpbnQgZ2VuNl9jaGVja19tYWlsYm94X3N0YXR1cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJCSAgICB1MzIgbWJveCkKIHsKLQl1 MzIgZmxhZ3MgPQotCQlJOTE1X1JFQURfRlcoR0VONl9QQ09ERV9NQUlMQk9YKSAmIEdFTjZfUENP REVfRVJST1JfTUFTSzsKLQotCXN3aXRjaCAoZmxhZ3MpIHsKKwlzd2l0Y2ggKG1ib3ggJiBHRU42 X1BDT0RFX0VSUk9SX01BU0spIHsKIAljYXNlIEdFTjZfUENPREVfU1VDQ0VTUzoKIAkJcmV0dXJu IDA7CiAJY2FzZSBHRU42X1BDT0RFX1VOSU1QTEVNRU5URURfQ01EOgpAQCAtOTcyMiwxNyArOTcy MCwxNSBAQCBzdGF0aWMgaW5saW5lIGludCBnZW42X2NoZWNrX21haWxib3hfc3RhdHVzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAljYXNlIEdFTjZfUENPREVfVElNRU9VVDoK IAkJcmV0dXJuIC1FVElNRURPVVQ7CiAJZGVmYXVsdDoKLQkJTUlTU0lOR19DQVNFKGZsYWdzKTsK KwkJTUlTU0lOR19DQVNFKG1ib3ggJiBHRU42X1BDT0RFX0VSUk9SX01BU0spOwogCQlyZXR1cm4g MDsKIAl9CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IGdlbjdfY2hlY2tfbWFpbGJveF9zdGF0dXMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorc3RhdGljIGlubGluZSBpbnQgZ2Vu N19jaGVja19tYWlsYm94X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CisJCQkJCSAgICB1MzIgbWJveCkKIHsKLQl1MzIgZmxhZ3MgPQotCQlJOTE1X1JFQURfRlcoR0VO Nl9QQ09ERV9NQUlMQk9YKSAmIEdFTjZfUENPREVfRVJST1JfTUFTSzsKLQotCXN3aXRjaCAoZmxh Z3MpIHsKKwlzd2l0Y2ggKG1ib3ggJiBHRU42X1BDT0RFX0VSUk9SX01BU0spIHsKIAljYXNlIEdF TjZfUENPREVfU1VDQ0VTUzoKIAkJcmV0dXJuIDA7CiAJY2FzZSBHRU42X1BDT0RFX0lMTEVHQUxf Q01EOgpAQCAtOTc0NCwxOSArOTc0MCwyMSBAQCBzdGF0aWMgaW5saW5lIGludCBnZW43X2NoZWNr X21haWxib3hfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAljYXNl IEdFTjdfUENPREVfTUlOX0ZSRVFfVEFCTEVfR1RfUkFUSU9fT1VUX09GX1JBTkdFOgogCQlyZXR1 cm4gLUVPVkVSRkxPVzsKIAlkZWZhdWx0OgotCQlNSVNTSU5HX0NBU0UoZmxhZ3MpOworCQlNSVNT SU5HX0NBU0UobWJveCAmIEdFTjZfUENPREVfRVJST1JfTUFTSyk7CiAJCXJldHVybiAwOwogCX0K IH0KIAotc3RhdGljIGludAotX19zYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1ib3gsIHUzMiAqdmFsKQorc3RhdGljIGludCBfX3Nh bmR5YnJpZGdlX3Bjb2RlX3J3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJ CQkgIHUzMiBtYm94LCB1MzIgKnZhbCwKKwkJCQkgIGludCBmYXN0X3RpbWVvdXRfdXMsCisJCQkJ ICBpbnQgc2xvd190aW1lb3V0X21zLAorCQkJCSAgYm9vbCBpc19yZWFkKQogewotCWludCBzdGF0 dXM7Ci0KIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+c2JfbG9jayk7CiAKLQkvKiBH RU42X1BDT0RFXyogYXJlIG91dHNpZGUgb2YgdGhlIGZvcmNld2FrZSBkb21haW4sIHdlIGNhbgor CS8qCisJICogR0VONl9QQ09ERV8qIGFyZSBvdXRzaWRlIG9mIHRoZSBmb3JjZXdha2UgZG9tYWlu LCB3ZSBjYW4KIAkgKiB1c2UgdGUgZncgSTkxNV9SRUFEIHZhcmlhbnRzIHRvIHJlZHVjZSB0aGUg YW1vdW50IG9mIHdvcmsKIAkgKiByZXF1aXJlZCB3aGVuIHJlYWRpbmcvd3JpdGluZy4KIAkgKi8K QEAgLTk3NzAsNzAgKzk3NjgsMzcgQEAgX19zYW5keWJyaWRnZV9wY29kZV9yZWFkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIG1ib3gsIHUzMiAqdmFsKQogCiAJaWYgKF9f aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoJmRldl9wcml2LT51bmNvcmUsCiAJCQkJCSBHRU42 X1BDT0RFX01BSUxCT1gsIEdFTjZfUENPREVfUkVBRFksIDAsCi0JCQkJCSA1MDAsIDAsIE5VTEwp KQorCQkJCQkgZmFzdF90aW1lb3V0X3VzLAorCQkJCQkgc2xvd190aW1lb3V0X21zLAorCQkJCQkg Jm1ib3gpKQogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAotCSp2YWwgPSBJOTE1X1JFQURfRlcoR0VO Nl9QQ09ERV9EQVRBKTsKLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVfREFUQSwgMCk7CisJaWYg KGlzX3JlYWQpCisJCSp2YWwgPSBJOTE1X1JFQURfRlcoR0VONl9QQ09ERV9EQVRBKTsKIAogCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID4gNikKLQkJc3RhdHVzID0gZ2VuN19jaGVja19tYWlsYm94 X3N0YXR1cyhkZXZfcHJpdik7CisJCXJldHVybiBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKGRl dl9wcml2LCBtYm94KTsKIAllbHNlCi0JCXN0YXR1cyA9IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0 dXMoZGV2X3ByaXYpOwotCi0JcmV0dXJuIHN0YXR1czsKKwkJcmV0dXJuIGdlbjZfY2hlY2tfbWFp bGJveF9zdGF0dXMoZGV2X3ByaXYsIG1ib3gpOwogfQogCiBpbnQKIHNhbmR5YnJpZGdlX3Bjb2Rl X3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJveCwgdTMyICp2 YWwpCiB7Ci0JaW50IHN0YXR1czsKKwlpbnQgZXJyOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYt PnNiX2xvY2spOwotCXN0YXR1cyA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChkZXZfcHJpdiwg bWJveCwgdmFsKTsKKwllcnIgPSBfX3NhbmR5YnJpZGdlX3Bjb2RlX3J3KGRldl9wcml2LCBtYm94 LCB2YWwsCisJCQkJICAgICA1MDAsIDAsCisJCQkJICAgICB0cnVlKTsKIAltdXRleF91bmxvY2so JmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChzdGF0dXMpIHsKKwlpZiAoZXJyKSB7CiAJCURS TV9ERUJVR19EUklWRVIoIndhcm5pbmc6IHBjb2RlIChyZWFkIGZyb20gbWJveCAleCkgbWFpbGJv eCBhY2Nlc3MgZmFpbGVkIGZvciAlcHM6ICVkXG4iLAotCQkJCSBtYm94LCBfX2J1aWx0aW5fcmV0 dXJuX2FkZHJlc3MoMCksIHN0YXR1cyk7CisJCQkJIG1ib3gsIF9fYnVpbHRpbl9yZXR1cm5fYWRk cmVzcygwKSwgZXJyKTsKIAl9CiAKLQlyZXR1cm4gc3RhdHVzOwotfQotCi1zdGF0aWMgaW50IF9f c2FuZHlicmlkZ2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCi0JCQkJCSAgICAgdTMyIG1ib3gsIHUzMiB2YWwsCi0JCQkJCSAgICAgaW50IGZh c3RfdGltZW91dF91cywKLQkJCQkJICAgICBpbnQgc2xvd190aW1lb3V0X21zKQotewotCWludCBz dGF0dXM7Ci0KLQkvKiBHRU42X1BDT0RFXyogYXJlIG91dHNpZGUgb2YgdGhlIGZvcmNld2FrZSBk b21haW4sIHdlIGNhbgotCSAqIHVzZSB0ZSBmdyBJOTE1X1JFQUQgdmFyaWFudHMgdG8gcmVkdWNl IHRoZSBhbW91bnQgb2Ygd29yawotCSAqIHJlcXVpcmVkIHdoZW4gcmVhZGluZy93cml0aW5nLgot CSAqLwotCi0JaWYgKEk5MTVfUkVBRF9GVyhHRU42X1BDT0RFX01BSUxCT1gpICYgR0VONl9QQ09E RV9SRUFEWSkKLQkJcmV0dXJuIC1FQUdBSU47Ci0KLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVf REFUQSwgdmFsKTsKLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVfREFUQTEsIDApOwotCUk5MTVf V1JJVEVfRlcoR0VONl9QQ09ERV9NQUlMQk9YLCBHRU42X1BDT0RFX1JFQURZIHwgbWJveCk7Ci0K LQlpZiAoX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcl9mdygmZGV2X3ByaXYtPnVuY29yZSwKLQkJ CQkJIEdFTjZfUENPREVfTUFJTEJPWCwgR0VONl9QQ09ERV9SRUFEWSwgMCwKLQkJCQkJIGZhc3Rf dGltZW91dF91cywgc2xvd190aW1lb3V0X21zLAotCQkJCQkgTlVMTCkpCi0JCXJldHVybiAtRVRJ TUVET1VUOwotCi0JSTkxNV9XUklURV9GVyhHRU42X1BDT0RFX0RBVEEsIDApOwotCi0JaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPiA2KQotCQlzdGF0dXMgPSBnZW43X2NoZWNrX21haWxib3hfc3Rh dHVzKGRldl9wcml2KTsKLQllbHNlCi0JCXN0YXR1cyA9IGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0 dXMoZGV2X3ByaXYpOwotCi0JcmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwogfQogCiBpbnQg c2FuZHlicmlkZ2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCkBAIC05ODQxLDMxICs5ODA2LDMxIEBAIGludCBzYW5keWJyaWRnZV9wY29kZV93 cml0ZV90aW1lb3V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAg aW50IGZhc3RfdGltZW91dF91cywKIAkJCQkgICAgaW50IHNsb3dfdGltZW91dF9tcykKIHsKLQlp bnQgc3RhdHVzOworCWludCBlcnI7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7 Ci0Jc3RhdHVzID0gX19zYW5keWJyaWRnZV9wY29kZV93cml0ZV90aW1lb3V0KGRldl9wcml2LCBt Ym94LCB2YWwsCi0JCQkJCQkgICBmYXN0X3RpbWVvdXRfdXMsCi0JCQkJCQkgICBzbG93X3RpbWVv dXRfbXMpOworCWVyciA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoZGV2X3ByaXYsIG1ib3gsICZ2 YWwsCisJCQkJICAgICBmYXN0X3RpbWVvdXRfdXMsIHNsb3dfdGltZW91dF9tcywKKwkJCQkgICAg IGZhbHNlKTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChzdGF0 dXMpIHsKKwlpZiAoZXJyKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIndhcm5pbmc6IHBjb2RlICh3 cml0ZSBvZiAweCUwOHggdG8gbWJveCAleCkgbWFpbGJveCBhY2Nlc3MgZmFpbGVkIGZvciAlcHM6 ICVkXG4iLAotCQkJCSB2YWwsIG1ib3gsIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgc3Rh dHVzKTsKKwkJCQkgdmFsLCBtYm94LCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIGVycik7 CiAJfQogCi0JcmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgYm9vbCBz a2xfcGNvZGVfdHJ5X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1 MzIgbWJveCwKIAkJCQkgIHUzMiByZXF1ZXN0LCB1MzIgcmVwbHlfbWFzaywgdTMyIHJlcGx5LAog CQkJCSAgdTMyICpzdGF0dXMpCiB7Ci0JdTMyIHZhbCA9IHJlcXVlc3Q7Ci0KLQkqc3RhdHVzID0g X19zYW5keWJyaWRnZV9wY29kZV9yZWFkKGRldl9wcml2LCBtYm94LCAmdmFsKTsKKwkqc3RhdHVz ID0gX19zYW5keWJyaWRnZV9wY29kZV9ydyhkZXZfcHJpdiwgbWJveCwgJnJlcXVlc3QsCisJCQkJ CSA1MDAsIDAsCisJCQkJCSB0cnVlKTsKIAotCXJldHVybiAqc3RhdHVzIHx8ICgodmFsICYgcmVw bHlfbWFzaykgPT0gcmVwbHkpOworCXJldHVybiAqc3RhdHVzIHx8ICgocmVxdWVzdCAmIHJlcGx5 X21hc2spID09IHJlcGx5KTsKIH0KIAogLyoqCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==