From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 07/13] drm/i915: Move LUT programming to happen after vblank waits Date: Fri, 11 Jan 2019 19:08:17 +0200 Message-ID: <20190111170823.4441-8-ville.syrjala@linux.intel.com> References: <20190111170823.4441-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7E3836F881 for ; Fri, 11 Jan 2019 17:08:50 +0000 (UTC) In-Reply-To: <20190111170823.4441-1-ville.syrjala@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBMVVRzIGFyZSBzaW5nbGUgYnVmZmVyZWQgc28gd2Ugc2hvdWxkIHByb2dyYW0gdGhlbSBhZnRl cgp0aGUgZG91YmxlIGJ1ZmZlcmVkIHBpcGUgdXBkYXRlcyBoYXZlIGJlZW4gbGF0Y2hlZCBieSB0 aGUKaGFyZHdhcmUuCgpXZSdsbCBhbHNvIGZpeCB1cCB0aGUgSVBTIHZzLiBzcGxpdCBnYW1tYSB3 L2EgdG8gZG8gdGhlIElQUwpkaXNhYmxlIGxpa2UgZXZlcnlvbmUgZWxzZS4gTm90ZSB0aGF0IHRo aXMgaXMgY3VycmVudGx5IGRlYWQKY29kZSBhcyB3ZSBkb24ndCB1c2UgdGhlIHNwbGl0IGdhbW1h IG1vZGUgb24gSFNXLCBidXQgdGhhdAp3aWxsIGJlIGZpeGVkIHVwIHNob3J0bHkuCgpTaWduZWQt b2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDI1ICstLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNDcgKysrKysrKysr KysrKysrKysrKysrKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAz MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9j b2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCBmOWUwODU1 MTYyZjMuLjBjMGRhN2VkMGZkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCkBAIC0z NjEsMjkgKzM2MSw2IEBAIHN0YXRpYyB2b2lkIGhzd19jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWxrX2xvYWRfY3NjX21hdHJpeChjcnRj X3N0YXRlKTsKIH0KIAotLyogTG9hZHMgdGhlIGxlZ2FjeSBwYWxldHRlL2dhbW1hIHVuaXQgZm9y IHRoZSBDUlRDIG9uIEhhc3dlbGwuICovCi1zdGF0aWMgdm9pZCBoYXN3ZWxsX2xvYWRfbHV0cyhj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKLXsKLQlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjKTsKLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2 KTsKLQlib29sIHJlZW5hYmxlX2lwcyA9IGZhbHNlOwotCi0JLyoKLQkgKiBXb3JrYXJvdW5kIDog RG8gbm90IHJlYWQgb3Igd3JpdGUgdGhlIHBpcGUgcGFsZXR0ZS9nYW1tYSBkYXRhIHdoaWxlCi0J ICogR0FNTUFfTU9ERSBpcyBjb25maWd1cmVkIGZvciBzcGxpdCBnYW1tYSBhbmQgSVBTX0NUTCBo YXMgSVBTIGVuYWJsZWQuCi0JICovCi0JaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIGNydGNf c3RhdGUtPmlwc19lbmFibGVkICYmCi0JICAgIChjcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09IEdB TU1BX01PREVfTU9ERV9TUExJVCkpIHsKLQkJaHN3X2Rpc2FibGVfaXBzKGNydGNfc3RhdGUpOwot CQlyZWVuYWJsZV9pcHMgPSB0cnVlOwotCX0KLQotCWk5eHhfbG9hZF9sdXRzKGNydGNfc3RhdGUp OwotCi0JaWYgKHJlZW5hYmxlX2lwcykKLQkJaHN3X2VuYWJsZV9pcHMoY3J0Y19zdGF0ZSk7Ci19 Ci0KIHN0YXRpYyB2b2lkIGJkd19sb2FkX2RlZ2FtbWFfbHV0KGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5iYXNlLmNydGMpOwpAQCAtNjYwLDcgKzYzNyw3IEBAIHZv aWQgaW50ZWxfY29sb3JfaW5pdChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlpZiAoSVNfQ0hF UlJZVklFVyhkZXZfcHJpdikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gY2hl cnJ5dmlld19sb2FkX2x1dHM7CiAJfSBlbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSkgewot CQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMgPSBoYXN3ZWxsX2xvYWRfbHV0czsKKwkJZGV2 X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7CiAJCWRldl9wcml2LT5k aXNwbGF5LmNvbG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7CiAJfSBlbHNlIGlmIChJU19C Uk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0dFTjlfQkMoZGV2X3ByaXYpIHx8CiAJCSAgIElTX0JS T1hUT04oZGV2X3ByaXYpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXgg OTZjNzg1NjZiOGU2Li4xY2FlZTQxMjg5NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKQEAgLTUyOTksMjQgKzUyOTksNTQgQEAgaW50ZWxfcHJlX2Rpc2FibGVfcHJpbWFyeV9u b2F0b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiBzdGF0aWMgYm9vbCBoc3dfcHJlX3VwZGF0 ZV9kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3Rh dGUsCiAJCQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19z dGF0ZSkKIHsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2Ny dGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CisKIAlpZiAoIW9sZF9jcnRjX3N0YXRlLT5pcHNf ZW5hYmxlZCkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKG5lZWRzX21vZGVzZXQoJm5ld19jcnRj X3N0YXRlLT5iYXNlKSkKIAkJcmV0dXJuIHRydWU7CiAKKwkvKgorCSAqIFdvcmthcm91bmQgOiBE byBub3QgcmVhZCBvciB3cml0ZSB0aGUgcGlwZSBwYWxldHRlL2dhbW1hIGRhdGEgd2hpbGUKKwkg KiBHQU1NQV9NT0RFIGlzIGNvbmZpZ3VyZWQgZm9yIHNwbGl0IGdhbW1hIGFuZCBJUFNfQ1RMIGhh cyBJUFMgZW5hYmxlZC4KKwkgKgorCSAqIERpc2FibGUgSVBTIGJlZm9yZSB3ZSBwcm9ncmFtIHRo ZSBMVVQuCisJICovCisJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmCisJICAgIChuZXdfY3J0 Y19zdGF0ZS0+YmFzZS5jb2xvcl9tZ210X2NoYW5nZWQgfHwKKwkgICAgIG5ld19jcnRjX3N0YXRl LT51cGRhdGVfcGlwZSkgJiYKKwkgICAgbmV3X2NydGNfc3RhdGUtPmdhbW1hX21vZGUgPT0gR0FN TUFfTU9ERV9NT0RFX1NQTElUKQorCQlyZXR1cm4gdHJ1ZTsKKwogCXJldHVybiAhbmV3X2NydGNf c3RhdGUtPmlwc19lbmFibGVkOwogfQogCiBzdGF0aWMgYm9vbCBoc3dfcG9zdF91cGRhdGVfZW5h YmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCiAJ CQkJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSkK IHsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3Rh dGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShjcnRjLT5iYXNlLmRldik7CisKIAlpZiAoIW5ld19jcnRjX3N0YXRlLT5pcHNfZW5hYmxl ZCkKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKG5lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRl LT5iYXNlKSkKIAkJcmV0dXJuIHRydWU7CiAKKwkvKgorCSAqIFdvcmthcm91bmQgOiBEbyBub3Qg cmVhZCBvciB3cml0ZSB0aGUgcGlwZSBwYWxldHRlL2dhbW1hIGRhdGEgd2hpbGUKKwkgKiBHQU1N QV9NT0RFIGlzIGNvbmZpZ3VyZWQgZm9yIHNwbGl0IGdhbW1hIGFuZCBJUFNfQ1RMIGhhcyBJUFMg ZW5hYmxlZC4KKwkgKgorCSAqIFJlLWVuYWJsZSBJUFMgYWZ0ZXIgdGhlIExVVCBoYXMgYmVlbiBw cm9ncmFtbWVkLgorCSAqLworCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSAmJgorCSAgICAobmV3 X2NydGNfc3RhdGUtPmJhc2UuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CisJICAgICBuZXdfY3J0Y19z dGF0ZS0+dXBkYXRlX3BpcGUpICYmCisJICAgIG5ld19jcnRjX3N0YXRlLT5nYW1tYV9tb2RlID09 IEdBTU1BX01PREVfTU9ERV9TUExJVCkKKwkJcmV0dXJuIHRydWU7CisKIAkvKgogCSAqIFdlIGNh bid0IHJlYWQgb3V0IElQUyBvbiBicm9hZHdlbGwsIGFzc3VtZSB0aGUgd29yc3QgYW5kCiAJICog Zm9yY2libHkgZW5hYmxlIElQUyBvbiB0aGUgZmlyc3QgZmFzdHNldC4KQEAgLTExMDUwLDcgKzEx MDgwLDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCWlmIChjcnRjX3N0YXRlLT5jb2xvcl9t Z210X2NoYW5nZWQpIHsKKwlpZiAobW9kZV9jaGFuZ2VkIHx8IGNydGNfc3RhdGUtPmNvbG9yX21n bXRfY2hhbmdlZCkgewogCQlyZXQgPSBpbnRlbF9jb2xvcl9jaGVjayhwaXBlX2NvbmZpZyk7CiAJ CWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0OwpAQCAtMTMxMTcsNiArMTMxNDcsMTYgQEAgc3RhdGlj IHZvaWQgaW50ZWxfYXRvbWljX2NvbW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKIAkgKi8KIAlkcm1fYXRvbWljX2hlbHBlcl93YWl0X2Zvcl9mbGlwX2RvbmUoZGV2LCBz dGF0ZSk7CiAKKwlmb3JfZWFjaF9uZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2Ny dGNfc3RhdGUsIGkpIHsKKwkJbmV3X2ludGVsX2NydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0 YXRlKG5ld19jcnRjX3N0YXRlKTsKKworCQlpZiAobmV3X2NydGNfc3RhdGUtPmFjdGl2ZSAmJgor CQkgICAgIW5lZWRzX21vZGVzZXQobmV3X2NydGNfc3RhdGUpICYmCisJCSAgICAobmV3X2ludGVs X2NydGNfc3RhdGUtPmJhc2UuY29sb3JfbWdtdF9jaGFuZ2VkIHx8CisJCSAgICAgbmV3X2ludGVs X2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlKSkKKwkJCWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdf aW50ZWxfY3J0Y19zdGF0ZSk7CisJfQorCiAJLyoKIAkgKiBOb3cgdGhhdCB0aGUgdmJsYW5rIGhh cyBwYXNzZWQsIHdlIGNhbiBnbyBhaGVhZCBhbmQgcHJvZ3JhbSB0aGUKIAkgKiBvcHRpbWFsIHdh dGVybWFya3Mgb24gcGxhdGZvcm1zIHRoYXQgbmVlZCB0d28tc3RlcCB3YXRlcm1hcmsKQEAgLTEz NjMyLDExICsxMzY3Miw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2JlZ2luX2NydGNfY29tbWl0KHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShv bGRfaW50ZWxfc3RhdGUsIGludGVsX2NydGMpOwogCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVz ZXQoJmludGVsX2NzdGF0ZS0+YmFzZSk7CiAKLQlpZiAoIW1vZGVzZXQgJiYKLQkgICAgKGludGVs X2NzdGF0ZS0+YmFzZS5jb2xvcl9tZ210X2NoYW5nZWQgfHwKLQkgICAgIGludGVsX2NzdGF0ZS0+ dXBkYXRlX3BpcGUpKQotCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoaW50ZWxfY3N0YXRlKTsKLQog CS8qIFBlcmZvcm0gdmJsYW5rIGV2YXNpb24gYXJvdW5kIGNvbW1pdCBvcGVyYXRpb24gKi8KIAlp bnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jc3RhdGUpOwogCi0tIAoyLjE5LjIKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=