From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH v5 5/6] drm/i915: Move CRTC updating in atomic_commit into it's own hook Date: Tue, 2 Aug 2016 14:52:53 -0400 Message-ID: <1470163975-30467-6-git-send-email-cpaul@redhat.com> References: <1470163975-30467-1-git-send-email-cpaul@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470163975-30467-1-git-send-email-cpaul@redhat.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, =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Maarten Lankhorst , Matt Roper Cc: David Airlie , linux-kernel@vger.kernel.org, Hans de Goede , dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org U2luY2Ugd2UgaGF2ZSB0byB3cml0ZSBkZGIgYWxsb2NhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSBh cyB3ZSBkbyBvdGhlcgpwbGFuZSB1cGRhdGVzLCB3ZSdyZSBnb2luZyB0byBuZWVkIHRvIGJlIGFi bGUgdG8gY29udHJvbCB0aGUgb3JkZXIgaW4Kd2hpY2ggd2UgZXhlY3V0ZSBtb2Rlc2V0cyBvbiBl YWNoIHBpcGUuIFRoZSBlYXNpZXN0IHdheSB0byBkbyB0aGlzIGlzIHRvCmp1c3QgZmFjdG9yIHRo aXMgc2VjdGlvbiBvZiBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoKQooaW50ZWxfYXRvbWljX2Nv bW1pdCgpIGZvciBzdGFibGUgYnJhbmNoZXMpIGludG8gaXQncyBvd24gZnVuY3Rpb24sIGFuZAph ZGQgYW4gYXBwcm9wcmlhdGUgZGlzcGxheSBmdW5jdGlvbiBob29rIGZvciBpdC4KCkJhc2VkIG9m ZiBvZiBNYXR0IFJvcGUncyBzdWdnZXN0aW9ucwoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgPGNwYXVs QHJlZGhhdC5jb20+CltvbWl0dGluZyBDQyBmb3Igc3RhYmxlLCBzaW5jZSB0aGlzIHBhdGNoIHdp bGwgbmVlZCB0byBiZSBjaGFuZ2VkIGZvcgpzdWNoIGJhY2twb3J0cyBmaXJzdF0KQ2M6IFZpbGxl IFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6IFJhZGhha3Jpc2huYSBTcmlwYWRhIDxy YWRoYWtyaXNobmEuc3JpcGFkYUBpbnRlbC5jb20+CkNjOiBIYW5zIGRlIEdvZWRlIDxoZGVnb2Vk ZUByZWRoYXQuY29tPgpDYzogTWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAgMiArCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA3NCArKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgMjIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODcwMThkMy4uNDk2NGUzZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC02MzIsNiArNjMyLDggQEAgc3RydWN0IGRybV9p OTE1X2Rpc3BsYXlfZnVuY3MgewogCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpOwogCXZvaWQgKCpjcnRjX2VuYWJsZSkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIAl2 b2lkICgqY3J0Y19kaXNhYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworCXZvaWQgKCp1cGRh dGVfY3J0Y3MpKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgdW5zaWdu ZWQgaW50ICpjcnRjX3ZibGFua19tYXNrKTsKIAl2b2lkICgqYXVkaW9fY29kZWNfZW5hYmxlKShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9lbmNv ZGVyICplbmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA3OWQxNDZj Li5kOTg1YjViIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMzYyNCw2 ICsxMzYyNCw1MiBAQCBzdGF0aWMgYm9vbCBuZWVkc192Ymxhbmtfd2FpdChzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlyZXR1cm4gZmFsc2U7CiB9CiAKK3N0YXRpYyB2b2lk IGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCSAgICAgIHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgKmNydGNfdmJsYW5rX21h c2spCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGludGVsX2Ny dGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwor CWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpOworCisJaWYgKG1vZGVz ZXQpIHsKKwkJdXBkYXRlX3NjYW5saW5lX29mZnNldChpbnRlbF9jcnRjKTsKKwkJZGV2X3ByaXYt PmRpc3BsYXkuY3J0Y19lbmFibGUoY3J0Yyk7CisJfSBlbHNlIHsKKwkJaW50ZWxfcHJlX3BsYW5l X3VwZGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKSk7CisJfQorCisJaWYg KGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKHN0YXRlLCBjcnRjLT5wcmltYXJ5 KSkgeworCQlpbnRlbF9mYmNfZW5hYmxlKAorCQkgICAgaW50ZWxfY3J0YywgcGlwZV9jb25maWcs CisJCSAgICB0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5LT5zdGF0ZSkpOworCX0K KworCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0YyhvbGRfY3J0Y19zdGF0 ZSk7CisKKwlpZiAocGlwZV9jb25maWctPmJhc2UuYWN0aXZlICYmIG5lZWRzX3ZibGFua193YWl0 KHBpcGVfY29uZmlnKSkKKwkJKmNydGNfdmJsYW5rX21hc2sgfD0gZHJtX2NydGNfbWFzayhjcnRj KTsKK30KKworc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2NydGNzKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgKmNydGNfdmJsYW5rX21hc2sp Cit7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqb2xk X2NydGNfc3RhdGU7CisJaW50IGk7CisKKwlmb3JfZWFjaF9jcnRjX2luX3N0YXRlKHN0YXRlLCBj cnRjLCBvbGRfY3J0Y19zdGF0ZSwgaSkgeworCQlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUpCisJ CQljb250aW51ZTsKKworCQlpbnRlbF91cGRhdGVfY3J0YyhjcnRjLCBzdGF0ZSwgb2xkX2NydGNf c3RhdGUsCisJCQkJICBjcnRjX3ZibGFua19tYXNrKTsKKwl9Cit9CisKIHN0YXRpYyB2b2lkIGlu dGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CkBAIC0xMzcxNSwxNyArMTM3 NjEsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9h dG9taWNfc3RhdGUgKnN0YXRlKQogCQlpbnRlbF9tb2Rlc2V0X3ZlcmlmeV9kaXNhYmxlZChkZXYp OwogCX0KIAotCS8qIE5vdyBlbmFibGUgdGhlIGNsb2NrcywgcGxhbmUsIHBpcGUsIGFuZCBjb25u ZWN0b3JzIHRoYXQgd2Ugc2V0IHVwLiAqLworCS8qIENvbXBsZXRlIHRoZSBldmVudHMgZm9yIHBp cGVzIHRoYXQgaGF2ZSBub3cgYmVlbiBkaXNhYmxlZCAqLwogCWZvcl9lYWNoX2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLCBpKSB7Ci0JCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAkJYm9vbCBtb2Rlc2V0ID0gbmVl ZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7Ci0JCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZyA9Ci0JCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKLQotCQlpZiAo bW9kZXNldCAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7Ci0JCQl1cGRhdGVfc2NhbmxpbmVfb2Zm c2V0KHRvX2ludGVsX2NydGMoY3J0YykpOwotCQkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFi bGUoY3J0Yyk7Ci0JCX0KIAogCQkvKiBDb21wbGV0ZSBldmVudHMgZm9yIG5vdyBkaXNhYmxlIHBp cGVzIGhlcmUuICovCiAJCWlmIChtb2Rlc2V0ICYmICFjcnRjLT5zdGF0ZS0+YWN0aXZlICYmIGNy dGMtPnN0YXRlLT5ldmVudCkgewpAQCAtMTM3MzUsMjEgKzEzNzczLDExIEBAIHN0YXRpYyB2b2lk IGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUp CiAKIAkJCWNydGMtPnN0YXRlLT5ldmVudCA9IE5VTEw7CiAJCX0KLQotCQlpZiAoIW1vZGVzZXQp Ci0JCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHRvX2ludGVsX2NydGNfc3RhdGUob2xkX2NydGNf c3RhdGUpKTsKLQotCQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSAmJgotCQkgICAgZHJtX2F0b21p Y19nZXRfZXhpc3RpbmdfcGxhbmVfc3RhdGUoc3RhdGUsIGNydGMtPnByaW1hcnkpKQotCQkJaW50 ZWxfZmJjX2VuYWJsZShpbnRlbF9jcnRjLCBwaXBlX2NvbmZpZywgdG9faW50ZWxfcGxhbmVfc3Rh dGUoY3J0Yy0+cHJpbWFyeS0+c3RhdGUpKTsKLQotCQlpZiAoY3J0Yy0+c3RhdGUtPmFjdGl2ZSkK LQkJCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0YyhvbGRfY3J0Y19zdGF0 ZSk7Ci0KLQkJaWYgKHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSAmJiBuZWVkc192Ymxhbmtfd2Fp dChwaXBlX2NvbmZpZykpCi0JCQljcnRjX3ZibGFua19tYXNrIHw9IDEgPDwgaTsKIAl9CiAKKwkv KiBOb3cgZW5hYmxlIHRoZSBjbG9ja3MsIHBsYW5lLCBwaXBlLCBhbmQgY29ubmVjdG9ycyB0aGF0 IHdlIHNldCB1cC4gKi8KKwlkZXZfcHJpdi0+ZGlzcGxheS51cGRhdGVfY3J0Y3Moc3RhdGUsICZj cnRjX3ZibGFua19tYXNrKTsKKwogCS8qIEZJWE1FOiBXZSBzaG91bGQgY2FsbCBkcm1fYXRvbWlj X2hlbHBlcl9jb21taXRfaHdfZG9uZSgpIGhlcmUKIAkgKiBhbHJlYWR5LCBidXQgc3RpbGwgbmVl ZCB0aGUgc3RhdGUgZm9yIHRoZSBkZWxheWVkIG9wdGltaXphdGlvbi4gVG8KIAkgKiBmaXggdGhp czoKQEAgLTE1MjAyLDYgKzE1MjMwLDggQEAgdm9pZCBpbnRlbF9pbml0X2Rpc3BsYXlfaG9va3Mo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQlkZXZfcHJpdi0+ZGlzcGxheS5j cnRjX2Rpc2FibGUgPSBpOXh4X2NydGNfZGlzYWJsZTsKIAl9CiAKKwlkZXZfcHJpdi0+ZGlzcGxh eS51cGRhdGVfY3J0Y3MgPSBpbnRlbF91cGRhdGVfY3J0Y3M7CisKIAkvKiBSZXR1cm5zIHRoZSBj b3JlIGRpc3BsYXkgY2xvY2sgc3BlZWQgKi8KIAlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwg SVNfS0FCWUxBS0UoZGV2X3ByaXYpKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfZGlzcGxheV9j bG9ja19zcGVlZCA9Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==