From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Gmeiner Subject: [PATCH V5 02/25] drm/etnaviv: make it possible to allocate multiple events Date: Sun, 24 Sep 2017 15:15:20 +0200 Message-ID: <20170924131543.4066-3-christian.gmeiner@gmail.com> References: <20170924131543.4066-1-christian.gmeiner@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170924131543.4066-1-christian.gmeiner@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: linux+etnaviv@armlinux.org.uk, etnaviv@lists.freedesktop.org, cphealy@gmail.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBhbGxvY2F0ZSBtdWx0aXBsZSBldmVudHMgdW5kZXIg dGhlIGV2ZW50CnNwaW5sb2NrLiBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgdG8gc3VwcG9ydCAnc3lu YyctcG9pbnRzLgoKQ2hhbmdlcyB2MiAtPiB2MzoKLSB3YWl0IGZvciB0aGUgY29tcGxldGlvbiBv ZiBhbGwgZXZlbnRzCi0gdXNlIDEwc2VjIHRpbWVvdXQgcmVnYXJkbGVzcyBvZiB0aGUgbnVtYmVy IG9mIGV2ZW50cwotIHJlbW92ZWQgdmFsaWRhdGlvbiBpZiB0aGVyZSBhcmUgZW5vdWdoIGZyZWUg ZXZlbnRzCi0gZml4ZWQgcmV0dXJuIHZhbHVlIGV2YWx1YXRpb24gb2YgZXZlbnRfYWxsb2MoLi4p IGluIGV0bmF2aXZfZ3B1X3N1Ym1pdCguLikKClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBHbWVp bmVyIDxjaHJpc3RpYW4uZ21laW5lckBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2V0 bmF2aXYvZXRuYXZpdl9ncHUuYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYyBiL2RyaXZl cnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMKaW5kZXggZmE5YzdiZDk4ZTljLi5kM2I3 ZTY2NWVjYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9ncHUuYwpAQCAtMTEzNywy OCArMTEzNyw0NCBAQCBpbnQgZXRuYXZpdl9ncHVfZmVuY2Vfc3luY19vYmooc3RydWN0IGV0bmF2 aXZfZ2VtX29iamVjdCAqZXRuYXZpdl9vYmosCiAgKiBldmVudCBtYW5hZ2VtZW50OgogICovCiAK LXN0YXRpYyB1bnNpZ25lZCBpbnQgZXZlbnRfYWxsb2Moc3RydWN0IGV0bmF2aXZfZ3B1ICpncHUp CitzdGF0aWMgaW50IGV2ZW50X2FsbG9jKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1bnNpZ25l ZCBucl9ldmVudHMsCisJdW5zaWduZWQgaW50ICpldmVudHMpCiB7Ci0JdW5zaWduZWQgbG9uZyBy ZXQsIGZsYWdzOwotCXVuc2lnbmVkIGludCBldmVudDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzLCB0 aW1lb3V0ID0gbXNlY3NfdG9famlmZmllcygxMCAqIDEwMDAwKTsKKwl1bnNpZ25lZCBpLCBhY3F1 aXJlZCA9IDA7CiAKLQlyZXQgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJmdwdS0+ZXZl bnRfZnJlZSwKLQkJCQkJICBtc2Vjc190b19qaWZmaWVzKDEwICogMTAwMDApKTsKLQlpZiAoIXJl dCkKLQkJZGV2X2VycihncHUtPmRldiwgIndhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCBmYWls ZWQiKTsKKwlmb3IgKGkgPSAwOyBpIDwgbnJfZXZlbnRzOyBpKyspIHsKKwkJdW5zaWduZWQgbG9u ZyByZXQ7CisKKwkJcmV0ID0gd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KCZncHUtPmV2ZW50 X2ZyZWUsIHRpbWVvdXQpOworCisJCWlmICghcmV0KSB7CisJCQlkZXZfZXJyKGdwdS0+ZGV2LCAi d2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0IGZhaWxlZCIpOworCQkJZ290byBvdXQ7CisJCX0K KworCQlhY3F1aXJlZCsrOworCQl0aW1lb3V0ID0gcmV0OworCX0KIAogCXNwaW5fbG9ja19pcnFz YXZlKCZncHUtPmV2ZW50X3NwaW5sb2NrLCBmbGFncyk7CiAKLQkvKiBmaW5kIGZpcnN0IGZyZWUg ZXZlbnQgKi8KLQlldmVudCA9IGZpbmRfZmlyc3RfemVyb19iaXQoZ3B1LT5ldmVudF9iaXRtYXAs IEVUTkFfTlJfRVZFTlRTKTsKLQlpZiAoZXZlbnQgPCBFVE5BX05SX0VWRU5UUykKKwlmb3IgKGkg PSAwOyBpIDwgbnJfZXZlbnRzOyBpKyspIHsKKwkJaW50IGV2ZW50ID0gZmluZF9maXJzdF96ZXJv X2JpdChncHUtPmV2ZW50X2JpdG1hcCwgRVROQV9OUl9FVkVOVFMpOworCisJCWV2ZW50c1tpXSA9 IGV2ZW50OwogCQlzZXRfYml0KGV2ZW50LCBncHUtPmV2ZW50X2JpdG1hcCk7Ci0JZWxzZQotCQll dmVudCA9IH4wVTsKKwl9CiAKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZncHUtPmV2ZW50X3Nw aW5sb2NrLCBmbGFncyk7CiAKLQlyZXR1cm4gZXZlbnQ7CisJcmV0dXJuIDA7CisKK291dDoKKwlm b3IgKGkgPSAwOyBpIDwgYWNxdWlyZWQ7IGkrKykKKwkJY29tcGxldGUoJmdwdS0+ZXZlbnRfZnJl ZSk7CisKKwlyZXR1cm4gLUVCVVNZOwogfQogCiBzdGF0aWMgdm9pZCBldmVudF9mcmVlKHN0cnVj dCBldG5hdml2X2dwdSAqZ3B1LCB1bnNpZ25lZCBpbnQgZXZlbnQpCkBAIC0xMzI3LDEwICsxMzQz LDkgQEAgaW50IGV0bmF2aXZfZ3B1X3N1Ym1pdChzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwKIAkg KgogCSAqLwogCi0JZXZlbnQgPSBldmVudF9hbGxvYyhncHUpOwotCWlmICh1bmxpa2VseShldmVu dCA9PSB+MFUpKSB7CisJcmV0ID0gZXZlbnRfYWxsb2MoZ3B1LCAxLCAmZXZlbnQpOworCWlmIChy ZXQpIHsKIAkJRFJNX0VSUk9SKCJubyBmcmVlIGV2ZW50XG4iKTsKLQkJcmV0ID0gLUVCVVNZOwog CQlnb3RvIG91dF9wbV9wdXQ7CiAJfQogCi0tIAoyLjEzLjUKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=