From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 4/6] drm/msm: Map buffers on demand on the submit path Date: Tue, 3 Oct 2017 09:27:04 -0600 Message-ID: <1507044426-4042-5-git-send-email-jcrouse@codeaurora.org> References: <1507044426-4042-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1507044426-4042-1-git-send-email-jcrouse@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: freedreno@lists.freedesktop.org Cc: Sushmita Susheelendra , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU3VzaG1pdGEgU3VzaGVlbGVuZHJhIDxzc3VzaGVlbEBjb2RlYXVyb3JhLm9yZz4KCk1h cCBhbmQgcGluIGJ1ZmZlcnMgb24gZGVtYW5kIG9uIHRoZSBzdWJtaXNzaW9uIHBhdGguClRoaXMg ZW5zdXJlcyB0aGF0IHdlIG9ubHkgbWFwIGJ1ZmZlcnMgd2hvc2UgaW92YSBhcmUKYWN0dWFsbHkg bmVlZGVkIGZvciBzdWJtaXNzaW9uIGFzIG9wcG9zZWQgdG8gYWxsCmJ1ZmZlcnMgaW4gdGhlIGJ1 ZmZlciBsaXN0LiBGb3IgaW5zdGFuY2UsIHRoZSBjb21tYW5kCmJ1ZmZlcnMsIGFuZCB0aGUgcmVs b2MgYnVmZmVycyBmb3IgcHJvY2Vzc2luZyByZWxvY3MuCkFsc28gcmVtb3ZlIHVudXNlZCBtZW1i ZXIgdmFsaWQgZnJvbSB0aGUgc3RydWN0Cm1zbV9nZW1fc3VibWl0LgoKU2lnbmVkLW9mZi1ieTog U3VzaG1pdGEgU3VzaGVlbGVuZHJhIDxzc3VzaGVlbEBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9m Zi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9nZW1fc3VibWl0LmMgfCA1OCArKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAzMCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fc3VibWl0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fc3VibWl0LmMKaW5kZXggMmQyYWE2NS4u NDdhOWU4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1pdC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwpAQCAtMjU2LDQxICsy NTYsMzggQEAgc3RhdGljIGludCBzdWJtaXRfZmVuY2Vfc3luYyhzdHJ1Y3QgbXNtX2dlbV9zdWJt aXQgKnN1Ym1pdCwgYm9vbCBub19pbXBsaWNpdCkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg aW50IHN1Ym1pdF9waW5fb2JqZWN0cyhzdHJ1Y3QgbXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCkKK3N0 YXRpYyBpbnQgc3VibWl0X3Bpbl9vYmplY3Qoc3RydWN0IG1zbV9nZW1fc3VibWl0ICpzdWJtaXQs IGludCBpKQogewotCWludCBpLCByZXQgPSAwOwotCi0Jc3VibWl0LT52YWxpZCA9IHRydWU7Ci0K LQlmb3IgKGkgPSAwOyBpIDwgc3VibWl0LT5ucl9ib3M7IGkrKykgewotCQlzdHJ1Y3QgbXNtX2dl bV9vYmplY3QgKm1zbV9vYmogPSBzdWJtaXQtPmJvc1tpXS5vYmo7Ci0JCXVpbnQ2NF90IGlvdmE7 CisJc3RydWN0IG1zbV9nZW1fb2JqZWN0ICptc21fb2JqID0gc3VibWl0LT5ib3NbaV0ub2JqOwor CXVpbnQ2NF90IGlvdmE7CisJaW50IHJldDsKIAotCQkvKiBpZiBsb2NraW5nIHN1Y2NlZWRlZCwg cGluIGJvOiAqLwotCQlyZXQgPSBtc21fZ2VtX2dldF9pb3ZhKCZtc21fb2JqLT5iYXNlLAotCQkJ CXN1Ym1pdC0+Z3B1LT5hc3BhY2UsICZpb3ZhKTsKKwlpZiAoc3VibWl0LT5ib3NbaV0uZmxhZ3Mg JiBCT19QSU5ORUQpCisJCXJldHVybiAwOwogCi0JCWlmIChyZXQpCi0JCQlicmVhazsKKwkvKiBp ZiBsb2NraW5nIHN1Y2NlZWRlZCwgcGluIGJvOiAqLworCXJldCA9IG1zbV9nZW1fZ2V0X2lvdmEo Jm1zbV9vYmotPmJhc2UsIHN1Ym1pdC0+Z3B1LT5hc3BhY2UsICZpb3ZhKTsKKwlpZiAocmV0KQor CQlyZXR1cm4gcmV0OwogCi0JCXN1Ym1pdC0+Ym9zW2ldLmZsYWdzIHw9IEJPX1BJTk5FRDsKKwlz dWJtaXQtPmJvc1tpXS5mbGFncyB8PSBCT19QSU5ORUQ7CiAKLQkJaWYgKGlvdmEgPT0gc3VibWl0 LT5ib3NbaV0uaW92YSkgewotCQkJc3VibWl0LT5ib3NbaV0uZmxhZ3MgfD0gQk9fVkFMSUQ7Ci0J CX0gZWxzZSB7Ci0JCQlzdWJtaXQtPmJvc1tpXS5pb3ZhID0gaW92YTsKLQkJCS8qIGlvdmEgY2hh bmdlZCwgc28gYWRkcmVzcyBpbiBjbWRzdHJlYW0gaXMgbm90IHZhbGlkOiAqLwotCQkJc3VibWl0 LT5ib3NbaV0uZmxhZ3MgJj0gfkJPX1ZBTElEOwotCQkJc3VibWl0LT52YWxpZCA9IGZhbHNlOwot CQl9CisJaWYgKGlvdmEgPT0gc3VibWl0LT5ib3NbaV0uaW92YSkgeworCQlzdWJtaXQtPmJvc1tp XS5mbGFncyB8PSBCT19WQUxJRDsKKwl9IGVsc2UgeworCQlzdWJtaXQtPmJvc1tpXS5pb3ZhID0g aW92YTsKKwkJLyogaW92YSBjaGFuZ2VkLCBzbyBhZGRyZXNzIGluIGNtZHN0cmVhbSBpcyBub3Qg dmFsaWQ6ICovCisJCXN1Ym1pdC0+Ym9zW2ldLmZsYWdzICY9IH5CT19WQUxJRDsKIAl9CiAKLQly ZXR1cm4gcmV0OworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHN1Ym1pdF9ibyhzdHJ1Y3Qg bXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwgdWludDMyX3QgaWR4LAogCQlzdHJ1Y3QgbXNtX2dlbV9v YmplY3QgKipvYmosIHVpbnQ2NF90ICppb3ZhLCBib29sICp2YWxpZCkKIHsKKwlpbnQgcmV0Owor CiAJaWYgKGlkeCA+PSBzdWJtaXQtPm5yX2JvcykgewogCQlEUk1fRVJST1IoImludmFsaWQgYnVm ZmVyIGluZGV4OiAldSAob3V0IG9mICV1KVxuIiwKIAkJCQlpZHgsIHN1Ym1pdC0+bnJfYm9zKTsK QEAgLTI5OSw2ICsyOTYsMTQgQEAgc3RhdGljIGludCBzdWJtaXRfYm8oc3RydWN0IG1zbV9nZW1f c3VibWl0ICpzdWJtaXQsIHVpbnQzMl90IGlkeCwKIAogCWlmIChvYmopCiAJCSpvYmogPSBzdWJt aXQtPmJvc1tpZHhdLm9iajsKKworCWlmICghaW92YSAmJiAhdmFsaWQpCisJCXJldHVybiAwOwor CisJcmV0ID0gc3VibWl0X3Bpbl9vYmplY3Qoc3VibWl0LCBpZHgpOworCWlmIChyZXQpCisJCXJl dHVybiByZXQ7CisKIAlpZiAoaW92YSkKIAkJKmlvdmEgPSBzdWJtaXQtPmJvc1tpZHhdLmlvdmE7 CiAJaWYgKHZhbGlkKQpAQCAtNDgyLDEwICs0ODcsNiBAQCBpbnQgbXNtX2lvY3RsX2dlbV9zdWJt aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAlpZiAocmV0KQogCQlnb3Rv IG91dDsKIAotCXJldCA9IHN1Ym1pdF9waW5fb2JqZWN0cyhzdWJtaXQpOwotCWlmIChyZXQpCi0J CWdvdG8gb3V0OwotCiAJZm9yIChpID0gMDsgaSA8IGFyZ3MtPm5yX2NtZHM7IGkrKykgewogCQlz dHJ1Y3QgZHJtX21zbV9nZW1fc3VibWl0X2NtZCBzdWJtaXRfY21kOwogCQl2b2lkIF9fdXNlciAq dXNlcnB0ciA9CkBAIC01MzYsOSArNTM3LDYgQEAgaW50IG1zbV9pb2N0bF9nZW1fc3VibWl0KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXN1Ym1pdC0+Y21kW2ldLmlvdmEg PSBpb3ZhICsgc3VibWl0X2NtZC5zdWJtaXRfb2Zmc2V0OwogCQlzdWJtaXQtPmNtZFtpXS5pZHgg ID0gc3VibWl0X2NtZC5zdWJtaXRfaWR4OwogCi0JCWlmIChzdWJtaXQtPnZhbGlkKQotCQkJY29u dGludWU7Ci0KIAkJcmV0ID0gc3VibWl0X3JlbG9jKHN1Ym1pdCwgbXNtX29iaiwgc3VibWl0X2Nt ZC5zdWJtaXRfb2Zmc2V0LAogCQkJCXN1Ym1pdF9jbWQubnJfcmVsb2NzLCBzdWJtaXRfY21kLnJl bG9jcyk7CiAJCWlmIChyZXQpCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCg==