From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D618DC2D0E4 for ; Fri, 27 Nov 2020 12:11:30 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7584820665 for ; Fri, 27 Nov 2020 12:11:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7584820665 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 76F3B6EC99; Fri, 27 Nov 2020 12:10:00 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0A8B26EC99; Fri, 27 Nov 2020 12:09:59 +0000 (UTC) IronPort-SDR: wJ/kjaqTGBDTTxW/8iVmsAbsICDrecb6JvYqACUJad1FzrXjplwnhlAC7rEM/6CTztg+H7alfN f3g0w2gzJf8g== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="172540742" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="172540742" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:09:58 -0800 IronPort-SDR: Jut6j93vbyxn2amu58UfcFuz0yUXwMMR1mBj2J6iFziVxLBo4WkVfbOM8AUIA68xaYcJiCglWf QtJVVdTwvLsQ== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548029167" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:09:56 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Date: Fri, 27 Nov 2020 12:05:58 +0000 Message-Id: <20201127120718.454037-83-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [RFC PATCH 082/162] HAX drm/i915/lmem: support pread and pwrite X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Abdiel Janulgue , dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" KiogRE8gTk9UIE1FUkdFLiBQUkVBRC9XUklURSBTVVBQT1JUIFdJTEwgQkUgRFJPUFBFRCBGUk9N IERHMSsgKioKCldlIG5lZWQgdG8gYWRkIHN1cHBvcnQgZm9yIHByZWFkJ2luZyBhbmQgcHdyaXRp bmcgYW4gTE1FTSBvYmplY3QuCgpDYzogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5A bGludXguaW50ZWwuY29tPgpDYzogQWJkaWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGlu dXguaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBp bnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFN0ZXZlIEhhbXBzb24gPHN0ZXZlbi50LmhhbXBzb25A aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxz dHJvbUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xt ZW0uYyB8IDE4NiArKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2xtZW0uaCB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDE4OCBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2xt ZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmMKaW5kZXggZjZj NGQ1OTk4ZmY5Li44NDBiNjhlYjEwZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2dlbS9pOTE1X2dlbV9sbWVtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVf Z2VtX2xtZW0uYwpAQCAtOCw2ICs4LDE3NyBAQAogI2luY2x1ZGUgImdlbS9pOTE1X2dlbV9sbWVt LmgiCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKIAorc3RhdGljIGludAoraTkxNV93d19waW5fbG9j a19pbnRlcnJ1cHRpYmxlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCit7CisJc3Ry dWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsKKwlpbnQgcmV0OworCisJZm9yX2k5MTVfZ2VtX3d3KCZ3 dywgcmV0LCB0cnVlKSB7CisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9sb2NrKG9iaiwgJnd3KTsK KwkJaWYgKHJldCkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9waW5f cGFnZXMob2JqKTsKKwkJaWYgKHJldCkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IGk5MTVfZ2Vt X29iamVjdF9zZXRfdG9fd2NfZG9tYWluKG9iaiwgZmFsc2UpOworCQlpZiAocmV0KQorCQkJZ290 byBvdXRfdW5waW47CisKKwkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3dhaXQob2JqLAorCQkJCQkg ICBJOTE1X1dBSVRfSU5URVJSVVBUSUJMRSwKKwkJCQkJICAgTUFYX1NDSEVEVUxFX1RJTUVPVVQp OworCQlpZiAoIXJldCkKKwkJCWNvbnRpbnVlOworCitvdXRfdW5waW46CisJCWk5MTVfZ2VtX29i amVjdF91bnBpbl9wYWdlcyhvYmopOworCisJCS8qIFVubG9ja2luZyBpcyBkb25lIGltcGxpY2l0 bHkgKi8KKwl9CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgaTkxNV9nZW1fb2JqZWN0X2xtZW1f cHJlYWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCSAgICAgICBjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3ByZWFkICphcmcpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUgPSB0b19pOTE1KG9iai0+YmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF9ydW50aW1l X3BtICpycG0gPSAmaTkxNS0+cnVudGltZV9wbTsKKwlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsK KwljaGFyIF9fdXNlciAqdXNlcl9kYXRhOworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJdW5zaWdu ZWQgbG9uZyBpZHg7CisJdTY0IHJlbWFpbjsKKwlpbnQgcmV0OworCisJcmV0ID0gaTkxNV9nZW1f b2JqZWN0X3dhaXQob2JqLAorCQkJCSAgIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLAorCQkJCSAg IE1BWF9TQ0hFRFVMRV9USU1FT1VUKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0 ID0gaTkxNV93d19waW5fbG9ja19pbnRlcnJ1cHRpYmxlKG9iaik7CisJaWYgKHJldCkKKwkJcmV0 dXJuIHJldDsKKworCXdha2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldChycG0pOworCisJcmVt YWluID0gYXJnLT5zaXplOworCXVzZXJfZGF0YSA9IHU2NF90b191c2VyX3B0cihhcmctPmRhdGFf cHRyKTsKKwlvZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShhcmctPm9mZnNldCk7CisJZm9yIChpZHgg PSBhcmctPm9mZnNldCA+PiBQQUdFX1NISUZUOyByZW1haW47IGlkeCsrKSB7CisJCXVuc2lnbmVk IGxvbmcgdW53cml0dGVuOworCQl2b2lkIF9faW9tZW0gKnZhZGRyOworCQlpbnQgbGVuZ3RoOwor CisJCWxlbmd0aCA9IHJlbWFpbjsKKwkJaWYgKG9mZnNldCArIGxlbmd0aCA+IFBBR0VfU0laRSkK KwkJCWxlbmd0aCA9IFBBR0VfU0laRSAtIG9mZnNldDsKKworCQl2YWRkciA9IGk5MTVfZ2VtX29i amVjdF9sbWVtX2lvX21hcF9wYWdlX2F0b21pYyhvYmosIGlkeCk7CisJCWlmICghdmFkZHIpIHsK KwkJCXJldCA9IC1FTk9NRU07CisJCQlnb3RvIG91dF9wdXQ7CisJCX0KKwkJdW53cml0dGVuID0g X19jb3B5X3RvX3VzZXJfaW5hdG9taWModXNlcl9kYXRhLAorCQkJCQkJICAgICh2b2lkIF9fZm9y Y2UgKil2YWRkciArIG9mZnNldCwKKwkJCQkJCSAgICBsZW5ndGgpOworCQlpb19tYXBwaW5nX3Vu bWFwX2F0b21pYyh2YWRkcik7CisJCWlmICh1bndyaXR0ZW4pIHsKKwkJCXZhZGRyID0gaTkxNV9n ZW1fb2JqZWN0X2xtZW1faW9fbWFwX3BhZ2Uob2JqLCBpZHgpOworCQkJdW53cml0dGVuID0gY29w eV90b191c2VyKHVzZXJfZGF0YSwKKwkJCQkJCSAodm9pZCBfX2ZvcmNlICopdmFkZHIgKyBvZmZz ZXQsCisJCQkJCQkgbGVuZ3RoKTsKKwkJCWlvX21hcHBpbmdfdW5tYXAodmFkZHIpOworCQl9CisJ CWlmICh1bndyaXR0ZW4pIHsKKwkJCXJldCA9IC1FRkFVTFQ7CisJCQlnb3RvIG91dF9wdXQ7CisJ CX0KKworCQlyZW1haW4gLT0gbGVuZ3RoOworCQl1c2VyX2RhdGEgKz0gbGVuZ3RoOworCQlvZmZz ZXQgPSAwOworCX0KKworb3V0X3B1dDoKKwlpbnRlbF9ydW50aW1lX3BtX3B1dChycG0sIHdha2Vy ZWYpOworCWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOworCisJcmV0dXJuIHJldDsK K30KKworc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfbG1lbV9wd3JpdGUoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICAgICAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dl bV9wd3JpdGUgKmFyZykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5 MTUob2JqLT5iYXNlLmRldik7CisJc3RydWN0IGludGVsX3J1bnRpbWVfcG0gKnJwbSA9ICZpOTE1 LT5ydW50aW1lX3BtOworCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOworCWNoYXIgX191c2VyICp1 c2VyX2RhdGE7CisJdW5zaWduZWQgaW50IG9mZnNldDsKKwl1bnNpZ25lZCBsb25nIGlkeDsKKwl1 NjQgcmVtYWluOworCWludCByZXQ7CisKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdChvYmos CisJCQkJICAgSTkxNV9XQUlUX0lOVEVSUlVQVElCTEUsCisJCQkJICAgTUFYX1NDSEVEVUxFX1RJ TUVPVVQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXQgPSBpOTE1X3d3X3Bpbl9s b2NrX2ludGVycnVwdGlibGUob2JqKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJd2Fr ZXJlZiA9IGludGVsX3J1bnRpbWVfcG1fZ2V0KHJwbSk7CisKKwlyZW1haW4gPSBhcmctPnNpemU7 CisJdXNlcl9kYXRhID0gdTY0X3RvX3VzZXJfcHRyKGFyZy0+ZGF0YV9wdHIpOworCW9mZnNldCA9 IG9mZnNldF9pbl9wYWdlKGFyZy0+b2Zmc2V0KTsKKwlmb3IgKGlkeCA9IGFyZy0+b2Zmc2V0ID4+ IFBBR0VfU0hJRlQ7IHJlbWFpbjsgaWR4KyspIHsKKwkJdW5zaWduZWQgbG9uZyB1bndyaXR0ZW47 CisJCXZvaWQgX19pb21lbSAqdmFkZHI7CisJCWludCBsZW5ndGg7CisKKwkJbGVuZ3RoID0gcmVt YWluOworCQlpZiAob2Zmc2V0ICsgbGVuZ3RoID4gUEFHRV9TSVpFKQorCQkJbGVuZ3RoID0gUEFH RV9TSVpFIC0gb2Zmc2V0OworCisJCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X2xtZW1faW9fbWFw X3BhZ2VfYXRvbWljKG9iaiwgaWR4KTsKKwkJaWYgKCF2YWRkcikgeworCQkJcmV0ID0gLUVOT01F TTsKKwkJCWdvdG8gb3V0X3B1dDsKKwkJfQorCisJCXVud3JpdHRlbiA9IF9fY29weV9mcm9tX3Vz ZXJfaW5hdG9taWNfbm9jYWNoZSgodm9pZCBfX2ZvcmNlICopdmFkZHIgKyBvZmZzZXQsCisJCQkJ CQkJICAgICAgdXNlcl9kYXRhLCBsZW5ndGgpOworCQlpb19tYXBwaW5nX3VubWFwX2F0b21pYyh2 YWRkcik7CisJCWlmICh1bndyaXR0ZW4pIHsKKwkJCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X2xt ZW1faW9fbWFwX3BhZ2Uob2JqLCBpZHgpOworCQkJdW53cml0dGVuID0gY29weV9mcm9tX3VzZXIo KHZvaWQgX19mb3JjZSAqKXZhZGRyICsgb2Zmc2V0LAorCQkJCQkJICAgdXNlcl9kYXRhLCBsZW5n dGgpOworCQkJaW9fbWFwcGluZ191bm1hcCh2YWRkcik7CisJCX0KKwkJaWYgKHVud3JpdHRlbikg eworCQkJcmV0ID0gLUVGQVVMVDsKKwkJCWdvdG8gb3V0X3B1dDsKKwkJfQorCisJCXJlbWFpbiAt PSBsZW5ndGg7CisJCXVzZXJfZGF0YSArPSBsZW5ndGg7CisJCW9mZnNldCA9IDA7CisJfQorCitv dXRfcHV0OgorCWludGVsX3J1bnRpbWVfcG1fcHV0KHJwbSwgd2FrZXJlZik7CisJaTkxNV9nZW1f b2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisKKwlyZXR1cm4gcmV0OworfQorCiBjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkxNV9nZW1fbG1lbV9vYmpfb3BzID0gewogCS5u YW1lID0gImk5MTVfZ2VtX29iamVjdF9sbWVtIiwKIAkuZmxhZ3MgPSBJOTE1X0dFTV9PQkpFQ1Rf SEFTX0lPTUVNLApAQCAtMTUsOCArMTg2LDIzIEBAIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0X29wcyBpOTE1X2dlbV9sbWVtX29ial9vcHMgPSB7CiAJLmdldF9wYWdlcyA9IGk5MTVf Z2VtX29iamVjdF9nZXRfcGFnZXNfYnVkZHksCiAJLnB1dF9wYWdlcyA9IGk5MTVfZ2VtX29iamVj dF9wdXRfcGFnZXNfYnVkZHksCiAJLnJlbGVhc2UgPSBpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9t ZW1vcnlfcmVnaW9uLAorCisJLnByZWFkID0gaTkxNV9nZW1fb2JqZWN0X2xtZW1fcHJlYWQsCisJ LnB3cml0ZSA9IGk5MTVfZ2VtX29iamVjdF9sbWVtX3B3cml0ZSwKIH07CiAKK3ZvaWQgX19pb21l bSAqCitpOTE1X2dlbV9vYmplY3RfbG1lbV9pb19tYXBfcGFnZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAorCQkJCSB1bnNpZ25lZCBsb25nIG4pCit7CisJcmVzb3VyY2Vfc2l6ZV90 IG9mZnNldDsKKworCW9mZnNldCA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZG1hX2FkZHJlc3Mob2Jq LCBuKTsKKwlvZmZzZXQgLT0gb2JqLT5tbS5yZWdpb24tPnJlZ2lvbi5zdGFydDsKKworCXJldHVy biBpb19tYXBwaW5nX21hcF93Yygmb2JqLT5tbS5yZWdpb24tPmlvbWFwLCBvZmZzZXQsIFBBR0Vf U0laRSk7Cit9CisKIHZvaWQgX19pb21lbSAqCiBpOTE1X2dlbV9vYmplY3RfbG1lbV9pb19tYXBf cGFnZV9hdG9taWMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQkJdW5zaWdu ZWQgbG9uZyBuKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2xtZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9sbWVtLmgKaW5kZXgg YmY3ZTExZmFkMTdiLi5hMjRkOTRiYzM4MGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2dlbS9pOTE1X2dlbV9sbWVtLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2xtZW0uaApAQCAtMTQsNiArMTQsOCBAQCBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lv bjsKIAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dl bV9sbWVtX29ial9vcHM7CiAKK3ZvaWQgX19pb21lbSAqaTkxNV9nZW1fb2JqZWN0X2xtZW1faW9f bWFwX3BhZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCQkJICAgICAgIHVu c2lnbmVkIGxvbmcgbik7CiB2b2lkIF9faW9tZW0gKgogaTkxNV9nZW1fb2JqZWN0X2xtZW1faW9f bWFwX3BhZ2VfYXRvbWljKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkJCXVu c2lnbmVkIGxvbmcgbik7Ci0tIAoyLjI2LjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=