From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrzej Pietrasiewicz Subject: [PATCHv2 1/4] drm/arm: Factor out generic afbc helpers Date: Mon, 4 Nov 2019 23:12:25 +0100 Message-ID: <20191104221228.3588-2-andrzej.p@collabora.com> References: <2485717.1SzL54aMiy@e123338-lin> <20191104221228.3588-1-andrzej.p@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191104221228.3588-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 , linux-rockchip@lists.infradead.org, James Wang , Mihail Atanassov , Sean Paul List-Id: linux-rockchip.vger.kernel.org VGhlc2UgYXJlIHVzZWZ1bCBmb3Igb3RoZXIgdXNlcnMgb2YgYWZiYywgZS5nLiByb2NrY2hpcC4K ClNpZ25lZC1vZmYtYnk6IEFuZHJ6ZWogUGlldHJhc2lld2ljeiA8YW5kcnplai5wQGNvbGxhYm9y YS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL0tjb25maWcgICAgIHwgICA4ICsrKwogZHJpdmVy cy9ncHUvZHJtL01ha2VmaWxlICAgIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hcm0vS2NvbmZp ZyB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2FmYmMuYyAgfCAxMjkgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2RybS9kcm1fYWZiYy5oICAgICAgfCAg MzYgKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAxNzUgaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9kcm1fYWZiYy5jCiBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5jbHVkZS9kcm0vZHJtX2FmYmMuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9L Y29uZmlnIGIvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKaW5kZXggMzYzNTdhMzZhMjgxLi5hZTFj YTVlMDJiZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9LY29uZmlnCkBAIC0yMDUsNiArMjA1LDE0IEBAIGNvbmZpZyBEUk1fU0NIRUQK IAl0cmlzdGF0ZQogCWRlcGVuZHMgb24gRFJNCiAKK2NvbmZpZyBEUk1fQUZCQworCXRyaXN0YXRl CisJZGVwZW5kcyBvbiBEUk0KKwloZWxwCisJICBBRkJDIGlzIGEgcHJvcHJpZXRhcnkgbG9zc2xl c3MgaW1hZ2UgY29tcHJlc3Npb24gcHJvdG9jb2wgYW5kIGZvcm1hdC4KKwkgIEl0IHByb3ZpZGVz IGZpbmUtZ3JhaW5lZCByYW5kb20gYWNjZXNzIGFuZCBtaW5pbWl6ZXMgdGhlIGFtb3VudCBvZgor CSAgZGF0YSB0cmFuc2ZlcnJlZCBiZXR3ZWVuIElQIGJsb2Nrcy4KKwogc291cmNlICJkcml2ZXJz L2dwdS9kcm0vaTJjL0tjb25maWciCiAKIHNvdXJjZSAiZHJpdmVycy9ncHUvZHJtL2FybS9LY29u ZmlnIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9ncHUv ZHJtL01ha2VmaWxlCmluZGV4IDlmMWM3YzQ4NmY4OC4uM2E1ZDA5MmVhNTE0IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxl CkBAIC0zMSw2ICszMSw3IEBAIGRybS0kKENPTkZJR19PRikgKz0gZHJtX29mLm8KIGRybS0kKENP TkZJR19BR1ApICs9IGRybV9hZ3BzdXBwb3J0Lm8KIGRybS0kKENPTkZJR19ERUJVR19GUykgKz0g ZHJtX2RlYnVnZnMubyBkcm1fZGVidWdmc19jcmMubwogZHJtLSQoQ09ORklHX0RSTV9MT0FEX0VE SURfRklSTVdBUkUpICs9IGRybV9lZGlkX2xvYWQubworZHJtLSQoQ09ORklHX0RSTV9BRkJDKSAr PSBkcm1fYWZiYy5vCiAKIGRybV92cmFtX2hlbHBlci15IDo9IGRybV9nZW1fdnJhbV9oZWxwZXIu byBcCiAJCSAgICAgZHJtX3ZyYW1faGVscGVyX2NvbW1vbi5vCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYXJtL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL0tjb25maWcKaW5kZXgg YTIwNDEwM2IzZWZiLi4yNWMzZGM0MDhjZGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL0tjb25maWcKQEAgLTI5LDYgKzI5 LDcgQEAgY29uZmlnIERSTV9NQUxJX0RJU1BMQVkKIAlzZWxlY3QgRFJNX0tNU19IRUxQRVIKIAlz ZWxlY3QgRFJNX0tNU19DTUFfSEVMUEVSCiAJc2VsZWN0IERSTV9HRU1fQ01BX0hFTFBFUgorCXNl bGVjdCBEUk1fQUZCQwogCXNlbGVjdCBWSURFT01PREVfSEVMUEVSUwogCWhlbHAKIAkgIENob29z ZSB0aGlzIG9wdGlvbiBpZiB5b3Ugd2FudCB0byBjb21waWxlIHRoZSBBUk0gTWFsaSBEaXNwbGF5 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2FmYmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fYWZiYy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDEw Y2E5ZWIwNDgwCi0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hZmJjLmMK QEAgLTAsMCArMSwxMjkgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCisv KgorICogKEMpIDIwMTkgQ29sbGFib3JhIEx0ZC4KKyAqCisgKiBhdXRob3I6IEFuZHJ6ZWogUGll dHJhc2lld2ljeiA8YW5kcnplai5wQGNvbGxhYm9yYS5jb20+CisgKgorICovCisjaW5jbHVkZSA8 bGludXgvbW9kdWxlLmg+CisKKyNpbmNsdWRlIDxkcm0vZHJtX2FmYmMuaD4KKyNpbmNsdWRlIDxk cm0vZHJtX2RldmljZS5oPgorI2luY2x1ZGUgPGRybS9kcm1fZm91cmNjLmg+CisjaW5jbHVkZSA8 ZHJtL2RybV9nZW0uaD4KKyNpbmNsdWRlIDxkcm0vZHJtX21vZGUuaD4KKyNpbmNsdWRlIDxkcm0v ZHJtX3ByaW50Lmg+CisKKyNkZWZpbmUgQUZCQ19IRUFERVJfU0laRQkJMTYKKworYm9vbCBkcm1f YWZiY19jaGVja19vZmZzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgIGNvbnN0IHN0 cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKK3sKKwlpZiAobW9kZV9jbWQtPm9mZnNl dHNbMF0gIT0gMCkgeworCQlEUk1fREVCVUdfS01TKCJBRkJDIGJ1ZmZlcnMnIHBsYW5lIG9mZnNl dCBzaG91bGQgYmUgMFxuIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsK K30KK0VYUE9SVF9TWU1CT0xfR1BMKGRybV9hZmJjX2NoZWNrX29mZnNldCk7CisKK2Jvb2wgZHJt X2FmYmNfY2hlY2tfc2l6ZV9hbGlnbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJICAgICAg IGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyICptb2RlX2NtZCkKK3sKKwlzd2l0Y2ggKG1v ZGVfY21kLT5tb2RpZmllclswXSAmIEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFX01BU0spIHsK KwljYXNlIEFGQkNfRk9STUFUX01PRF9CTE9DS19TSVpFXzE2eDE2OgorCQlpZiAoKG1vZGVfY21k LT53aWR0aCAlIDE2KSB8fCAobW9kZV9jbWQtPmhlaWdodCAlIDE2KSkgeworCQkJRFJNX0RFQlVH X0tNUygKKwkJCQkiQUZCQyBidWZmZXIgbXVzdCBiZSBhbGlnbmVkIHRvIDE2IHBpeGVsc1xuIgor CQkJKTsKKwkJCXJldHVybiBmYWxzZTsKKwkJfQorCQlicmVhazsKKwljYXNlIEFGQkNfRk9STUFU X01PRF9CTE9DS19TSVpFXzMyeDg6CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWNhc2UgQUZCQ19G T1JNQVRfTU9EX0JMT0NLX1NJWkVfNjR4NDoKKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSBB RkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8zMng4XzY0eDQ6CisJCS8qIGZhbGwgdGhyb3VnaCAq LworCWRlZmF1bHQ6CisJCURSTV9ERUJVR19LTVMoIlVuc3VwcG9ydGVkIEFGQkMgYmxvY2sgc2l6 ZVxuIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KK0VYUE9SVF9T WU1CT0xfR1BMKGRybV9hZmJjX2NoZWNrX3NpemVfYWxpZ24pOworCitib29sIGRybV9hZmJjX2dl dF9zdXBlcmJsa193aCh1NjQgbW9kaWZpZXIsIHUzMiAqdywgdTMyICpoKQoreworCXN3aXRjaCAo bW9kaWZpZXIgJiBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV9NQVNLKSB7CisJY2FzZSBBRkJD X0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8xNngxNjoKKwkJKncgPSAxNjsKKwkJKmggPSAxNjsKKwkJ YnJlYWs7CisJY2FzZSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV8zMng4OgorCQkqdyA9IDMy OworCQkqaCA9IDg7CisJCWJyZWFrOworCWNhc2UgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkVf NjR4NDoKKwkJLyogZmFsbCB0aHJvdWdoICovCisJY2FzZSBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tf U0laRV8zMng4XzY0eDQ6CisJCS8qIGZhbGwgdGhyb3VnaCAqLworCWRlZmF1bHQ6CisJCURSTV9E RUJVR19LTVMoIkludmFsaWQgQUZCQ19GT1JNQVRfTU9EX0JMT0NLX1NJWkU6ICVsbGQuXG4iLAor CQkJICAgICAgbW9kaWZpZXIgJiBBRkJDX0ZPUk1BVF9NT0RfQkxPQ0tfU0laRV9NQVNLKTsKKwkJ cmV0dXJuIGZhbHNlOworCX0KKwlyZXR1cm4gdHJ1ZTsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGRy bV9hZmJjX2dldF9zdXBlcmJsa193aCk7CisKK2Jvb2wgZHJtX2FmYmNfY2hlY2tfZmJfc2l6ZV9y ZXQodTMyIHBpdGNoLCBpbnQgYnBwLAorCQkJCXUzMiB3LCB1MzIgaCwgdTMyIHN1cGVyYmxrX3cs IHUzMiBzdXBlcmJsa19oLAorCQkJCXNpemVfdCBzaXplLCB1MzIgb2Zmc2V0LCB1MzIgaGRyX2Fs aWduLAorCQkJCXUzMiAqcGF5bG9hZF9vZmYsIHUzMiAqdG90YWxfc2l6ZSkKK3sKKwlpbnQgbl9z dXBlcmJsa3MgPSAwOworCXUzMiBzdXBlcmJsa19zeiA9IDA7CisJdTMyIGFmYmNfc2l6ZSA9IDA7 CisKKwluX3N1cGVyYmxrcyA9ICh3IC8gc3VwZXJibGtfdykgKiAoaCAvIHN1cGVyYmxrX2gpOwor CXN1cGVyYmxrX3N6ID0gKGJwcCAqIHN1cGVyYmxrX3cgKiBzdXBlcmJsa19oKSAvIEJJVFNfUEVS X0JZVEU7CisJYWZiY19zaXplID0gQUxJR04obl9zdXBlcmJsa3MgKiBBRkJDX0hFQURFUl9TSVpF LCBoZHJfYWxpZ24pOworCSpwYXlsb2FkX29mZiA9IGFmYmNfc2l6ZTsKKworCWFmYmNfc2l6ZSAr PSBuX3N1cGVyYmxrcyAqIEFMSUdOKHN1cGVyYmxrX3N6LCBBRkJDX1NVUEVSQkxLX0FMSUdOTUVO VCk7CisJKnRvdGFsX3NpemUgPSBhZmJjX3NpemUgKyBvZmZzZXQ7CisKKwlpZiAoKHcgKiBicHAp ICE9IChwaXRjaCAqIEJJVFNfUEVSX0JZVEUpKSB7CisJCURSTV9ERUJVR19LTVMoIkludmFsaWQg dmFsdWUgb2YgKHBpdGNoICogQklUU19QRVJfQllURSkgKD0ldSkgc2hvdWxkIGJlIHNhbWUgYXMg d2lkdGggKD0ldSkgKiBicHAgKD0ldSlcbiIsCisJCQkgICAgICBwaXRjaCAqIEJJVFNfUEVSX0JZ VEUsIHcsIGJwcAorCQkpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJaWYgKHNpemUgPCBhZmJj X3NpemUpIHsKKwkJRFJNX0RFQlVHX0tNUygiYnVmZmVyIHNpemUgKCV6dSkgdG9vIHNtYWxsIGZv ciBBRkJDIGJ1ZmZlciBzaXplID0gJXVcbiIsCisJCQkgICAgICBzaXplLCBhZmJjX3NpemUKKwkJ KTsKKworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJcmV0dXJuIHRydWU7Cit9CitFWFBPUlRfU1lN Qk9MKGRybV9hZmJjX2NoZWNrX2ZiX3NpemVfcmV0KTsKKworYm9vbCBkcm1fYWZiY19jaGVja19m Yl9zaXplKHUzMiBwaXRjaCwgaW50IGJwcCwKKwkJCSAgICB1MzIgdywgdTMyIGgsIHUzMiBzdXBl cmJsa193LCB1MzIgc3VwZXJibGtfaCwKKwkJCSAgICBzaXplX3Qgc2l6ZSwgdTMyIG9mZnNldCwg dTMyIGhkcl9hbGlnbikKK3sKKwl1MzIgcGF5bG9hZF9vZmZzZXQsIHRvdGFsX3NpemU7CisKKwly ZXR1cm4gZHJtX2FmYmNfY2hlY2tfZmJfc2l6ZV9yZXQocGl0Y2gsIGJwcCwgdywgaCwKKwkJCQkJ ICBzdXBlcmJsa193LCBzdXBlcmJsa19oLAorCQkJCQkgIHNpemUsIG9mZnNldCwgaGRyX2FsaWdu LAorCQkJCQkgICZwYXlsb2FkX29mZnNldCwgJnRvdGFsX3NpemUpOworfQorRVhQT1JUX1NZTUJP TChkcm1fYWZiY19jaGVja19mYl9zaXplKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9h ZmJjLmggYi9pbmNsdWRlL2RybS9kcm1fYWZiYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uYjI4YWUyODQ5Zjk2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2FmYmMuaApAQCAtMCwwICsxLDM2IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMCsgKi8KKy8qCisgKiAoQykgMjAxOSBDb2xsYWJvcmEgTHRkLgorICoKKyAqIGF1 dGhvcjogQW5kcnplaiBQaWV0cmFzaWV3aWN6IDxhbmRyemVqLnBAY29sbGFib3JhLmNvbT4KKyAq CisgKi8KKyNpZm5kZWYgX19EUk1fQUZCQ19IX18KKyNkZWZpbmUgX19EUk1fQUZCQ19IX18KKwor I2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisKK3N0cnVjdCBkcm1fZGV2aWNlOworc3RydWN0IGRy bV9tb2RlX2ZiX2NtZDI7CitzdHJ1Y3QgZHJtX2dlbV9vYmplY3Q7CisKKyNkZWZpbmUgQUZCQ19T VVBFUkJMS19BTElHTk1FTlQJCTEyOAorCitib29sIGRybV9hZmJjX2NoZWNrX29mZnNldChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIg Km1vZGVfY21kKTsKKworYm9vbCBkcm1fYWZiY19jaGVja19zaXplX2FsaWduKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCisJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9tb2RlX2ZiX2NtZDIgKm1v ZGVfY21kKTsKKworYm9vbCBkcm1fYWZiY19jaGVja19mYl9zaXplX3JldCh1MzIgcGl0Y2gsIGlu dCBicHAsCisJCQkJdTMyIHcsIHUzMiBoLCB1MzIgc3VwZXJibGtfdywgdTMyIHN1cGVyYmxrX2gs CisJCQkJc2l6ZV90IHNpemUsIHUzMiBvZmZzZXQsIHUzMiBoZHJfYWxpZ24sCisJCQkJdTMyICpw YXlsb2FkX29mZiwgdTMyICp0b3RhbF9zaXplKTsKKworYm9vbCBkcm1fYWZiY19jaGVja19mYl9z aXplKHUzMiBwaXRjaCwgaW50IGJwcCwKKwkJCSAgICB1MzIgdywgdTMyIGgsIHUzMiBzdXBlcmJs a193LCB1MzIgc3VwZXJibGtfaCwKKwkJCSAgICBzaXplX3Qgc2l6ZSwgdTMyIG9mZnNldCwgdTMy IGhkcl9hbGlnbik7CisKK2Jvb2wgZHJtX2FmYmNfZ2V0X3N1cGVyYmxrX3doKHU2NCBtb2RpZmll ciwgdTMyICp3LCB1MzIgKmgpOworCisjZW5kaWYgLyogX19EUk1fQUZCQ19IX18gKi8KLS0gCjIu MTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs