From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 09/10] drm/i915: Merge sandybridge_pcode_(read|write) Date: Wed, 7 Mar 2018 19:42:01 +0000 Message-ID: <20180307194202.31099-10-chris@chris-wilson.co.uk> References: <20180307194202.31099-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 D829D6E239 for ; Wed, 7 Mar 2018 19:42:33 +0000 (UTC) In-Reply-To: <20180307194202.31099-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+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8IDExNCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggMWYxZjBlYjA2MGM3Li5jYmViZjM2 ZmRlZGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtOTE1NSwxMiArOTE1NSwxMCBAQCB2 b2lkIGludGVsX2luaXRfcG0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCX0K IH0KIAotc3RhdGljIGlubGluZSBpbnQgZ2VuNl9jaGVja19tYWlsYm94X3N0YXR1cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitzdGF0aWMgaW5saW5lIGludCBnZW42X2NoZWNr X21haWxib3hfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkJ ICAgIHUzMiBtYm94KQogewotCXVpbnQzMl90IGZsYWdzID0KLQkJSTkxNV9SRUFEX0ZXKEdFTjZf UENPREVfTUFJTEJPWCkgJiBHRU42X1BDT0RFX0VSUk9SX01BU0s7Ci0KLQlzd2l0Y2ggKGZsYWdz KSB7CisJc3dpdGNoIChtYm94ICYgR0VONl9QQ09ERV9FUlJPUl9NQVNLKSB7CiAJY2FzZSBHRU42 X1BDT0RFX1NVQ0NFU1M6CiAJCXJldHVybiAwOwogCWNhc2UgR0VONl9QQ09ERV9VTklNUExFTUVO VEVEX0NNRDoKQEAgLTkxNzMsMTcgKzkxNzEsMTUgQEAgc3RhdGljIGlubGluZSBpbnQgZ2VuNl9j aGVja19tYWlsYm94X3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJ Y2FzZSBHRU42X1BDT0RFX1RJTUVPVVQ6CiAJCXJldHVybiAtRVRJTUVET1VUOwogCWRlZmF1bHQ6 Ci0JCU1JU1NJTkdfQ0FTRShmbGFncyk7CisJCU1JU1NJTkdfQ0FTRShtYm94ICYgR0VONl9QQ09E RV9FUlJPUl9NQVNLKTsKIAkJcmV0dXJuIDA7CiAJfQogfQogCi1zdGF0aWMgaW5saW5lIGludCBn ZW43X2NoZWNrX21haWxib3hfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKK3N0YXRpYyBpbmxpbmUgaW50IGdlbjdfY2hlY2tfbWFpbGJveF9zdGF0dXMoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCQkgICAgdTMyIG1ib3gpCiB7Ci0JdWludDMy X3QgZmxhZ3MgPQotCQlJOTE1X1JFQURfRlcoR0VONl9QQ09ERV9NQUlMQk9YKSAmIEdFTjZfUENP REVfRVJST1JfTUFTSzsKLQotCXN3aXRjaCAoZmxhZ3MpIHsKKwlzd2l0Y2ggKG1ib3ggJiBHRU42 X1BDT0RFX0VSUk9SX01BU0spIHsKIAljYXNlIEdFTjZfUENPREVfU1VDQ0VTUzoKIAkJcmV0dXJu IDA7CiAJY2FzZSBHRU42X1BDT0RFX0lMTEVHQUxfQ01EOgpAQCAtOTE5NSwxOCArOTE5MSwyMSBA QCBzdGF0aWMgaW5saW5lIGludCBnZW43X2NoZWNrX21haWxib3hfc3RhdHVzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAljYXNlIEdFTjdfUENPREVfTUlOX0ZSRVFfVEFCTEVf R1RfUkFUSU9fT1VUX09GX1JBTkdFOgogCQlyZXR1cm4gLUVPVkVSRkxPVzsKIAlkZWZhdWx0Ogot CQlNSVNTSU5HX0NBU0UoZmxhZ3MpOworCQlNSVNTSU5HX0NBU0UobWJveCAmIEdFTjZfUENPREVf RVJST1JfTUFTSyk7CiAJCXJldHVybiAwOwogCX0KIH0KIAotc3RhdGljIGludCBfX3NhbmR5YnJp ZGdlX3Bjb2RlX3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJv eCwgdTMyICp2YWwpCitzdGF0aWMgaW50IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAorCQkJCSAgdTMyIG1ib3gsIHUzMiAqdmFsLAorCQkJ CSAgaW50IGZhc3RfdGltZW91dF91cywKKwkJCQkgIGludCBzbG93X3RpbWVvdXRfbXMsCisJCQkJ ICBib29sIGlzX3JlYWQpCiB7Ci0JaW50IHN0YXR1czsKLQogCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JmRldl9wcml2LT5zYl9sb2NrKTsKIAotCS8qIEdFTjZfUENPREVfKiBhcmUgb3V0c2lkZSBvZiB0 aGUgZm9yY2V3YWtlIGRvbWFpbiwgd2UgY2FuCisJLyoKKwkgKiBHRU42X1BDT0RFXyogYXJlIG91 dHNpZGUgb2YgdGhlIGZvcmNld2FrZSBkb21haW4sIHdlIGNhbgogCSAqIHVzZSB0ZSBmdyBJOTE1 X1JFQUQgdmFyaWFudHMgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2Ygd29yawogCSAqIHJlcXVpcmVk IHdoZW4gcmVhZGluZy93cml0aW5nLgogCSAqLwpAQCAtOTIyMCw2OSArOTIxOSwzNiBAQCBzdGF0 aWMgaW50IF9fc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHUzMiBtYm94LAogCiAJaWYgKF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZnco ZGV2X3ByaXYsCiAJCQkJCSBHRU42X1BDT0RFX01BSUxCT1gsIEdFTjZfUENPREVfUkVBRFksIDAs Ci0JCQkJCSA1MDAsIDAsIE5VTEwpKQorCQkJCQkgZmFzdF90aW1lb3V0X3VzLAorCQkJCQkgc2xv d190aW1lb3V0X21zLAorCQkJCQkgJm1ib3gpKQogCQlyZXR1cm4gLUVUSU1FRE9VVDsKIAotCSp2 YWwgPSBJOTE1X1JFQURfRlcoR0VONl9QQ09ERV9EQVRBKTsKLQlJOTE1X1dSSVRFX0ZXKEdFTjZf UENPREVfREFUQSwgMCk7CisJaWYgKGlzX3JlYWQpCisJCSp2YWwgPSBJOTE1X1JFQURfRlcoR0VO Nl9QQ09ERV9EQVRBKTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID4gNikKLQkJc3RhdHVz ID0gZ2VuN19jaGVja19tYWlsYm94X3N0YXR1cyhkZXZfcHJpdik7CisJCXJldHVybiBnZW43X2No ZWNrX21haWxib3hfc3RhdHVzKGRldl9wcml2LCBtYm94KTsKIAllbHNlCi0JCXN0YXR1cyA9IGdl bjZfY2hlY2tfbWFpbGJveF9zdGF0dXMoZGV2X3ByaXYpOwotCi0JcmV0dXJuIHN0YXR1czsKKwkJ cmV0dXJuIGdlbjZfY2hlY2tfbWFpbGJveF9zdGF0dXMoZGV2X3ByaXYsIG1ib3gpOwogfQogCiBp bnQgc2FuZHlicmlkZ2VfcGNvZGVfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIHUzMiBtYm94LCB1MzIgKnZhbCkKIHsKLQlpbnQgc3RhdHVzOworCWludCBlcnI7CiAKIAlt dXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7Ci0Jc3RhdHVzID0gX19zYW5keWJyaWRnZV9w Y29kZV9yZWFkKGRldl9wcml2LCBtYm94LCB2YWwpOworCWVyciA9IF9fc2FuZHlicmlkZ2VfcGNv ZGVfcncoZGV2X3ByaXYsIG1ib3gsIHZhbCwKKwkJCQkgICAgNTAwLCAwLAorCQkJCSAgICB0cnVl KTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKIAotCWlmIChzdGF0dXMpIHsK KwlpZiAoZXJyKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIndhcm5pbmc6IHBjb2RlIChyZWFkIGZy b20gbWJveCAleCkgbWFpbGJveCBhY2Nlc3MgZmFpbGVkIGZvciAlcHM6ICVkXG4iLAotCQkJCSBt Ym94LCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIHN0YXR1cyk7CisJCQkJIG1ib3gsIF9f YnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgZXJyKTsKIAl9CiAKLQlyZXR1cm4gc3RhdHVzOwot fQotCi1zdGF0aWMgaW50IF9fc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0JCQkJCSAgICAgdTMyIG1ib3gsIHUzMiB2YWws Ci0JCQkJCSAgICAgaW50IGZhc3RfdGltZW91dF91cywKLQkJCQkJICAgICBpbnQgc2xvd190aW1l b3V0X21zKQotewotCWludCBzdGF0dXM7Ci0KLQkvKiBHRU42X1BDT0RFXyogYXJlIG91dHNpZGUg b2YgdGhlIGZvcmNld2FrZSBkb21haW4sIHdlIGNhbgotCSAqIHVzZSB0ZSBmdyBJOTE1X1JFQUQg dmFyaWFudHMgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2Ygd29yawotCSAqIHJlcXVpcmVkIHdoZW4g cmVhZGluZy93cml0aW5nLgotCSAqLwotCi0JaWYgKEk5MTVfUkVBRF9GVyhHRU42X1BDT0RFX01B SUxCT1gpICYgR0VONl9QQ09ERV9SRUFEWSkKLQkJcmV0dXJuIC1FQUdBSU47Ci0KLQlJOTE1X1dS SVRFX0ZXKEdFTjZfUENPREVfREFUQSwgdmFsKTsKLQlJOTE1X1dSSVRFX0ZXKEdFTjZfUENPREVf REFUQTEsIDApOwotCUk5MTVfV1JJVEVfRlcoR0VONl9QQ09ERV9NQUlMQk9YLCBHRU42X1BDT0RF X1JFQURZIHwgbWJveCk7Ci0KLQlpZiAoX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcl9mdyhkZXZf cHJpdiwKLQkJCQkJIEdFTjZfUENPREVfTUFJTEJPWCwgR0VONl9QQ09ERV9SRUFEWSwgMCwKLQkJ CQkJIGZhc3RfdGltZW91dF91cywgc2xvd190aW1lb3V0X21zLAotCQkJCQkgTlVMTCkpCi0JCXJl dHVybiAtRVRJTUVET1VUOwotCi0JSTkxNV9XUklURV9GVyhHRU42X1BDT0RFX0RBVEEsIDApOwot Ci0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPiA2KQotCQlzdGF0dXMgPSBnZW43X2NoZWNrX21h aWxib3hfc3RhdHVzKGRldl9wcml2KTsKLQllbHNlCi0JCXN0YXR1cyA9IGdlbjZfY2hlY2tfbWFp bGJveF9zdGF0dXMoZGV2X3ByaXYpOwotCi0JcmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwog fQogCiBpbnQgc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGVfdGltZW91dChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC05MjkwLDMxICs5MjU2LDMxIEBAIGludCBzYW5keWJyaWRn ZV9wY29kZV93cml0ZV90aW1lb3V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK IAkJCQkgICAgaW50IGZhc3RfdGltZW91dF91cywKIAkJCQkgICAgaW50IHNsb3dfdGltZW91dF9t cykKIHsKLQlpbnQgc3RhdHVzOworCWludCBlcnI7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ c2JfbG9jayk7Ci0Jc3RhdHVzID0gX19zYW5keWJyaWRnZV9wY29kZV93cml0ZV90aW1lb3V0KGRl dl9wcml2LCBtYm94LCB2YWwsCi0JCQkJCQkgICBmYXN0X3RpbWVvdXRfdXMsCi0JCQkJCQkgICBz bG93X3RpbWVvdXRfbXMpOworCWVyciA9IF9fc2FuZHlicmlkZ2VfcGNvZGVfcncoZGV2X3ByaXYs IG1ib3gsICZ2YWwsCisJCQkJICAgICBmYXN0X3RpbWVvdXRfdXMsIHNsb3dfdGltZW91dF9tcywK KwkJCQkgICAgIGZhbHNlKTsKIAltdXRleF91bmxvY2soJmRldl9wcml2LT5zYl9sb2NrKTsKIAot CWlmIChzdGF0dXMpIHsKKwlpZiAoZXJyKSB7CiAJCURSTV9ERUJVR19EUklWRVIoIndhcm5pbmc6 IHBjb2RlICh3cml0ZSBvZiAweCUwOHggdG8gbWJveCAleCkgbWFpbGJveCBhY2Nlc3MgZmFpbGVk IGZvciAlcHM6ICVkXG4iLAotCQkJCSB2YWwsIG1ib3gsIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVz cygwKSwgc3RhdHVzKTsKKwkJCQkgdmFsLCBtYm94LCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3Mo MCksIGVycik7CiAJfQogCi0JcmV0dXJuIHN0YXR1czsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0 aWMgYm9vbCBza2xfcGNvZGVfdHJ5X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCB1MzIgbWJveCwKIAkJCQkgIHUzMiByZXF1ZXN0LCB1MzIgcmVwbHlfbWFzaywgdTMy IHJlcGx5LAogCQkJCSAgdTMyICpzdGF0dXMpCiB7Ci0JdTMyIHZhbCA9IHJlcXVlc3Q7Ci0KLQkq c3RhdHVzID0gX19zYW5keWJyaWRnZV9wY29kZV9yZWFkKGRldl9wcml2LCBtYm94LCAmdmFsKTsK Kwkqc3RhdHVzID0gX19zYW5keWJyaWRnZV9wY29kZV9ydyhkZXZfcHJpdiwgbWJveCwgJnJlcXVl c3QsCisJCQkJCSA1MDAsIDAsCisJCQkJCSB0cnVlKTsKIAotCXJldHVybiAqc3RhdHVzIHx8ICgo dmFsICYgcmVwbHlfbWFzaykgPT0gcmVwbHkpOworCXJldHVybiAqc3RhdHVzIHx8ICgocmVxdWVz dCAmIHJlcGx5X21hc2spID09IHJlcGx5KTsKIH0KIAogLyoqCi0tIAoyLjE2LjIKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=