From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tina Zhang Subject: [RFC PATCH 3/7] drm/i915: Introduce async plane update to i915 Date: Mon, 3 Dec 2018 15:35:18 +0800 Message-ID: <1543822522-3413-4-git-send-email-tina.zhang@intel.com> References: <1543822522-3413-1-git-send-email-tina.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1543822522-3413-1-git-send-email-tina.zhang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, Gustavo Padovan , Helen Koike , Enric Balletbo i Serra , kalyan.kondapally@intel.com, intel-gvt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBpcyBzZXBhcmF0ZWQgZnJvbSB0aGUgZm9sbG93aW5nIHBhdGNoOgpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZlcy9kcmktZGV2ZWwvMjAxOC1KdW5lLzE3OTU5 Mi5odG1sCgpUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGltcGxlbWVudGF0aW9uIGFzeW5jIHBs YW5lIHVwZGF0ZSBjYWxsYmFja3MKdG8gaTkxNS4gVGhlIG9yaWdpbmFsIGlkZWEgaXMgdG8gdXNl IGFzeW5jIHBsYW5lIHVwZGF0ZSBmcmFtZXdvcmsgdG8KdXBkYXRlIGN1cnNvcnMuCgpUaGUgbmV4 dCBwYXRjaCBvZiB0aGlzIHNlcmllcyB0cnkgdG8gZXh0ZW5kIHRoaXMgaWRlYSB0byBzdXBwb3J0 IG90aGVyCnBsYW5lcy4KClNpZ25lZC1vZmYtYnk6IFRpbmEgWmhhbmcgPHRpbmEuemhhbmdAaW50 ZWwuY29tPgpDYzogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNv bT4KQ2M6IEVucmljIEJhbGxldGJvIGkgU2VycmEgPGVucmljLmJhbGxldGJvQGNvbGxhYm9yYS5j b20+CkNjOiBIZWxlbiBLb2lrZSA8aGVsZW4ua29pa2VAY29sbGFib3JhLmNvbT4KQ2M6IERhbmll bCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2F0b21pY19wbGFuZS5jIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgfCAxMSArKysrKwogMiBm aWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9hdG9taWNfcGxhbmUuYwppbmRleCA5MDVmOGVmLi5kZGRkM2E3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9hdG9taWNfcGxhbmUuYwpAQCAtMjE3LDEwICsyMTcsNzkgQEAgdm9pZCBp bnRlbF91cGRhdGVfcGxhbmVzX29uX2NydGMoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqb2xk X3N0YXRlLAogCX0KIH0KIAorc3RhdGljIGludCBpbnRlbF9wbGFuZV9hdG9taWNfYXN5bmNfY2hl Y2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkJCSAgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlOworCisJaWYg KHBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBFX0NVUlNPUikKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwljcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShzdGF0 ZS0+c3RhdGUsCisJCQkJCQkJc3RhdGUtPmNydGMpOworCWlmIChXQVJOX09OKCFjcnRjX3N0YXRl KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAqIFdoZW4gY3J0YyBpcyBpbmFjdGl2ZSBv ciB0aGVyZSBpcyBhIG1vZGVzZXQgcGVuZGluZywKKwkgKiB3YWl0IGZvciBpdCB0byBjb21wbGV0 ZSBpbiB0aGUgc2xvd3BhdGgKKwkgKi8KKwlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCB0b19p bnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLT51cGRhdGVfcGlwZSkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwkvKgorCSAqIElmIGFueSBwYXJhbWV0ZXJzIGNoYW5nZSB0aGF0IG1heSBhZmZlY3Qg d2F0ZXJtYXJrcywKKwkgKiB0YWtlIHRoZSBzbG93cGF0aC4gT25seSBjaGFuZ2luZyBmYiBvciBw b3NpdGlvbiBzaG91bGQgYmUKKwkgKiBpbiB0aGUgZmFzdHBhdGguCisJICovCisJaWYgKHBsYW5l LT5zdGF0ZS0+Y3J0YyAhPSBzdGF0ZS0+Y3J0YyB8fAorCSAgICBwbGFuZS0+c3RhdGUtPnNyY193 ICE9IHN0YXRlLT5zcmNfdyB8fAorCSAgICBwbGFuZS0+c3RhdGUtPnNyY19oICE9IHN0YXRlLT5z cmNfaCB8fAorCSAgICBwbGFuZS0+c3RhdGUtPmNydGNfdyAhPSBzdGF0ZS0+Y3J0Y193IHx8CisJ ICAgIHBsYW5lLT5zdGF0ZS0+Y3J0Y19oICE9IHN0YXRlLT5jcnRjX2ggfHwKKwkgICAgIXBsYW5l LT5zdGF0ZS0+ZmIgIT0gIXN0YXRlLT5mYikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4g MDsKK30KKworc3RhdGljIHZvaWQgaW50ZWxfcGxhbmVfYXRvbWljX2FzeW5jX3VwZGF0ZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJCQkJICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5l d19zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxf cGxhbmUocGxhbmUpOworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHBsYW5lLT5zdGF0ZS0+Y3J0 YzsKKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpvbGRfZmI7CisKKwlvbGRfZmIgPSBwbGFuZS0+ c3RhdGUtPmZiOworCisJaTkxNV9nZW1fdHJhY2tfZmIoaW50ZWxfZmJfb2JqKG9sZF9mYiksIGlu dGVsX2ZiX29iaihuZXdfc3RhdGUtPmZiKSwKKwkJCSAgaW50ZWxfcGxhbmUtPmZyb250YnVmZmVy X2JpdCk7CisKKwlwbGFuZS0+c3RhdGUtPnNyY194ID0gbmV3X3N0YXRlLT5zcmNfeDsKKwlwbGFu ZS0+c3RhdGUtPnNyY195ID0gbmV3X3N0YXRlLT5zcmNfeTsKKwlwbGFuZS0+c3RhdGUtPmNydGNf eCA9IG5ld19zdGF0ZS0+Y3J0Y194OworCXBsYW5lLT5zdGF0ZS0+Y3J0Y195ID0gbmV3X3N0YXRl LT5jcnRjX3k7CisJcGxhbmUtPnN0YXRlLT5mYiA9IG5ld19zdGF0ZS0+ZmI7CisKKwluZXdfc3Rh dGUtPmZiID0gb2xkX2ZiOworCisJaWYgKHBsYW5lLT5zdGF0ZS0+dmlzaWJsZSkgeworCQl0cmFj ZV9pbnRlbF91cGRhdGVfcGxhbmUocGxhbmUsIHRvX2ludGVsX2NydGMoY3J0YykpOworCQlpbnRl bF9wbGFuZS0+dXBkYXRlX3BsYW5lKGludGVsX3BsYW5lLAorCQkJCQkgIHRvX2ludGVsX2NydGNf c3RhdGUoY3J0Yy0+c3RhdGUpLAorCQkJCQkgIHRvX2ludGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5z dGF0ZSkpOworCX0gZWxzZSB7CisJCXRyYWNlX2ludGVsX2Rpc2FibGVfcGxhbmUocGxhbmUsIHRv X2ludGVsX2NydGMoY3J0YykpOworCQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9wbGFuZShpbnRlbF9w bGFuZSwgdG9faW50ZWxfY3J0YyhjcnRjKSk7CisJfQorfQorCiBjb25zdCBzdHJ1Y3QgZHJtX3Bs YW5lX2hlbHBlcl9mdW5jcyBpbnRlbF9wbGFuZV9oZWxwZXJfZnVuY3MgPSB7CiAJLnByZXBhcmVf ZmIgPSBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiLAogCS5jbGVhbnVwX2ZiID0gaW50ZWxfY2xlYW51 cF9wbGFuZV9mYiwKIAkuYXRvbWljX2NoZWNrID0gaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrLAor CS5hdG9taWNfYXN5bmNfY2hlY2sgPSBpbnRlbF9wbGFuZV9hdG9taWNfYXN5bmNfY2hlY2ssCisJ LmF0b21pY19hc3luY191cGRhdGUgPSBpbnRlbF9wbGFuZV9hdG9taWNfYXN5bmNfdXBkYXRlLAog fTsKIAogLyoqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggMTMyZTk3OC4u YjY0NzA4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTMwNTAsNiAr MTMwNTAsMTQgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwogCWludCByZXQgPSAwOwogCisJaWYgKHN0YXRlLT5hc3luY191cGRhdGUpIHsKKwkJcmV0 ID0gZHJtX2F0b21pY19oZWxwZXJfcHJlcGFyZV9wbGFuZXMoZGV2LCBzdGF0ZSk7CisJCWlmIChy ZXQpCisJCQlyZXR1cm4gcmV0OworCQlkcm1fYXRvbWljX2hlbHBlcl9hc3luY19jb21taXQoZGV2 LCBzdGF0ZSk7CisJCXJldHVybiAwOworCX0KKwogCWRybV9hdG9taWNfc3RhdGVfZ2V0KHN0YXRl KTsKIAlpOTE1X3N3X2ZlbmNlX2luaXQoJmludGVsX3N0YXRlLT5jb21taXRfcmVhZHksCiAJCQkg ICBpbnRlbF9hdG9taWNfY29tbWl0X3JlYWR5KTsKQEAgLTEzMjc1LDYgKzEzMjgzLDkgQEAgaW50 ZWxfcHJlcGFyZV9wbGFuZV9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2xkX29iaiA9IGludGVsX2ZiX29iaihwbGFuZS0+c3RhdGUtPmZi KTsKIAlpbnQgcmV0OwogCisJaWYgKG5ld19zdGF0ZS0+c3RhdGUtPmFzeW5jX3VwZGF0ZSkKKwkJ cmV0dXJuIDA7CisKIAlpZiAob2xkX29iaikgewogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNy dGNfc3RhdGUgPQogCQkJZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUobmV3X3N0YXRlLT5z dGF0ZSwKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK