From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id 5E9926E347 for ; Tue, 11 Sep 2018 08:47:45 +0000 (UTC) From: Maxime Ripard Date: Tue, 11 Sep 2018 10:47:32 +0200 Message-Id: <50058f1b6cea0a5356ee3e09788b6682630bb071.1536655647.git-series.maxime.ripard@bootlin.com> In-Reply-To: References: In-Reply-To: References: Subject: [igt-dev] [PATCH v7 05/14] fb: Add format conversion routine List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: eben@raspberrypi.org, Paul Kocialkowski , Thomas Petazzoni List-ID: VGhlIGNoYW1lbGl1bSBmb3JtYXQgc3VidGVzdHMgd2lsbCBuZWVkIHRvIGNvbnZlcnQgdGhlIHJl ZmVyZW5jZSBwYXR0ZXJuIHRvCnRoZSBmb3JtYXQgdG8gYmUgdGVzdGVkIG9uIHRoZSBEUk0gZGV2 aWNlLgoKSG93ZXZlciwgQ2Fpcm8gaXMgdmVyeSBsaW1pdGVkIHdoZW4gaXQgY29tZXMgdG8gZm9y bWF0LCBhbmQgd2hpbGUgcGl4bWFuCmhhcyBtdWNoIG1vcmUgc3VwcG9ydCBmb3IgZm9ybWF0cywg aXQncyBzdGlsbCBmYWxsaW5nIHNob3J0IGNvbXBhcmVkIHRvCndoYXQgRFJNIGV4cG9zZXMsIGVz cGVjaWFsbHkgb24gdGhlIFlVViBzaWRlLiBQbHVzLCBzaW5jZSB3ZSB3YW50IHRvIHJ1bgpDUkMg Y2hlY2tzIG9uIHRoZSBmcmFtZSwgd2UgY2FuJ3QgYWZmb3JkIGhhdmluZyBjb252ZXJzaW9ucyBi YWNrIGFuZCBmb3J0aApiZXR3ZWVuIFJHQjI0LCBhcyB0aGUgY3VycmVudCBBUEkgaXMgZG9pbmcu CgpJbiBvcmRlciB0byBhYnN0cmFjdCB0aGlzIGF3YXksIGxldCdzIGNyZWF0ZSBhIGZ1bmN0aW9u IHRoYXQgd2lsbCBjb252ZXJ0IGEKaWd0X2ZiIHN0cnVjdHVyZSB0byBhbm90aGVyIERSTSBmb3Jt YXQgYW5kIHJldHVybiB0aGUgY29udmVydGVkIGlndF9mYi4KCkZvciBub3csIHdlIHdpbGwgdXNl IG9ubHkgY2Fpcm8gdG8gZG8gdGhlIGNvbnZlcnNpb24sIGJ1dCB3ZSB3aWxsIHVzZSBvdGhlcgps aWJyYXJpZXMgb3Igcm9sbCBvdXIgb3duIHJvdXRpbmVzIHRvIGNvbnZlcnQgdG8gbW9yZSBleG90 aWMgZm9ybWF0cyBhbmQKYWJzdHJhY3QgaXQgYXdheSBmcm9tIHRoZSB1c2Vycy4KClJldmlld2Vk LWJ5OiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgpTaWduZWQtb2ZmLWJ5OiBNYXhpbWUg UmlwYXJkIDxtYXhpbWUucmlwYXJkQGJvb3RsaW4uY29tPgotLS0KIGxpYi9pZ3RfZmIuYyB8IDQ3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvaWd0 X2ZiLmggfCAgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCmluZGV4IGY4MjlkZjU5ZTlmYS4uNGY2 M2UwMzM1Zjg2IDEwMDY0NAotLS0gYS9saWIvaWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBA IC0yMDE2LDYgKzIwMTYsNTMgQEAgdm9pZCBpZ3RfcmVtb3ZlX2ZiKGludCBmZCwgc3RydWN0IGln dF9mYiAqZmIpCiB9CiAKIC8qKgorICogaWd0X2ZiX2NvbnZlcnQ6CisgKiBAZHN0OiBwb2ludGVy IHRvIHRoZSAjaWd0X2ZiIHN0cnVjdHVyZSB0aGF0IHdpbGwgc3RvcmUgdGhlIGNvbnZlcnNpb24g cmVzdWx0CisgKiBAc3JjOiBwb2ludGVyIHRvIHRoZSAjaWd0X2ZiIHN0cnVjdHVyZSB0aGF0IHN0 b3JlcyB0aGUgZnJhbWUgd2UgY29udmVydAorICogQGRzdF9mb3VyY2M6IERSTSBmb3JtYXQgc3Bl Y2lmaWVyIHRvIGNvbnZlcnQgdG8KKyAqCisgKiBUaGlzIHdpbGwgY29udmVydCBhIGdpdmVuIEBz cmMgY29udGVudCB0byB0aGUgQGRzdF9mb3VyY2MgZm9ybWF0LAorICogc3RvcmluZyB0aGUgcmVz dWx0IGluIHRoZSBAZHN0IGZiLCBhbGxvY2F0aW5nIHRoZSBAZHN0IGZiCisgKiB1bmRlcmx5aW5n IGJ1ZmZlci4KKyAqCisgKiBPbmNlIGRvbmUgd2l0aCBAZHN0LCB0aGUgY2FsbGVyIHdpbGwgaGF2 ZSB0byBjYWxsIGlndF9yZW1vdmVfZmIoKQorICogb24gaXQgdG8gZnJlZSB0aGUgYXNzb2NpYXRl ZCByZXNvdXJjZXMuCisgKgorICogUmV0dXJuczoKKyAqIFRoZSBrbXMgaWQgb2YgdGhlIGNyZWF0 ZWQgZnJhbWVidWZmZXIuCisgKi8KK3Vuc2lnbmVkIGludCBpZ3RfZmJfY29udmVydChzdHJ1Y3Qg aWd0X2ZiICpkc3QsIHN0cnVjdCBpZ3RfZmIgKnNyYywKKwkJCSAgICB1aW50MzJfdCBkc3RfZm91 cmNjKQoreworCXN0cnVjdCBmYl9jb252ZXJ0IGN2dCA9IHsgMCB9OworCXZvaWQgKmRzdF9wdHIs ICpzcmNfcHRyOworCWludCBmYl9pZDsKKworCWZiX2lkID0gaWd0X2NyZWF0ZV9mYihzcmMtPmZk LCBzcmMtPndpZHRoLCBzcmMtPmhlaWdodCwKKwkJCSAgICAgIGRzdF9mb3VyY2MsIExPQ0FMX0RS TV9GT1JNQVRfTU9EX05PTkUsIGRzdCk7CisJaWd0X2Fzc2VydChmYl9pZCA+IDApOworCisJc3Jj X3B0ciA9IGlndF9mYl9tYXBfYnVmZmVyKHNyYy0+ZmQsIHNyYyk7CisJaWd0X2Fzc2VydChzcmNf cHRyKTsKKworCWRzdF9wdHIgPSBpZ3RfZmJfbWFwX2J1ZmZlcihkc3QtPmZkLCBkc3QpOworCWln dF9hc3NlcnQoZHN0X3B0cik7CisKKwljdnQud2lkdGggPSBzcmMtPndpZHRoOworCWN2dC5oZWln aHQgPSBzcmMtPmhlaWdodDsKKwljdnQuZHN0LnB0ciA9IGRzdF9wdHI7CisJY3Z0LmRzdC5mYiA9 IGRzdDsKKwljdnQuc3JjLnB0ciA9IHNyY19wdHI7CisJY3Z0LnNyYy5mYiA9IHNyYzsKKwlmYl9j b252ZXJ0KCZjdnQpOworCisJaWd0X2ZiX3VubWFwX2J1ZmZlcihkc3QsIGRzdF9wdHIpOworCWln dF9mYl91bm1hcF9idWZmZXIoc3JjLCBzcmNfcHRyKTsKKworCXJldHVybiBmYl9pZDsKK30KKwor LyoqCiAgKiBpZ3RfYnBwX2RlcHRoX3RvX2RybV9mb3JtYXQ6CiAgKiBAYnBwOiBkZXNpcmVkIGJp dHMgcGVyIHBpeGVsCiAgKiBAZGVwdGg6IGRlc2lyZWQgZGVwdGgKZGlmZiAtLWdpdCBhL2xpYi9p Z3RfZmIuaCBiL2xpYi9pZ3RfZmIuaAppbmRleCBjYTAyOGY1NTBhYjguLmViNjhiMjM2NTMwZSAx MDA2NDQKLS0tIGEvbGliL2lndF9mYi5oCisrKyBiL2xpYi9pZ3RfZmIuaApAQCAtMTMwLDYgKzEz MCw4IEBAIHVuc2lnbmVkIGludCBpZ3RfY3JlYXRlX2ltYWdlX2ZiKGludCBkcm1fZmQsICBpbnQg d2lkdGgsIGludCBoZWlnaHQsCiAJCQkJIHN0cnVjdCBpZ3RfZmIgKmZiIC8qIG91dCAqLyk7CiB1 bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9zdGVyZW9fZmIoaW50IGRybV9mZCwgZHJtTW9kZU1vZGVJ bmZvICptb2RlLAogCQkJCSAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCB0aWxpbmcpOwordW5z aWduZWQgaW50IGlndF9mYl9jb252ZXJ0KHN0cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9m YiAqc3JjLAorCQkJICAgIHVpbnQzMl90IGRzdF9mb3VyY2MpOwogdm9pZCBpZ3RfcmVtb3ZlX2Zi KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpOwogaW50IGlndF9kaXJ0eV9mYihpbnQgZmQsIHN0 cnVjdCBpZ3RfZmIgKmZiKTsKIHZvaWQgKmlndF9mYl9tYXBfYnVmZmVyKGludCBmZCwgc3RydWN0 IGlndF9mYiAqZmIpOwotLSAKZ2l0LXNlcmllcyAwLjkuMQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXYK