From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [RFC 7/8] drm/i915: Allow final wm programming to be scheduled after next vblank (v2) Date: Wed, 1 Jul 2015 19:26:00 -0700 Message-ID: <1435803961-30079-8-git-send-email-matthew.d.roper@intel.com> References: <1435803961-30079-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 74DC46E408 for ; Wed, 1 Jul 2015 19:26:45 -0700 (PDT) In-Reply-To: <1435803961-30079-1-git-send-email-matthew.d.roper@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 QWRkIGEgc2ltcGxlIG1lY2hhbmlzbSB0byB0cmlnZ2VyIGZpbmFsIHdhdGVybWFyayB1cGRhdGVz IGluIGFuCmFzeW5jaHJvbm91cyBtYW5uZXIgb25jZSB0aGUgbmV4dCB2Ymxhbmsgb2NjdXJzLiAg Tm8gcGxhdGZvcm0gdHlwZXMKYWN0dWFsbHkgc3VwcG9ydCBhdG9taWMgd2F0ZXJtYXJrIHByb2dy YW1taW5nIHVudGlsIGEgZnV0dXJlIHBhdGNoLCBzbwp0aGVyZSBzaG91bGQgYmUgbm8gZnVuY3Rp b25hbCBjaGFuZ2UgeWV0OyBpbmRpdmlkdWFsIHBsYXRmb3JtcyB3aWxsIGJlCmNvbnZlcnRlZCB0 byB1c2UgdGhpcyBtZWNoYW5pc20gb25lLWJ5LW9uZSBpbiBmdXR1cmUgcGF0Y2hlcy4KCk5vdGUg dGhhdCB3ZSdsbCBwcm9iYWJseSBleHBhbmQgdGhpcyB0byBjb3ZlciBvdGhlciBwb3N0LXZibGFu ayBhc3luYwp0YXNrcyAobGlrZSB1bnBpbm5pbmcpIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVy ZS4KCnYyOiBNdWNoIHNpbXBsZXIgdmJsYW5rIG1lY2hhbmlzbSB0aGFuIHdhcyB1c2VkIGluIHRo ZSBwcmV2aW91cyBzZXJpZXM7CiAgICBubyBuZWVkIHRvIGFsbG9jYXRlIG5ldyBoZWFwIHN0cnVj dHVyZXMuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICA3ICsrKysr KysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICB8ICA5ICsrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMzAgKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg NCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMjc3NDk3Ni4uNWFkOTQyZSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCkBAIC02MjgsNiArNjI4LDcgQEAgc3RydWN0IGRybV9pOTE1X2Rpc3Bs YXlfZnVuY3MgewogCQkJCSBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQkJIHVpbnQzMl90IHNw cml0ZV93aWR0aCwgdWludDMyX3Qgc3ByaXRlX2hlaWdodCwKIAkJCQkgaW50IHBpeGVsX3NpemUs IGJvb2wgZW5hYmxlLCBib29sIHNjYWxlZCk7CisJdm9pZCAoKnByb2dyYW1fd2F0ZXJtYXJrcyko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAlpbnQgKCptb2Rlc2V0X2NhbGNf Y2RjbGspKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7CiAJdm9pZCAoKm1vZGVzZXRf Y29tbWl0X2NkY2xrKShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCS8qIFJldHVy bnMgdGhlIGFjdGl2ZSBzdGF0ZSBvZiB0aGUgY3J0YywgYW5kIGlmIHRoZSBjcnRjIGlzIGFjdGl2 ZSwKQEAgLTI1NjcsNiArMjU2OCwxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVfY21kX3RhYmxlIHsKICNk ZWZpbmUgSEFTX0wzX0RQRihkZXYpIChJU19JVllCUklER0UoZGV2KSB8fCBJU19IQVNXRUxMKGRl dikpCiAjZGVmaW5lIE5VTV9MM19TTElDRVMoZGV2KSAoSVNfSFNXX0dUMyhkZXYpID8gMiA6IEhB U19MM19EUEYoZGV2KSkKIAorLyoKKyAqIEZJWE1FOiAgTm90IGFsbCBwbGF0Zm9ybXMgaGF2ZSBi ZWVuIHRyYW5zaXRpb25lZCB0byBhdG9taWMgd2F0ZXJtYXJrCisgKiB1cGRhdGVzIHlldC4KKyAq LworI2RlZmluZSBIQVNfQVRPTUlDX1dNKGRldl9wcml2KSAoZGV2X3ByaXYtPmRpc3BsYXkucHJv Z3JhbV93YXRlcm1hcmtzICE9IE5VTEwpCisKICNkZWZpbmUgR1RfRlJFUVVFTkNZX01VTFRJUExJ RVIgNTAKICNkZWZpbmUgR0VOOV9GUkVRX1NDQUxFUiAzCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5j CmluZGV4IGE2ZmJlNjQuLjIwYzcyNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTQ1 Miw2ICsxNDUyLDE1IEBAIHN0YXRpYyB2b2lkIGdlbjZfcnBzX2lycV9oYW5kbGVyKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHBtX2lpcikKIAogc3RhdGljIGJvb2wgaW50 ZWxfcGlwZV9oYW5kbGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBw aXBlKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2 KTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBp bmdbcGlwZV07CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOworCisJaWYgKGludGVsX2NydGMtPm5lZWRfdmJsYW5rX3dtX3VwZGF0ZSkgeworCQlx dWV1ZV93b3JrKGRldl9wcml2LT53cSwgJmludGVsX2NydGMtPndtX3dvcmspOworCQlpbnRlbF9j cnRjLT5uZWVkX3ZibGFua193bV91cGRhdGUgPSBmYWxzZTsKKwl9CisKIAlpZiAoIWRybV9oYW5k bGVfdmJsYW5rKGRldiwgcGlwZSkpCiAJCXJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCmluZGV4IDQ2YjYyY2MuLmZhNDM3M2UgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKQEAgLTQ3MzcsNiArNDczNywxMCBAQCBzdGF0aWMgdm9pZCBpbnRl bF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7 CiAKKwlpZiAoSEFTX0FUT01JQ19XTSh0b19pOTE1KGRldikpKQorCQkvKiB2YmxhbmsgaGFuZGxl ciB3aWxsIGtpY2sgb2ZmIHdvcmtxdWV1ZSB0YXNrIHRvIHVwZGF0ZSB3bSdzICovCisJCWNydGMt Pm5lZWRfdmJsYW5rX3dtX3VwZGF0ZSA9IHRydWU7CisKIAlpZiAoYXRvbWljLT53YWl0X3ZibGFu aykKIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldiwgY3J0Yy0+cGlwZSk7CiAKQEAgLTQ3NDUs NyArNDc0OSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQogCWlmIChhdG9taWMtPmRpc2FibGVfY3hzcikKIAkJY3N0YXRlLT53 bS5jeHNyX2FsbG93ZWQgPSB0cnVlOwogCi0JaWYgKGNydGMtPmF0b21pYy51cGRhdGVfd21fcG9z dCkKKwlpZiAoIUhBU19BVE9NSUNfV00odG9faTkxNShkZXYpKSAmJiBjcnRjLT5hdG9taWMudXBk YXRlX3dtX3Bvc3QpCiAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKCZjcnRjLT5iYXNlKTsKIAog CWlmIChhdG9taWMtPnVwZGF0ZV9mYmMpIHsKQEAgLTQ3NTcsOSArNDc2MSwxMCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlp ZiAoYXRvbWljLT5wb3N0X2VuYWJsZV9wcmltYXJ5KQogCQlpbnRlbF9wb3N0X2VuYWJsZV9wcmlt YXJ5KCZjcnRjLT5iYXNlKTsKIAotCWRybV9mb3JfZWFjaF9wbGFuZV9tYXNrKHBsYW5lLCBkZXYs IGF0b21pYy0+dXBkYXRlX3Nwcml0ZV93YXRlcm1hcmtzKQotCQlpbnRlbF91cGRhdGVfc3ByaXRl X3dhdGVybWFya3MocGxhbmUsICZjcnRjLT5iYXNlLAotCQkJCQkgICAgICAgMCwgMCwgMCwgZmFs c2UsIGZhbHNlKTsKKwlpZiAoIUhBU19BVE9NSUNfV00odG9faTkxNShkZXYpKSkKKwkJZHJtX2Zv cl9lYWNoX3BsYW5lX21hc2socGxhbmUsIGRldiwgYXRvbWljLT51cGRhdGVfc3ByaXRlX3dhdGVy bWFya3MpCisJCQlpbnRlbF91cGRhdGVfc3ByaXRlX3dhdGVybWFya3MocGxhbmUsICZjcnRjLT5i YXNlLAorCQkJCQkJICAgICAgIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSk7CiAKIAltZW1zZXQoYXRv bWljLCAwLCBzaXplb2YoKmF0b21pYykpOwogfQpAQCAtMTQwNzAsNiArMTQwNzUsMjEgQEAgc3Rh dGljIHZvaWQgc2tsX2luaXRfc2NhbGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg aW50ZWxfY3J0YyAqaW50ZWxfY3IKIAlzY2FsZXJfc3RhdGUtPnNjYWxlcl9pZCA9IC0xOwogfQog CisvKiBGSVhNRTogVGhpcyBtYXkgZXhwYW5kIHRvIGNvdmVyIG90aGVyIHRhc2tzIGxpa2UgdW5w aW5uaW5nIGluIHRoZSBmdXR1cmUuLi4gKi8KK3N0YXRpYyB2b2lkIHdtX3dvcmtfZnVuYyhzdHJ1 Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PQorCQljb250YWluZXJfb2Yod29yaywgc3RydWN0IGludGVsX2NydGMsIHdtX3dvcmspOworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfY3J0Yy0+YmFz ZS5kZXYpOworCisJaWYgKFdBUk5fT04oIUhBU19BVE9NSUNfV00oZGV2X3ByaXYpKSkKKwkJcmV0 dXJuOworCWlmIChXQVJOX09OKCFpbnRlbF9jcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpKQorCQly ZXR1cm47CisKKwlkZXZfcHJpdi0+ZGlzcGxheS5wcm9ncmFtX3dhdGVybWFya3MoZGV2X3ByaXYp OworfQorCiBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwgaW50IHBpcGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKQEAgLTE0MTQyLDYgKzE0MTYyLDggQEAgc3RhdGljIHZvaWQgaW50ZWxf Y3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKQogCWRldl9wcml2LT5w bGFuZV90b19jcnRjX21hcHBpbmdbaW50ZWxfY3J0Yy0+cGxhbmVdID0gJmludGVsX2NydGMtPmJh c2U7CiAJZGV2X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW2ludGVsX2NydGMtPnBpcGVdID0g JmludGVsX2NydGMtPmJhc2U7CiAKKwlJTklUX1dPUksoJmludGVsX2NydGMtPndtX3dvcmssIHdt X3dvcmtfZnVuYyk7CisKIAlkcm1fY3J0Y19oZWxwZXJfYWRkKCZpbnRlbF9jcnRjLT5iYXNlLCAm aW50ZWxfaGVscGVyX2Z1bmNzKTsKIAogCVdBUk5fT04oZHJtX2NydGNfaW5kZXgoJmludGVsX2Ny dGMtPmJhc2UpICE9IGludGVsX2NydGMtPnBpcGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApp bmRleCAzMzViMjRiLi43NzVlM2QwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtNTg2 LDYgKzU4NiwxMCBAQCBzdHJ1Y3QgaW50ZWxfY3J0YyB7CiAJaW50IG51bV9zY2FsZXJzOwogCiAJ c3RydWN0IHZsdl93bV9zdGF0ZSB3bV9zdGF0ZTsKKworCS8qIERvIHdlIG5lZWQgdG8gcHJvZ3Jh bSB3YXRlcm1hcmsgdmFsdWVzIGFmdGVyIHRoZSBuZXh0IHZibGFuaz8gKi8KKwlib29sIG5lZWRf dmJsYW5rX3dtX3VwZGF0ZTsKKwlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd21fd29yazsKIH07CiAKIHN0 cnVjdCBpbnRlbF9wbGFuZV93bV9wYXJhbWV0ZXJzIHsKLS0gCjIuMS40CgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=