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 1AF4B6EEDE for ; Thu, 13 Dec 2018 15:55:55 +0000 (UTC) From: Paul Kocialkowski Date: Thu, 13 Dec 2018 16:55:29 +0100 Message-Id: <20181213155533.18048-9-paul.kocialkowski@bootlin.com> In-Reply-To: <20181213155533.18048-1-paul.kocialkowski@bootlin.com> References: <20181213155533.18048-1-paul.kocialkowski@bootlin.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2 08/12] lib/igt_fb: Add a stride-provisioned fashion of igt_fb_convert List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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: Petri Latvala , Eben Upton , Boris Brezillon , Thomas Petazzoni List-ID: VGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgaWd0X2ZiX2NvbnZlcnQgZG9lcyBub3QgYWxs b3cgcGFzc2luZwp0aGUgZGVzdGluYXRpb24gc3RyaWRlLCB3aGljaCBpcyBzb21ldGhpbmcgd2Ug d2FudCB0byBjaGFuZ2UgZm9yIHRlc3RzLgoKQWRkIGEgbmV3IGZhc2hpb24gb2YgdGhpcyBmdW5j dGlvbiB0aGF0IGFsbG9jYXRlcyB0aGUgZGVzaW50YXRpb24gYnVmZmVyCndpdGggYSBnaXZlbiBz dHJpZGUuIFNpbmNlIHRoZSBjdXJyZW50IGZ1bmN0aW9uIGRvZXMgdGhlIHNhbWUgdGhpbmcgd2l0 aAphbiB1bnNwZWNpZmllZCBzdHJpZGUgKHNldCB0byB6ZXJvLCB3aGljaCB3aWxsIGJlIGZpbGxl ZCBsYXRlciksIG1ha2UgaXQKY2FsbCBvdXIgbmV3IGZhc2hpb24gd2l0aCB0aGUgc3RyaWRlIHNl dCB0byB6ZXJvIHRvIGF2b2lkIGR1cGxpY2F0aW9uLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBLb2Np YWxrb3dza2kgPHBhdWwua29jaWFsa293c2tpQGJvb3RsaW4uY29tPgpSZXZpZXdlZC1ieTogTHl1 ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KLS0tCiBsaWIvaWd0X2ZiLmMgfCAzOCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogbGliL2lndF9mYi5oIHwgIDMgKysrCiAy IGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvbGliL2lndF9mYi5jIGIvbGliL2lndF9mYi5jCmluZGV4IGU1OTIzYjhiNzc0NS4uZmEy Njc1M2YyZWMyIDEwMDY0NAotLS0gYS9saWIvaWd0X2ZiLmMKKysrIGIvbGliL2lndF9mYi5jCkBA IC0yMjU3LDE0ICsyMjU3LDE1IEBAIHZvaWQgaWd0X3JlbW92ZV9mYihpbnQgZmQsIHN0cnVjdCBp Z3RfZmIgKmZiKQogfQogCiAvKioKLSAqIGlndF9mYl9jb252ZXJ0OgorICogaWd0X2ZiX2NvbnZl cnRfd2l0aF9zdHJpZGU6CiAgKiBAZHN0OiBwb2ludGVyIHRvIHRoZSAjaWd0X2ZiIHN0cnVjdHVy ZSB0aGF0IHdpbGwgc3RvcmUgdGhlIGNvbnZlcnNpb24gcmVzdWx0CiAgKiBAc3JjOiBwb2ludGVy IHRvIHRoZSAjaWd0X2ZiIHN0cnVjdHVyZSB0aGF0IHN0b3JlcyB0aGUgZnJhbWUgd2UgY29udmVy dAogICogQGRzdF9mb3VyY2M6IERSTSBmb3JtYXQgc3BlY2lmaWVyIHRvIGNvbnZlcnQgdG8KKyAq IEBkc3Rfc3RyaWRlOiBTdHJpZGUgZm9yIHRoZSByZXN1bHRpbmcgZnJhbWVidWZmZXIgKDAgZm9y IGF1dG9tYXRpYyBzdHJpZGUpCiAgKgogICogVGhpcyB3aWxsIGNvbnZlcnQgYSBnaXZlbiBAc3Jj IGNvbnRlbnQgdG8gdGhlIEBkc3RfZm91cmNjIGZvcm1hdCwKICAqIHN0b3JpbmcgdGhlIHJlc3Vs dCBpbiB0aGUgQGRzdCBmYiwgYWxsb2NhdGluZyB0aGUgQGRzdCBmYgotICogdW5kZXJseWluZyBi dWZmZXIuCisgKiB1bmRlcmx5aW5nIGJ1ZmZlciB3aXRoIGEgc3RyaWRlIG9mIEBkc3Rfc3RyaWRl IHN0cmlkZS4KICAqCiAgKiBPbmNlIGRvbmUgd2l0aCBAZHN0LCB0aGUgY2FsbGVyIHdpbGwgaGF2 ZSB0byBjYWxsIGlndF9yZW1vdmVfZmIoKQogICogb24gaXQgdG8gZnJlZSB0aGUgYXNzb2NpYXRl ZCByZXNvdXJjZXMuCkBAIC0yMjcyLDE1ICsyMjczLDE4IEBAIHZvaWQgaWd0X3JlbW92ZV9mYihp bnQgZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKQogICogUmV0dXJuczoKICAqIFRoZSBrbXMgaWQgb2Yg dGhlIGNyZWF0ZWQgZnJhbWVidWZmZXIuCiAgKi8KLXVuc2lnbmVkIGludCBpZ3RfZmJfY29udmVy dChzdHJ1Y3QgaWd0X2ZiICpkc3QsIHN0cnVjdCBpZ3RfZmIgKnNyYywKLQkJCSAgICB1aW50MzJf dCBkc3RfZm91cmNjKQordW5zaWduZWQgaW50IGlndF9mYl9jb252ZXJ0X3dpdGhfc3RyaWRlKHN0 cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9mYiAqc3JjLAorCQkJCQl1aW50MzJfdCBkc3Rf Zm91cmNjLAorCQkJCQl1bnNpZ25lZCBpbnQgZHN0X3N0cmlkZSkKIHsKIAlzdHJ1Y3QgZmJfY29u dmVydCBjdnQgPSB7IH07CiAJdm9pZCAqZHN0X3B0ciwgKnNyY19wdHI7CiAJaW50IGZiX2lkOwog Ci0JZmJfaWQgPSBpZ3RfY3JlYXRlX2ZiKHNyYy0+ZmQsIHNyYy0+d2lkdGgsIHNyYy0+aGVpZ2h0 LAotCQkJICAgICAgZHN0X2ZvdXJjYywgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9ORSwgZHN0KTsK KwlmYl9pZCA9IGlndF9jcmVhdGVfZmJfd2l0aF9ib19zaXplKHNyYy0+ZmQsIHNyYy0+d2lkdGgs IHNyYy0+aGVpZ2h0LAorCQkJCQkgICBkc3RfZm91cmNjLAorCQkJCQkgICBMT0NBTF9EUk1fRk9S TUFUX01PRF9OT05FLAorCQkJCQkgICBkc3QsIDAsIGRzdF9zdHJpZGUpOwogCWlndF9hc3NlcnQo ZmJfaWQgPiAwKTsKIAogCXNyY19wdHIgPSBpZ3RfZmJfbWFwX2J1ZmZlcihzcmMtPmZkLCBzcmMp OwpAQCAtMjMwMSw2ICsyMzA1LDI4IEBAIHVuc2lnbmVkIGludCBpZ3RfZmJfY29udmVydChzdHJ1 Y3QgaWd0X2ZiICpkc3QsIHN0cnVjdCBpZ3RfZmIgKnNyYywKIAlyZXR1cm4gZmJfaWQ7CiB9CiAK Ky8qKgorICogaWd0X2ZiX2NvbnZlcnQ6CisgKiBAZHN0OiBwb2ludGVyIHRvIHRoZSAjaWd0X2Zi IHN0cnVjdHVyZSB0aGF0IHdpbGwgc3RvcmUgdGhlIGNvbnZlcnNpb24gcmVzdWx0CisgKiBAc3Jj OiBwb2ludGVyIHRvIHRoZSAjaWd0X2ZiIHN0cnVjdHVyZSB0aGF0IHN0b3JlcyB0aGUgZnJhbWUg d2UgY29udmVydAorICogQGRzdF9mb3VyY2M6IERSTSBmb3JtYXQgc3BlY2lmaWVyIHRvIGNvbnZl cnQgdG8KKyAqCisgKiBUaGlzIHdpbGwgY29udmVydCBhIGdpdmVuIEBzcmMgY29udGVudCB0byB0 aGUgQGRzdF9mb3VyY2MgZm9ybWF0LAorICogc3RvcmluZyB0aGUgcmVzdWx0IGluIHRoZSBAZHN0 IGZiLCBhbGxvY2F0aW5nIHRoZSBAZHN0IGZiCisgKiB1bmRlcmx5aW5nIGJ1ZmZlci4KKyAqCisg KiBPbmNlIGRvbmUgd2l0aCBAZHN0LCB0aGUgY2FsbGVyIHdpbGwgaGF2ZSB0byBjYWxsIGlndF9y ZW1vdmVfZmIoKQorICogb24gaXQgdG8gZnJlZSB0aGUgYXNzb2NpYXRlZCByZXNvdXJjZXMuCisg KgorICogUmV0dXJuczoKKyAqIFRoZSBrbXMgaWQgb2YgdGhlIGNyZWF0ZWQgZnJhbWVidWZmZXIu CisgKi8KK3Vuc2lnbmVkIGludCBpZ3RfZmJfY29udmVydChzdHJ1Y3QgaWd0X2ZiICpkc3QsIHN0 cnVjdCBpZ3RfZmIgKnNyYywKKwkJCSAgICB1aW50MzJfdCBkc3RfZm91cmNjKQoreworCXJldHVy biBpZ3RfZmJfY29udmVydF93aXRoX3N0cmlkZShkc3QsIHNyYywgZHN0X2ZvdXJjYywgMCk7Cit9 CisKIC8qKgogICogaWd0X2JwcF9kZXB0aF90b19kcm1fZm9ybWF0OgogICogQGJwcDogZGVzaXJl ZCBiaXRzIHBlciBwaXhlbApkaWZmIC0tZ2l0IGEvbGliL2lndF9mYi5oIGIvbGliL2lndF9mYi5o CmluZGV4IDlmMDI3ZGViYTg0Mi4uY2IyMWZkYmM3N2EzIDEwMDY0NAotLS0gYS9saWIvaWd0X2Zi LmgKKysrIGIvbGliL2lndF9mYi5oCkBAIC0xMzAsNiArMTMwLDkgQEAgdW5zaWduZWQgaW50IGln dF9jcmVhdGVfaW1hZ2VfZmIoaW50IGRybV9mZCwgIGludCB3aWR0aCwgaW50IGhlaWdodCwKIAkJ CQkgc3RydWN0IGlndF9mYiAqZmIgLyogb3V0ICovKTsKIHVuc2lnbmVkIGludCBpZ3RfY3JlYXRl X3N0ZXJlb19mYihpbnQgZHJtX2ZkLCBkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCiAJCQkJICB1aW50 MzJfdCBmb3JtYXQsIHVpbnQ2NF90IHRpbGluZyk7Cit1bnNpZ25lZCBpbnQgaWd0X2ZiX2NvbnZl cnRfd2l0aF9zdHJpZGUoc3RydWN0IGlndF9mYiAqZHN0LCBzdHJ1Y3QgaWd0X2ZiICpzcmMsCisJ CQkJCXVpbnQzMl90IGRzdF9mb3VyY2MsCisJCQkJCXVuc2lnbmVkIGludCBzdHJpZGUpOwogdW5z aWduZWQgaW50IGlndF9mYl9jb252ZXJ0KHN0cnVjdCBpZ3RfZmIgKmRzdCwgc3RydWN0IGlndF9m YiAqc3JjLAogCQkJICAgIHVpbnQzMl90IGRzdF9mb3VyY2MpOwogdm9pZCBpZ3RfcmVtb3ZlX2Zi KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpOwotLSAKMi4xOS4yCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3Qt ZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK