From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH 2/4] drm/i915: Deduplicate PPS register retrieval Date: Thu, 16 Jun 2016 16:37:21 +0300 Message-ID: <1466084243-5388-3-git-send-email-imre.deak@intel.com> References: <1466084243-5388-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 5E8356E1BB for ; Thu, 16 Jun 2016 13:37:29 +0000 (UTC) In-Reply-To: <1466084243-5388-1-git-send-email-imre.deak@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 Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVh a0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyB8IDEzMSAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg NjUgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK aW5kZXggMTlhOGJiZS4uM2U4NzVmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC01NzEs MzAgKzU3MSw2NCBAQCB2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJfQogfQogCitzdHJ1Y3QgcHBzX3JlZ2lzdGVycyB7 CisJaTkxNV9yZWdfdCBwcF9jdHJsOworCWk5MTVfcmVnX3QgcHBfc3RhdDsKKwlpOTE1X3JlZ190 IHBwX29uOworCWk5MTVfcmVnX3QgcHBfb2ZmOworCWk5MTVfcmVnX3QgcHBfZGl2OworfTsKKwor c3RhdGljIHZvaWQgaW50ZWxfcHBzX2dldF9yZWdpc3RlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LAorCQkJCSAgICBzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAorCQkJCSAg ICBzdHJ1Y3QgcHBzX3JlZ2lzdGVycyAqcmVncykKK3sKKwltZW1zZXQocmVncywgMCwgc2l6ZW9m KCpyZWdzKSk7CisKKwlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKKwkJaW50IGlkeCA9IGJ4 dF9wb3dlcl9zZXF1ZW5jZXJfaWR4KGludGVsX2RwKTsKKworCQlyZWdzLT5wcF9jdHJsID0gQlhU X1BQX0NPTlRST0woaWR4KTsKKwkJcmVncy0+cHBfc3RhdCA9IEJYVF9QUF9TVEFUVVMoaWR4KTsK KwkJcmVncy0+cHBfb24gPSBCWFRfUFBfT05fREVMQVlTKGlkeCk7CisJCXJlZ3MtPnBwX29mZiA9 IEJYVF9QUF9PRkZfREVMQVlTKGlkeCk7CisJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldl9w cml2KSkgeworCQlyZWdzLT5wcF9jdHJsID0gUENIX1BQX0NPTlRST0w7CisJCXJlZ3MtPnBwX3N0 YXQgPSBQQ0hfUFBfU1RBVFVTOworCQlyZWdzLT5wcF9vbiA9IFBDSF9QUF9PTl9ERUxBWVM7CisJ CXJlZ3MtPnBwX29mZiA9IFBDSF9QUF9PRkZfREVMQVlTOworCQlyZWdzLT5wcF9kaXYgPSBQQ0hf UFBfRElWSVNPUjsKKwl9IGVsc2UgeworCQllbnVtIHBpcGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1 ZW5jZXJfcGlwZShpbnRlbF9kcCk7CisKKwkJcmVncy0+cHBfY3RybCA9IFZMVl9QSVBFX1BQX0NP TlRST0wocGlwZSk7CisJCXJlZ3MtPnBwX3N0YXQgPSBWTFZfUElQRV9QUF9TVEFUVVMocGlwZSk7 CisJCXJlZ3MtPnBwX29uID0gVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpOworCQlyZWdzLT5w cF9vZmYgPSBWTFZfUElQRV9QUF9PRkZfREVMQVlTKHBpcGUpOworCQlyZWdzLT5wcF9kaXYgPSBW TFZfUElQRV9QUF9ESVZJU09SKHBpcGUpOworCX0KK30KKwogc3RhdGljIGk5MTVfcmVnX3QKIF9w cF9jdHJsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOworCXN0cnVjdCBwcHNfcmVnaXN0 ZXJzIHJlZ3M7CiAKLQlpZiAoSVNfQlJPWFRPTihkZXYpKQotCQlyZXR1cm4gQlhUX1BQX0NPTlRS T0woYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApKTsKLQllbHNlIGlmIChIQVNfUENI X1NQTElUKGRldikpCi0JCXJldHVybiBQQ0hfUFBfQ09OVFJPTDsKLQllbHNlCi0JCXJldHVybiBW TFZfUElQRV9QUF9DT05UUk9MKHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9kcCkpOwor CWludGVsX3Bwc19nZXRfcmVnaXN0ZXJzKHRvX2k5MTUoaW50ZWxfZHBfdG9fZGV2KGludGVsX2Rw KSksIGludGVsX2RwLAorCQkJCSZyZWdzKTsKKworCXJldHVybiByZWdzLnBwX2N0cmw7CiB9CiAK IHN0YXRpYyBpOTE1X3JlZ190CiBfcHBfc3RhdF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKIHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2Rw KTsKKwlzdHJ1Y3QgcHBzX3JlZ2lzdGVycyByZWdzOwogCi0JaWYgKElTX0JST1hUT04oZGV2KSkK LQkJcmV0dXJuIEJYVF9QUF9TVEFUVVMoYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHAp KTsKLQllbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikpCi0JCXJldHVybiBQQ0hfUFBfU1RBVFVT OwotCWVsc2UKLQkJcmV0dXJuIFZMVl9QSVBFX1BQX1NUQVRVUyh2bHZfcG93ZXJfc2VxdWVuY2Vy X3BpcGUoaW50ZWxfZHApKTsKKwlpbnRlbF9wcHNfZ2V0X3JlZ2lzdGVycyh0b19pOTE1KGludGVs X2RwX3RvX2RldihpbnRlbF9kcCkpLCBpbnRlbF9kcCwKKwkJCQkmcmVncyk7CisKKwlyZXR1cm4g cmVncy5wcF9zdGF0OwogfQogCiAvKiBSZWJvb3Qgbm90aWZpZXIgaGFuZGxlciB0byBzaHV0ZG93 biBwYW5lbCBwb3dlciB0byBndWFyYW50ZWUgVDEyIHRpbWluZwpAQCAtNDc0OCw3ICs0NzgyLDcg QEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAlzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSBjdXIsIHZidCwgc3BlYywKIAkJKmZpbmFsID0g JmludGVsX2RwLT5wcHNfZGVsYXlzOwogCXUzMiBwcF9vbiwgcHBfb2ZmLCBwcF9kaXYgPSAwLCBw cF9jdGwgPSAwOwotCWk5MTVfcmVnX3QgcHBfY3RybF9yZWcsIHBwX29uX3JlZywgcHBfb2ZmX3Jl ZywgcHBfZGl2X3JlZzsKKwlzdHJ1Y3QgcHBzX3JlZ2lzdGVycyByZWdzOwogCiAJbG9ja2RlcF9h c3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKQEAgLTQ3NTYsMzUgKzQ3OTAsMTcg QEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKIAlpZiAoZmluYWwtPnQxMV90MTIgIT0gMCkKIAkJcmV0dXJuOwogCi0JaWYgKElTX0JS T1hUT04oZGV2KSkgewotCQlpbnQgaWR4ID0gYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxf ZHApOwotCi0JCXBwX2N0cmxfcmVnID0gQlhUX1BQX0NPTlRST0woaWR4KTsKLQkJcHBfb25fcmVn ID0gQlhUX1BQX09OX0RFTEFZUyhpZHgpOwotCQlwcF9vZmZfcmVnID0gQlhUX1BQX09GRl9ERUxB WVMoaWR4KTsKLQl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewotCQlwcF9jdHJsX3Jl ZyA9IFBDSF9QUF9DT05UUk9MOwotCQlwcF9vbl9yZWcgPSBQQ0hfUFBfT05fREVMQVlTOwotCQlw cF9vZmZfcmVnID0gUENIX1BQX09GRl9ERUxBWVM7Ci0JCXBwX2Rpdl9yZWcgPSBQQ0hfUFBfRElW SVNPUjsKLQl9IGVsc2UgewotCQllbnVtIHBpcGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJf cGlwZShpbnRlbF9kcCk7Ci0KLQkJcHBfY3RybF9yZWcgPSBWTFZfUElQRV9QUF9DT05UUk9MKHBp cGUpOwotCQlwcF9vbl9yZWcgPSBWTFZfUElQRV9QUF9PTl9ERUxBWVMocGlwZSk7Ci0JCXBwX29m Zl9yZWcgPSBWTFZfUElQRV9QUF9PRkZfREVMQVlTKHBpcGUpOwotCQlwcF9kaXZfcmVnID0gVkxW X1BJUEVfUFBfRElWSVNPUihwaXBlKTsKLQl9CisJaW50ZWxfcHBzX2dldF9yZWdpc3RlcnMoZGV2 X3ByaXYsIGludGVsX2RwLCAmcmVncyk7CiAKIAkvKiBXb3JrYXJvdW5kOiBOZWVkIHRvIHdyaXRl IFBQX0NPTlRST0wgd2l0aCB0aGUgdW5sb2NrIGtleSBhcwogCSAqIHRoZSB2ZXJ5IGZpcnN0IHRo aW5nLiAqLwogCXBwX2N0bCA9IGlyb25sYWtlX2dldF9wcF9jb250cm9sKGludGVsX2RwKTsKIAot CXBwX29uID0gSTkxNV9SRUFEKHBwX29uX3JlZyk7Ci0JcHBfb2ZmID0gSTkxNV9SRUFEKHBwX29m Zl9yZWcpOworCXBwX29uID0gSTkxNV9SRUFEKHJlZ3MucHBfb24pOworCXBwX29mZiA9IEk5MTVf UkVBRChyZWdzLnBwX29mZik7CiAJaWYgKCFJU19CUk9YVE9OKGRldikpIHsKLQkJSTkxNV9XUklU RShwcF9jdHJsX3JlZywgcHBfY3RsKTsKLQkJcHBfZGl2ID0gSTkxNV9SRUFEKHBwX2Rpdl9yZWcp OworCQlJOTE1X1dSSVRFKHJlZ3MucHBfY3RybCwgcHBfY3RsKTsKKwkJcHBfZGl2ID0gSTkxNV9S RUFEKHJlZ3MucHBfZGl2KTsKIAl9CiAKIAkvKiBQdWxsIHRpbWluZyB2YWx1ZXMgb3V0IG9mIHJl Z2lzdGVycyAqLwpAQCAtNDg2NywzMCArNDg4MywxMyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXUzMiBwcF9v biwgcHBfb2ZmLCBwcF9kaXYsIHBvcnRfc2VsID0gMDsKIAlpbnQgZGl2ID0gZGV2X3ByaXYtPnJh d2Nsa19mcmVxIC8gMTAwMDsKLQlpOTE1X3JlZ190IHBwX29uX3JlZywgcHBfb2ZmX3JlZywgcHBf ZGl2X3JlZywgcHBfY3RybF9yZWc7CisJc3RydWN0IHBwc19yZWdpc3RlcnMgcmVnczsKIAllbnVt IHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKIAljb25zdCBzdHJ1 Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwogCiAJbG9ja2Rl cF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7CiAKLQlpZiAoSVNfQlJPWFRPTihk ZXYpKSB7Ci0JCWludCBpZHggPSBieHRfcG93ZXJfc2VxdWVuY2VyX2lkeChpbnRlbF9kcCk7Ci0K LQkJcHBfY3RybF9yZWcgPSBCWFRfUFBfQ09OVFJPTChpZHgpOwotCQlwcF9vbl9yZWcgPSBCWFRf UFBfT05fREVMQVlTKGlkeCk7Ci0JCXBwX29mZl9yZWcgPSBCWFRfUFBfT0ZGX0RFTEFZUyhpZHgp OwotCi0JfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikpIHsKLQkJcHBfb25fcmVnID0gUENI X1BQX09OX0RFTEFZUzsKLQkJcHBfb2ZmX3JlZyA9IFBDSF9QUF9PRkZfREVMQVlTOwotCQlwcF9k aXZfcmVnID0gUENIX1BQX0RJVklTT1I7Ci0JfSBlbHNlIHsKLQkJZW51bSBwaXBlIHBpcGUgPSB2 bHZfcG93ZXJfc2VxdWVuY2VyX3BpcGUoaW50ZWxfZHApOwotCi0JCXBwX29uX3JlZyA9IFZMVl9Q SVBFX1BQX09OX0RFTEFZUyhwaXBlKTsKLQkJcHBfb2ZmX3JlZyA9IFZMVl9QSVBFX1BQX09GRl9E RUxBWVMocGlwZSk7Ci0JCXBwX2Rpdl9yZWcgPSBWTFZfUElQRV9QUF9ESVZJU09SKHBpcGUpOwot CX0KKwlpbnRlbF9wcHNfZ2V0X3JlZ2lzdGVycyhkZXZfcHJpdiwgaW50ZWxfZHAsICZyZWdzKTsK IAogCS8qCiAJICogQW5kIGZpbmFsbHkgc3RvcmUgdGhlIG5ldyB2YWx1ZXMgaW4gdGhlIHBvd2Vy IHNlcXVlbmNlci4gVGhlCkBAIC00OTA3LDcgKzQ5MDYsNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVs X3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkvKiBD b21wdXRlIHRoZSBkaXZpc29yIGZvciB0aGUgcHAgY2xvY2ssIHNpbXBseSBtYXRjaCB0aGUgQnNw ZWMKIAkgKiBmb3JtdWxhLiAqLwogCWlmIChJU19CUk9YVE9OKGRldikpIHsKLQkJcHBfZGl2ID0g STkxNV9SRUFEKHBwX2N0cmxfcmVnKTsKKwkJcHBfZGl2ID0gSTkxNV9SRUFEKHJlZ3MucHBfY3Ry bCk7CiAJCXBwX2RpdiAmPSB+QlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0s7CiAJCXBwX2RpdiB8 PSAoRElWX1JPVU5EX1VQKChzZXEtPnQxMV90MTIgKyAxKSwgMTAwMCkKIAkJCQk8PCBCWFRfUE9X RVJfQ1lDTEVfREVMQVlfU0hJRlQpOwpAQCAtNDkzMCwxOSArNDkyOSwxOSBAQCBpbnRlbF9kcF9p bml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAogCXBwX29uIHw9IHBvcnRfc2VsOwogCi0JSTkxNV9XUklURShwcF9vbl9yZWcsIHBwX29u KTsKLQlJOTE1X1dSSVRFKHBwX29mZl9yZWcsIHBwX29mZik7CisJSTkxNV9XUklURShyZWdzLnBw X29uLCBwcF9vbik7CisJSTkxNV9XUklURShyZWdzLnBwX29mZiwgcHBfb2ZmKTsKIAlpZiAoSVNf QlJPWFRPTihkZXYpKQotCQlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBwcF9kaXYpOworCQlJOTE1 X1dSSVRFKHJlZ3MucHBfY3RybCwgcHBfZGl2KTsKIAllbHNlCi0JCUk5MTVfV1JJVEUocHBfZGl2 X3JlZywgcHBfZGl2KTsKKwkJSTkxNV9XUklURShyZWdzLnBwX2RpdiwgcHBfZGl2KTsKIAogCURS TV9ERUJVR19LTVMoInBhbmVsIHBvd2VyIHNlcXVlbmNlciByZWdpc3RlciBzZXR0aW5nczogUFBf T04gJSN4LCBQUF9PRkYgJSN4LCBQUF9ESVYgJSN4XG4iLAotCQkgICAgICBJOTE1X1JFQUQocHBf b25fcmVnKSwKLQkJICAgICAgSTkxNV9SRUFEKHBwX29mZl9yZWcpLAorCQkgICAgICBJOTE1X1JF QUQocmVncy5wcF9vbiksCisJCSAgICAgIEk5MTVfUkVBRChyZWdzLnBwX29mZiksCiAJCSAgICAg IElTX0JST1hUT04oZGV2KSA/Ci0JCSAgICAgIChJOTE1X1JFQUQocHBfY3RybF9yZWcpICYgQlhU X1BPV0VSX0NZQ0xFX0RFTEFZX01BU0spIDoKLQkJICAgICAgSTkxNV9SRUFEKHBwX2Rpdl9yZWcp KTsKKwkJICAgICAgKEk5MTVfUkVBRChyZWdzLnBwX2N0cmwpICYgQlhUX1BPV0VSX0NZQ0xFX0RF TEFZX01BU0spIDoKKwkJICAgICAgSTkxNV9SRUFEKHJlZ3MucHBfZGl2KSk7CiB9CiAKIC8qKgot LSAKMi41LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=