From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 RFC 6/5] drm/i915: Update less state during modeset. Date: Thu, 23 Apr 2015 08:29:14 +0200 Message-ID: <5538913A.6020600@linux.intel.com> References: <1429701862-22970-1-git-send-email-maarten.lankhorst@linux.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 0095D89FA7 for ; Wed, 22 Apr 2015 23:29:30 -0700 (PDT) In-Reply-To: <1429701862-22970-1-git-send-email-maarten.lankhorst@linux.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 Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org Tm8gbmVlZCB0byByZXBlYXRlZGx5IGNhbGwgdXBkYXRlX3dhdGVybWFya3MsIG9yIHVwZGF0ZV9m YmMuCkZvciB1cGRhdGVfd2F0ZXJtYXJrcyBvbmNlIHNob3VsZCBiZSBlbm91Z2ggYWZ0ZXIgZGlz YWJsaW5nIGNydGMncwphbmQgc3dhcHBpbmcgdGhlIHN0YXRlLgoKRG93biB0byBhIHNpbmdsZSBj YWxsIHRvIHVwZGF0ZV93YXRlcm1hcmtzIGluIC5jcnRjX2VuYWJsZQoKU2lnbmVkLW9mZi1ieTog TWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0t ClRoZXJlIGlzIG5vIHYxLCB0aGlzIHBhdGNoIHdhcyBhZGRlZCBsYXRlciB0byB0aGUgc2VyaWVz LiA6LSkKClRoZSBvcmRlciBpbiBpcm9ubGFrZV9jcnRjX2Rpc2FibGUgaXMgc2xpZ2h0bHkgY2hh bmdlZCB3aXRoCmludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwgYW5kIGlyb25sYWtlX2ZkaV9wbGxf ZGlzYWJsZSBvcmRlciBjaGFuZ2VkLgpJIGhhdmUgbm8gaWRlYSBpZiB0aGlzIGNhbiBjYXVzZSBw cm9ibGVtcywgYnV0IGl0IHdvcmtzIG9uIG15IHN5c3RlbS4gCgogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHwgNzkgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDJkMmFkYTU4MGIzNi4uMTYyMDRj NTI1MDA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC00NTg4LDEwICs0 NTg4LDYgQEAgaW50ZWxfcG9zdF9lbmFibGVfcHJpbWFyeShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp CiAJICovCiAJaHN3X2VuYWJsZV9pcHMoaW50ZWxfY3J0Yyk7CiAKLQltdXRleF9sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7Ci0JaW50ZWxfZmJjX3VwZGF0ZShkZXYpOwotCW11dGV4X3VubG9jaygm ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCiAJLyoKIAkgKiBHZW4yIHJlcG9ydHMgcGlwZSB1bmRlcnJ1 bnMgd2hlbmV2ZXIgYWxsIHBsYW5lcyBhcmUgZGlzYWJsZWQuCiAJICogU28gZG9uJ3QgZW5hYmxl IHVuZGVycnVuIHJlcG9ydGluZyBiZWZvcmUgYXQgbGVhc3Qgc29tZSBwbGFuZXMKQEAgLTQ2NDYs MTEgKzQ2NDIsNiBAQCBpbnRlbF9wcmVfZGlzYWJsZV9wcmltYXJ5KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIAlpZiAoSEFTX0dNQ0hfRElTUExBWShkZXYpKQogCQlpbnRlbF9zZXRfbWVtb3J5X2N4 c3IoZGV2X3ByaXYsIGZhbHNlKTsKIAotCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsK LQlpZiAoZGV2X3ByaXYtPmZiYy5jcnRjID09IGludGVsX2NydGMpCi0JCWludGVsX2ZiY19kaXNh YmxlKGRldik7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0KIAkvKgogCSAq IEZJWE1FIElQUyBzaG91bGQgYmUgZmluZSBhcyBsb25nIGFzIG9uZSBwbGFuZSBpcwogCSAqIGVu YWJsZWQsIGJ1dCBpbiBwcmFjdGljZSBpdCBzZWVtcyB0byBoYXZlIHByb2JsZW1zCkBAIC00ODc2 LDkgKzQ4NjcsNiBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2Rpc2FibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAl1MzIgcmVnLCB0 ZW1wOwogCi0JaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCXJldHVybjsKLQogCWZvcl9lYWNo X2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpCiAJCWVuY29kZXItPmRpc2FibGUo ZW5jb2Rlcik7CiAKQEAgLTQ5MTYsMTggKzQ5MDQsOCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9j cnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQkJSTkxNV9XUklURShQQ0hfRFBM TF9TRUwsIHRlbXApOwogCQl9CiAKLQkJLyogZGlzYWJsZSBQQ0ggRFBMTCAqLwotCQlpbnRlbF9k aXNhYmxlX3NoYXJlZF9kcGxsKGludGVsX2NydGMpOwotCiAJCWlyb25sYWtlX2ZkaV9wbGxfZGlz YWJsZShpbnRlbF9jcnRjKTsKIAl9Ci0KLQlpbnRlbF9jcnRjLT5hY3RpdmUgPSBmYWxzZTsKLQlp bnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKLQotCW11dGV4X2xvY2soJmRldi0+c3RydWN0 X211dGV4KTsKLQlpbnRlbF9mYmNfdXBkYXRlKGRldik7Ci0JbXV0ZXhfdW5sb2NrKCZkZXYtPnN0 cnVjdF9tdXRleCk7CiB9CiAKIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKQEAgLTQ5MzgsOSArNDkxNiw2IEBAIHN0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcjsKIAllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBpbnRlbF9j cnRjLT5jb25maWctPmNwdV90cmFuc2NvZGVyOwogCi0JaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUp Ci0JCXJldHVybjsKLQogCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29k ZXIpIHsKIAkJaW50ZWxfb3ByZWdpb25fbm90aWZ5X2VuY29kZXIoZW5jb2RlciwgZmFsc2UpOwog CQllbmNvZGVyLT5kaXNhYmxlKGVuY29kZXIpOwpAQCAtNDk3NCwxNiArNDk0OSw2IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlmb3Jf ZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRjLCBlbmNvZGVyKQogCQlpZiAoZW5jb2Rlci0+ cG9zdF9kaXNhYmxlKQogCQkJZW5jb2Rlci0+cG9zdF9kaXNhYmxlKGVuY29kZXIpOwotCi0JaW50 ZWxfY3J0Yy0+YWN0aXZlID0gZmFsc2U7Ci0JaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7 Ci0KLQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JaW50ZWxfZmJjX3VwZGF0ZShk ZXYpOwotCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCi0JaWYgKGludGVsX2Ny dGNfdG9fc2hhcmVkX2RwbGwoaW50ZWxfY3J0YykpCi0JCWludGVsX2Rpc2FibGVfc2hhcmVkX2Rw bGwoaW50ZWxfY3J0Yyk7CiB9CiAKIHN0YXRpYyB2b2lkIGk5eHhfcGZpdF9lbmFibGUoc3RydWN0 IGludGVsX2NydGMgKmNydGMpCkBAIC01NjAzLDkgKzU1NjgsNiBAQCBzdGF0aWMgdm9pZCBpOXh4 X2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXI7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCi0JaWYgKCFpbnRl bF9jcnRjLT5hY3RpdmUpCi0JCXJldHVybjsKLQogCS8qCiAJICogT24gZ2VuMiBwbGFuZXMgYXJl IGRvdWJsZSBidWZmZXJlZCBidXQgdGhlIHBpcGUgaXNuJ3QsIHNvIHdlIG11c3QKIAkgKiB3YWl0 IGZvciBwbGFuZXMgdG8gZnVsbHkgdHVybiBvZmYgYmVmb3JlIGRpc2FibGluZyB0aGUgcGlwZS4K QEAgLTU2MzksMTMgKzU2MDEsNiBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZGlzYWJsZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlpZiAoIUlTX0dFTjIoZGV2KSkKIAkJaW50ZWxfc2V0X2Nw dV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgZmFsc2UpOwotCi0JaW50 ZWxfY3J0Yy0+YWN0aXZlID0gZmFsc2U7Ci0JaW50ZWxfdXBkYXRlX3dhdGVybWFya3MoY3J0Yyk7 Ci0KLQltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Ci0JaW50ZWxfZmJjX3VwZGF0ZShk ZXYpOwotCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogfQogCiAvKiBNYXN0ZXIg ZnVuY3Rpb24gdG8gZW5hYmxlL2Rpc2FibGUgQ1JUQyBhbmQgY29ycmVzcG9uZGluZyBwb3dlciB3 ZWxscyAqLwpAQCAtMTIwMDgsMTEgKzExOTYzLDIxIEBAIHN0YXRpYyBpbnQgX19pbnRlbF9zZXRf bW9kZShzdHJ1Y3QgZHJtX2NydGMgKm1vZGVzZXRfY3J0YywKIAlfX2ludGVsX3NldF9tb2RlX3Vw ZGF0ZV9wbGFuZXMoZGV2LCBzdGF0ZSk7CiAKIAlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRl LCBjcnRjLCBjcnRjX3N0YXRlLCBpKSB7CisJCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwogCQlpZiAoIW5lZWRzX21vZGVzZXQoY3J0Y19zdGF0 ZSkpCiAJCQljb250aW51ZTsKIAorCQlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUpCisJCQljb250 aW51ZTsKKwogCQlpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxlKHRvX2ludGVsX2NydGMo Y3J0YykpOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUoY3J0Yyk7CisKKwkJaW50 ZWxfY3J0Yy0+YWN0aXZlID0gZmFsc2U7CisKKwkJaWYgKGludGVsX2NydGNfdG9fc2hhcmVkX2Rw bGwoaW50ZWxfY3J0YykpCisJCQlpbnRlbF9kaXNhYmxlX3NoYXJlZF9kcGxsKGludGVsX2NydGMp OwogCX0KIAogCS8qIGNydGMtPm1vZGUgaXMgYWxyZWFkeSB1c2VkIGJ5IHRoZSAtPm1vZGVfc2V0 IGNhbGxiYWNrcywgaGVuY2Ugd2UgbmVlZApAQCAtMTIwNDUsOCArMTIwMTAsMTEgQEAgc3RhdGlj IGludCBfX2ludGVsX3NldF9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqbW9kZXNldF9jcnRjLAogCiAJ LyogTm93IGVuYWJsZSB0aGUgY2xvY2tzLCBwbGFuZSwgcGlwZSwgYW5kIGNvbm5lY3RvcnMgdGhh dCB3ZSBzZXQgdXAuICovCiAJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0 Y19zdGF0ZSwgaSkgewotCQlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUpCisJCWlmICghY3J0Yy0+ c3RhdGUtPmFjdGl2ZSkgeworCQkJaWYgKG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpKQorCQkJ CWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKGNydGMpOwogCQkJY29udGludWU7CisJCX0KIAogCQl1 cGRhdGVfc2NhbmxpbmVfb2Zmc2V0KHRvX2ludGVsX2NydGMoY3J0YykpOwogCkBAIC0xMjY2Miw2 ICsxMjYzMCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWljX2NoZWNrX2NydGMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCiAJbWVtc2V0KCZpbnRlbF9jcnRjLT5hdG9taWMsIDAsIHNpemVvZihp bnRlbF9jcnRjLT5hdG9taWMpKTsKIAlpbnRlbF9jcnRjLT5hdG9taWMudXBkYXRlX3dtID0gbW9k ZV9jaGFuZ2VkOworCWludGVsX2NydGMtPmF0b21pYy5kaXNhYmxlX2ZiYyA9IG1vZGVfY2hhbmdl ZDsKIAogCWlkeCA9IGNydGMtPmJhc2UuaWQ7CiAJSTkxNV9TVEFURV9XQVJOKGNydGMtPnN0YXRl LT5hY3RpdmUgIT0gaW50ZWxfY3J0Yy0+YWN0aXZlLApAQCAtMTI3NjMsNiArMTI3MzIsOSBAQCBz dGF0aWMgaW50IGludGVsX2F0b21pY19jaGVja19jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJCWJyZWFrOwogCQl9CiAJfQorCisJaWYgKG1vZGVfY2hhbmdlZCkKKwkJaW50ZWxfY3J0Yy0+ YXRvbWljLnVwZGF0ZV93bSA9IGZhbHNlOwogCXJldHVybiAwOwogfQogCkBAIC0xMjgwMiw4ICsx Mjc3NCwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJaWYgKGludGVsX2NydGMtPmF0b21pYy53YWl0X2Zvcl9mbGlwcykKIAkJ aW50ZWxfY3J0Y193YWl0X2Zvcl9wZW5kaW5nX2ZsaXBzKGNydGMpOwogCi0JaWYgKGludGVsX2Ny dGMtPmF0b21pYy5kaXNhYmxlX2ZiYykKLQkJaW50ZWxfZmJjX2Rpc2FibGUoZGV2KTsKKwlpZiAo aW50ZWxfY3J0Yy0+YXRvbWljLmRpc2FibGVfZmJjICYmCisJICAgIGRldl9wcml2LT5mYmMuY3J0 YyA9PSBpbnRlbF9jcnRjKSB7CisJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKKwkJ aWYgKGRldl9wcml2LT5mYmMuY3J0YyA9PSBpbnRlbF9jcnRjKQorCQkJaW50ZWxfZmJjX2Rpc2Fi bGUoZGV2KTsKKwkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJfQogCiAJaWYg KGludGVsX2NydGMtPmF0b21pYy5wcmVfZGlzYWJsZV9wcmltYXJ5KQogCQlpbnRlbF9wcmVfZGlz YWJsZV9wcmltYXJ5KGNydGMpOwpAQCAtMTI4NDEsMTUgKzEyODE4LDE1IEBAIHN0YXRpYyB2b2lk IGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlpbnRl bF9mcm9udGJ1ZmZlcl9mbGlwKGRldiwgaW50ZWxfY3J0Yy0+YXRvbWljLmZiX2JpdHMpOwogCisJ aWYgKGludGVsX2NydGMtPmF0b21pYy5wb3N0X2VuYWJsZV9wcmltYXJ5KQorCQlpbnRlbF9wb3N0 X2VuYWJsZV9wcmltYXJ5KGNydGMpOworCiAJaWYgKGludGVsX2NydGMtPmF0b21pYy51cGRhdGVf ZmJjKSB7CiAJCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAkJaW50ZWxfZmJjX3Vw ZGF0ZShkZXYpOwogCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAl9CiAKLQlp ZiAoaW50ZWxfY3J0Yy0+YXRvbWljLnBvc3RfZW5hYmxlX3ByaW1hcnkpCi0JCWludGVsX3Bvc3Rf ZW5hYmxlX3ByaW1hcnkoY3J0Yyk7Ci0KIAlkcm1fZm9yX2VhY2hfbGVnYWN5X3BsYW5lKHAsICZk ZXYtPm1vZGVfY29uZmlnLnBsYW5lX2xpc3QpCiAJCWlmIChpbnRlbF9jcnRjLT5hdG9taWMudXBk YXRlX3Nwcml0ZV93YXRlcm1hcmtzICYgZHJtX3BsYW5lX2luZGV4KHApKQogCQkJaW50ZWxfdXBk YXRlX3Nwcml0ZV93YXRlcm1hcmtzKHAsIGNydGMsIDAsIDAsIDAsCi0tIAoyLjEuMAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==