From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ayan Kumar Halder Subject: [PATCH v2 4/4] drm/arm/malidp: Added support for AFBC modifiers for all layers except DE_SMART Date: Tue, 10 Jul 2018 14:18:57 +0100 Message-ID: <1531228737-5450-5-git-send-email-ayan.halder@arm.com> References: <1531228737-5450-1-git-send-email-ayan.halder@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40051.outbound.protection.outlook.com [40.107.4.51]) by gabe.freedesktop.org (Postfix) with ESMTPS id E92FF6E72C for ; Tue, 10 Jul 2018 13:19:29 +0000 (UTC) In-Reply-To: <1531228737-5450-1-git-send-email-ayan.halder@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: ayan.halder@arm.com, liviu.dudau@arm.com, brian.starkey@arm.com, malidp@foss.arm.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: nd@arm.com List-Id: dri-devel@lists.freedesktop.org T24gcGxhbmVzIHdoaWNoIHN1cHBvcnQgQUZCQywgZXhwb3NlIGFuIEFGQkMgbW9kaWZpZXIgZm9y IHVzZSB3aXRoIEJHUjg4OC4KClNpZ25lZC1vZmYtYnk6IEF5YW4gS3VtYXIgaGFsZGVyIDxheWFu LmhhbGRlckBhcm0uY29tPgpSZXZpZXdlZC1ieTogQnJpYW4gU3RhcmtleSA8YnJpYW4uc3Rhcmtl eUBhcm0uY29tPgpSZXZpZXdlZC1ieTogTGl2aXUgRHVkYXUgPGxpdml1LmR1ZGF1QGFybS5jb20+ CgpDaGFuZ2VzIGZyb20gdjI6Ci0gUmVtb3ZlZCB0aGUgZ2Vycml0IGNoYW5nZS1pZAotIFJlcGxh Y2VkIERSTV9FUlJPUigpIHdpdGggRFJNX0RFQlVHX0tNUygpIGluIG1hbGlkcF9mb3JtYXRfbW9k X3N1cHBvcnRlZCgpCnRvIHJlcG9ydCB1bnN1cHBvcnRlZCBtb2RpZmllcnMuCi0tLQogZHJpdmVy cy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vYXJt L21hbGlkcF9wbGFuZXMuYyB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0KIDIgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hcm0vbWFsaWRwX2Rydi5jCmluZGV4IDI2MmE4MzAuLjRmNmU1MmUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h cm0vbWFsaWRwX2Rydi5jCkBAIC0zOTIsNiArMzkyLDcgQEAgc3RhdGljIGludCBtYWxpZHBfaW5p dChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQogCWRybS0+bW9kZV9jb25maWcubWF4X2hlaWdodCA9 IGh3ZGV2LT5tYXhfbGluZV9zaXplOwogCWRybS0+bW9kZV9jb25maWcuZnVuY3MgPSAmbWFsaWRw X21vZGVfY29uZmlnX2Z1bmNzOwogCWRybS0+bW9kZV9jb25maWcuaGVscGVyX3ByaXZhdGUgPSAm bWFsaWRwX21vZGVfY29uZmlnX2hlbHBlcnM7CisJZHJtLT5tb2RlX2NvbmZpZy5hbGxvd19mYl9t b2RpZmllcnMgPSB0cnVlOwogCiAJcmV0ID0gbWFsaWRwX2NydGNfaW5pdChkcm0pOwogCWlmIChy ZXQpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX3BsYW5lcy5jIGIv ZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKaW5kZXggMDEyMjA5MS4uNjA1YzVh ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfcGxhbmVzLmMKQEAgLTEyNCw2ICsxMjQsMzUgQEAg c3RhdGljIHZvaWQgbWFsaWRwX3BsYW5lX2F0b21pY19wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3By aW50ZXIgKnAsCiAJZHJtX3ByaW50ZihwLCAiXHRuX3BsYW5lcz0ldVxuIiwgbXMtPm5fcGxhbmVz KTsKIH0KIAorc3RhdGljIGJvb2wgbWFsaWRwX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lLAorCQkJCQl1MzIgZm9ybWF0LCB1NjQgbW9kaWZpZXIpCit7CisJaWYg KFdBUk5fT04obW9kaWZpZXIgPT0gRFJNX0ZPUk1BVF9NT0RfSU5WQUxJRCkpCisJCXJldHVybiBm YWxzZTsKKworCS8qIEFsbCB0aGUgcGl4ZWwgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIHdpdGhvdXQg YW55IG1vZGlmaWVyICovCisJaWYgKG1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUikK KwkJcmV0dXJuIHRydWU7CisKKwlpZiAoKG1vZGlmaWVyID4+IDU2KSAhPSBEUk1fRk9STUFUX01P RF9WRU5ET1JfQVJNKQorCQlyZXR1cm4gZmFsc2U7CisKKwlpZiAobW9kaWZpZXIgJgorCSAgICB+ RFJNX0ZPUk1BVF9NT0RfQVJNX0FGQkMoQUZCQ19NT0RfVkFMSURfQklUUykpIHsKKwkJRFJNX0RF QlVHX0tNUygiVW5zdXBwb3J0ZWQgbW9kaWZpZXJzXG4iKTsKKwkJcmV0dXJuIGZhbHNlOworCX0K KworCXN3aXRjaCAobW9kaWZpZXIpIHsKKwljYXNlIERSTV9GT1JNQVRfTU9EX0FSTV9BRkJDKEFG QkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzE2eDE2IHwKKwkJCQlBRkJDX0ZPUk1BVF9NT0RfWVRS IHwKKwkJCQlBRkJDX0ZPUk1BVF9NT0RfU1BBUlNFKToKKwkJaWYgKGZvcm1hdCA9PSBEUk1fRk9S TUFUX0JHUjg4OCkKKwkJCXJldHVybiB0cnVlOworCX0KKwlyZXR1cm4gZmFsc2U7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX2Z1bmNzIG1hbGlkcF9kZV9wbGFuZV9mdW5jcyA9 IHsKIAkudXBkYXRlX3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfdXBkYXRlX3BsYW5lLAogCS5k aXNhYmxlX3BsYW5lID0gZHJtX2F0b21pY19oZWxwZXJfZGlzYWJsZV9wbGFuZSwKQEAgLTEzMiw2 ICsxNjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBtYWxpZHBfZGVf cGxhbmVfZnVuY3MgPSB7CiAJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBtYWxpZHBfZHVwbGlj YXRlX3BsYW5lX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IG1hbGlkcF9kZXN0cm95 X3BsYW5lX3N0YXRlLAogCS5hdG9taWNfcHJpbnRfc3RhdGUgPSBtYWxpZHBfcGxhbmVfYXRvbWlj X3ByaW50X3N0YXRlLAorCS5mb3JtYXRfbW9kX3N1cHBvcnRlZCA9IG1hbGlkcF9mb3JtYXRfbW9k X3N1cHBvcnRlZCwKIH07CiAKIHN0YXRpYyBpbnQgbWFsaWRwX3NlX2NoZWNrX3NjYWxpbmcoc3Ry dWN0IG1hbGlkcF9wbGFuZSAqbXAsCkBAIC01MjYsNiArNTU2LDEzIEBAIGludCBtYWxpZHBfZGVf cGxhbmVzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSkKIAl1MzIgKmZvcm1hdHM7CiAJaW50 IHJldCwgaSwgaiwgbjsKIAorCXN0YXRpYyBjb25zdCB1NjQgbW9kaWZpZXJzW10gPSB7CisJCURS TV9GT1JNQVRfTU9EX0FSTV9BRkJDKEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzE2eDE2IHwK KwkJCUFGQkNfRk9STUFUX01PRF9ZVFIgfCBBRkJDX0ZPUk1BVF9NT0RfU1BBUlNFKSwKKwkJRFJN X0ZPUk1BVF9NT0RfTElORUFSLAorCQlEUk1fRk9STUFUX01PRF9JTlZBTElECisJfTsKKwogCWZv cm1hdHMgPSBrY2FsbG9jKG1hcC0+bl9waXhlbF9mb3JtYXRzLCBzaXplb2YoKmZvcm1hdHMpLCBH RlBfS0VSTkVMKTsKIAlpZiAoIWZvcm1hdHMpIHsKIAkJcmV0ID0gLUVOT01FTTsKQEAgLTU0OSw5 ICs1ODYsMTQgQEAgaW50IG1hbGlkcF9kZV9wbGFuZXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZHJtKQogCiAJCXBsYW5lX3R5cGUgPSAoaSA9PSAwKSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkg OgogCQkJCQlEUk1fUExBTkVfVFlQRV9PVkVSTEFZOworCisJCS8qCisJCSAqIEFsbCB0aGUgbGF5 ZXJzIGV4Y2VwdCBzbWFydCBsYXllciBzdXBwb3J0cyBBRkJDIG1vZGlmaWVycy4KKwkJICovCiAJ CXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkcm0sICZwbGFuZS0+YmFzZSwgY3J0Y3Ms Ci0JCQkJCSAgICAgICAmbWFsaWRwX2RlX3BsYW5lX2Z1bmNzLCBmb3JtYXRzLAotCQkJCQkgICAg ICAgbiwgTlVMTCwgcGxhbmVfdHlwZSwgTlVMTCk7CisJCQkJJm1hbGlkcF9kZV9wbGFuZV9mdW5j cywgZm9ybWF0cywgbiwKKwkJCQkoaWQgPT0gREVfU01BUlQpID8gTlVMTCA6IG1vZGlmaWVycywg cGxhbmVfdHlwZSwgTlVMTCk7CisKIAkJaWYgKHJldCA8IDApCiAJCQlnb3RvIGNsZWFudXA7CiAK LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK