From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas Stach Subject: Re: [PATCH V2 02/23] drm/etnaviv: make it possible to allocate multiple events Date: Tue, 22 Aug 2017 10:39:54 +0200 Message-ID: <1503391194.2303.22.camel@pengutronix.de> References: <20170722095323.9964-1-christian.gmeiner@gmail.com> <20170722095323.9964-3-christian.gmeiner@gmail.com> <1502186436.2934.58.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by gabe.freedesktop.org (Postfix) with ESMTPS id 05E616E37D for ; Tue, 22 Aug 2017 08:39:56 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian Gmeiner Cc: Chris Healy , The etnaviv authors , DRI mailing list , Russell King List-Id: dri-devel@lists.freedesktop.org SGkgQ2hyaXN0aWFuLAoKQW0gRGllbnN0YWcsIGRlbiAyMi4wOC4yMDE3LCAxMDoyNyArMDIwMCBz Y2hyaWViIENocmlzdGlhbiBHbWVpbmVyOgo+IEhpIEx1Y2FzLgo+IAo+IFRoYW5rcyBmb3IgeW91 ciByZXZpZXcgLSBob3BlZnVsbHkgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBsYXN0IHYzCj4gc2Vy aWVzIG9mIHRoYXQgcGF0Y2hlcy4KClllcCwgSSB3b3VsZCByZWFsbHkgbGlrZSB0byBtZXJnZSB0 aGlzIHNlcmllcy4gSXQncyBiZWVuIGluIHRoZSBtYWtpbmcKZm9yIGxvbmcgZW5vdWdoLiA6KQoK PiAyMDE3LTA4LTA4IDEyOjAwIEdNVCswMjowMCBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRy b25peC5kZT46Cj4gPiBBbSBTYW1zdGFnLCBkZW4gMjIuMDcuMjAxNywgMTE6NTMgKzAyMDAgc2No cmllYiBDaHJpc3RpYW4gR21laW5lcjoKPiA+PiBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGFs bG9jYXRlIG11bHRpcGxlIGV2ZW50cyB1bmRlciB0aGUgZXZlbnQKPiA+PiBzcGlubG9jay4gVGhp cyBjaGFuZ2UgaXMgbmVlZGVkIHRvIHN1cHBvcnQgJ3N5bmMnLXBvaW50cy4KPiA+Pgo+ID4+IFNp Z25lZC1vZmYtYnk6IENocmlzdGlhbiBHbWVpbmVyIDxjaHJpc3RpYW4uZ21laW5lckBnbWFpbC5j b20+Cj4gPj4gLS0tCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1LmMg fCAzMSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gPj4gIDEgZmlsZSBjaGFuZ2Vk LCAyMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiA+Pgo+ID4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJt L2V0bmF2aXYvZXRuYXZpdl9ncHUuYwo+ID4+IGluZGV4IGZhOWM3YmQ5OGU5Yy4uYWIxMDhiMGVk NTczIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ3B1 LmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X2dwdS5jCj4gPj4g QEAgLTExMzcsMTAgKzExMzcsMTIgQEAgaW50IGV0bmF2aXZfZ3B1X2ZlbmNlX3N5bmNfb2JqKHN0 cnVjdCBldG5hdml2X2dlbV9vYmplY3QgKmV0bmF2aXZfb2JqLAo+ID4+ICAgKiBldmVudCBtYW5h Z2VtZW50Ogo+ID4+ICAgKi8KPiA+Pgo+ID4+IC1zdGF0aWMgdW5zaWduZWQgaW50IGV2ZW50X2Fs bG9jKHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1KQo+ID4+ICtzdGF0aWMgaW50IGV2ZW50X2FsbG9j KHN0cnVjdCBldG5hdml2X2dwdSAqZ3B1LCB1bnNpZ25lZCBucl9ldmVudHMsCj4gPj4gKyAgICAg dW5zaWduZWQgaW50ICpldmVudHMpCj4gPj4gIHsKPiA+PiAgICAgICB1bnNpZ25lZCBsb25nIHJl dCwgZmxhZ3M7Cj4gPj4gLSAgICAgdW5zaWduZWQgaW50IGV2ZW50Owo+ID4+ICsgICAgIHVuc2ln bmVkIHVzZWQsIGk7Cj4gPj4gKyAgICAgaW50IGVyciA9IDA7Cj4gPj4KPiA+PiAgICAgICByZXQg PSB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQoJmdwdS0+ZXZlbnRfZnJlZSwKPiA+PiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNlY3NfdG9famlmZmllcygxMCAq IDEwMDAwKSk7Cj4gPgo+ID4gVGhpcyBpc24ndCBvYnZpb3VzIGZyb20gdGhlIGN1cnJlbnQgY29k ZSwgYnV0IHRoZXJlIGFyZSBleGFjdGx5IGFzIG11Y2gKPiA+IGNvbXBsZXRpb25zIGluIHRoZSBx dWV1ZSwgYXMgdGhlcmUgYXJlIGV2ZW50cy4gU2VlIGluaXRpYWxpemF0aW9uIG9mIHRoZQo+ID4g Y29tcGxldGlvbnMgaW4gZXRuYXZpdl9ncHVfaW5pdCgpLiBUaGlzIG1lYW5zIHRoZSBldmVudCBh bGxvY2F0aW9uIHVuZGVyCj4gPiBzcGlubG9jayBhbHdheXMgc3VjY2VlZHMgaWYgdGhlIHdhaXQg aGFzbid0IHRpbWVkIG91dC4gVG8ga2VlcCB0aGlzCj4gPiB3b3JraW5nIHlvdSBuZWVkIHRvIHdh aXQgZm9yIHRoZSBjb21wbGV0aW9uIG5yX2V2ZW50IHRpbWVzLCBwcm9iYWJseQo+ID4gY2hhbmdp bmcgdGhpcyB0byBhbiBhYnNvbHV0ZSB0aW1lb3V0LCBzbyB3ZSBkb24ndCBsZW5ndGhlbiB0aGUg dGltZW91dAo+ID4gd2l0aCB0aGUgbnVtYmVyIG9mIGV2ZW50cy4KPiA+Cj4gCj4gTWFrZXMgc2Vu c2UgYnV0IEkgbm90IHJlYWxseSBzdXJlIGhvdyB0byBiZXN0IGltcGxlbWVudCBhbiBhYnNvbHV0 ZQo+IHRpbWVvdXQuIFdlIGNvdWxkIHdhaXQKPiBhYnNvbHV0ZSB0aW1lb3V0IC8gbnJfZXZlbnRz IGluIGVhY2ggd2FpdF9mb3JfY29tcGxldGlvbl90aW1lb3V0KC4uKSBjYWxsLgoKSSB0aGluayB3 ZSBzaG91bGQganVzdCBrZWVwIHRoZSAxMHNlYyB0aW1lb3V0IHJlZ2FyZGxlc3Mgb2YgdGhlIG51 bWJlcgpvZiBldmVudHMuIElmIHdlIGRvbid0IGFjcXVpcmUgdGhlIG5lZWRlZCBldmVudHMgYWZ0 ZXIgMTBzZWNzLCBpdCdzCnByb2JhYmx5IGZpbmUgdG8gZ2l2ZSB1cC4KCj4gPj4gQEAgLTExNDks MTYgKzExNTEsMjQgQEAgc3RhdGljIHVuc2lnbmVkIGludCBldmVudF9hbGxvYyhzdHJ1Y3QgZXRu YXZpdl9ncHUgKmdwdSkKPiA+Pgo+ID4+ICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZncHUtPmV2 ZW50X3NwaW5sb2NrLCBmbGFncyk7Cj4gPj4KPiA+PiAtICAgICAvKiBmaW5kIGZpcnN0IGZyZWUg ZXZlbnQgKi8KPiA+PiAtICAgICBldmVudCA9IGZpbmRfZmlyc3RfemVyb19iaXQoZ3B1LT5ldmVu dF9iaXRtYXAsIEVUTkFfTlJfRVZFTlRTKTsKPiA+PiAtICAgICBpZiAoZXZlbnQgPCBFVE5BX05S X0VWRU5UUykKPiA+PiArICAgICAvKiBhcmUgdGhlcmUgZW5vdWdoIGZyZWUgZXZlbnRzPyAqLwo+ ID4+ICsgICAgIHVzZWQgPSBiaXRtYXBfd2VpZ2h0KGdwdS0+ZXZlbnRfYml0bWFwLCBFVE5BX05S X0VWRU5UUyk7Cj4gPj4gKyAgICAgaWYgKHVzZWQgKyBucl9ldmVudHMgPiBFVE5BX05SX0VWRU5U Uykgewo+ID4+ICsgICAgICAgICAgICAgZXJyID0gLUVCVVNZOwo+ID4+ICsgICAgICAgICAgICAg Z290byBvdXQ7Cj4gPj4gKyAgICAgfQo+ID4KPiA+IFRoaXMgaXNuJ3QgbmVjZXNzYXJ5IGlmIHlv dSB3YWl0ZWQgc3VjY2Vzc2Z1bGx5IGZvciB0aGUgY29tcGxldGlvbiB0bwo+ID4gc2lnbmFsIG5y X2V2ZW50IHRpbWVzLiBUaGUgYWxsb2NhdGlvbiBpcyBndWFyYW50ZWVkIHRvIHN1Y2NlZWQgaW4g dGhhdAo+ID4gY2FzZS4gV2UganVzdCB3YW50IGFuIGVhcmx5IHJldHVybiBiZWZvcmUgZXZlbiBs b2NraW5nIHRoZSBzcGlubG9jaywKPiA+IGdpdmluZyBiYWNrIHRoZSBhbHJlYWR5IGNvbGxlY3Rl ZCBjb21wbGV0aW9ucyBpZiBvbmUgb2YgdGhlIHdhaXRzIHRpbWVkCj4gPiBvdXQuCj4gPgo+IAo+ IFllcyAtIGZlZWxzIG1vcmUgZWxlZ2FudCB0aGF0IHdheS4KPiAKPiA+PiArCj4gPj4gKyAgICAg Zm9yIChpID0gMDsgaSA8IG5yX2V2ZW50czsgaSsrKSB7Cj4gPj4gKyAgICAgICAgICAgICBpbnQg ZXZlbnQgPSBmaW5kX2ZpcnN0X3plcm9fYml0KGdwdS0+ZXZlbnRfYml0bWFwLCBFVE5BX05SX0VW RU5UUyk7Cj4gPj4gKwo+ID4+ICsgICAgICAgICAgICAgZXZlbnRzW2ldID0gZXZlbnQ7Cj4gPj4g ICAgICAgICAgICAgICBzZXRfYml0KGV2ZW50LCBncHUtPmV2ZW50X2JpdG1hcCk7Cj4gPj4gLSAg ICAgZWxzZQo+ID4+IC0gICAgICAgICAgICAgZXZlbnQgPSB+MFU7Cj4gPj4gKyAgICAgfQo+ID4+ Cj4gPj4gK291dDoKPiA+PiAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZncHUtPmV2ZW50 X3NwaW5sb2NrLCBmbGFncyk7Cj4gPj4KPiA+PiAtICAgICByZXR1cm4gZXZlbnQ7Cj4gPj4gKyAg ICAgcmV0dXJuIGVycjsKPiA+PiAgfQo+ID4+Cj4gPj4gIHN0YXRpYyB2b2lkIGV2ZW50X2ZyZWUo c3RydWN0IGV0bmF2aXZfZ3B1ICpncHUsIHVuc2lnbmVkIGludCBldmVudCkKPiA+PiBAQCAtMTMy NywxMCArMTMzNyw5IEBAIGludCBldG5hdml2X2dwdV9zdWJtaXQoc3RydWN0IGV0bmF2aXZfZ3B1 ICpncHUsCj4gPj4gICAgICAgICoKPiA+PiAgICAgICAgKi8KPiA+Pgo+ID4+IC0gICAgIGV2ZW50 ID0gZXZlbnRfYWxsb2MoZ3B1KTsKPiA+PiAtICAgICBpZiAodW5saWtlbHkoZXZlbnQgPT0gfjBV KSkgewo+ID4+ICsgICAgIHJldCA9IGV2ZW50X2FsbG9jKGdwdSwgMSwgJmV2ZW50KTsKPiA+PiAr ICAgICBpZiAoIXJldCkgewo+ID4+ICAgICAgICAgICAgICAgRFJNX0VSUk9SKCJubyBmcmVlIGV2 ZW50XG4iKTsKPiA+PiAtICAgICAgICAgICAgIHJldCA9IC1FQlVTWTsKPiA+PiAgICAgICAgICAg ICAgIGdvdG8gb3V0X3BtX3B1dDsKPiA+PiAgICAgICB9Cj4gPj4KPiA+Cj4gPgo+IAo+IFdoYXQg YWJvdXQgc29tZXRoaW5nIGxpa2UgdGhpczoKCkEgZmV3IG5vdGVzIGlubGluZS4KCj4gCj4gc3Rh dGljIGludCBldmVudF9hbGxvYyhzdHJ1Y3QgZXRuYXZpdl9ncHUgKmdwdSwgdW5zaWduZWQgbnJf ZXZlbnRzLAo+ICAgICB1bnNpZ25lZCBpbnQgKmV2ZW50cykKPiB7Cj4gICAgIHVuc2lnbmVkIGxv bmcgZmxhZ3M7Cj4gICAgIHVuc2lnbmVkIGk7Cj4gICAgIGludCBlcnIgPSAwOwo+IAo+ICAgICBm b3IgKGkgPSAwOyBpIDwgbnJfZXZlbnRzOyBpKyspIHsKPiAgICAgICAgIHVuc2lnbmVkIGxvbmcg cmV0OwoJICB0aW1lb3V0ID0gbXNlY3NfdG9famlmZmllcygxMCAqIDEwMDAwKTsKPiAKPiAgICAg ICAgIHJldCA9IHdhaXRfZm9yX2NvbXBsZXRpb25fdGltZW91dCgmZ3B1LT5ldmVudF9mcmVlLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgIG1zZWNzX3RvX2ppZmZpZXMoMTAgKiAxMDAwMCkpOwog ICAgICAgICAgICAgICAgICAgICAgICAgIF5eIHVzZSB0aW1lb3V0IGhlcmUKPiAgICAgICAgIGlm ICghcmV0KSB7Cj4gICAgICAgICAgICAgZGV2X2VycihncHUtPmRldiwgIndhaXRfZm9yX2NvbXBs ZXRpb25fdGltZW91dCBmYWlsZWQiKTsKPiAgICAgICAgICAgICBlcnIgPSAtRUJVU1k7Cj4gICAg ICAgICAgICAgZ290byBvdXQ7Cj4gICAgICAgICB9CgpJZiB3ZSB3YWl0ZWQgc3VjY2Vzc2Z1bGx5 LCB3YWl0X2Zvcl9jb21wbGV0aW9uX3RpbWVvdXQgd2lsbCByZXR1cm4gdGhlCnJlbWFpbmluZyBq aWZmaWVzLCBzbyB3ZSBjYW4gcmUtaW5pdGlhbGl6ZSB0aGUgdGltZW91dCB3aXRoIHRoZSByZXR1 cm4KdmFsdWUgdG8gc2hvcnRlbiB0aGUgbmV4dCB3YWl0LgoKICAgICAgICAgIHRpbWVvdXQgPSBy ZXQ7Cj4gICAgIH0KPiAKPiAgICAgc3Bpbl9sb2NrX2lycXNhdmUoJmdwdS0+ZXZlbnRfc3Bpbmxv Y2ssIGZsYWdzKTsKPiAKPiAgICAgZm9yIChpID0gMDsgaSA8IG5yX2V2ZW50czsgaSsrKSB7Cj4g ICAgICAgICBpbnQgZXZlbnQgPSBmaW5kX2ZpcnN0X3plcm9fYml0KGdwdS0+ZXZlbnRfYml0bWFw LCBFVE5BX05SX0VWRU5UUyk7Cj4gCj4gICAgICAgICBldmVudHNbaV0gPSBldmVudDsKPiAgICAg ICAgIHNldF9iaXQoZXZlbnQsIGdwdS0+ZXZlbnRfYml0bWFwKTsKPiAgICAgfQo+IAo+ICAgICBz cGluX3VubG9ja19pcnFyZXN0b3JlKCZncHUtPmV2ZW50X3NwaW5sb2NrLCBmbGFncyk7Cj4gCj4g b3V0OgoKSWYgeW91IGVuZCB1cCBoZXJlIHlvdSBuZWVkIHRvIHJldHVybiB0aGUgYWxyZWFkeSBh Y3F1aXJlZCBjb21wbGV0aW9ucywKYnkgcm9sbGluZyBiYWNrIHlvdXIgZm9yIGxvb3AgYWJvdmUg YW5kIGRvIGEgY29tcGxldGUoJmdwdS0+ZXZlbnRfZnJlZSkKZm9yIGVhY2ggYWNxdWlyZWQgY29t cGxldGlvbiB0byBhdm9pZCBkZXBsZXRpbmcgdGhlIGNvbXBsZXRpb24gcXVldWUuCgo+ICAgICBy ZXR1cm4gZXJyOwo+IH0KClJlZ2FyZHMsCkx1Y2FzCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK