From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mikulas Patocka Subject: [PATCH 19/21] udlfb: optimization - test the backing buffer Date: Sun, 03 Jun 2018 16:41:12 +0200 Message-ID: <20180603144225.839044928@twibright.com> References: <20180603144053.875668929@twibright.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from leontynka.twibright.com (109-183-129-149.tmcz.cz [109.183.129.149]) by gabe.freedesktop.org (Postfix) with ESMTPS id B124C6E2AA for ; Sun, 3 Jun 2018 15:19:56 +0000 (UTC) Content-Disposition: inline; filename=udl-test-backing-buffer.patch List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mikulas Patocka , Bartlomiej Zolnierkiewicz , Dave Airlie , Bernie Thompson , Ladislav Michl Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Q3VycmVudGx5LCB0aGUgdWRsZmIgZHJpdmVyIG9ubHkgdGVzdHMgZm9yIGlkZW50aWNhbCBieXRl cyBhdCB0aGUKYmVnaW5uaW5nIG9yIGF0IHRoZSBlbmQgb2YgYSBwYWdlIGFuZCByZW5kZXJzIGFu eXRoaW5nIGJldHdlZW4gdGhlIGZpcnN0CmFuZCBsYXN0IG1pc21hdGNoaW5nIHBpeGVsLiBCdXQg cGFnZXMgYXJlIG5vdCB0aGUgc2FtZSBhcyBsaW5lcywgc28gdGhpcwppcyBxdWl0ZSBzdWJvcHRp bWFsIC0gaWYgdGhlcmUgaXMgc29tZXRoaW5nIG1vZGlmaWVkIGF0IHRoZSBiZWdpbm5pbmcgb2Yg YQpwYWdlIGFuZCBhdCB0aGUgZW5kIG9mIGEgcGFnZSwgdGhlIHdob2xlIHBhZ2UgaXMgcmVuZGVy ZWQsIGV2ZW4gaWYgbW9zdCBvZgp0aGUgcGFnZSBpcyBub3QgbW9kaWZpZWQuCgpUaGlzIHBhdGNo IG1ha2VzIGl0IHRlc3QgZm9yIGlkZW50aWNhbCBwaXhlbHMgYXQgdGhlIGJlZ2lubmluZyBhbmQg ZW5kIG9mCmVhY2ggcmVuZGVyaW5nIGNvbW1hbmQuIFRoaXMgcGF0Y2ggaW1wcm92ZXMgaWRlbnRp Y2FsIGJ5dGUgZGV0ZWN0aW9uIGJ5CjQxJSB3aGVuIHBsYXlpbmcgdmlkZW8gaW4gYSB3aW5kb3cu CgpUaGlzIHBhdGNoIGFsc28gZml4ZXMgYSBwb3NzaWJsZSBzY3JlZW4gY29ycnVwdGlvbiBpZiB0 aGUgdXNlciBpcyB3cml0aW5nCnRvIHRoZSBmcmFtZWJ1ZmZlciB3aGlsZSBkbGZiX3JlbmRlcl9o bGluZSBpcyBpbiBwcm9ncmVzcyAtIHRoZSBwaXhlbCBkYXRhCnRoYXQgaXMgY29waWVkIHRvIHRo ZSBiYWNrYnVmZmVyIHdpdGggbWVtY3B5IG1heSBiZSBkaWZmZXJlbnQgZnJvbSB0aGUKcGl4ZWwg ZGF0YSB0aGF0IGlzIGFjdHVhbGx5IHJlbmRlcmVkIHRvIHRoZSBoYXJkd2FyZSAoYmVjYXVzZSB0 aGUgY29udGVudApvZiB0aGUgZnJhbWVidWZmZXIgbWF5IGNoYW5nZSBiZXR3ZWVuIG1lbWNweSBh bmQgdGhlIHJlbmRlcmluZyBjb21tYW5kKS4KV2UgbXVzdCBtYWtlIHN1cmUgdGhhdCB3ZSBjb3B5 IGV4YWN0bHkgdGhlIHNhbWUgcGl4ZWwgYXMgdGhlIHBpeGVsIHRoYXQgaXMKYmVpbmcgcmVuZGVy ZWQuCgpTaWduZWQtb2ZmLWJ5OiBNaWt1bGFzIFBhdG9ja2EgPG1wYXRvY2thQHJlZGhhdC5jb20+ CgotLS0KIGRyaXZlcnMvdmlkZW8vZmJkZXYvdWRsZmIuYyB8ICAgNDUgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKCkluZGV4OiBsaW51eC00LjE3LXJjNy9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3VkbGZiLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGludXgtNC4xNy1yYzcub3JpZy9kcml2 ZXJzL3ZpZGVvL2ZiZGV2L3VkbGZiLmMJMjAxOC0wNS0zMSAxNDo1MTo0My4wMDAwMDAwMDAgKzAy MDAKKysrIGxpbnV4LTQuMTctcmM3L2RyaXZlcnMvdmlkZW8vZmJkZXYvdWRsZmIuYwkyMDE4LTA1 LTMxIDE0OjUxOjQzLjAwMDAwMDAwMCArMDIwMApAQCAtNDMxLDcgKzQzMSw5IEBAIHN0YXRpYyB2 b2lkIGRsZmJfY29tcHJlc3NfaGxpbmUoCiAJY29uc3QgdWludDE2X3QgKmNvbnN0IHBpeGVsX2Vu ZCwKIAl1aW50MzJfdCAqZGV2aWNlX2FkZHJlc3NfcHRyLAogCXVpbnQ4X3QgKipjb21tYW5kX2J1 ZmZlcl9wdHIsCi0JY29uc3QgdWludDhfdCAqY29uc3QgY21kX2J1ZmZlcl9lbmQpCisJY29uc3Qg dWludDhfdCAqY29uc3QgY21kX2J1ZmZlcl9lbmQsCisJdW5zaWduZWQgbG9uZyBiYWNrX2J1ZmZl cl9vZmZzZXQsCisJaW50ICppZGVudF9wdHIpCiB7CiAJY29uc3QgdWludDE2X3QgKnBpeGVsID0g KnBpeGVsX3N0YXJ0X3B0cjsKIAl1aW50MzJfdCBkZXZfYWRkciAgPSAqZGV2aWNlX2FkZHJlc3Nf cHRyOwpAQCAtNDQ0LDYgKzQ0NiwxNCBAQCBzdGF0aWMgdm9pZCBkbGZiX2NvbXByZXNzX2hsaW5l KAogCQljb25zdCB1aW50MTZfdCAqcmF3X3BpeGVsX3N0YXJ0ID0gTlVMTDsKIAkJY29uc3QgdWlu dDE2X3QgKmNtZF9waXhlbF9zdGFydCwgKmNtZF9waXhlbF9lbmQgPSBOVUxMOwogCisJCWlmIChi YWNrX2J1ZmZlcl9vZmZzZXQgJiYKKwkJICAgICpwaXhlbCA9PSAqKHUxNiAqKSgodTggKilwaXhl bCArIGJhY2tfYnVmZmVyX29mZnNldCkpIHsKKwkJCXBpeGVsKys7CisJCQlkZXZfYWRkciArPSBC UFA7CisJCQkoKmlkZW50X3B0cikrKzsKKwkJCWNvbnRpbnVlOworCQl9CisKIAkJcHJlZmV0Y2h3 KCh2b2lkICopIGNtZCk7IC8qIHB1bGwgaW4gb25lIGNhY2hlIGxpbmUgYXQgbGVhc3QgKi8KIAog CQkqY21kKysgPSAweEFGOwpAQCAtNDYyLDI1ICs0NzIsMzcgQEAgc3RhdGljIHZvaWQgZGxmYl9j b21wcmVzc19obGluZSgKIAkJCQkJKHVuc2lnbmVkIGxvbmcpKHBpeGVsX2VuZCAtIHBpeGVsKSwK IAkJCQkJKHVuc2lnbmVkIGxvbmcpKGNtZF9idWZmZXJfZW5kIC0gMSAtIGNtZCkgLyBCUFApOwog CisJCWlmIChiYWNrX2J1ZmZlcl9vZmZzZXQpIHsKKwkJCS8qIG5vdGU6IHRoZSBmcmFtZWJ1ZmZl ciBtYXkgY2hhbmdlIHVuZGVyIHVzLCBzbyB3ZSBtdXN0IHRlc3QgZm9yIHVuZGVyZmxvdyAqLwor CQkJd2hpbGUgKGNtZF9waXhlbF9lbmQgLSAxID4gcGl4ZWwgJiYKKwkJCSAgICAgICAqKGNtZF9w aXhlbF9lbmQgLSAxKSA9PSAqKHUxNiAqKSgodTggKikoY21kX3BpeGVsX2VuZCAtIDEpICsgYmFj a19idWZmZXJfb2Zmc2V0KSkKKwkJCQljbWRfcGl4ZWxfZW5kLS07CisJCX0KKwogCQlwcmVmZXRj aF9yYW5nZSgodm9pZCAqKSBwaXhlbCwgKHU4ICopY21kX3BpeGVsX2VuZCAtICh1OCAqKXBpeGVs KTsKIAogCQl3aGlsZSAocGl4ZWwgPCBjbWRfcGl4ZWxfZW5kKSB7CiAJCQljb25zdCB1aW50MTZf dCAqIGNvbnN0IHJlcGVhdGluZ19waXhlbCA9IHBpeGVsOworCQkJdTE2IHBpeGVsX3ZhbHVlID0g KnBpeGVsOwogCi0JCQlwdXRfdW5hbGlnbmVkX2JlMTYoKnBpeGVsLCBjbWQpOworCQkJcHV0X3Vu YWxpZ25lZF9iZTE2KHBpeGVsX3ZhbHVlLCBjbWQpOworCQkJaWYgKGJhY2tfYnVmZmVyX29mZnNl dCkKKwkJCQkqKHUxNiAqKSgodTggKilwaXhlbCArIGJhY2tfYnVmZmVyX29mZnNldCkgPSBwaXhl bF92YWx1ZTsKIAkJCWNtZCArPSAyOwogCQkJcGl4ZWwrKzsKIAogCQkJaWYgKHVubGlrZWx5KChw aXhlbCA8IGNtZF9waXhlbF9lbmQpICYmCi0JCQkJICAgICAoKnBpeGVsID09ICpyZXBlYXRpbmdf cGl4ZWwpKSkgeworCQkJCSAgICAgKCpwaXhlbCA9PSBwaXhlbF92YWx1ZSkpKSB7CiAJCQkJLyog Z28gYmFjayBhbmQgZmlsbCBpbiByYXcgcGl4ZWwgY291bnQgKi8KIAkJCQkqcmF3X3BpeGVsc19j b3VudF9ieXRlID0gKChyZXBlYXRpbmdfcGl4ZWwgLQogCQkJCQkJcmF3X3BpeGVsX3N0YXJ0KSAr IDEpICYgMHhGRjsKIAotCQkJCXdoaWxlICgocGl4ZWwgPCBjbWRfcGl4ZWxfZW5kKQotCQkJCSAg ICAgICAmJiAoKnBpeGVsID09ICpyZXBlYXRpbmdfcGl4ZWwpKSB7Ci0JCQkJCXBpeGVsKys7Ci0J CQkJfQorCQkJCWRvIHsKKwkJCQkJaWYgKGJhY2tfYnVmZmVyX29mZnNldCkKKwkJCQkJCSoodTE2 ICopKCh1OCAqKXBpeGVsICsgYmFja19idWZmZXJfb2Zmc2V0KSA9IHBpeGVsX3ZhbHVlOworIAkJ CQkJcGl4ZWwrKzsKKwkJCQl9IHdoaWxlICgocGl4ZWwgPCBjbWRfcGl4ZWxfZW5kKSAmJgorCQkJ CQkgKCpwaXhlbCA9PSBwaXhlbF92YWx1ZSkpOwogCiAJCQkJLyogaW1tZWRpYXRlbHkgYWZ0ZXIg cmF3IGRhdGEgaXMgcmVwZWF0IGJ5dGUgKi8KIAkJCQkqY21kKysgPSAoKHBpeGVsIC0gcmVwZWF0 aW5nX3BpeGVsKSAtIDEpICYgMHhGRjsKQEAgLTUzMSw2ICs1NTMsNyBAQCBzdGF0aWMgaW50IGRs ZmJfcmVuZGVyX2hsaW5lKHN0cnVjdCBkbGZiCiAJc3RydWN0IHVyYiAqdXJiID0gKnVyYl9wdHI7 CiAJdTggKmNtZCA9ICp1cmJfYnVmX3B0cjsKIAl1OCAqY21kX2VuZCA9ICh1OCAqKSB1cmItPnRy YW5zZmVyX2J1ZmZlciArIHVyYi0+dHJhbnNmZXJfYnVmZmVyX2xlbmd0aDsKKwl1bnNpZ25lZCBs b25nIGJhY2tfYnVmZmVyX29mZnNldCA9IDA7CiAKIAlsaW5lX3N0YXJ0ID0gKHU4ICopIChmcm9u dCArIGJ5dGVfb2Zmc2V0KTsKIAluZXh0X3BpeGVsID0gbGluZV9zdGFydDsKQEAgLTU0MSw2ICs1 NjQsOCBAQCBzdGF0aWMgaW50IGRsZmJfcmVuZGVyX2hsaW5lKHN0cnVjdCBkbGZiCiAJCWNvbnN0 IHU4ICpiYWNrX3N0YXJ0ID0gKHU4ICopIChkbGZiLT5iYWNraW5nX2J1ZmZlcgogCQkJCQkJKyBi eXRlX29mZnNldCk7CiAKKwkJYmFja19idWZmZXJfb2Zmc2V0ID0gKHVuc2lnbmVkIGxvbmcpYmFj a19zdGFydCAtICh1bnNpZ25lZCBsb25nKWxpbmVfc3RhcnQ7CisKIAkJKmlkZW50X3B0ciArPSBk bGZiX3RyaW1faGxpbmUoYmFja19zdGFydCwgJm5leHRfcGl4ZWwsCiAJCQkmYnl0ZV93aWR0aCk7 CiAKQEAgLTU0OSwxNiArNTc0LDE0IEBAIHN0YXRpYyBpbnQgZGxmYl9yZW5kZXJfaGxpbmUoc3Ry dWN0IGRsZmIKIAkJZGV2X2FkZHIgKz0gb2Zmc2V0OwogCQliYWNrX3N0YXJ0ICs9IG9mZnNldDsK IAkJbGluZV9zdGFydCArPSBvZmZzZXQ7Ci0KLQkJbWVtY3B5KChjaGFyICopYmFja19zdGFydCwg KGNoYXIgKikgbGluZV9zdGFydCwKLQkJICAgICAgIGJ5dGVfd2lkdGgpOwogCX0KIAogCXdoaWxl IChuZXh0X3BpeGVsIDwgbGluZV9lbmQpIHsKIAogCQlkbGZiX2NvbXByZXNzX2hsaW5lKChjb25z dCB1aW50MTZfdCAqKikgJm5leHRfcGl4ZWwsCiAJCQkgICAgIChjb25zdCB1aW50MTZfdCAqKSBs aW5lX2VuZCwgJmRldl9hZGRyLAotCQkJKHU4ICoqKSAmY21kLCAodTggKikgY21kX2VuZCk7CisJ CQkodTggKiopICZjbWQsICh1OCAqKSBjbWRfZW5kLCBiYWNrX2J1ZmZlcl9vZmZzZXQsCisJCQlp ZGVudF9wdHIpOwogCiAJCWlmIChjbWQgPj0gY21kX2VuZCkgewogCQkJaW50IGxlbiA9IGNtZCAt ICh1OCAqKSB1cmItPnRyYW5zZmVyX2J1ZmZlcjsKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=