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 DC8FF6E347 for ; Tue, 11 Sep 2018 08:47:43 +0000 (UTC) From: Maxime Ripard Date: Tue, 11 Sep 2018 10:47:28 +0200 Message-Id: In-Reply-To: References: In-Reply-To: References: Subject: [igt-dev] [PATCH v7 01/14] fb: Add buffer map/unmap functions 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: VGhlIGN1cnJlbnQgY29kZSB0byBtYW5pcHVsYXRlIHRoZSBidWZmZXIgaGFzIHRoZSBhc3N1bXB0 aW9uIHRoYXQgd2UgY2FuCmNyZWF0ZSBhbiB1bmRlcmx5aW5nIGNhaXJvIGluc3RhbmNlLgoKSG93 ZXZlciwgd2hlbiBpdCBjb21lcyB0byBzdXBwb3J0aW5nIHZhcmlvdXMgZm9ybWF0cywgY2Fpcm8g aXMgdmVyeSBsaW1pdGVkCnNvIHdlIHdvdWxkIG5lZWQgdG8gZGVjb3VwbGUgdGhlIGJ1ZmZlciBh Y2Nlc3MgZnJvbSBjYWlybyBzdXJmYWNlcy4KCkxldCdzIGNyZWF0ZSBhIGZ1bmN0aW9uIHRoYXQg YWxsb3dzIHRvIG1hcCB0aGUgdW5kZXJseWluZyBHRU0gYnVmZmVyIGZyb20KYW4gaWd0X2ZiIHN0 cnVjdHVyZSwgd2hpY2ggd2lsbCB0aGVuIGFsbG93IHVzZSB0byBtYW5pcHVsYXRlIGFzIHdlIHdp c2guCgpSZXZpZXdlZC1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KU2lnbmVkLW9m Zi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNvbT4KLS0tCiBsaWIv aWd0X2ZiLmMgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLQogbGliL2lndF9mYi5oIHwgIDIgKystCiAyIGZpbGVzIGNoYW5nZWQsIDU1IGlu c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZmIuYyBi L2xpYi9pZ3RfZmIuYwppbmRleCAxMDg1ZDI1ZDMzY2UuLjU0MmM2MjYxMDQxMiAxMDA2NDQKLS0t IGEvbGliL2lndF9mYi5jCisrKyBiL2xpYi9pZ3RfZmIuYwpAQCAtMTMzMCwyMyArMTMzMCwyOSBA QCBpbnQgaWd0X2RpcnR5X2ZiKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCiAJcmV0dXJuIGRy bU1vZGVEaXJ0eUZCKGZiLT5mZCwgZmItPmZiX2lkLCBOVUxMLCAwKTsKIH0KIAorc3RhdGljIHZv aWQgdW5tYXBfYm8oc3RydWN0IGlndF9mYiAqZmIsIHZvaWQgKnB0cikKK3sKKwlnZW1fbXVubWFw KHB0ciwgZmItPnNpemUpOworCisJaWYgKGZiLT5pc19kdW1iKQorCQlpZ3RfZGlydHlfZmIoZmIt PmZkLCBmYik7Cit9CisKIHN0YXRpYyB2b2lkIGRlc3Ryb3lfY2Fpcm9fc3VyZmFjZV9fZ3R0KHZv aWQgKmFyZykKIHsKIAlzdHJ1Y3QgaWd0X2ZiICpmYiA9IGFyZzsKIAotCWdlbV9tdW5tYXAoY2Fp cm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShmYi0+Y2Fpcm9fc3VyZmFjZSksIGZiLT5zaXplKTsK Kwl1bm1hcF9ibyhmYiwgY2Fpcm9faW1hZ2Vfc3VyZmFjZV9nZXRfZGF0YShmYi0+Y2Fpcm9fc3Vy ZmFjZSkpOwogCWZiLT5jYWlyb19zdXJmYWNlID0gTlVMTDsKLQotCWlmIChmYi0+aXNfZHVtYikK LQkJaWd0X2RpcnR5X2ZiKGZiLT5mZCwgZmIpOwogfQogCi1zdGF0aWMgdm9pZCBjcmVhdGVfY2Fp cm9fc3VyZmFjZV9fZ3R0KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCitzdGF0aWMgdm9pZCAq bWFwX2JvKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCiB7CiAJdm9pZCAqcHRyOwogCi0JZ2Vt X3NldF9kb21haW4oZmQsIGZiLT5nZW1faGFuZGxlLAotCQkgICAgICAgSTkxNV9HRU1fRE9NQUlO X0dUVCwgSTkxNV9HRU1fRE9NQUlOX0dUVCk7CisJaWYgKGlzX2k5MTVfZGV2aWNlKGZkKSkKKwkJ Z2VtX3NldF9kb21haW4oZmQsIGZiLT5nZW1faGFuZGxlLAorCQkJICAgICAgIEk5MTVfR0VNX0RP TUFJTl9HVFQsIEk5MTVfR0VNX0RPTUFJTl9HVFQpOwogCiAJaWYgKGZiLT5pc19kdW1iKQogCQlw dHIgPSBrbXN0ZXN0X2R1bWJfbWFwX2J1ZmZlcihmZCwgZmItPmdlbV9oYW5kbGUsIGZiLT5zaXpl LApAQCAtMTM1NSw2ICsxMzYxLDEzIEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJmYWNl X19ndHQoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKIAkJcHRyID0gZ2VtX21tYXBfX2d0dChm ZCwgZmItPmdlbV9oYW5kbGUsIGZiLT5zaXplLAogCQkJCSAgICBQUk9UX1JFQUQgfCBQUk9UX1dS SVRFKTsKIAorCXJldHVybiBwdHI7Cit9CisKK3N0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19zdXJm YWNlX19ndHQoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKK3sKKwl2b2lkICpwdHIgPSBtYXBf Ym8oZmQsIGZiKTsKKwogCWZiLT5jYWlyb19zdXJmYWNlID0KIAkJY2Fpcm9faW1hZ2Vfc3VyZmFj ZV9jcmVhdGVfZm9yX2RhdGEocHRyLAogCQkJCQkJICAgIGRybV9mb3JtYXRfdG9fY2Fpcm8oZmIt PmRybV9mb3JtYXQpLApAQCAtMTc3Miw3ICsxNzg1LDcgQEAgc3RhdGljIHZvaWQgZGVzdHJveV9j YWlyb19zdXJmYWNlX19jb252ZXJ0KHZvaWQgKmFyZykKIAlpZiAoYmxpdC0+bGluZWFyLmhhbmRs ZSkKIAkJZnJlZV9saW5lYXJfbWFwcGluZyhibGl0LT5mZCwgYmxpdC0+ZmIsICZibGl0LT5saW5l YXIpOwogCWVsc2UKLQkJZ2VtX211bm1hcChibGl0LT5saW5lYXIubWFwLCBmYi0+c2l6ZSk7CisJ CXVubWFwX2JvKGZiLCBibGl0LT5saW5lYXIubWFwKTsKIAogCWZyZWUoYmxpdCk7CiAKQEAgLTE3 OTYsMTEgKzE4MDksOSBAQCBzdGF0aWMgdm9pZCBjcmVhdGVfY2Fpcm9fc3VyZmFjZV9fY29udmVy dChpbnQgZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKQogCQlzZXR1cF9saW5lYXJfbWFwcGluZyhmZCwg ZmIsICZibGl0LT5saW5lYXIpOwogCX0gZWxzZSB7CiAJCWJsaXQtPmxpbmVhci5oYW5kbGUgPSAw OwotCQlnZW1fc2V0X2RvbWFpbihmZCwgZmItPmdlbV9oYW5kbGUsCi0JCQkgICAgICAgSTkxNV9H RU1fRE9NQUlOX0dUVCwgSTkxNV9HRU1fRE9NQUlOX0dUVCk7Ci0JCWJsaXQtPmxpbmVhci5tYXAg PSBnZW1fbW1hcF9fZ3R0KGZkLCBmYi0+Z2VtX2hhbmRsZSwgZmItPnNpemUsCi0JCQkJCSAgICAg IFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOworCQlibGl0LT5saW5lYXIubWFwID0gbWFwX2JvKGZk LCBmYik7CiAJCWlndF9hc3NlcnQoYmxpdC0+bGluZWFyLm1hcCk7CisKIAkJYmxpdC0+bGluZWFy LnN0cmlkZSA9IGZiLT5zdHJpZGU7CiAJCWJsaXQtPmxpbmVhci5zaXplID0gZmItPnNpemU7CiAJ CW1lbWNweShibGl0LT5saW5lYXIub2Zmc2V0cywgZmItPm9mZnNldHMsIHNpemVvZihmYi0+b2Zm c2V0cykpOwpAQCAtMTgzNCw2ICsxODQ1LDM2IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9jYWlyb19z dXJmYWNlX19jb252ZXJ0KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCiB9CiAKIC8qKgorICog aWd0X2ZiX21hcF9idWZmZXI6CisgKiBAZmQ6IG9wZW4gZHJtIGZpbGUgZGVzY3JpcHRvcgorICog QGZiOiBwb2ludGVyIHRvIGFuICNpZ3RfZmIgc3RydWN0dXJlCisgKgorICogVGhpcyBmdW5jdGlv biB3aWxsIGNyZWF0aW5nIGEgbmV3IG1hcHBpbmcgb2YgdGhlIGJ1ZmZlciBhbmQgcmV0dXJuIGEg cG9pbnRlcgorICogdG8gdGhlIGNvbnRlbnQgb2YgdGhlIHN1cHBsaWVkIGZyYW1lYnVmZmVyJ3Mg cGxhbmUuIFRoaXMgbWFwcGluZyBuZWVkcyB0byBiZQorICogZGVsZXRlZCB1c2luZyBpZ3RfZmJf dW5tYXBfYnVmZmVyKCkuCisgKgorICogUmV0dXJuczoKKyAqIEEgcG9pbnRlciB0byBhIGJ1ZmZl ciB3aXRoIHRoZSBjb250ZW50cyBvZiB0aGUgZnJhbWVidWZmZXIKKyAqLwordm9pZCAqaWd0X2Zi X21hcF9idWZmZXIoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKK3sKKwlyZXR1cm4gbWFwX2Jv KGZkLCBmYik7Cit9CisKKy8qKgorICogaWd0X2ZiX3VubWFwX2J1ZmZlcjoKKyAqIEBmYjogcG9p bnRlciB0byB0aGUgYmFja2luZyBpZ3RfZmIgc3RydWN0dXJlCisgKiBAYnVmZmVyOiBwb2ludGVy IHRvIHRoZSBidWZmZXIgcHJldmlvdXNseSBtYXBwcGVkCisgKgorICogVGhpcyBmdW5jdGlvbiB3 aWxsIHVubWFwIGEgYnVmZmVyIG1hcHBlZCBwcmV2aW91c2x5IHdpdGgKKyAqIGlndF9mYl9tYXBf YnVmZmVyKCkuCisgKi8KK3ZvaWQgaWd0X2ZiX3VubWFwX2J1ZmZlcihzdHJ1Y3QgaWd0X2ZiICpm Yiwgdm9pZCAqYnVmZmVyKQoreworCXJldHVybiB1bm1hcF9ibyhmYiwgYnVmZmVyKTsKK30KKwor LyoqCiAgKiBpZ3RfZ2V0X2NhaXJvX3N1cmZhY2U6CiAgKiBAZmQ6IG9wZW4gZHJtIGZpbGUgZGVz Y3JpcHRvcgogICogQGZiOiBwb2ludGVyIHRvIGFuICNpZ3RfZmIgc3RydWN0dXJlCmRpZmYgLS1n aXQgYS9saWIvaWd0X2ZiLmggYi9saWIvaWd0X2ZiLmgKaW5kZXggZDI4YmMwYzQxMTBhLi5jYTAy OGY1NTBhYjggMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZmIuaAorKysgYi9saWIvaWd0X2ZiLmgKQEAg LTEzMiw2ICsxMzIsOCBAQCB1bnNpZ25lZCBpbnQgaWd0X2NyZWF0ZV9zdGVyZW9fZmIoaW50IGRy bV9mZCwgZHJtTW9kZU1vZGVJbmZvICptb2RlLAogCQkJCSAgdWludDMyX3QgZm9ybWF0LCB1aW50 NjRfdCB0aWxpbmcpOwogdm9pZCBpZ3RfcmVtb3ZlX2ZiKGludCBmZCwgc3RydWN0IGlndF9mYiAq ZmIpOwogaW50IGlndF9kaXJ0eV9mYihpbnQgZmQsIHN0cnVjdCBpZ3RfZmIgKmZiKTsKK3ZvaWQg KmlndF9mYl9tYXBfYnVmZmVyKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpOwordm9pZCBpZ3Rf ZmJfdW5tYXBfYnVmZmVyKHN0cnVjdCBpZ3RfZmIgKmZiLCB2b2lkICpidWZmZXIpOwogCiBpbnQg aWd0X2NyZWF0ZV9ib193aXRoX2RpbWVuc2lvbnMoaW50IGZkLCBpbnQgd2lkdGgsIGludCBoZWln aHQsIHVpbnQzMl90IGZvcm1hdCwKIAkJCQkgIHVpbnQ2NF90IG1vZGlmaWVyLCB1bnNpZ25lZCBz dHJpZGUsCi0tIApnaXQtc2VyaWVzIDAuOS4xCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldgo=