From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: [PATCH v2 2/4] drm/i915/gen9: Sanitize handling of allowed DC states Date: Mon, 29 Feb 2016 22:49:03 +0200 Message-ID: <1456778945-5411-2-git-send-email-imre.deak@intel.com> References: <1456778945-5411-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 1E4516E372 for ; Mon, 29 Feb 2016 20:49:09 +0000 (UTC) In-Reply-To: <1456778945-5411-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 V2UgY2FuIHNpbXBsaWZ5IHRoZSBjb25kaXRpb25zIHNlbGVjdGluZyB0aGUgdGFyZ2V0IERDIHN0 YXRlIGR1cmluZwpydW50aW1lIGJ5IGNhbGN1bGF0aW5nIHRoZSBhbGxvd2VkIERDIHN0YXRlcyBp biBhZHZhbmNlIGR1cmluZyBkcml2ZXIKbG9hZGluZy4gVGhpcyBhbHNvIG1ha2VzIGl0IGVhc2ll ciB0byBkaXNhYmxlIERDIHN0YXRlcyBkZXBlbmRpbmcgb24gdGhlCmk5MTUuZGlzYWJsZV9wb3dl cl93ZWxsIG1vZHVsZSBvcHRpb24sIGFkZGVkIGluIHRoZSBuZXh0IHBhdGNoLgoKdjI6Ci0gUHJp bnQgYSBkZWJ1ZyBtZXNzYWdlIGlmIHRoZSByZXF1ZXN0ZWQgbWF4IERDIHZhbHVlIHdhcyBhZGp1 c3RlZCBkdWUKICB0byBhIHBsYXRmb3JtIGxpbWl0LiBBbHNvIGRlYnVnIHByaW50IHRoZSBjYWxj dWxhdGVkIG1hc2sgdmFsdWUuIChQYXRyaWspCgpDQzogUGF0cmlrIEpha29ic3NvbiA8cGF0cmlr Lmpha29ic3NvbkBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1y ZS5kZWFrQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCA3 OCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTgg aW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggNjcxMjk1NS4uZGM1NTRkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC03NTQsNiAr NzU0LDcgQEAgc3RydWN0IGludGVsX2NzciB7CiAJaTkxNV9yZWdfdCBtbWlvYWRkcls4XTsKIAl1 aW50MzJfdCBtbWlvZGF0YVs4XTsKIAl1aW50MzJfdCBkY19zdGF0ZTsKKwl1aW50MzJfdCBhbGxv d2VkX2RjX21hc2s7CiB9OwogCiAjZGVmaW5lIERFVl9JTkZPX0ZPUl9FQUNIX0ZMQUcoZnVuYywg c2VwKSBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKaW5kZXggNmU1NGQ5 Ny4uMzBkZjlkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGlt ZV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwpAQCAt NTM4LDEyICs1MzgsOCBAQCBzdGF0aWMgdm9pZCBnZW45X3NldF9kY19zdGF0ZShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHVpbnQzMl90IHN0YXRlKQogCWVsc2UKIAkJbWFzayB8 PSBEQ19TVEFURV9FTl9VUFRPX0RDNjsKIAotCVdBUk5fT05fT05DRShzdGF0ZSAmIH5tYXNrKTsK LQotCWlmIChpOTE1LmVuYWJsZV9kYyA9PSAwKQotCQlzdGF0ZSA9IERDX1NUQVRFX0RJU0FCTEU7 Ci0JZWxzZSBpZiAoaTkxNS5lbmFibGVfZGMgPT0gMSAmJiBzdGF0ZSA+IERDX1NUQVRFX0VOX1VQ VE9fREM1KQotCQlzdGF0ZSA9IERDX1NUQVRFX0VOX1VQVE9fREM1OworCWlmIChXQVJOX09OX09O Q0Uoc3RhdGUgJiB+ZGV2X3ByaXYtPmNzci5hbGxvd2VkX2RjX21hc2spKQorCQlzdGF0ZSAmPSBk ZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzazsKIAogCXZhbCA9IEk5MTVfUkVBRChEQ19TVEFU RV9FTik7CiAJRFJNX0RFQlVHX0tNUygiU2V0dGluZyBEQyBzdGF0ZSBmcm9tICUwMnggdG8gJTAy eFxuIiwKQEAgLTY1OSw4ICs2NTUsNyBAQCBzdGF0aWMgdm9pZCBnZW45X2Rpc2FibGVfZGM1X2Rj NihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJYXNzZXJ0X2Nhbl9kaXNh YmxlX2RjNShkZXZfcHJpdik7CiAKLQlpZiAoKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tB QllMQUtFKGRldl9wcml2KSkgJiYKLQkgICAgaTkxNS5lbmFibGVfZGMgIT0gMCAmJiBpOTE1LmVu YWJsZV9kYyAhPSAxKQorCWlmIChkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NU QVRFX0VOX1VQVE9fREM2KQogCQlhc3NlcnRfY2FuX2Rpc2FibGVfZGM2KGRldl9wcml2KTsKIAog CWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9ESVNBQkxFKTsKQEAgLTgzOSwy NiArODM0LDE5IEBAIHN0YXRpYyB2b2lkIGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5hYmxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIHN0YXRpYyB2b2lkIGdlbjlfZGNfb2Zm X3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ CQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCiB7Ci0JaWYgKChJU19T S1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpICYmCi0JICAgIGk5MTUu ZW5hYmxlX2RjICE9IDAgJiYgaTkxNS5lbmFibGVfZGMgIT0gMSkKKwlpZiAoZGV2X3ByaXYtPmNz ci5hbGxvd2VkX2RjX21hc2sgJiBEQ19TVEFURV9FTl9VUFRPX0RDNikKIAkJc2tsX2VuYWJsZV9k YzYoZGV2X3ByaXYpOwotCWVsc2UKKwllbHNlIGlmIChkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNf bWFzayAmIERDX1NUQVRFX0VOX1VQVE9fREM1KQogCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYp OwogfQogCiBzdGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX3N5bmNfaHcoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCQkgICBzdHJ1Y3QgaTkxNV9wb3dlcl93 ZWxsICpwb3dlcl93ZWxsKQogewotCWlmIChwb3dlcl93ZWxsLT5jb3VudCA+IDApIHsKLQkJZ2Vu OV9zZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0RJU0FCTEUpOwotCX0gZWxzZSB7Ci0J CWlmICgoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSAmJgot CQkgICAgaTkxNS5lbmFibGVfZGMgIT0gMCAmJgotCQkgICAgaTkxNS5lbmFibGVfZGMgIT0gMSkK LQkJCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9FTl9VUFRPX0RDNik7Ci0J CWVsc2UKLQkJCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9FTl9VUFRPX0RD NSk7Ci0JfQorCWlmIChwb3dlcl93ZWxsLT5jb3VudCA+IDApCisJCWdlbjlfZGNfb2ZmX3Bvd2Vy X3dlbGxfZW5hYmxlKGRldl9wcml2LCBwb3dlcl93ZWxsKTsKKwllbHNlCisJCWdlbjlfZGNfb2Zm X3Bvd2VyX3dlbGxfZGlzYWJsZShkZXZfcHJpdiwgcG93ZXJfd2VsbCk7CiB9CiAKIHN0YXRpYyB2 b2lkIGk5eHhfYWx3YXlzX29uX3Bvd2VyX3dlbGxfbm9vcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCkBAIC0yMDIzLDYgKzIwMTEsNTIgQEAgc2FuaXRpemVfZGlzYWJsZV9wb3dl cl93ZWxsX29wdGlvbihjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJ cmV0dXJuIDE7CiB9CiAKK3N0YXRpYyB1aW50MzJfdCBnZXRfYWxsb3dlZF9kY19tYXNrKGNvbnN0 IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgICAgaW50IGVuYWJsZV9k YykKK3sKKwl1aW50MzJfdCBtYXNrOworCWludCByZXF1ZXN0ZWRfZGM7CisJaW50IG1heF9kYzsK KworCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZfcHJpdikpIHsK KwkJbWF4X2RjID0gMjsKKwkJbWFzayA9IDA7CisJfSBlbHNlIGlmIChJU19CUk9YVE9OKGRldl9w cml2KSkgeworCQltYXhfZGMgPSAxOworCQkvKgorCQkgKiBEQzkgaGFzIGEgc2VwYXJhdGUgSFcg ZmxvdyBmcm9tIHRoZSByZXN0IG9mIHRoZSBEQyBzdGF0ZXMsCisJCSAqIG5vdCBkZXBlbmRpbmcg b24gdGhlIERNQyBmaXJtd2FyZS4gSXQncyBuZWVkZWQgYnkgc3lzdGVtCisJCSAqIHN1c3BlbmQv cmVzdW1lLCBzbyBhbGxvdyBpdCB1bmNvbmRpdGlvbmFsbHkuCisJCSAqLworCQltYXNrID0gRENf U1RBVEVfRU5fREM5OworCX0gZWxzZSB7CisJCW1heF9kYyA9IDA7CisJCW1hc2sgPSAwOworCX0K KworCWlmIChlbmFibGVfZGMgPj0gMCAmJiBlbmFibGVfZGMgPD0gbWF4X2RjKSB7CisJCXJlcXVl c3RlZF9kYyA9IGVuYWJsZV9kYzsKKwl9IGVsc2UgaWYgKGVuYWJsZV9kYyA9PSAtMSkgeworCQly ZXF1ZXN0ZWRfZGMgPSBtYXhfZGM7CisJfSBlbHNlIGlmIChlbmFibGVfZGMgPiBtYXhfZGMgJiYg ZW5hYmxlX2RjIDw9IDIpIHsKKwkJRFJNX0RFQlVHX0tNUygiQWRqdXN0aW5nIHJlcXVlc3RlZCBt YXggREMgc3RhdGUgKCVkLT4lZClcbiIsCisJCQkgICAgICBlbmFibGVfZGMsIG1heF9kYyk7CisJ CXJlcXVlc3RlZF9kYyA9IG1heF9kYzsKKwl9IGVsc2UgeworCQlEUk1fRVJST1IoIlVuZXhwZWN0 ZWQgdmFsdWUgZm9yIGVuYWJsZV9kYyAoJWQpXG4iLCBlbmFibGVfZGMpOworCQlyZXF1ZXN0ZWRf ZGMgPSBtYXhfZGM7CisJfQorCisJaWYgKHJlcXVlc3RlZF9kYyA+IDEpCisJCW1hc2sgfD0gRENf U1RBVEVfRU5fVVBUT19EQzY7CisJaWYgKHJlcXVlc3RlZF9kYyA+IDApCisJCW1hc2sgfD0gRENf U1RBVEVfRU5fVVBUT19EQzU7CisKKwlEUk1fREVCVUdfS01TKCJBbGxvd2VkIERDIHN0YXRlIG1h c2sgJTAyeFxuIiwgbWFzayk7CisKKwlyZXR1cm4gbWFzazsKK30KKwogI2RlZmluZSBzZXRfcG93 ZXJfd2VsbHMocG93ZXJfZG9tYWlucywgX19wb3dlcl93ZWxscykgKHsJCVwKIAkocG93ZXJfZG9t YWlucyktPnBvd2VyX3dlbGxzID0gKF9fcG93ZXJfd2VsbHMpOwkJCVwKIAkocG93ZXJfZG9tYWlu cyktPnBvd2VyX3dlbGxfY291bnQgPSBBUlJBWV9TSVpFKF9fcG93ZXJfd2VsbHMpOwlcCkBAIC0y MDQxLDYgKzIwNzUsOCBAQCBpbnQgaW50ZWxfcG93ZXJfZG9tYWluc19pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAogCWk5MTUuZGlzYWJsZV9wb3dlcl93ZWxsID0gc2Fu aXRpemVfZGlzYWJsZV9wb3dlcl93ZWxsX29wdGlvbihkZXZfcHJpdiwKIAkJCQkJCSAgICAgaTkx NS5kaXNhYmxlX3Bvd2VyX3dlbGwpOworCWRldl9wcml2LT5jc3IuYWxsb3dlZF9kY19tYXNrID0g Z2V0X2FsbG93ZWRfZGNfbWFzayhkZXZfcHJpdiwKKwkJCQkJCQkgICAgaTkxNS5lbmFibGVfZGMp OwogCiAJQlVJTERfQlVHX09OKFBPV0VSX0RPTUFJTl9OVU0gPiAzMSk7CiAKLS0gCjIuNS4wCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK