From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/virtio: Don't reinvent a flipping wheel Date: Fri, 10 Jun 2016 17:20:17 +0200 Message-ID: <20160610152017.GJ3363@phenom.ffwll.local> References: <1465388359-8070-22-git-send-email-daniel.vetter@ffwll.ch> <1465510073-20951-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 676666ED93 for ; Fri, 10 Jun 2016 15:20:22 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id k184so18653212wme.2 for ; Fri, 10 Jun 2016 08:20:22 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1465510073-20951-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Gerd Hoffmann , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdW4gMTAsIDIwMTYgYXQgMTI6MDc6NTNBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBOb3cgdGhhdCB0aGUgY29yZSBoZWxwZXJzIHN1cHBvcnQgbm9uYmxvY2tpbmcgYXRv bWljIGNvbW1pdHMgdGhlcmUncwo+IG5vIG5lZWQgdG8gaW52ZW50IHRoYXQgd2hlZWwgc2VwYXJh dGVseSAoaW5zdGVhZCBvZiBmaXhpbmcgdGhlIGJ1ZyBpbgo+IHRoZSBhdG9taWMgaW1wbGVtZW50 YXRpb24gb2YgdmlydGlvLCBhcyBpdCBzaG91bGQgaGF2ZSBiZWVuIGRvbmUhKS4KPiAKPiB2Mjog UmViYXNlZCBvbiB0b3Agb2YKPiAKPiBjb21taXQgZTdjZjA5NjNmODE2ZmE0NDE5MGNhYWY1MWFl ZmZhYTYxNGMzNDBjNgo+IEF1dGhvcjogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+ Cj4gRGF0ZTogICBUdWUgTWF5IDMxIDA4OjUwOjQ3IDIwMTYgKzAyMDAKPiAKPiB2aXJ0aW8tZ3B1 OiBhZGQgYXRvbWljX2NvbW1pdCBmdW5jdGlvbgo+IAo+IENjOiBHZXJkIEhvZmZtYW5uIDxrcmF4 ZWxAcmVkaGF0LmNvbT4KPiBUZXN0ZWQtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQu Y29tPiAodjEpCj4gUmV2aWV3ZWQtYnk6IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29t PiAodjEpCj4gU2lnbmVkLW9mZi1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRl bC5jb20+CgpHZXJkLCBjYW4geW91IHBscyByZXRlc3Q/IEkgdGhpbmsgZHVlIHRvIHlvdXIgY2hh bmdlIGluIHRoZSBhYm92ZQpyZWZlcmVuY2VkIGNvbW1pdCB0byBzd2l0Y2ggdG8gYWN0aXZlX29u bHk9dHJ1ZSBpbiBjb21taXRfcGxhbmVzKCkgdGhpcyBpcwpub3cgYnJva2VuLgotRGFuaWVsCgo+ IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jIHwgNzEgKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2Vy dGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0 Z3B1X2Rpc3BsYXkuYwo+IGluZGV4IDNkMGZhMDQ5YjM0Yy4uYTA5ZGM1N2ZlYTljIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlzcGxheS5jCj4gQEAgLTM4LDU2ICszOCwx MSBAQAo+ICAjZGVmaW5lIFhSRVNfTUFYICA4MTkyCj4gICNkZWZpbmUgWVJFU19NQVggIDgxOTIK PiAgCj4gLXN0YXRpYyBpbnQgdmlydGlvX2dwdV9wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpj cnRjLAo+IC0JCQkJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCj4gLQkJCQlzdHJ1Y3QgZHJt X3BlbmRpbmdfdmJsYW5rX2V2ZW50ICpldmVudCwKPiAtCQkJCXVpbnQzMl90IGZsYWdzKQo+IC17 Cj4gLQlzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2ID0gY3J0Yy0+ZGV2LT5kZXZfcHJp dmF0ZTsKPiAtCXN0cnVjdCB2aXJ0aW9fZ3B1X291dHB1dCAqb3V0cHV0ID0KPiAtCQljb250YWlu ZXJfb2YoY3J0Yywgc3RydWN0IHZpcnRpb19ncHVfb3V0cHV0LCBjcnRjKTsKPiAtCXN0cnVjdCBk cm1fcGxhbmUgKnBsYW5lID0gY3J0Yy0+cHJpbWFyeTsKPiAtCXN0cnVjdCB2aXJ0aW9fZ3B1X2Zy YW1lYnVmZmVyICp2Z2ZiOwo+IC0Jc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibzsKPiAtCXVu c2lnbmVkIGxvbmcgaXJxZmxhZ3M7Cj4gLQl1aW50MzJfdCBoYW5kbGU7Cj4gLQo+IC0JcGxhbmUt PmZiID0gZmI7Cj4gLQl2Z2ZiID0gdG9fdmlydGlvX2dwdV9mcmFtZWJ1ZmZlcihwbGFuZS0+ZmIp Owo+IC0JYm8gPSBnZW1fdG9fdmlydGlvX2dwdV9vYmoodmdmYi0+b2JqKTsKPiAtCWhhbmRsZSA9 IGJvLT5od19yZXNfaGFuZGxlOwo+IC0KPiAtCURSTV9ERUJVRygiaGFuZGxlIDB4JXglcywgY3J0 YyAlZHglZFxuIiwgaGFuZGxlLAo+IC0JCSAgYm8tPmR1bWIgPyAiLCBkdW1iIiA6ICIiLAo+IC0J CSAgY3J0Yy0+bW9kZS5oZGlzcGxheSwgY3J0Yy0+bW9kZS52ZGlzcGxheSk7Cj4gLQlpZiAoYm8t PmR1bWIpIHsKPiAtCQl2aXJ0aW9fZ3B1X2NtZF90cmFuc2Zlcl90b19ob3N0XzJkCj4gLQkJCSh2 Z2RldiwgaGFuZGxlLCAwLAo+IC0JCQkgY3B1X3RvX2xlMzIoY3J0Yy0+bW9kZS5oZGlzcGxheSks Cj4gLQkJCSBjcHVfdG9fbGUzMihjcnRjLT5tb2RlLnZkaXNwbGF5KSwKPiAtCQkJIDAsIDAsIE5V TEwpOwo+IC0JfQo+IC0JdmlydGlvX2dwdV9jbWRfc2V0X3NjYW5vdXQodmdkZXYsIG91dHB1dC0+ aW5kZXgsIGhhbmRsZSwKPiAtCQkJCSAgIGNydGMtPm1vZGUuaGRpc3BsYXksCj4gLQkJCQkgICBj cnRjLT5tb2RlLnZkaXNwbGF5LCAwLCAwKTsKPiAtCXZpcnRpb19ncHVfY21kX3Jlc291cmNlX2Zs dXNoKHZnZGV2LCBoYW5kbGUsIDAsIDAsCj4gLQkJCQkgICAgICBjcnRjLT5tb2RlLmhkaXNwbGF5 LAo+IC0JCQkJICAgICAgY3J0Yy0+bW9kZS52ZGlzcGxheSk7Cj4gLQo+IC0JaWYgKGV2ZW50KSB7 Cj4gLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgaXJxZmxhZ3Mp Owo+IC0JCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGV2ZW50KTsKPiAtCQlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGlycWZsYWdzKTsKPiAt CX0KPiAtCj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y3J0Y19mdW5jcyB2aXJ0aW9fZ3B1X2NydGNfZnVuY3MgPSB7Cj4gIAkuc2V0X2NvbmZpZyAgICAg ICAgICAgICA9IGRybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcsCj4gIAkuZGVzdHJveSAgICAg ICAgICAgICAgICA9IGRybV9jcnRjX2NsZWFudXAsCj4gIAo+IC0JLnBhZ2VfZmxpcCAgICAgICAg ICAgICAgPSB2aXJ0aW9fZ3B1X3BhZ2VfZmxpcCwKPiArCS5wYWdlX2ZsaXAgICAgICAgICAgICAg ID0gZHJtX2F0b21pY19oZWxwZXJfcGFnZV9mbGlwLAo+ICAJLnJlc2V0ICAgICAgICAgICAgICAg ICAgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0LAo+ICAJLmF0b21pY19kdXBsaWNhdGVf c3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKPiAgCS5hdG9t aWNfZGVzdHJveV9zdGF0ZSAgID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95X3N0YXRl LAo+IEBAIC0xODUsNiArMTQwLDcgQEAgc3RhdGljIHZvaWQgdmlydGlvX2dwdV9jcnRjX2F0b21p Y19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlzcGluX2xvY2tfaXJxc2F2ZSgmY3J0 Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gIAlpZiAoY3J0Yy0+c3RhdGUtPmV2ZW50KQo+ ICAJCWRybV9jcnRjX3NlbmRfdmJsYW5rX2V2ZW50KGNydGMsIGNydGMtPnN0YXRlLT5ldmVudCk7 Cj4gKwljcnRjLT5zdGF0ZS0+ZXZlbnQgPSBOVUxMOwo+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gIH0KPiAgCj4gQEAgLTM4OCwzMCAr MzQ0LDI4IEBAIHZpcnRpb19ncHVfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVhdGUoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPiAgCXJldHVybiAmdmlydGlvX2dwdV9mYi0+YmFzZTsKPiAgfQo+ICAKPiAt c3RhdGljIGludCB2Z2Rldl9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4g LQkJCSAgICAgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCj4gLQkJCSAgICAgICBi b29sIG5vbmJsb2NrKQo+ICtzdGF0aWMgdm9pZCB2Z2Rldl9hdG9taWNfY29tbWl0X3RhaWwoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ICB7Cj4gLQlpZiAobm9uYmxvY2spCj4gLQkJ cmV0dXJuIC1FQlVTWTsKPiAtCj4gLQlkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0YXRl LCB0cnVlKTsKPiAtCWRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2ZlbmNlcyhkZXYsIHN0YXRl KTsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2Owo+ICAKPiAgCWRybV9h dG9taWNfaGVscGVyX2NvbW1pdF9tb2Rlc2V0X2Rpc2FibGVzKGRldiwgc3RhdGUpOwo+ICAJZHJt X2F0b21pY19oZWxwZXJfY29tbWl0X21vZGVzZXRfZW5hYmxlcyhkZXYsIHN0YXRlKTsKPiAgCWRy bV9hdG9taWNfaGVscGVyX2NvbW1pdF9wbGFuZXMoZGV2LCBzdGF0ZSwgdHJ1ZSk7Cj4gIAo+ICsJ ZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RhdGUpOwo+ICsKPiAgCWRybV9hdG9t aWNfaGVscGVyX3dhaXRfZm9yX3ZibGFua3MoZGV2LCBzdGF0ZSk7Cj4gIAlkcm1fYXRvbWljX2hl bHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKPiAtCWRybV9hdG9taWNfc3RhdGVfZnJl ZShzdGF0ZSk7Cj4gLQlyZXR1cm4gMDsKPiAgfQo+ICAKPiArc3RydWN0IGRybV9tb2RlX2NvbmZp Z19oZWxwZXJfZnVuY3MgdmlydGlvX21vZGVfY29uZmlnX2hlbHBlcnMgPSB7Cj4gKwkuYXRvbWlj X2NvbW1pdF90YWlsID0gdmdkZXZfYXRvbWljX2NvbW1pdF90YWlsLAo+ICt9Owo+ICsKPiAgc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgdmlydGlvX2dwdV9tb2RlX2Z1 bmNzID0gewo+ICAJLmZiX2NyZWF0ZSA9IHZpcnRpb19ncHVfdXNlcl9mcmFtZWJ1ZmZlcl9jcmVh dGUsCj4gIAkuYXRvbWljX2NoZWNrID0gZHJtX2F0b21pY19oZWxwZXJfY2hlY2ssCj4gLQkuYXRv bWljX2NvbW1pdCA9IHZnZGV2X2F0b21pY19jb21taXQsCj4gKwkuYXRvbWljX2NvbW1pdCA9IGRy bV9hdG9taWNfaGVscGVyX2NvbW1pdCwKPiAgfTsKPiAgCj4gIGludCB2aXJ0aW9fZ3B1X21vZGVz ZXRfaW5pdChzdHJ1Y3QgdmlydGlvX2dwdV9kZXZpY2UgKnZnZGV2KQo+IEBAIC00MTksNyArMzcz LDggQEAgaW50IHZpcnRpb19ncHVfbW9kZXNldF9pbml0KHN0cnVjdCB2aXJ0aW9fZ3B1X2Rldmlj ZSAqdmdkZXYpCj4gIAlpbnQgaTsKPiAgCj4gIAlkcm1fbW9kZV9jb25maWdfaW5pdCh2Z2Rldi0+ ZGRldik7Cj4gLQl2Z2Rldi0+ZGRldi0+bW9kZV9jb25maWcuZnVuY3MgPSAodm9pZCAqKSZ2aXJ0 aW9fZ3B1X21vZGVfZnVuY3M7Cj4gKwl2Z2Rldi0+ZGRldi0+bW9kZV9jb25maWcuZnVuY3MgPSAm dmlydGlvX2dwdV9tb2RlX2Z1bmNzOwo+ICsJdmdkZXYtPmRkZXYtPm1vZGVfY29uZmlnLmhlbHBl cl9wcml2YXRlID0gJnZpcnRpb19tb2RlX2NvbmZpZ19oZWxwZXJzOwo+ICAKPiAgCS8qIG1vZGVz IHdpbGwgYmUgdmFsaWRhdGVkIGFnYWluc3QgdGhlIGZyYW1lYnVmZmVyIHNpemUgKi8KPiAgCXZn ZGV2LT5kZGV2LT5tb2RlX2NvbmZpZy5taW5fd2lkdGggPSBYUkVTX01JTjsKPiAtLSAKPiAyLjgu MQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0 aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=