From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 08/11] drm/msm: split locking and pinning BO's Date: Fri, 18 Mar 2016 19:15:01 -0400 Message-ID: <1458342904-23326-9-git-send-email-robdclark@gmail.com> References: <1458342904-23326-1-git-send-email-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458342904-23326-1-git-send-email-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: maarten.lankhorst@canonical.com, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org U3BsaXQgdXAgbG9ja2luZyBhbmQgcGlubmluZyBidWZmZXJzIGluIHRoZSBzdWJtaXQgcGF0aC4g IFRoaXMgaXMgbmVlZGVkCmJlY2F1c2Ugd2UnbGwgd2FudCB0byBpbnNlcnQgZmVuY2luZyBpbiBi ZXR3ZWVuIHRoZSB0d28gc3RlcHMuCgpUaGlzIG1ha2VzIHRoaW5ncyBlbmQgdXAgbG9va2luZyBt b3JlIHNpbWlsYXIgdG8gZXRuYXZpdiBzdWJtaXQgY29kZQood2hpY2ggd2FzIG9yaWdpbmFsbHkg bW9kZWxsZWQgb24gdGhlIG1zbSBjb2RlIGJ1dCBoYXMgYWxyZWFkeSBhZGRlZAonc3RydWN0IGZl bmNlJyBzdXBwb3J0KS4KClNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWls LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW0uaCAgICAgICAgfCAgMiArLQog ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1pdC5jIHwgNjkgKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyks IDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dl bS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtLmgKaW5kZXggNmZjNTliZi4uYjg5MDQ1 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZ2VtLmgKQEAgLTEwMCw3ICsxMDAsNyBAQCBzdHJ1Y3QgbXNtX2dl bV9zdWJtaXQgewogCXN0cnVjdCBsaXN0X2hlYWQgYm9fbGlzdDsKIAlzdHJ1Y3Qgd3dfYWNxdWly ZV9jdHggdGlja2V0OwogCXVpbnQzMl90IGZlbmNlOwotCWJvb2wgdmFsaWQ7CisJYm9vbCB2YWxp ZDsgICAgICAgICAvKiB0cnVlIGlmIG5vIGNtZHN0cmVhbSBwYXRjaGluZyBuZWVkZWQgKi8KIAl1 bnNpZ25lZCBpbnQgbnJfY21kczsKIAl1bnNpZ25lZCBpbnQgbnJfYm9zOwogCXN0cnVjdCB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fc3VibWl0LmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9nZW1fc3VibWl0LmMKaW5kZXggNDNkMjE4MS4uYjIzMTU0NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1pdC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwpAQCAtMjQsNyArMjQsNyBAQAogICovCiAK IC8qIG1ha2Ugc3VyZSB0aGVzZSBkb24ndCBjb25mbGljdCB3LyBNU01fU1VCTUlUX0JPX3ggKi8K LSNkZWZpbmUgQk9fVkFMSUQgICAgMHg4MDAwCisjZGVmaW5lIEJPX1ZBTElEICAgIDB4ODAwMCAg IC8qIGlzIGN1cnJlbnQgYWRkciBpbiBjbWRzdHJlYW0gY29ycmVjdC92YWxpZD8gKi8KICNkZWZp bmUgQk9fTE9DS0VEICAgMHg0MDAwCiAjZGVmaW5lIEJPX1BJTk5FRCAgIDB4MjAwMAogCkBAIC0x MzYsMTYgKzEzNiwxMyBAQCBzdGF0aWMgdm9pZCBzdWJtaXRfdW5sb2NrX3VucGluX2JvKHN0cnVj dCBtc21fZ2VtX3N1Ym1pdCAqc3VibWl0LCBpbnQgaSkKIH0KIAogLyogVGhpcyBpcyB3aGVyZSB3 ZSBtYWtlIHN1cmUgYWxsIHRoZSBibydzIGFyZSByZXNlcnZlZCBhbmQgcGluJ2Q6ICovCi1zdGF0 aWMgaW50IHN1Ym1pdF92YWxpZGF0ZV9vYmplY3RzKHN0cnVjdCBtc21fZ2VtX3N1Ym1pdCAqc3Vi bWl0KQorc3RhdGljIGludCBzdWJtaXRfbG9ja19vYmplY3RzKHN0cnVjdCBtc21fZ2VtX3N1Ym1p dCAqc3VibWl0KQogewogCWludCBjb250ZW5kZWQsIHNsb3dfbG9ja2VkID0gLTEsIGksIHJldCA9 IDA7CiAKIHJldHJ5OgotCXN1Ym1pdC0+dmFsaWQgPSB0cnVlOwotCiAJZm9yIChpID0gMDsgaSA8 IHN1Ym1pdC0+bnJfYm9zOyBpKyspIHsKIAkJc3RydWN0IG1zbV9nZW1fb2JqZWN0ICptc21fb2Jq ID0gc3VibWl0LT5ib3NbaV0ub2JqOwotCQl1aW50MzJfdCBpb3ZhOwogCiAJCWlmIChzbG93X2xv Y2tlZCA9PSBpKQogCQkJc2xvd19sb2NrZWQgPSAtMTsKQEAgLTE1OSwzMCArMTU2LDYgQEAgcmV0 cnk6CiAJCQkJZ290byBmYWlsOwogCQkJc3VibWl0LT5ib3NbaV0uZmxhZ3MgfD0gQk9fTE9DS0VE OwogCQl9Ci0KLQotCQkvKiBpZiBsb2NraW5nIHN1Y2NlZWRlZCwgcGluIGJvOiAqLwotCQlyZXQg PSBtc21fZ2VtX2dldF9pb3ZhX2xvY2tlZCgmbXNtX29iai0+YmFzZSwKLQkJCQlzdWJtaXQtPmdw dS0+aWQsICZpb3ZhKTsKLQotCQkvKiB0aGlzIHdvdWxkIGJyZWFrIHRoZSBsb2dpYyBpbiB0aGUg ZmFpbCBwYXRoLi4gdGhlcmUgaXMgbm8KLQkJICogcmVhc29uIGZvciB0aGlzIHRvIGhhcHBlbiwg YnV0IGp1c3QgdG8gYmUgb24gdGhlIHNhZmUgc2lkZQotCQkgKiBsZXQncyBub3RpY2UgaWYgdGhp cyBzdGFydHMgaGFwcGVuaW5nIGluIHRoZSBmdXR1cmU6Ci0JCSAqLwotCQlXQVJOX09OKHJldCA9 PSAtRURFQURMSyk7Ci0KLQkJaWYgKHJldCkKLQkJCWdvdG8gZmFpbDsKLQotCQlzdWJtaXQtPmJv c1tpXS5mbGFncyB8PSBCT19QSU5ORUQ7Ci0KLQkJaWYgKGlvdmEgPT0gc3VibWl0LT5ib3NbaV0u aW92YSkgewotCQkJc3VibWl0LT5ib3NbaV0uZmxhZ3MgfD0gQk9fVkFMSUQ7Ci0JCX0gZWxzZSB7 Ci0JCQlzdWJtaXQtPmJvc1tpXS5pb3ZhID0gaW92YTsKLQkJCXN1Ym1pdC0+Ym9zW2ldLmZsYWdz ICY9IH5CT19WQUxJRDsKLQkJCXN1Ym1pdC0+dmFsaWQgPSBmYWxzZTsKLQkJfQogCX0KIAogCXd3 X2FjcXVpcmVfZG9uZSgmc3VibWl0LT50aWNrZXQpOwpAQCAtMjExLDYgKzE4NCwzOCBAQCBmYWls OgogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgc3VibWl0X3Bpbl9vYmplY3RzKHN0cnVj dCBtc21fZ2VtX3N1Ym1pdCAqc3VibWl0KQoreworCWludCBpLCByZXQgPSAwOworCisJc3VibWl0 LT52YWxpZCA9IHRydWU7CisKKwlmb3IgKGkgPSAwOyBpIDwgc3VibWl0LT5ucl9ib3M7IGkrKykg eworCQlzdHJ1Y3QgbXNtX2dlbV9vYmplY3QgKm1zbV9vYmogPSBzdWJtaXQtPmJvc1tpXS5vYmo7 CisJCXVpbnQzMl90IGlvdmE7CisKKwkJLyogaWYgbG9ja2luZyBzdWNjZWVkZWQsIHBpbiBibzog Ki8KKwkJcmV0ID0gbXNtX2dlbV9nZXRfaW92YV9sb2NrZWQoJm1zbV9vYmotPmJhc2UsCisJCQkJ c3VibWl0LT5ncHUtPmlkLCAmaW92YSk7CisKKwkJaWYgKHJldCkKKwkJCWJyZWFrOworCisJCXN1 Ym1pdC0+Ym9zW2ldLmZsYWdzIHw9IEJPX1BJTk5FRDsKKworCQlpZiAoaW92YSA9PSBzdWJtaXQt PmJvc1tpXS5pb3ZhKSB7CisJCQlzdWJtaXQtPmJvc1tpXS5mbGFncyB8PSBCT19WQUxJRDsKKwkJ fSBlbHNlIHsKKwkJCXN1Ym1pdC0+Ym9zW2ldLmlvdmEgPSBpb3ZhOworCQkJLyogaW92YSBjaGFu Z2VkLCBzbyBhZGRyZXNzIGluIGNtZHN0cmVhbSBpcyBub3QgdmFsaWQ6ICovCisJCQlzdWJtaXQt PmJvc1tpXS5mbGFncyAmPSB+Qk9fVkFMSUQ7CisJCQlzdWJtaXQtPnZhbGlkID0gZmFsc2U7CisJ CX0KKwl9CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW50IHN1Ym1pdF9ibyhzdHJ1Y3Qg bXNtX2dlbV9zdWJtaXQgKnN1Ym1pdCwgdWludDMyX3QgaWR4LAogCQlzdHJ1Y3QgbXNtX2dlbV9v YmplY3QgKipvYmosIHVpbnQzMl90ICppb3ZhLCBib29sICp2YWxpZCkKIHsKQEAgLTM0OSw3ICsz NTQsMTEgQEAgaW50IG1zbV9pb2N0bF9nZW1fc3VibWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJaWYgKHJldCkKIAkJZ290byBvdXQ7CiAKLQlyZXQgPSBzdWJtaXRfdmFs aWRhdGVfb2JqZWN0cyhzdWJtaXQpOworCXJldCA9IHN1Ym1pdF9sb2NrX29iamVjdHMoc3VibWl0 KTsKKwlpZiAocmV0KQorCQlnb3RvIG91dDsKKworCXJldCA9IHN1Ym1pdF9waW5fb2JqZWN0cyhz dWJtaXQpOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0OwogCi0tIAoyLjUuMAoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==