From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [RFC PATCH 21/42] drm/i915/lmem: support pwrite Date: Thu, 14 Feb 2019 14:57:19 +0000 Message-ID: <20190214145740.14521-22-matthew.auld@intel.com> References: <20190214145740.14521-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id D93106E920 for ; Thu, 14 Feb 2019 14:58:09 +0000 (UTC) In-Reply-To: <20190214145740.14521-1-matthew.auld@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org V2UgbmVlZCB0byBhZGQgc3VwcG9ydCBmb3IgcHdyaXRlJ2luZyBhbiBMTUVNIG9iamVjdC4KClNp Z25lZC1vZmYtYnk6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KQ2M6IEpv b25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFiZGll bCBKYW51bGd1ZSA8YWJkaWVsLmphbnVsZ3VlQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jIHwgNzMgKysrKysrKysrKysrKysrKysr KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jCmluZGV4IDY3ZGM1MGJlMmU2Yi4uZDU0OTI0MmEzNTc4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yZWdpb25fbG1lbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JlZ2lvbl9sbWVtLmMKQEAgLTk4LDExICs5 OCw4NCBAQCBzdGF0aWMgaW50IHJlZ2lvbl9sbWVtX3ByZWFkKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIGludCByZWdpb25fbG1lbV9w d3JpdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKKwkJCSAgICAgIGNvbnN0IHN0 cnVjdCBkcm1faTkxNV9nZW1fcHdyaXRlICphcmdzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gdG9faTkxNShvYmotPmJhc2UuZGV2KTsKKwlpbnRlbF93YWtlcmVmX3Qgd2Fr ZXJlZjsKKwljaGFyIF9fdXNlciAqdXNlcl9kYXRhOworCXVuc2lnbmVkIGludCBvZmZzZXQ7CisJ dW5zaWduZWQgbG9uZyBpZHg7CisJdTY0IHJlbWFpbjsKKwlpbnQgcmV0OworCisJcmV0ID0gaTkx NV9nZW1fb2JqZWN0X3dhaXQob2JqLAorCQkJCSAgIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFLAor CQkJCSAgIE1BWF9TQ0hFRFVMRV9USU1FT1VUKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0Owor CisJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopOworCWlmIChyZXQpCisJCXJl dHVybiByZXQ7CisKKwlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmk5MTUtPmRybS5z dHJ1Y3RfbXV0ZXgpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X3VucGluOworCisJd2FrZXJlZiA9 IGludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUpOworCisJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3Nl dF90b193Y19kb21haW4ob2JqLCB0cnVlKTsKKwltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1 Y3RfbXV0ZXgpOworCWlmIChyZXQpCisJCWdvdG8gb3V0X3B1dDsKKworCXJlbWFpbiA9IGFyZ3Mt PnNpemU7CisJdXNlcl9kYXRhID0gdTY0X3RvX3VzZXJfcHRyKGFyZ3MtPmRhdGFfcHRyKTsKKwlv ZmZzZXQgPSBvZmZzZXRfaW5fcGFnZShhcmdzLT5vZmZzZXQpOworCWZvciAoaWR4ID0gYXJncy0+ b2Zmc2V0ID4+IFBBR0VfU0hJRlQ7IHJlbWFpbjsgaWR4KyspIHsKKwkJdW5zaWduZWQgbG9uZyB1 bndyaXR0ZW47CisJCXZvaWQgX19pb21lbSAqdmFkZHI7CisJCWludCBsZW5ndGg7CisKKwkJbGVu Z3RoID0gcmVtYWluOworCQlpZiAob2Zmc2V0ICsgbGVuZ3RoID4gUEFHRV9TSVpFKQorCQkJbGVu Z3RoID0gUEFHRV9TSVpFIC0gb2Zmc2V0OworCisJCXZhZGRyID0gaTkxNV9nZW1fb2JqZWN0X2xt ZW1faW9fbWFwX3BhZ2Uob2JqLCBpZHgpOworCQlpZiAoIXZhZGRyKSB7CisJCQlyZXQgPSAtRU5P TUVNOworCQkJZ290byBvdXRfcHV0OworCQl9CisKKwkJdW53cml0dGVuID0gY29weV9mcm9tX3Vz ZXIoKHZvaWQgX19mb3JjZSopdmFkZHIgKyBvZmZzZXQsCisJCQkJCSAgIHVzZXJfZGF0YSwKKwkJ CQkJICAgbGVuZ3RoKTsKKwkJaW9fbWFwcGluZ191bm1hcF9hdG9taWModmFkZHIpOworCQlpZiAo dW53cml0dGVuKSB7CisJCQlyZXQgPSAtRUZBVUxUOworCQkJZ290byBvdXRfcHV0OworCQl9CisK KwkJcmVtYWluIC09IGxlbmd0aDsKKwkJdXNlcl9kYXRhICs9IGxlbmd0aDsKKwkJb2Zmc2V0ID0g MDsKKwl9CisKK291dF9wdXQ6CisJaW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSwgd2FrZXJlZik7 CitvdXRfdW5waW46CisJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CisKKwlyZXR1 cm4gcmV0OworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3Bz IHJlZ2lvbl9sbWVtX29ial9vcHMgPSB7CiAJLmdldF9wYWdlcyA9IGk5MTVfbWVtb3J5X3JlZ2lv bl9nZXRfcGFnZXNfYnVkZHksCiAJLnB1dF9wYWdlcyA9IGk5MTVfbWVtb3J5X3JlZ2lvbl9wdXRf cGFnZXNfYnVkZHksCiAJLnJlbGVhc2UgPSBpOTE1X2dlbV9vYmplY3RfcmVsZWFzZV9tZW1vcnlf cmVnaW9uLAogCS5wcmVhZCA9IHJlZ2lvbl9sbWVtX3ByZWFkLAorCS5wd3JpdGUgPSByZWdpb25f bG1lbV9wd3JpdGUsCiB9OwogCiBzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgot LSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=