From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Pietrasiewicz Subject: [PATCHv3/RFC 2/4] drm/malidp: use afbc helpers Date: Thu, 21 Nov 2019 18:22:45 +0100 Message-ID: <20191121172247.31150-3-andrzej.p@collabora.com> References: <20191119083429.GA2881@jamwan02-TSP300> <20191121172247.31150-1-andrzej.p@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id CB6606F4B7 for ; Thu, 21 Nov 2019 17:22:58 +0000 (UTC) In-Reply-To: <20191121172247.31150-1-andrzej.p@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Ayan Halder , kernel@collabora.com, David Airlie , Liviu Dudau , James Wang , Mihail Atanassov , Sean Paul List-Id: dri-devel@lists.freedesktop.org VGhlcmUgYXJlIGFmYmMgaGVscGVycyBhdmFpbGFibGUuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyemVq IFBpZXRyYXNpZXdpY3ogPGFuZHJ6ZWoucEBjb2xsYWJvcmEuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9hcm0vbWFsaWRwX2Rydi5jIHwgMTIxICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vYXJtL21hbGlkcF9kcnYuYwppbmRleCAzN2Q5MmEwNjMxOGUuLmZmODM2NDY4MDY3NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMKQEAgLTE1LDYgKzE1LDcgQEAKICNpbmNsdWRlIDxs aW51eC9wbV9ydW50aW1lLmg+CiAjaW5jbHVkZSA8bGludXgvZGVidWdmcy5oPgogCisjaW5jbHVk ZSA8ZHJtL2RybV9hZmJjLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9hdG9taWMuaD4KICNpbmNsdWRl IDxkcm0vZHJtX2F0b21pY19oZWxwZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4KQEAg LTM1LDggKzM2LDYgQEAKICNpbmNsdWRlICJtYWxpZHBfaHcuaCIKIAogI2RlZmluZSBNQUxJRFBf Q09ORl9WQUxJRF9USU1FT1VUCTI1MAotI2RlZmluZSBBRkJDX0hFQURFUl9TSVpFCQkxNgotI2Rl ZmluZSBBRkJDX1NVUEVSQkxLX0FMSUdOTUVOVAkJMTI4CiAKIHN0YXRpYyB2b2lkIG1hbGlkcF93 cml0ZV9nYW1tYV90YWJsZShzdHJ1Y3QgbWFsaWRwX2h3X2RldmljZSAqaHdkZXYsCiAJCQkJICAg ICB1MzIgZGF0YVtNQUxJRFBfQ09FRkZUQUJfTlVNX0NPRUZGU10pCkBAIC0yNjksMTEyICsyNjgs MzIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfaGVscGVyX2Z1bmNzIG1h bGlkcF9tb2RlX2NvbmZpZ19oZWxwZXJzID0gewogCS5hdG9taWNfY29tbWl0X3RhaWwgPSBtYWxp ZHBfYXRvbWljX2NvbW1pdF90YWlsLAogfTsKIAotc3RhdGljIGJvb2wKLW1hbGlkcF92ZXJpZnlf YWZiY19mcmFtZWJ1ZmZlcl9jYXBzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQkJICAgIGNv bnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKLXsKLQlpZiAobWFsaWRwX2Zv cm1hdF9tb2Rfc3VwcG9ydGVkKGRldiwgbW9kZV9jbWQtPnBpeGVsX2Zvcm1hdCwKLQkJCQkJbW9k ZV9jbWQtPm1vZGlmaWVyWzBdKSA9PSBmYWxzZSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JaWYgKG1v ZGVfY21kLT5vZmZzZXRzWzBdICE9IDApIHsKLQkJRFJNX0RFQlVHX0tNUygiQUZCQyBidWZmZXJz JyBwbGFuZSBvZmZzZXQgc2hvdWxkIGJlIDBcbiIpOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQotCi0J c3dpdGNoIChtb2RlX2NtZC0+bW9kaWZpZXJbMF0gJiBBRkJDX1NJWkVfTUFTSykgewotCWNhc2Ug QUZCQ19TSVpFXzE2WDE2OgotCQlpZiAoKG1vZGVfY21kLT53aWR0aCAlIDE2KSB8fCAobW9kZV9j bWQtPmhlaWdodCAlIDE2KSkgewotCQkJRFJNX0RFQlVHX0tNUygiQUZCQyBidWZmZXJzIG11c3Qg YmUgYWxpZ25lZCB0byAxNiBwaXhlbHNcbiIpOwotCQkJcmV0dXJuIGZhbHNlOwotCQl9Ci0JCWJy ZWFrOwotCWRlZmF1bHQ6Ci0JCURSTV9ERUJVR19LTVMoIlVuc3VwcG9ydGVkIEFGQkMgYmxvY2sg c2l6ZVxuIik7Ci0JCXJldHVybiBmYWxzZTsKLQl9Ci0KLQlyZXR1cm4gdHJ1ZTsKLX0KLQotc3Rh dGljIGJvb2wKLW1hbGlkcF92ZXJpZnlfYWZiY19mcmFtZWJ1ZmZlcl9zaXplKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCi0JCQkJICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCQkgICAgY29u c3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQorc3RhdGljIHN0cnVjdCBkcm1f ZnJhbWVidWZmZXIgKgorbWFsaWRwX2ZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCisJCSBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAq bW9kZV9jbWQpCiB7Ci0JaW50IG5fc3VwZXJibG9ja3MgPSAwOwotCWNvbnN0IHN0cnVjdCBkcm1f Zm9ybWF0X2luZm8gKmluZm87Ci0Jc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmpzID0gTlVMTDsK LQl1MzIgYWZiY19zdXBlcmJsb2NrX3NpemUgPSAwLCBhZmJjX3N1cGVyYmxvY2tfaGVpZ2h0ID0g MDsKLQl1MzIgYWZiY19zdXBlcmJsb2NrX3dpZHRoID0gMCwgYWZiY19zaXplID0gMDsKLQlpbnQg YnBwID0gMDsKLQotCXN3aXRjaCAobW9kZV9jbWQtPm1vZGlmaWVyWzBdICYgQUZCQ19TSVpFX01B U0spIHsKLQljYXNlIEFGQkNfU0laRV8xNlgxNjoKLQkJYWZiY19zdXBlcmJsb2NrX2hlaWdodCA9 IDE2OwotCQlhZmJjX3N1cGVyYmxvY2tfd2lkdGggPSAxNjsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoK LQkJRFJNX0RFQlVHX0tNUygiQUZCQyBzdXBlcmJsb2NrIHNpemUgaXMgbm90IHN1cHBvcnRlZFxu Iik7Ci0JCXJldHVybiBmYWxzZTsKLQl9Ci0KLQlpbmZvID0gZHJtX2dldF9mb3JtYXRfaW5mbyhk ZXYsIG1vZGVfY21kKTsKLQotCW5fc3VwZXJibG9ja3MgPSAobW9kZV9jbWQtPndpZHRoIC8gYWZi Y19zdXBlcmJsb2NrX3dpZHRoKSAqCi0JCShtb2RlX2NtZC0+aGVpZ2h0IC8gYWZiY19zdXBlcmJs b2NrX2hlaWdodCk7Ci0KLQlicHAgPSBtYWxpZHBfZm9ybWF0X2dldF9icHAoaW5mby0+Zm9ybWF0 KTsKLQotCWFmYmNfc3VwZXJibG9ja19zaXplID0gKGJwcCAqIGFmYmNfc3VwZXJibG9ja193aWR0 aCAqIGFmYmNfc3VwZXJibG9ja19oZWlnaHQpCi0JCQkJLyBCSVRTX1BFUl9CWVRFOwotCi0JYWZi Y19zaXplID0gQUxJR04obl9zdXBlcmJsb2NrcyAqIEFGQkNfSEVBREVSX1NJWkUsIEFGQkNfU1VQ RVJCTEtfQUxJR05NRU5UKTsKLQlhZmJjX3NpemUgKz0gbl9zdXBlcmJsb2NrcyAqIEFMSUdOKGFm YmNfc3VwZXJibG9ja19zaXplLCBBRkJDX1NVUEVSQkxLX0FMSUdOTUVOVCk7Ci0KLQlpZiAoKG1v ZGVfY21kLT53aWR0aCAqIGJwcCkgIT0gKG1vZGVfY21kLT5waXRjaGVzWzBdICogQklUU19QRVJf QllURSkpIHsKLQkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCB2YWx1ZSBvZiAocGl0Y2ggKiBCSVRT X1BFUl9CWVRFKSAoPSV1KSAiCi0JCQkgICAgICAic2hvdWxkIGJlIHNhbWUgYXMgd2lkdGggKD0l dSkgKiBicHAgKD0ldSlcbiIsCi0JCQkgICAgICAobW9kZV9jbWQtPnBpdGNoZXNbMF0gKiBCSVRT X1BFUl9CWVRFKSwKLQkJCSAgICAgIG1vZGVfY21kLT53aWR0aCwgYnBwKTsKLQkJcmV0dXJuIGZh bHNlOwotCX0KLQotCW9ianMgPSBkcm1fZ2VtX29iamVjdF9sb29rdXAoZmlsZSwgbW9kZV9jbWQt PmhhbmRsZXNbMF0pOwotCWlmICghb2JqcykgewotCQlEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8g bG9va3VwIEdFTSBvYmplY3RcbiIpOwotCQlyZXR1cm4gZmFsc2U7Ci0JfQorCWlmIChtb2RlX2Nt ZC0+bW9kaWZpZXJbMF0pIHsKKwkJc3RydWN0IGRybV9hZmJjIGFmYmM7CiAKLQlpZiAob2Jqcy0+ c2l6ZSA8IGFmYmNfc2l6ZSkgewotCQlEUk1fREVCVUdfS01TKCJidWZmZXIgc2l6ZSAoJXp1KSB0 b28gc21hbGwgZm9yIEFGQkMgYnVmZmVyIHNpemUgPSAldVxuIiwKLQkJCSAgICAgIG9ianMtPnNp emUsIGFmYmNfc2l6ZSk7Ci0JCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmpzKTsKLQkJ cmV0dXJuIGZhbHNlOwotCX0KKwkJaWYgKG1hbGlkcF9mb3JtYXRfbW9kX3N1cHBvcnRlZChkZXYs IG1vZGVfY21kLT5waXhlbF9mb3JtYXQsCisJCQkJCQltb2RlX2NtZC0+bW9kaWZpZXJbMF0pID09 IGZhbHNlKQorCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKLQlkcm1fZ2VtX29iamVjdF9w dXRfdW5sb2NrZWQob2Jqcyk7CisJCWRybV9hZmJjX2dldF9wYXJhbWV0ZXJzKG1vZGVfY21kLCAm YWZiYyk7CiAKLQlyZXR1cm4gdHJ1ZTsKLX0KKwkJaWYgKGFmYmMudGlsZV93ICE9IDE2IHx8IGFm YmMudGlsZV9oICE9IDE2KSB7CisJCQlEUk1fREVWX0RFQlVHKGRldi0+ZGV2LAorCQkJCSAgICAg ICJVbnN1cHBvcnRlZCBBRkJDIGJsb2NrIHNpemUgJWR4JWRcbiIsCisJCQkJICAgICAgYWZiYy50 aWxlX3csIGFmYmMudGlsZV9oKTsKIAotc3RhdGljIGJvb2wKLW1hbGlkcF92ZXJpZnlfYWZiY19m cmFtZWJ1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUs Ci0JCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1vZGVfY21kKQotewot CWlmIChtYWxpZHBfdmVyaWZ5X2FmYmNfZnJhbWVidWZmZXJfY2FwcyhkZXYsIG1vZGVfY21kKSkK LQkJcmV0dXJuIG1hbGlkcF92ZXJpZnlfYWZiY19mcmFtZWJ1ZmZlcl9zaXplKGRldiwgZmlsZSwg bW9kZV9jbWQpOwotCi0JcmV0dXJuIGZhbHNlOwotfQorCQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZB TCk7CisJCX0KIAotc3RhdGljIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgotbWFsaWRwX2ZiX2Ny ZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCi0JCSBj b25zdCBzdHJ1Y3QgZHJtX21vZGVfZmJfY21kMiAqbW9kZV9jbWQpCi17Ci0JaWYgKG1vZGVfY21k LT5tb2RpZmllclswXSkgewotCQlpZiAoIW1hbGlkcF92ZXJpZnlfYWZiY19mcmFtZWJ1ZmZlcihk ZXYsIGZpbGUsIG1vZGVfY21kKSkKKwkJaWYgKGFmYmMub2Zmc2V0KSB7CisJCQlEUk1fREVWX0VS Uk9SKGRldi0+ZGV2LAorCQkJCSJBRkJDIHBsYW5lIG9mZnNldCBtdXN0IGJlIHplcm8hXG4iKTsK IAkJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOworCQl9CiAJfQogCiAJcmV0dXJuIGRybV9nZW1f ZmJfY3JlYXRlKGRldiwgZmlsZSwgbW9kZV9jbWQpOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=