From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 4/4] drm/i915: Sanity check PPS HW state Date: Thu, 16 Jun 2016 20:01:46 +0300 Message-ID: <1466096506-11937-1-git-send-email-imre.deak@intel.com> References: <1466084243-5388-5-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id BC556887EF for ; Thu, 16 Jun 2016 17:02:08 +0000 (UTC) In-Reply-To: <1466084243-5388-5-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 VGhlIHdhaXQgZm9yIHBhbmVsIHN0YXR1cyBoZWxwZXIgd2lsbCBvbmx5IGZ1bmN0aW9uIGNvcnJl Y3RseSBpZiB0aGUKSFcgcGFuZWwgdGltaW5ncyBhcmUgcHJvZ3JhbW1lZCBjb3JyZWN0bHkuIFJl dHVybmluZyBwcmVtYXR1cmVseSBmcm9tCnRoaXMgaGVscGVyIG1heSBsZWFkIHRvIG9ic2N1cmUg YnVncyBsYXRlciwgc28gc2FuaXR5IGNoZWNrIHRoZSBIVwp0aW1pbmcgcmVnaXN0ZXJzLgoKdjI6 Ci0gQ2hlY2sgdGhlIFQ4LCBUOSBmaWVsZHMgdG9vLCB3ZSBkbyBwcm9ncmFtIHRoZW0gKFZpbGxl KQoKQ0M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAxNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwppbmRleCBjYWFkODI1Li43NWQwN2Q4IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTE3NzIsNiArMTc3Miw5IEBAIHN0YXRpYyB2b2lk IGludGVsX2RwX3ByZXBhcmUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAjZGVmaW5l IElETEVfQ1lDTEVfTUFTSwkJKFBQX09OIHwgUFBfU0VRVUVOQ0VfTUFTSyB8IFBQX0NZQ0xFX0RF TEFZX0FDVElWRSB8IFBQX1NFUVVFTkNFX1NUQVRFX01BU0spCiAjZGVmaW5lIElETEVfQ1lDTEVf VkFMVUUJKDAgICAgIHwgUFBfU0VRVUVOQ0VfTk9ORSB8IDAgICAgICAgICAgICAgICAgICAgICB8 IFBQX1NFUVVFTkNFX1NUQVRFX09GRl9JRExFKQogCitzdGF0aWMgdm9pZCBpbnRlbF9wcHNfdmVy aWZ5X3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICBzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKKwogc3RhdGljIHZvaWQgd2FpdF9wYW5lbF9zdGF0dXMo c3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAkJCQkgICAgICAgdTMyIG1hc2ssCiAJCQkJICAg ICAgIHUzMiB2YWx1ZSkKQEAgLTE3ODIsNiArMTc4NSw4IEBAIHN0YXRpYyB2b2lkIHdhaXRfcGFu ZWxfc3RhdHVzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAKIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKIAorCWludGVsX3Bwc192ZXJpZnlfc3RhdGUoZGV2 X3ByaXYsIGludGVsX2RwKTsKKwogCXBwX3N0YXRfcmVnID0gX3BwX3N0YXRfcmVnKGludGVsX2Rw KTsKIAlwcF9jdHJsX3JlZyA9IF9wcF9jdHJsX3JlZyhpbnRlbF9kcCk7CiAKQEAgLTQ4MjEsNiAr NDgyNiwzMSBAQCBpbnRlbF9wcHNfcmVhZG91dF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiB9CiAKIHN0YXRpYyB2b2lkCitpbnRlbF9wcHNfZHVtcF9zdGF0ZShj b25zdCBjaGFyICpzdGF0ZV9uYW1lLCBjb25zdCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxKQor eworCURSTV9ERUJVR19LTVMoIiVzIHQxX3QzICVkIHQ4ICVkIHQ5ICVkIHQxMCAlZCB0MTFfdDEy ICVkXG4iLAorCQkgICAgICBzdGF0ZV9uYW1lLAorCQkgICAgICBzZXEtPnQxX3QzLCBzZXEtPnQ4 LCBzZXEtPnQ5LCBzZXEtPnQxMCwgc2VxLT50MTFfdDEyKTsKK30KKworc3RhdGljIHZvaWQKK2lu dGVsX3Bwc192ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAor CQkgICAgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKK3sKKwlzdHJ1Y3QgZWRwX3Bvd2Vy X3NlcSBodzsKKwlzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqc3cgPSAmaW50ZWxfZHAtPnBwc19kZWxh eXM7CisKKwlpbnRlbF9wcHNfcmVhZG91dF9od19zdGF0ZShkZXZfcHJpdiwgaW50ZWxfZHAsICZo dyk7CisKKwlpZiAoaHcudDFfdDMgIT0gc3ctPnQxX3QzIHx8IGh3LnQ4ICE9IHN3LT50OCB8fCBo dy50OSAhPSBzdy0+dDkgfHwKKwkgICAgaHcudDEwICE9IHN3LT50MTAgfHwgaHcudDExX3QxMiAh PSBzdy0+dDExX3QxMikgeworCQlEUk1fRVJST1IoIlBQUyBzdGF0ZSBtaXNtYXRjaFxuIik7CisJ CWludGVsX3Bwc19kdW1wX3N0YXRlKCJzdyIsIHN3KTsKKwkJaW50ZWxfcHBzX2R1bXBfc3RhdGUo Imh3IiwgJmh3KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCiBpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCSAgICBzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQogewpAQCAtNDgzNiw4ICs0ODY2LDcgQEAgaW50ZWxfZHBfaW5pdF9w YW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWludGVsX3Bw c19yZWFkb3V0X2h3X3N0YXRlKGRldl9wcml2LCBpbnRlbF9kcCwgJmN1cik7CiAKLQlEUk1fREVC VUdfS01TKCJjdXIgdDFfdDMgJWQgdDggJWQgdDkgJWQgdDEwICVkIHQxMV90MTIgJWRcbiIsCi0J CSAgICAgIGN1ci50MV90MywgY3VyLnQ4LCBjdXIudDksIGN1ci50MTAsIGN1ci50MTFfdDEyKTsK KwlpbnRlbF9wcHNfZHVtcF9zdGF0ZSgiY3VyIiwgJmN1cik7CiAKIAl2YnQgPSBkZXZfcHJpdi0+ dmJ0LmVkcC5wcHM7CiAKQEAgLTQ4NTMsOCArNDg4Miw3IEBAIGludGVsX2RwX2luaXRfcGFuZWxf cG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICogdG9vLiAqLwogCXNw ZWMudDExX3QxMiA9ICg1MTAgKyAxMDApICogMTA7CiAKLQlEUk1fREVCVUdfS01TKCJ2YnQgdDFf dDMgJWQgdDggJWQgdDkgJWQgdDEwICVkIHQxMV90MTIgJWRcbiIsCi0JCSAgICAgIHZidC50MV90 MywgdmJ0LnQ4LCB2YnQudDksIHZidC50MTAsIHZidC50MTFfdDEyKTsKKwlpbnRlbF9wcHNfZHVt cF9zdGF0ZSgidmJ0IiwgJnZidCk7CiAKIAkvKiBVc2UgdGhlIG1heCBvZiB0aGUgcmVnaXN0ZXIg c2V0dGluZ3MgYW5kIHZidC4gSWYgYm90aCBhcmUKIAkgKiB1bnNldCwgZmFsbCBiYWNrIHRvIHRo ZSBzcGVjIGxpbWl0cy4gKi8KQEAgLTQ4ODIsNiArNDkxMCwxNiBAQCBpbnRlbF9kcF9pbml0X3Bh bmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJRFJNX0RFQlVH X0tNUygiYmFja2xpZ2h0IG9uIGRlbGF5ICVkLCBvZmYgZGVsYXkgJWRcbiIsCiAJCSAgICAgIGlu dGVsX2RwLT5iYWNrbGlnaHRfb25fZGVsYXksIGludGVsX2RwLT5iYWNrbGlnaHRfb2ZmX2RlbGF5 KTsKKworCS8qCisJICogV2Ugb3ZlcnJpZGUgdGhlIEhXIGJhY2tsaWdodCBkZWxheXMgdG8gMSBi ZWNhdXNlIHdlIGRvIG1hbnVhbCB3YWl0cworCSAqIG9uIHRoZW0uIEZvciBUOCwgZXZlbiBCU3Bl YyByZWNvbW1lbmRzIGRvaW5nIGl0LiBGb3IgVDksIGlmIHdlCisJICogZG9uJ3QgZG8gdGhpcywg d2UnbGwgZW5kIHVwIHdhaXRpbmcgZm9yIHRoZSBiYWNrbGlnaHQgb2ZmIGRlbGF5CisJICogdHdp Y2U6IG9uY2Ugd2hlbiB3ZSBkbyB0aGUgbWFudWFsIHNsZWVwLCBhbmQgb25jZSB3aGVuIHdlIGRp c2FibGUKKwkgKiB0aGUgcGFuZWwgYW5kIHdhaXQgZm9yIHRoZSBQUF9TVEFUVVMgYml0IHRvIGJl Y29tZSB6ZXJvLgorCSAqLworCWZpbmFsLT50OCA9IDE7CisJZmluYWwtPnQ5ID0gMTsKIH0KIAog c3RhdGljIHZvaWQKQEAgLTQ4OTksMTcgKzQ5MzcsOSBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bv d2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWludGVs X3Bwc19nZXRfcmVnaXN0ZXJzKGRldl9wcml2LCBpbnRlbF9kcCwgJnJlZ3MpOwogCi0JLyoKLQkg KiBBbmQgZmluYWxseSBzdG9yZSB0aGUgbmV3IHZhbHVlcyBpbiB0aGUgcG93ZXIgc2VxdWVuY2Vy LiBUaGUKLQkgKiBiYWNrbGlnaHQgZGVsYXlzIGFyZSBzZXQgdG8gMSBiZWNhdXNlIHdlIGRvIG1h bnVhbCB3YWl0cyBvbiB0aGVtLiBGb3IKLQkgKiBUOCwgZXZlbiBCU3BlYyByZWNvbW1lbmRzIGRv aW5nIGl0LiBGb3IgVDksIGlmIHdlIGRvbid0IGRvIHRoaXMsCi0JICogd2UnbGwgZW5kIHVwIHdh aXRpbmcgZm9yIHRoZSBiYWNrbGlnaHQgb2ZmIGRlbGF5IHR3aWNlOiBvbmNlIHdoZW4gd2UKLQkg KiBkbyB0aGUgbWFudWFsIHNsZWVwLCBhbmQgb25jZSB3aGVuIHdlIGRpc2FibGUgdGhlIHBhbmVs IGFuZCB3YWl0IGZvcgotCSAqIHRoZSBQUF9TVEFUVVMgYml0IHRvIGJlY29tZSB6ZXJvLgotCSAq LwogCXBwX29uID0gKHNlcS0+dDFfdDMgPDwgUEFORUxfUE9XRVJfVVBfREVMQVlfU0hJRlQpIHwK LQkJKDEgPDwgUEFORUxfTElHSFRfT05fREVMQVlfU0hJRlQpOwotCXBwX29mZiA9ICgxIDw8IFBB TkVMX0xJR0hUX09GRl9ERUxBWV9TSElGVCkgfAorCQkoc2VxLT50OCA8PCBQQU5FTF9MSUdIVF9P Tl9ERUxBWV9TSElGVCk7CisJcHBfb2ZmID0gKHNlcS0+dDkgPDwgUEFORUxfTElHSFRfT0ZGX0RF TEFZX1NISUZUKSB8CiAJCSAoc2VxLT50MTAgPDwgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElG VCk7CiAJLyogQ29tcHV0ZSB0aGUgZGl2aXNvciBmb3IgdGhlIHBwIGNsb2NrLCBzaW1wbHkgbWF0 Y2ggdGhlIEJzcGVjCiAJICogZm9ybXVsYS4gKi8KLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK