From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6625689F89 for ; Sun, 2 Aug 2020 16:30:41 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Sun, 2 Aug 2020 18:29:56 +0200 Message-Id: <20200802163002.5815-13-zbigniew.kempczynski@intel.com> In-Reply-To: <20200802163002.5815-1-zbigniew.kempczynski@intel.com> References: <20200802163002.5815-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v23 12/18] lib/igt_fb: Removal of libdrm dependency 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: Chris Wilson List-ID: RnJvbTogRG9taW5payBHcnplZ29yemVrIDxkb21pbmlrLmdyemVnb3J6ZWtAaW50ZWwuY29tPgoK QWRvcHQgdG8gaW50ZWxfYmIvaW50ZWxfYnVmIGZvciBsaWJkcm0gcmVtb3ZhbC4KClNpZ25lZC1v ZmYtYnk6IERvbWluaWsgR3J6ZWdvcnplayA8ZG9taW5pay5ncnplZ29yemVrQGludGVsLmNvbT4K Q2M6IFpiaWduaWV3IEtlbXBjennFhHNraSA8emJpZ25pZXcua2VtcGN6eW5za2lAaW50ZWwuY29t PgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogbGliL2ln dF9mYi5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfZmIuYyBiL2xpYi9pZ3RfZmIuYwppbmRleCAzODY0Yjdh MS4uNzQ4YzljNWEgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZmIuYworKysgYi9saWIvaWd0X2ZiLmMK QEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJpbnRlbF9iYXRjaGJ1ZmZlci5oIgogI2luY2x1 ZGUgImludGVsX2NoaXBzZXQuaCIKICNpbmNsdWRlICJpOTE1L2dlbV9tbWFuLmgiCisjaW5jbHVk ZSAiaW50ZWxfYnVmb3BzLmgiCiAKIC8qKgogICogU0VDVElPTjppZ3RfZmIKQEAgLTE5NzMsOCAr MTk3NCw4IEBAIHN0cnVjdCBmYl9ibGl0X3VwbG9hZCB7CiAJaW50IGZkOwogCXN0cnVjdCBpZ3Rf ZmIgKmZiOwogCXN0cnVjdCBmYl9ibGl0X2xpbmVhciBsaW5lYXI7Ci0JZHJtX2ludGVsX2J1Zm1n ciAqYnVmbWdyOwotCXN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2g7CisJc3RydWN0IGJ1 Zl9vcHMgKmJvcHM7CisJc3RydWN0IGludGVsX2JiICppYmI7CiB9OwogCiBzdGF0aWMgYm9vbCBm YXN0X2JsaXRfb2soY29uc3Qgc3RydWN0IGlndF9mYiAqZmIpCkBAIC0yMDQ0LDE0ICsyMDQ1LDE0 IEBAIHN0YXRpYyBib29sIHVzZV9ibGl0dGVyKGNvbnN0IHN0cnVjdCBpZ3RfZmIgKmZiKQogCSAg ICAgICAhZ2VtX2hhc19tYXBwYWJsZV9nZ3R0KGZiLT5mZCk7CiB9CiAKLXN0YXRpYyB2b2lkIGlu aXRfYnVmX2NjcyhzdHJ1Y3QgaWd0X2J1ZiAqYnVmLCBpbnQgY2NzX2lkeCwKK3N0YXRpYyB2b2lk IGluaXRfYnVmX2NjcyhzdHJ1Y3QgaW50ZWxfYnVmICpidWYsIGludCBjY3NfaWR4LAogCQkJIHVp bnQzMl90IG9mZnNldCwgdWludDMyX3Qgc3RyaWRlKQogewogCWJ1Zi0+Y2NzW2Njc19pZHhdLm9m ZnNldCA9IG9mZnNldDsKIAlidWYtPmNjc1tjY3NfaWR4XS5zdHJpZGUgPSBzdHJpZGU7CiB9CiAK LXN0YXRpYyB2b2lkIGluaXRfYnVmX3N1cmZhY2Uoc3RydWN0IGlndF9idWYgKmJ1ZiwgaW50IHN1 cmZhY2VfaWR4LAorc3RhdGljIHZvaWQgaW5pdF9idWZfc3VyZmFjZShzdHJ1Y3QgaW50ZWxfYnVm ICpidWYsIGludCBzdXJmYWNlX2lkeCwKIAkJCSAgICAgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJf dCBzdHJpZGUsIHVpbnQzMl90IHNpemUpCiB7CiAJYnVmLT5zdXJmYWNlW3N1cmZhY2VfaWR4XS5v ZmZzZXQgPSBvZmZzZXQ7CkBAIC0yMDc1LDI2ICsyMDc2LDE3IEBAIHN0YXRpYyBpbnQgeXV2X3Nl bWlwbGFuYXJfYnBwKHVpbnQzMl90IGRybV9mb3JtYXQpCiAJfQogfQogCi1zdGF0aWMgdm9pZCBp bml0X2J1ZihzdHJ1Y3QgZmJfYmxpdF91cGxvYWQgKmJsaXQsCi0JCSAgICAgc3RydWN0IGlndF9i dWYgKmJ1ZiwKLQkJICAgICBjb25zdCBzdHJ1Y3QgaWd0X2ZiICpmYiwKLQkJICAgICBjb25zdCBj aGFyICpuYW1lKQorc3RhdGljIHN0cnVjdCBpbnRlbF9idWYgKmNyZWF0ZV9idWYoc3RydWN0IGZi X2JsaXRfdXBsb2FkICpibGl0LAorCQkJCSAgIGNvbnN0IHN0cnVjdCBpZ3RfZmIgKmZiLAorCQkJ CSAgIGNvbnN0IGNoYXIgKm5hbWUpCiB7CisJc3RydWN0IGludGVsX2J1ZiAqYnVmOworCXVpbnQz Ml90IGJvX25hbWUsIGhhbmRsZSwgY29tcHJlc3Npb247CiAJaW50IG51bV9zdXJmYWNlczsKIAlp bnQgaTsKIAogCWlndF9hc3NlcnRfZXEoZmItPm9mZnNldHNbMF0sIDApOwogCi0JYnVmLT5ibyA9 IGdlbV9oYW5kbGVfdG9fbGliZHJtX2JvKGJsaXQtPmJ1Zm1nciwgYmxpdC0+ZmQsCi0JCQkJCSAg bmFtZSwgZmItPmdlbV9oYW5kbGUpOwotCWJ1Zi0+dGlsaW5nID0gaWd0X2ZiX21vZF90b190aWxp bmcoZmItPm1vZGlmaWVyKTsKLQlidWYtPmJwcCA9IGZiLT5wbGFuZV9icHBbMF07Ci0JYnVmLT5m b3JtYXRfaXNfeXV2ID0gaWd0X2Zvcm1hdF9pc195dXYoZmItPmRybV9mb3JtYXQpOwotCWJ1Zi0+ Zm9ybWF0X2lzX3l1dl9zZW1pcGxhbmFyID0KLQkJaWd0X2Zvcm1hdF9pc195dXZfc2VtaXBsYW5h cihmYi0+ZHJtX2Zvcm1hdCk7Ci0JaWYgKGJ1Zi0+Zm9ybWF0X2lzX3l1dl9zZW1pcGxhbmFyKQot CQlidWYtPnl1dl9zZW1pcGxhbmFyX2JwcCA9IHl1dl9zZW1pcGxhbmFyX2JwcChmYi0+ZHJtX2Zv cm1hdCk7Ci0KIAlpZiAoaXNfY2NzX21vZGlmaWVyKGZiLT5tb2RpZmllcikpIHsKIAkJaWd0X2Fz c2VydF9lcShmYi0+c3RyaWRlc1swXSAmIDEyNywgMCk7CiAKQEAgLTIxMDQsMTcgKzIwOTYsMzYg QEAgc3RhdGljIHZvaWQgaW5pdF9idWYoc3RydWN0IGZiX2JsaXRfdXBsb2FkICpibGl0LAogCQkJ aWd0X2Fzc2VydF9lcShmYi0+c3RyaWRlc1sxXSAmIDEyNywgMCk7CiAKIAkJaWYgKGlzX2dlbjEy X21jX2Njc19tb2RpZmllcihmYi0+bW9kaWZpZXIpKQotCQkJYnVmLT5jb21wcmVzc2lvbiA9IEk5 MTVfQ09NUFJFU1NJT05fTUVESUE7CisJCQljb21wcmVzc2lvbiA9IEk5MTVfQ09NUFJFU1NJT05f TUVESUE7CiAJCWVsc2UKLQkJCWJ1Zi0+Y29tcHJlc3Npb24gPSBJOTE1X0NPTVBSRVNTSU9OX1JF TkRFUjsKKwkJCWNvbXByZXNzaW9uID0gSTkxNV9DT01QUkVTU0lPTl9SRU5ERVI7CisJfSBlbHNl IHsKKwkJbnVtX3N1cmZhY2VzID0gZmItPm51bV9wbGFuZXM7CisJCWNvbXByZXNzaW9uID0gSTkx NV9DT01QUkVTU0lPTl9OT05FOworCX0KIAorCWJvX25hbWUgPSBnZW1fZmxpbmsoYmxpdC0+ZmQs IGZiLT5nZW1faGFuZGxlKTsKKwloYW5kbGUgPSBnZW1fb3BlbihibGl0LT5mZCwgYm9fbmFtZSk7 CisJYnVmID0gY2FsbG9jKDEsIHNpemVvZigqYnVmKSk7CisJaWd0X2Fzc2VydChidWYpOworCWlu dGVsX2J1Zl9pbml0X3VzaW5nX2hhbmRsZShibGl0LT5ib3BzLCBoYW5kbGUsIGJ1ZiwgZmItPndp ZHRoLAorCQkJCSAgICBmYi0+aGVpZ2h0LCBmYi0+cGxhbmVfYnBwWzBdLCAwLAorCQkJCSAgICBp Z3RfZmJfbW9kX3RvX3RpbGluZyhmYi0+bW9kaWZpZXIpLAorCQkJCSAgICBjb21wcmVzc2lvbik7 CisJaW50ZWxfYnVmX3NldF9uYW1lKGJ1ZiwgbmFtZSk7CisKKwlidWYtPmZvcm1hdF9pc195dXYg PSBpZ3RfZm9ybWF0X2lzX3l1dihmYi0+ZHJtX2Zvcm1hdCk7CisJYnVmLT5mb3JtYXRfaXNfeXV2 X3NlbWlwbGFuYXIgPQorCQlpZ3RfZm9ybWF0X2lzX3l1dl9zZW1pcGxhbmFyKGZiLT5kcm1fZm9y bWF0KTsKKwlpZiAoYnVmLT5mb3JtYXRfaXNfeXV2X3NlbWlwbGFuYXIpCisJCWJ1Zi0+eXV2X3Nl bWlwbGFuYXJfYnBwID0geXV2X3NlbWlwbGFuYXJfYnBwKGZiLT5kcm1fZm9ybWF0KTsKKworCWlm IChpc19jY3NfbW9kaWZpZXIoZmItPm1vZGlmaWVyKSkgewogCQludW1fc3VyZmFjZXMgPSBmYi0+ bnVtX3BsYW5lcyAvIDI7CiAJCWZvciAoaSA9IDA7IGkgPCBudW1fc3VyZmFjZXM7IGkrKykKIAkJ CWluaXRfYnVmX2NjcyhidWYsIGksCiAJCQkJICAgICBmYi0+b2Zmc2V0c1tudW1fc3VyZmFjZXMg KyBpXSwKIAkJCQkgICAgIGZiLT5zdHJpZGVzW251bV9zdXJmYWNlcyArIGldKTsKLQl9IGVsc2Ug ewotCQludW1fc3VyZmFjZXMgPSBmYi0+bnVtX3BsYW5lczsKIAl9CiAKIAlpZ3RfYXNzZXJ0KGZi LT5vZmZzZXRzWzBdID09IDApOwpAQCAtMjEzMCwxMSArMjE0MSwxMyBAQCBzdGF0aWMgdm9pZCBp bml0X2J1ZihzdHJ1Y3QgZmJfYmxpdF91cGxvYWQgKmJsaXQsCiAKIAlpZiAoZmItPm1vZGlmaWVy ID09IEk5MTVfRk9STUFUX01PRF9ZX1RJTEVEX0dFTjEyX1JDX0NDU19DQykKIAkJYnVmLT5jYy5v ZmZzZXQgPSBmYi0+b2Zmc2V0c1syXTsKKworCXJldHVybiBidWY7CiB9CiAKLXN0YXRpYyB2b2lk IGZpbmlfYnVmKHN0cnVjdCBpZ3RfYnVmICpidWYpCitzdGF0aWMgdm9pZCBmaW5pX2J1ZihzdHJ1 Y3QgaW50ZWxfYnVmICpidWYpCiB7Ci0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGJ1Zi0+Ym8p OworCWludGVsX2J1Zl9kZXN0cm95KGJ1Zik7CiB9CiAKIHN0YXRpYyBib29sIHVzZV92ZWJveF9j b3B5KGNvbnN0IHN0cnVjdCBpZ3RfZmIgKnNyY19mYiwKQEAgLTIxNjQsNyArMjE3Nyw3IEBAIHN0 YXRpYyB2b2lkIGNvcHlfd2l0aF9lbmdpbmUoc3RydWN0IGZiX2JsaXRfdXBsb2FkICpibGl0LAog CQkJICAgICBjb25zdCBzdHJ1Y3QgaWd0X2ZiICpkc3RfZmIsCiAJCQkgICAgIGNvbnN0IHN0cnVj dCBpZ3RfZmIgKnNyY19mYikKIHsKLQlzdHJ1Y3QgaWd0X2J1ZiBzcmMgPSB7fSwgZHN0ID0ge307 CisJc3RydWN0IGludGVsX2J1ZiAqc3JjLCAqZHN0OwogCWlndF9yZW5kZXJfY29weWZ1bmNfdCBy ZW5kZXJfY29weSA9IE5VTEw7CiAJaWd0X3ZlYm94X2NvcHlmdW5jX3QgdmVib3hfY29weSA9IE5V TEw7CiAKQEAgLTIxNzgsMjMgKzIxOTEsMjMgQEAgc3RhdGljIHZvaWQgY29weV93aXRoX2VuZ2lu ZShzdHJ1Y3QgZmJfYmxpdF91cGxvYWQgKmJsaXQsCiAJaWd0X2Fzc2VydF9lcShkc3RfZmItPm9m ZnNldHNbMF0sIDApOwogCWlndF9hc3NlcnRfZXEoc3JjX2ZiLT5vZmZzZXRzWzBdLCAwKTsKIAot CWluaXRfYnVmKGJsaXQsICZzcmMsIHNyY19mYiwgImNhaXJvIGVuZ2luZWNvcHkgc3JjIik7Ci0J aW5pdF9idWYoYmxpdCwgJmRzdCwgZHN0X2ZiLCAiY2Fpcm8gZW5naW5lY29weSBkc3QiKTsKKwlz cmMgPSBjcmVhdGVfYnVmKGJsaXQsIHNyY19mYiwgImNhaXJvIGVuZ2luZWNvcHkgc3JjIik7CisJ ZHN0ID0gY3JlYXRlX2J1ZihibGl0LCBkc3RfZmIsICJjYWlybyBlbmdpbmVjb3B5IGRzdCIpOwog CiAJaWYgKHZlYm94X2NvcHkpCi0JCXZlYm94X2NvcHkoYmxpdC0+YmF0Y2gsICZzcmMsCisJCXZl Ym94X2NvcHkoYmxpdC0+aWJiLCBzcmMsCiAJCQkgICBkc3RfZmItPnBsYW5lX3dpZHRoWzBdLCBk c3RfZmItPnBsYW5lX2hlaWdodFswXSwKLQkJCSAgICZkc3QpOworCQkJICAgZHN0KTsKIAllbHNl Ci0JCXJlbmRlcl9jb3B5KGJsaXQtPmJhdGNoLCBOVUxMLAotCQkJICAgICZzcmMsCisJCXJlbmRl cl9jb3B5KGJsaXQtPmliYiwgMCwKKwkJCSAgICBzcmMsCiAJCQkgICAgMCwgMCwKIAkJCSAgICBk c3RfZmItPnBsYW5lX3dpZHRoWzBdLCBkc3RfZmItPnBsYW5lX2hlaWdodFswXSwKLQkJCSAgICAm ZHN0LAorCQkJICAgIGRzdCwKIAkJCSAgICAwLCAwKTsKIAotCWZpbmlfYnVmKCZkc3QpOwotCWZp bmlfYnVmKCZzcmMpOworCWZpbmlfYnVmKGRzdCk7CisJZmluaV9idWYoc3JjKTsKIH0KIAogc3Rh dGljIHZvaWQgYmxpdGNvcHkoY29uc3Qgc3RydWN0IGlndF9mYiAqZHN0X2ZiLApAQCAtMjI2OCw3 ICsyMjgxLDcgQEAgc3RhdGljIHZvaWQgZnJlZV9saW5lYXJfbWFwcGluZyhzdHJ1Y3QgZmJfYmxp dF91cGxvYWQgKmJsaXQpCiAJCWdlbV9zZXRfZG9tYWluKGZkLCBsaW5lYXItPmZiLmdlbV9oYW5k bGUsCiAJCQlJOTE1X0dFTV9ET01BSU5fR1RULCAwKTsKIAotCQlpZiAoYmxpdC0+YmF0Y2gpCisJ CWlmIChibGl0LT5pYmIpCiAJCQljb3B5X3dpdGhfZW5naW5lKGJsaXQsIGZiLCAmbGluZWFyLT5m Yik7CiAJCWVsc2UKIAkJCWJsaXRjb3B5KGZiLCAmbGluZWFyLT5mYik7CkBAIC0yMjc3LDkgKzIy OTAsOSBAQCBzdGF0aWMgdm9pZCBmcmVlX2xpbmVhcl9tYXBwaW5nKHN0cnVjdCBmYl9ibGl0X3Vw bG9hZCAqYmxpdCkKIAkJZ2VtX2Nsb3NlKGZkLCBsaW5lYXItPmZiLmdlbV9oYW5kbGUpOwogCX0K IAotCWlmIChibGl0LT5iYXRjaCkgewotCQlpbnRlbF9iYXRjaGJ1ZmZlcl9mcmVlKGJsaXQtPmJh dGNoKTsKLQkJZHJtX2ludGVsX2J1Zm1ncl9kZXN0cm95KGJsaXQtPmJ1Zm1ncik7CisJaWYgKGJs aXQtPmliYikgeworCQlpbnRlbF9iYl9kZXN0cm95KGJsaXQtPmliYik7CisJCWJ1Zl9vcHNfZGVz dHJveShibGl0LT5ib3BzKTsKIAl9CiB9CiAKQEAgLTIzMDEsOSArMjMxNCw4IEBAIHN0YXRpYyB2 b2lkIHNldHVwX2xpbmVhcl9tYXBwaW5nKHN0cnVjdCBmYl9ibGl0X3VwbG9hZCAqYmxpdCkKIAlz dHJ1Y3QgZmJfYmxpdF9saW5lYXIgKmxpbmVhciA9ICZibGl0LT5saW5lYXI7CiAKIAlpZiAoIWln dF92YzRfaXNfdGlsZWQoZmItPm1vZGlmaWVyKSAmJiB1c2VfZW5naW5lY29weShmYikpIHsKLQkJ YmxpdC0+YnVmbWdyID0gZHJtX2ludGVsX2J1Zm1ncl9nZW1faW5pdChmZCwgNDA5Nik7Ci0JCWJs aXQtPmJhdGNoID0gaW50ZWxfYmF0Y2hidWZmZXJfYWxsb2MoYmxpdC0+YnVmbWdyLAotCQkJCQkJ ICAgICAgaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkpOworCQlibGl0LT5ib3BzID0gYnVmX29wc19j cmVhdGUoZmQpOworCQlibGl0LT5pYmIgPSBpbnRlbF9iYl9jcmVhdGUoZmQsIDQwOTYpOwogCX0K IAogCS8qCkBAIC0yMzM1LDcgKzIzNDcsNyBAQCBzdGF0aWMgdm9pZCBzZXR1cF9saW5lYXJfbWFw cGluZyhzdHJ1Y3QgZmJfYmxpdF91cGxvYWQgKmJsaXQpCiAJCWdlbV9zZXRfZG9tYWluKGZkLCBs aW5lYXItPmZiLmdlbV9oYW5kbGUsCiAJCQkJSTkxNV9HRU1fRE9NQUlOX0dUVCwgMCk7CiAKLQkJ aWYgKGJsaXQtPmJhdGNoKQorCQlpZiAoYmxpdC0+aWJiKQogCQkJY29weV93aXRoX2VuZ2luZShi bGl0LCAmbGluZWFyLT5mYiwgZmIpOwogCQllbHNlCiAJCQlibGl0Y29weSgmbGluZWFyLT5mYiwg ZmIpOwotLSAKMi4yNi4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK