From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 08/12] drm/i915: Add CCS capability for sprites Date: Thu, 24 Aug 2017 22:10:56 +0300 Message-ID: <20170824191100.10949-9-ville.syrjala@linux.intel.com> References: <20170824191100.10949-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 325C16E7A9 for ; Thu, 24 Aug 2017 19:11:37 +0000 (UTC) In-Reply-To: <20170824191100.10949-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 Cc: Ben Widawsky , Daniel Stone List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFs bG93IHNwcml0ZXMgdG8gc2NhbiBvdXQgY29tcHJlc3NlZCBmcmFtZWJ1ZmZlcnMuCgpTaW5jZSBk aWZmZXJlbnQgcGxhdGZvcm1zIGhhdmUgYSBkaWZmZXJlbnQgc2V0IG9mIHBsYW5lcyB0aGF0CnN1 cHBvcnQgQ0NTIGxldCdzIGFkZCBhIHNtYWxsIGhlbHBlciB0byBkZXRlcm1pbmUgd2hldGhlciBh CnNwZWNpZmljIHBsYW5lIHN1cHBvcnRzIENDUyBvciBub3QuIEN1cnJlbnRseSB0aGF0IGluZm9y bWF0aW9uCmlzIHNwcmVhZCBhcm91bmQgaW4gbWFueSBwbGFjZXMsIGFuZCBub3QgYWxsIHRoZSBw aWVjZXMgb2YKY29kZSBldmVuIGFncmVlIHdpdGggZWFjaCBvdGhlci4KCkluIGFkZGl0aW9uIHRv IGFsbG93aW5nIHNwcml0ZXMgdG8gc2NhbiBvdXQgY29tcHJlc3NlZCBmYnMsCnRoZSBvdGhlciBm aXggaGVyZSBpcyB0aGF0IHdlIHN0b3AgcmVqZWN0aW5nIHRoZW0gb24gcGlwZSBDCm9uIENOTC4K CkNjOiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+CkNjOiBKYXNvbiBFa3N0cmFuZCA8 amFzb25Aamxla3N0cmFuZC5uZXQ+CkNjOiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3Jh LmNvbT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAy NCArKysrLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICB8ICAyICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCA0OSArKysr KysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDQgaW5z ZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCmluZGV4IGJhMzUxY2JlZjkzYi4uZDUyYTVlMDFhYWY5IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCkBAIC0zMTIwLDYgKzMxMjAsNyBAQCBzdGF0aWMgaW50IHNrbF9jaGVj a19udjEyX2F1eF9zdXJmYWNlKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUp CiBzdGF0aWMgaW50IHNrbF9jaGVja19jY3NfYXV4X3N1cmZhY2Uoc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9f aW50ZWxfcGxhbmUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUpOworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUtPmJhc2UuZGV2KTsKIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGxhbmVfc3RhdGUtPmJhc2UuY3J0Yyk7CiAJ Y29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsK IAlpbnQgc3JjX3ggPSBwbGFuZV9zdGF0ZS0+YmFzZS5zcmMueDEgPj4gMTY7CkBAIC0zMTMwLDE3 ICszMTMxLDggQEAgc3RhdGljIGludCBza2xfY2hlY2tfY2NzX2F1eF9zdXJmYWNlKHN0cnVjdCBp bnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiAJaW50IHkgPSBzcmNfeSAvIHZzdWI7CiAJ dTMyIG9mZnNldDsKIAotCXN3aXRjaCAocGxhbmUtPmlkKSB7Ci0JY2FzZSBQTEFORV9QUklNQVJZ OgotCWNhc2UgUExBTkVfU1BSSVRFMDoKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJRFJNX0RFQlVH X0tNUygiUkMgc3VwcG9ydCBvbmx5IG9uIHBsYW5lIDEgYW5kIDJcbiIpOwotCQlyZXR1cm4gLUVJ TlZBTDsKLQl9Ci0KLQlpZiAoY3J0Yy0+cGlwZSA9PSBQSVBFX0MpIHsKLQkJRFJNX0RFQlVHX0tN UygiTm8gUkMgc3VwcG9ydCBvbiBwaXBlIENcbiIpOworCWlmICghc2tsX3BsYW5lX2hhc19jY3Mo ZGV2X3ByaXYsIGNydGMtPnBpcGUsIHBsYW5lLT5pZCkpIHsKKwkJRFJNX0RFQlVHX0tNUygiTm8g UkMgc3VwcG9ydCBvbiAlc1xuIiwgcGxhbmUtPmJhc2UubmFtZSk7CiAJCXJldHVybiAtRUlOVkFM OwogCX0KIApAQCAtMTMyNzksMTcgKzEzMjcxLDExIEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3Jl YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCiAJ cHJpbWFyeS0+ZnJvbnRidWZmZXJfYml0ID0gSU5URUxfRlJPTlRCVUZGRVJfUFJJTUFSWShwaXBl KTsKIAlwcmltYXJ5LT5jaGVja19wbGFuZSA9IGludGVsX2NoZWNrX3ByaW1hcnlfcGxhbmU7CiAK LQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMCB8fCBJU19HRU1JTklMQUtFKGRldl9wcml2 KSkgeworCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsKIAkJaW50ZWxfcHJpbWFyeV9m b3JtYXRzID0gc2tsX3ByaW1hcnlfZm9ybWF0czsKIAkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpF KHNrbF9wcmltYXJ5X2Zvcm1hdHMpOwotCQltb2RpZmllcnMgPSBza2xfZm9ybWF0X21vZGlmaWVy c19jY3M7CiAKLQkJcHJpbWFyeS0+dXBkYXRlX3BsYW5lID0gc2t5bGFrZV91cGRhdGVfcHJpbWFy eV9wbGFuZTsKLQkJcHJpbWFyeS0+ZGlzYWJsZV9wbGFuZSA9IHNreWxha2VfZGlzYWJsZV9wcmlt YXJ5X3BsYW5lOwotCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7Ci0JCWlu dGVsX3ByaW1hcnlfZm9ybWF0cyA9IHNrbF9wcmltYXJ5X2Zvcm1hdHM7Ci0JCW51bV9mb3JtYXRz ID0gQVJSQVlfU0laRShza2xfcHJpbWFyeV9mb3JtYXRzKTsKLQkJaWYgKHBpcGUgPCBQSVBFX0Mp CisJCWlmIChza2xfcGxhbmVfaGFzX2NjcyhkZXZfcHJpdiwgcGlwZSwgUExBTkVfUFJJTUFSWSkp CiAJCQltb2RpZmllcnMgPSBza2xfZm9ybWF0X21vZGlmaWVyc19jY3M7CiAJCWVsc2UKIAkJCW1v ZGlmaWVycyA9IHNrbF9mb3JtYXRfbW9kaWZpZXJzX25vY2NzOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAppbmRleCBmNjA5OTVmZTQ1NWMuLmIyYmVjMGIyZTU4MiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTE4OTAsNiArMTg5MCw4IEBAIGludCBpbnRlbF9zcHJpdGVfc2V0X2NvbG9y a2V5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQkgICAgICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiB2b2lkIGludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKTsKIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfZW5kKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKTsKK2Jvb2wgc2tsX3BsYW5lX2hhc19jY3Moc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAorCQkgICAgICAgZW51bSBwaXBlIHBpcGUsIGVudW0gcGxhbmVf aWQgcGxhbmVfaWQpOwogCiAvKiBpbnRlbF90di5jICovCiB2b2lkIGludGVsX3R2X2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3By aXRlLmMKaW5kZXggNzYxMGY4NGYzNTI1Li4zNDU4NzNiZTE0YzMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jCkBAIC0xMDc5LDcgKzEwNzksMTcgQEAgc3RhdGljIHVpbnQzMl90IHNr bF9wbGFuZV9mb3JtYXRzW10gPSB7CiAJRFJNX0ZPUk1BVF9WWVVZLAogfTsKIAotc3RhdGljIGNv bnN0IHVpbnQ2NF90IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzW10gPSB7CitzdGF0aWMgY29u c3QgdWludDY0X3Qgc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3NbXSA9IHsKKwlJOTE1 X0ZPUk1BVF9NT0RfWWZfVElMRUQsCisJSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsCisJSTkxNV9G T1JNQVRfTU9EX1hfVElMRUQsCisJRFJNX0ZPUk1BVF9NT0RfTElORUFSLAorCURSTV9GT1JNQVRf TU9EX0lOVkFMSUQKK307CisKK3N0YXRpYyBjb25zdCB1aW50NjRfdCBza2xfcGxhbmVfZm9ybWF0 X21vZGlmaWVyc19jY3NbXSA9IHsKKwlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRURfQ0NTLAorCUk5 MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUywKIAlJOTE1X0ZPUk1BVF9NT0RfWWZfVElMRUQsCiAJ STkxNV9GT1JNQVRfTU9EX1lfVElMRUQsCiAJSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCkBAIC0x MTUyLDYgKzExNjIsMTAgQEAgc3RhdGljIGJvb2wgc2tsX21vZF9zdXBwb3J0ZWQodWludDMyX3Qg Zm9ybWF0LCB1aW50NjRfdCBtb2RpZmllcikKIAljYXNlIERSTV9GT1JNQVRfWEJHUjg4ODg6CiAJ Y2FzZSBEUk1fRk9STUFUX0FSR0I4ODg4OgogCWNhc2UgRFJNX0ZPUk1BVF9BQkdSODg4ODoKKwkJ aWYgKG1vZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZZl9USUxFRF9DQ1MgfHwKKwkJICAgIG1v ZGlmaWVyID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0NDUykKKwkJCXJldHVybiB0cnVlOwor CQkvKiBmYWxsIHRocm91Z2ggKi8KIAljYXNlIERSTV9GT1JNQVRfUkdCNTY1OgogCWNhc2UgRFJN X0ZPUk1BVF9YUkdCMjEwMTAxMDoKIAljYXNlIERSTV9GT1JNQVRfWEJHUjIxMDEwMTA6CkBAIC0x MjA3LDYgKzEyMjEsMjMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50 ZWxfc3ByaXRlX3BsYW5lX2Z1bmNzID0gewogICAgICAgICAuZm9ybWF0X21vZF9zdXBwb3J0ZWQg PSBpbnRlbF9zcHJpdGVfcGxhbmVfZm9ybWF0X21vZF9zdXBwb3J0ZWQsCiB9OwogCitib29sIHNr bF9wbGFuZV9oYXNfY2NzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJICAg ICAgIGVudW0gcGlwZSBwaXBlLCBlbnVtIHBsYW5lX2lkIHBsYW5lX2lkKQoreworCWlmIChwbGFu ZV9pZCA9PSBQTEFORV9DVVJTT1IpCisJCXJldHVybiBmYWxzZTsKKworCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDEwKQorCQlyZXR1cm4gdHJ1ZTsKKworCWlmIChJU19HRU1JTklMQUtFKGRl dl9wcml2KSkKKwkJcmV0dXJuIHBpcGUgIT0gUElQRV9DOworCisJcmV0dXJuIHBpcGUgIT0gUElQ RV9DICYmCisJCShwbGFuZV9pZCA9PSBQTEFORV9QUklNQVJZIHx8CisJCSBwbGFuZV9pZCA9PSBQ TEFORV9TUFJJVEUwKTsKK30KKwogc3RydWN0IGludGVsX3BsYW5lICoKIGludGVsX3Nwcml0ZV9w bGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICBlbnVt IHBpcGUgcGlwZSwgaW50IHBsYW5lKQpAQCAtMTIzMyw3ICsxMjY0LDcgQEAgaW50ZWxfc3ByaXRl X3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJfQogCWlu dGVsX3BsYW5lLT5iYXNlLnN0YXRlID0gJnN0YXRlLT5iYXNlOwogCi0JaWYgKElOVEVMX0dFTihk ZXZfcHJpdikgPj0gMTApIHsKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CiAJCWlu dGVsX3BsYW5lLT5jYW5fc2NhbGUgPSB0cnVlOwogCQlzdGF0ZS0+c2NhbGVyX2lkID0gLTE7CiAK QEAgLTEyNDIsMTcgKzEyNzMsMTEgQEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAKIAkJcGxhbmVfZm9ybWF0cyA9IHNrbF9wbGFu ZV9mb3JtYXRzOwogCQludW1fcGxhbmVfZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zv cm1hdHMpOwotCQltb2RpZmllcnMgPSBza2xfcGxhbmVfZm9ybWF0X21vZGlmaWVyczsKLQl9IGVs c2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewotCQlpbnRlbF9wbGFuZS0+Y2FuX3Nj YWxlID0gdHJ1ZTsKLQkJc3RhdGUtPnNjYWxlcl9pZCA9IC0xOwotCi0JCWludGVsX3BsYW5lLT51 cGRhdGVfcGxhbmUgPSBza2xfdXBkYXRlX3BsYW5lOwotCQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9w bGFuZSA9IHNrbF9kaXNhYmxlX3BsYW5lOwogCi0JCXBsYW5lX2Zvcm1hdHMgPSBza2xfcGxhbmVf Zm9ybWF0czsKLQkJbnVtX3BsYW5lX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKHNrbF9wbGFuZV9mb3Jt YXRzKTsKLQkJbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnM7CisJCWlmIChz a2xfcGxhbmVfaGFzX2NjcyhkZXZfcHJpdiwgcGlwZSwgUExBTkVfU1BSSVRFMCArIHBsYW5lKSkK KwkJCW1vZGlmaWVycyA9IHNrbF9wbGFuZV9mb3JtYXRfbW9kaWZpZXJzX2NjczsKKwkJZWxzZQor CQkJbW9kaWZpZXJzID0gc2tsX3BsYW5lX2Zvcm1hdF9tb2RpZmllcnNfbm9jY3M7CiAJfSBlbHNl IGlmIChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkg ewogCQlpbnRlbF9wbGFuZS0+Y2FuX3NjYWxlID0gZmFsc2U7CiAJCWludGVsX3BsYW5lLT5tYXhf ZG93bnNjYWxlID0gMTsKLS0gCjIuMTMuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==