From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Subject: [PATCH REBASED v10 5/6] drm/i915: Move CRTC updating in atomic_commit into it's own hook Date: Wed, 10 Aug 2016 10:27:52 -0400 Message-ID: <1470839281-19639-6-git-send-email-cpaul@redhat.com> References: <1470839281-19639-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: <1470839281-19639-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 ZiBvZiBNYXR0IFJvcGUncyBzdWdnZXN0aW9ucwoKQ2hhbmdlcyBzaW5jZSB2MToKIC0gRHJvcCBw aXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUgY2hlY2sgaW4gaW50ZWxfdXBkYXRlX2NydGNzKCkgc2lu Y2Ugd2UKICAgY2hlY2sgdGhhdCBiZWZvcmUgY2FsbGluZyB0aGUgZnVuY3Rpb24KClNpZ25lZC1v ZmYtYnk6IEx5dWRlIDxjcGF1bEByZWRoYXQuY29tPgpSZXZpZXdlZC1ieTogTWF0dCBSb3BlciA8 bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KW29taXR0aW5nIENDIGZvciBzdGFibGUsIHNpbmNl IHRoaXMgcGF0Y2ggd2lsbCBuZWVkIHRvIGJlIGNoYW5nZWQgZm9yCnN1Y2ggYmFja3BvcnRzIGZp cnN0XQpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Q2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogUmFkaGFrcmlz aG5hIFNyaXBhZGEgPHJhZGhha3Jpc2huYS5zcmlwYWRhQGludGVsLmNvbT4KQ2M6IEhhbnMgZGUg R29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSA8Y3BhdWxA cmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAg MiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA3NCArKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9u cygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZmEzYzlm OS4uZjBiMmVmOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC02MzAsNiArNjMwLDggQEAg c3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3MgewogCQkJCSAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpOwogCXZvaWQgKCpjcnRjX2VuYWJsZSkoc3RydWN0IGRybV9jcnRj ICpjcnRjKTsKIAl2b2lkICgqY3J0Y19kaXNhYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwor CXZvaWQgKCp1cGRhdGVfY3J0Y3MpKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJ CSAgICAgdW5zaWduZWQgaW50ICpjcnRjX3ZibGFua19tYXNrKTsKIAl2b2lkICgqYXVkaW9fY29k ZWNfZW5hYmxlKShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCSAgIHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICphZGp1c3RlZF9tb2RlKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCA0Mjk4MTBiLi45NjcwZWMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CkBAIC0xMzY4OSw2ICsxMzY4OSw1MiBAQCBzdGF0aWMgYm9vbCBuZWVkc192Ymxhbmtfd2FpdChz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAlyZXR1cm4gZmFsc2U7CiB9CiAK K3N0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJ CSAgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCSAgICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCisJCQkgICAgICB1bnNpZ25lZCBpbnQgKmNy dGNfdmJsYW5rX21hc2spCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CisJc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOworCXN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+c3RhdGUpOworCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpOwor CisJaWYgKG1vZGVzZXQpIHsKKwkJdXBkYXRlX3NjYW5saW5lX29mZnNldChpbnRlbF9jcnRjKTsK KwkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFibGUoY3J0Yyk7CisJfSBlbHNlIHsKKwkJaW50 ZWxfcHJlX3BsYW5lX3VwZGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKSk7 CisJfQorCisJaWYgKGRybV9hdG9taWNfZ2V0X2V4aXN0aW5nX3BsYW5lX3N0YXRlKHN0YXRlLCBj cnRjLT5wcmltYXJ5KSkgeworCQlpbnRlbF9mYmNfZW5hYmxlKAorCQkgICAgaW50ZWxfY3J0Yywg cGlwZV9jb25maWcsCisJCSAgICB0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5LT5z dGF0ZSkpOworCX0KKworCWRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXNfb25fY3J0Yyhv bGRfY3J0Y19zdGF0ZSk7CisKKwlpZiAobmVlZHNfdmJsYW5rX3dhaXQocGlwZV9jb25maWcpKQor CQkqY3J0Y192YmxhbmtfbWFzayB8PSBkcm1fY3J0Y19tYXNrKGNydGMpOworfQorCitzdGF0aWMg dm9pZCBpbnRlbF91cGRhdGVfY3J0Y3Moc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAor CQkJICAgICAgIHVuc2lnbmVkIGludCAqY3J0Y192YmxhbmtfbWFzaykKK3sKKwlzdHJ1Y3QgZHJt X2NydGMgKmNydGM7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZTsKKwlp bnQgaTsKKworCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0 YXRlLCBpKSB7CisJCWlmICghY3J0Yy0+c3RhdGUtPmFjdGl2ZSkKKwkJCWNvbnRpbnVlOworCisJ CWludGVsX3VwZGF0ZV9jcnRjKGNydGMsIHN0YXRlLCBvbGRfY3J0Y19zdGF0ZSwKKwkJCQkgIGNy dGNfdmJsYW5rX21hc2spOworCX0KK30KKwogc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1p dF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gc3RhdGUtPmRldjsKQEAgLTEzNzg4LDE3ICsxMzgzNCw5IEBAIHN0YXRpYyB2 b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCiAJCWludGVsX21vZGVzZXRfdmVyaWZ5X2Rpc2FibGVkKGRldik7CiAJfQogCi0JLyogTm93 IGVuYWJsZSB0aGUgY2xvY2tzLCBwbGFuZSwgcGlwZSwgYW5kIGNvbm5lY3RvcnMgdGhhdCB3ZSBz ZXQgdXAuICovCisJLyogQ29tcGxldGUgdGhlIGV2ZW50cyBmb3IgcGlwZXMgdGhhdCBoYXZlIG5v dyBiZWVuIGRpc2FibGVkICovCiAJZm9yX2VhY2hfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywg b2xkX2NydGNfc3RhdGUsIGkpIHsKLQkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0 b19pbnRlbF9jcnRjKGNydGMpOwogCQlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KGNydGMt PnN0YXRlKTsKLQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KLQkJCXRv X2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwotCi0JCWlmIChtb2Rlc2V0ICYmIGNydGMt PnN0YXRlLT5hY3RpdmUpIHsKLQkJCXVwZGF0ZV9zY2FubGluZV9vZmZzZXQodG9faW50ZWxfY3J0 YyhjcnRjKSk7Ci0JCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZShjcnRjKTsKLQkJfQog CiAJCS8qIENvbXBsZXRlIGV2ZW50cyBmb3Igbm93IGRpc2FibGUgcGlwZXMgaGVyZS4gKi8KIAkJ aWYgKG1vZGVzZXQgJiYgIWNydGMtPnN0YXRlLT5hY3RpdmUgJiYgY3J0Yy0+c3RhdGUtPmV2ZW50 KSB7CkBAIC0xMzgwOCwyMSArMTM4NDYsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2Nv bW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAogCQkJY3J0Yy0+c3Rh dGUtPmV2ZW50ID0gTlVMTDsKIAkJfQotCi0JCWlmICghbW9kZXNldCkKLQkJCWludGVsX3ByZV9w bGFuZV91cGRhdGUodG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSkpOwotCi0JCWlm IChjcnRjLT5zdGF0ZS0+YWN0aXZlICYmCi0JCSAgICBkcm1fYXRvbWljX2dldF9leGlzdGluZ19w bGFuZV9zdGF0ZShzdGF0ZSwgY3J0Yy0+cHJpbWFyeSkpCi0JCQlpbnRlbF9mYmNfZW5hYmxlKGlu dGVsX2NydGMsIHBpcGVfY29uZmlnLCB0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5 LT5zdGF0ZSkpOwotCi0JCWlmIChjcnRjLT5zdGF0ZS0+YWN0aXZlKQotCQkJZHJtX2F0b21pY19o ZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjKG9sZF9jcnRjX3N0YXRlKTsKLQotCQlpZiAocGlw ZV9jb25maWctPmJhc2UuYWN0aXZlICYmIG5lZWRzX3ZibGFua193YWl0KHBpcGVfY29uZmlnKSkK LQkJCWNydGNfdmJsYW5rX21hc2sgfD0gMSA8PCBpOwogCX0KIAorCS8qIE5vdyBlbmFibGUgdGhl IGNsb2NrcywgcGxhbmUsIHBpcGUsIGFuZCBjb25uZWN0b3JzIHRoYXQgd2Ugc2V0IHVwLiAqLwor CWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9jcnRjcyhzdGF0ZSwgJmNydGNfdmJsYW5rX21hc2sp OworCiAJLyogRklYTUU6IFdlIHNob3VsZCBjYWxsIGRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9o d19kb25lKCkgaGVyZQogCSAqIGFscmVhZHksIGJ1dCBzdGlsbCBuZWVkIHRoZSBzdGF0ZSBmb3Ig dGhlIGRlbGF5ZWQgb3B0aW1pemF0aW9uLiBUbwogCSAqIGZpeCB0aGlzOgpAQCAtMTUzMTAsNiAr MTUzMzgsOCBAQCB2b2lkIGludGVsX2luaXRfZGlzcGxheV9ob29rcyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGk5 eHhfY3J0Y19kaXNhYmxlOwogCX0KIAorCWRldl9wcml2LT5kaXNwbGF5LnVwZGF0ZV9jcnRjcyA9 IGludGVsX3VwZGF0ZV9jcnRjczsKKwogCS8qIFJldHVybnMgdGhlIGNvcmUgZGlzcGxheSBjbG9j ayBzcGVlZCAqLwogCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19LQUJZTEFLRShkZXZf cHJpdikpCiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9kaXNwbGF5X2Nsb2NrX3NwZWVkID0KLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK