From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerome Glisse Subject: Re: [RFC] drm/radeon: userfence IOCTL Date: Mon, 13 Apr 2015 13:46:01 -0400 Message-ID: <20150413174600.GF29334@gmail.com> References: <1428936737-19103-1-git-send-email-deathsimple@vodafone.de> <20150413153102.GA29334@gmail.com> <552BE491.6010603@vodafone.de> <20150413160855.GD29334@gmail.com> <552BF4F7.7080200@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-f171.google.com (mail-qk0-f171.google.com [209.85.220.171]) by gabe.freedesktop.org (Postfix) with ESMTP id AFBF56E21F for ; Mon, 13 Apr 2015 10:46:05 -0700 (PDT) Received: by qku63 with SMTP id 63so191177877qku.3 for ; Mon, 13 Apr 2015 10:46:05 -0700 (PDT) Content-Disposition: inline In-Reply-To: <552BF4F7.7080200@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Christian =?iso-8859-1?Q?K=F6nig?= Cc: Serguei.Sagalovitch@amd.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBBcHIgMTMsIDIwMTUgYXQgMDY6NTU6MTlQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5p ZyB3cm90ZToKPiBPbiAxMy4wNC4yMDE1IDE4OjA4LCBKZXJvbWUgR2xpc3NlIHdyb3RlOgo+ID5P biBNb24sIEFwciAxMywgMjAxNSBhdCAwNTo0NToyMVBNICswMjAwLCBDaHJpc3RpYW4gS8O2bmln IHdyb3RlOgo+ID4+T24gMTMuMDQuMjAxNSAxNzozMSwgSmVyb21lIEdsaXNzZSB3cm90ZToKPiA+ Pj5PbiBNb24sIEFwciAxMywgMjAxNSBhdCAwNDo1MjoxNFBNICswMjAwLCBDaHJpc3RpYW4gS8O2 bmlnIHdyb3RlOgo+ID4+Pj5IZWxsbyBldmVyeW9uZSwKPiA+Pj4+Cj4gPj4+PndlIGhhdmUgYSBy ZXF1aXJlbWVudCBmb3IgYSBiaXQgZGlmZmVyZW50IGtpbmQgb2YgZmVuY2UgaGFuZGxpbmcuCj4g Pj4+PkN1cnJlbnRseSB3ZSBoYW5kbGUgZmVuY2VzIGNvbXBsZXRlbHkgaW5zaWRlIHRoZSBrZXJu ZWwsIGJ1dCBpbgo+ID4+Pj50aGUgZnV0dXJlIHdlIHdvdWxkIGxpa2UgdG8gZW1pdCBtdWx0aXBs ZSBmZW5jZXMgaW5zaWRlIHRoZSBzYW1lCj4gPj4+PklCIGFzIHdlbGwuCj4gPj4+Pgo+ID4+Pj5U aGlzIHdvcmtzIGJ5IGFkZGluZyBtdWx0aXBsZSBmZW5jZSBjb21tYW5kcyBpbnRvIGFuIElCIHdo aWNoCj4gPj4+Pmp1c3Qgd3JpdGUgdGhlaXIgdmFsdWUgdG8gYSBzcGVjaWZpYyBsb2NhdGlvbiBp bnNpZGUgYSBCTyBhbmQKPiA+Pj4+dHJpZ2dlciB0aGUgYXBwcm9wcmlhdGUgaGFyZHdhcmUgaW50 ZXJydXB0Lgo+ID4+Pj4KPiA+Pj4+VGhlIHVzZXIgcGFydCBvZiB0aGUgZHJpdmVyIHN0YWNrIHNo b3VsZCB0aGVuIGJlIGFibGUgdG8gY2FsbCBhbgo+ID4+Pj5JT0NUTCB0byB3YWl0IGZvciB0aGUg aW50ZXJydXB0IGFuZCBibG9jayBmb3IgdGhlIHZhbHVlIChvcgo+ID4+Pj5zb21ldGhpbmcgbGFy Z2VyKSB0byBiZSB3cml0dGVuIHRvIHRoZSBzcGVjaWZpYyBsb2NhdGlvbi4KPiA+Pj4+Cj4gPj4+ PlRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCB5b3UgY2FuIGhhdmUgbXVsdGlwbGUgc3luY2hy b25pemF0aW9uCj4gPj4+PnBvaW50cyBpbiB0aGUgc2FtZSBJQiBhbmQgZG9uJ3QgbmVlZCB0byBz cGxpdCB1cCB5b3VyIGRyYXcgY29tbWFuZHMKPiA+Pj4+b3ZlciBzZXZlcmFsIElCcyBzbyB0aGF0 IHRoZSBrZXJuZWwgY2FuIGluc2VydCBrZXJuZWwgZmVuY2VzIGluCj4gPj4+PmJldHdlZW4uCj4g Pj4+Pgo+ID4+Pj5UaGUgZm9sbG93aW5nIHNldCBvZiBwYXRjaGVzIHRyaWVzIHRvIGltcGxlbWVu dCBleGFjdGx5IHRoaXMgSU9DVEwuCj4gPj4+PlRoZSBiaWcgcHJvYmxlbSB3aXRoIHRoYXQgSU9D VEwgaXMgdGhhdCBUVE0gbmVlZHMgdGhlIEJPIHRvIGJlCj4gPj4+PmtlcHQgaW4gdGhlIHNhbWUg cGxhY2Ugd2hpbGUgaXQgaXMgbWFwcGVkIGluc2lkZSB0aGUga2VybmVsIHBhZ2UKPiA+Pj4+dGFi bGUuIFNvIHRoaXMgcmVxdWlyZXMgdGhhdCB3ZSBwaW4gZG93biB0aGUgQk8gZm9yIHRoZSBkdXJh dGlvbgo+ID4+Pj5vZiB0aGUgd2FpdCBJT0NUTC4KPiA+Pj4+Cj4gPj4+PlRoaXMgcHJhY3RpY2Fs bHkgZ2l2ZXMgdXNlcnNwYWNlIGEgd2F5IG9mIHBpbm5pbmcgZG93biBCT3MgZm9yIGFzCj4gPj4+ PmxvbmcgYXMgaXQgd2FudHMsIHdpdGhvdXQgdGhlIGFiaWxpdHkgZm9yIHRoZSBrZXJuZWwgZm9y IGludGVydmVudGlvbi4KPiA+Pj4+Cj4gPj4+PkFueSBpZGVhcyBob3cgdG8gYXZvaWQgdGhvc2Ug cHJvYmxlbXM/IE9yIGJldHRlciBpZGVhcyBob3cgdG8gaGFuZGxlCj4gPj4+PnRoZSBuZXcgcmVx dWlyZW1lbnRzPwo+ID4+PlNvIGkgdGhpbmsgdGhlIHNpbXBsZXN0IHNvbHV0aW9uIGlzIHRvIG9u bHkgYWxsb3cgc3VjaCAiZmVuY2UiIGJvIHRvCj4gPj4+YmUgaW5zaWRlIHN5c3RlbSBtZW1vcnkg KG5vIHZyYW0gZm9yIHRoZW0pLiBNeSBhc3N1bXB0aW9uIGhlcmUgaXMgdGhhdAo+ID4+PnN1Y2gg Qk8gd2lsbCBiYXJlbHkgc2VlIG1vcmUgdGhhbiBjb3VwbGUgZHdvcmQgd3JpdGUgc28gaXQgaXMg bm90IGEKPiA+Pj5iYW5kd2lkdGggaW50ZW5zaXZlIEJPLiBPciBkbyB5b3UgaGF2ZSBhIHJlcXVp cmVtZW50IGZvciBzdWNoIEJPIHRvCj4gPj4+YmUgaW4gVlJBTSA/Cj4gPj5Ob3QgdGhhdCBJIGtu b3cgb2ZmLgo+ID4+Cj4gPj4+Tm93IHRvIGRvIHRoYXQgaSB3b3VsZCBqdXN0IGFkZCBhIHByb3Bl cnR5IHRvIGJ1ZmZlciBvYmplY3QgdGhhdAo+ID4+PmVmZmVjdGl2ZWx5IGZvcmJpZCBzdWNoIEJP IHRvIGJlIHBsYWNlIGFueXdoZXJlIGVsc2UgdGhhbiBHVFQuIERvaW5nCj4gPj4+dGhhdCB3b3Vs ZCBtYWtlIHRoZSBpb2N0bCBjb2RlIHNpbXBsZXIsIGp1c3QgY2hlY2sgdGhlIEJPIGFzIHRoZQo+ ID4+PkdUVCBvbmx5IHByb3BlcnR5IHNldCBhbmQgaWYgbm90IHJldHVybiAtRUlOVkFMLiBUaGVu IGl0cyBhIHNpbXBsZQo+ID4+Pm1hdHRlciBvZiBrbWFwcGluZyB0aGUgcHJvcGVyIHBhZ2UuCj4g Pj5JJ3ZlIGFsc28gY29uc2lkZXJlZCBhZGRpbmcgYW4gaW50ZXJuYWwgZmxhZyB0aGF0IHdoZW4g YSBidWZmZXIgaXMga21hcHBlZAo+ID4+d2UgYXZvaWQgbW92aW5nIGl0IHRvIFZSQU0gLyBzd2Fw cGluZyBpdCBvdXQsIGJ1dCBzZWUgYmVsb3cuCj4gPj4KPiA+Pj5Ob3RlIHRoYXQgdGhlIG9ubHkg dGhpbmcgdGhhdCB3b3VsZCBiZSBsZWZ0IHRvIGZvcmJpZCBpcyB0aGUgc3dhcGluZwo+ID4+Pm9m IHRoZSBidWZmZXIgZHVlIHRvIG1lbW9yeSBwcmVzc3VyZSAoZnJvbSB2YXJpb3VzIHR0bS9jb3Jl IHNocmlua2VyKS4KPiA+PlllYWgsIGhvdyB0aGUgaGVjayB3b3VsZCBJIGRvIHRoYXQ/IFRoYXQn cyBpbnRlcm5hbHMgb2YgVFRNIHRoYXQgSSBuZXZlciBnb3QKPiA+PmludG8uCj4gPkFjdHVhbHkg aSB0aGluayBpdCBpcyBlYXNpZXIgdGhlbiBpIGZpcnN0IHRob3VnaHQsIGluIHRoZSB3YWl0IGlv Y3RsCj4gPmNoZWNrIGlmIHRoZSBidWZmZXIgaGFzIGEgcGVuZGluZyBmZW5jZSBpZSBncHUgaXMg c3RpbGwgdXNpbmcgaXQsIGlmCj4gPm5vdCByZXR1cm4gLUVBR0FJTiBiZWNhdXNlIGl0IG1lYW5z IHRoYXQgaXQgaXMgcG9pbnRsZXNzIHRvIHdhaXQgZm9yCj4gPm5leHQgR1BVIGludGVycnVwdC4K PiA+Cj4gPkZvciBhcyBsb25nIGFzIHRoZSBCTyBoYXMgYW4gYWN0aXZlIGZlbmNlIGl0IHdpbGwg bm90IGJlIHN3YXBwZWQgb3V0Cj4gPihzZWUgdHRtX2JvX3N3YXBvdXQoKSkuIFNvIGluIHRoZSB3 YWl0IGV2ZW50IHRlc3QgYm90aCB0aGUgdmFsdWUgYW5kCj4gPnRoZSBwZW5kaW5nIGZlbmNlLiBJ ZiB0aGUgcGVuZGluZyBmZW5jZSBzaWduYWwgYnV0IG5vdCB0aGUgdmFsdWUgdGhlbgo+ID5yZXR1 cm4gLUVBR0FJTi4gSW4gYWxsIGNhc2UganVzdCBrZWVwIGEga21hcCBvZiB0aGUgcGFnZSAoZG8g bm90IGttYXAKPiA+dGhlIHVzaW5nIGV4aXN0aW5nIGttYXAgaGVscGVyIHdlIHdvdWxkIG5lZWQg c29tZXRoaW5nIG5ldyB0byBub3QKPiA+aW50ZXJmZXIgd2l0aCB0aGUgc2hyaW5rZXIpLiBOb3Qg dGhhdCBhZnRlciB0ZXN0aW5nIHRoZSB2YWx1ZSB5b3Ugd291bGQKPiA+bmVlZCB0byBjaGVjayB0 aGF0IHRoZSBCTyB3YXMgbm90IG1vdmUgYW5kIHRodXMgdGhlIHBhZ2UgeW91IHdlcmUKPiA+bG9v a2luZyBpbnRvIGlzIHN0aWxsIHRoZSBvbmUgdGhlIEJPIGlzIHVzaW5nLgo+ID4KPiA+VGhhdCB3 YXkgdXNlcnNwYWNlIGNhbiBub3QgYWJ1c2UgdGhpcyBpb2N0bCB0byBibG9jayB0aGUgc2hyaW5r ZXIgZnJvbQo+ID5tYWtpbmcgcHJvZ3Jlc3MuCj4gCj4gU28gd2hhdCB3ZSBkbyBvbiB0aGUgc3Rh cnQgb2YgdGhlIElPQ1RMIGlzIHRvIGNoZWNrIHRoZSBCT3MgZmVuY2VzIGFuZCBzZWUKPiBpZiBp dCBhY3R1YWxseSBpcyBzdGlsbCB1c2VkIGFuZCBub3RlIGl0J3MgY3VycmVudCBwbGFjZW1lbnQu Cj4gCj4gVGhlbiBtYXAgaXQgc28gdGhlIGtlcm5lbCBjYW4gYWNjZXNzIGl0IGFuZCBpbiB0aGUg d2FpdGluZyBsb29wIHdlIGNoZWNrIGlmCj4gaXQgc3RpbGwgaGFzIGEgZmVuY2UgYW5kIGlzIHN0 aWxsIGluIHRoZSBzYW1lIHBsYWNlLgo+IAo+IElmIHRoZXJlIGlzbid0IGFueSBmZW5jZXMgbGVm dCBvciB0aGUgcGxhY2VtZW50IGhhcyBjaGFuZ2VkIHdlIHNpbXBseSBhc3N1bWUKPiB0aGF0IHRo ZSBmZW5jZSBpcyBzaWduYWxlZC4KCldlbGwgbm8gY29kZSBpcyBlYXNpZXIgc28gcHNldWRvIGJl bG93IDoKCnJhZGVvbl91c2VyX2ZlbmNlX3dhaXRfaW9jdGwoKQp7CglzdHJ1Y3QgcmFkZW9uX2Jv IHJibzsKCXN0cnVjdCBwYWdlICpwYWdlOwoJdWludDY0X3QgKmZlbmNlcHRyOwoKCXJhZGVvbl9i b19yZXNlcnZlKHJibywgZmFsc2UpOwoJaWYgKCEocmFkZW9uX2JvX3Byb3BlcnR5KHJibykgJiBH VFRfT05MWSkpIHsKCQlyYWRlb25fYm9fcmVzZXJ2ZShyYm8sIGZhbHNlKTsKCQlyZXR1cm4gLUVJ TlZBTDsKCX0KCglpZiAocmVzZXJ2YXRpb25fb2JqZWN0X3Rlc3Rfc2lnbmFsZWRfcmN1KHJvYmot PnRiby5yZXN2LCB0cnVlKSkgewoJCXJhZGVvbl9ib19yZXNlcnZlKHJibywgZmFsc2UpOwoJCS8q IFRoZXJlIGlzIG5vIHBlbmRpbmcgd29yayBvbiB0aGlzIEJPIHNvIGp1c3QgaGF2ZQoJCSAqIHVz ZXJzcGFjZSBjaGVjayBmb3IgdGhlIGZlbmNlIGl0c2VsZi4gUHJvcGVyIHVzZXIKCQkgKiBzcGFj ZSB3aWxsIGNoZWNrIGZlbmNlIGhhcyBub3Qgc2lnbmFsZWQgd2hlbiBnZXR0aW5nCgkJICogLUVB R0FJTi4KCQkgKi8KCQlyZXR1cm4gLUVBR0FJTjsKCX0KCglwYWdlID0gdHRtX2dldF9wYWdlX2F0 KCZyYm8tPnRibywgYXJncy0+b2Zmc2V0KTsKCS8vIG1heWJlIHdlIGp1c3Qgd2FudCB0byByZXR1 cm4gLUVJTlZBTCBidXQgaWYgIXBhZ2UgdGhlCgkvLyBzb21ldGhpbmcgaXMgc2VyaW91c2x5IHdy b25nIGhlcmUuCglCVUdfT04oIXBhZ2UpOwoKCWZlbmNlcHRyID0ga21hcChwYWdlKSArIChhcmct Pm9mZnNldCAmIH5QQUdFX01BU0spOwoJcmFkZW9uX2JvX3VucmVzZXJ2ZShyb2JqKTsKCgkvLyBE byBub3QgaG9sZCBvYmplY3QKCglyYWRlb25faXJxX2ttc19zd19pcnFfZ2V0KHJkZXYsIHJpbmcp OwoJLy8gRklYTUUgdGltZW91dAoJciA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShyZGV2LT5m ZW5jZV9xdWV1ZSwKCQkJCSAgICAgKCFyb2JqLT50Ym8ucmVzdiB8fAoJCQkJICAgICAgKmZlbmNl cHRyID49IGFyZ3MtPmZlbmNlIHx8CgkJCQkgICAgICAgcmRldi0+bmVlZHNfcmVzZXQpKTsKCXJh ZGVvbl9pcnFfa21zX3N3X2lycV9wdXQocmRldiwgcmluZyk7CgoJcmFkZW9uX2JvX3Jlc2VydmUo cmJvLCBmYWxzZSk7CglpZiAoKmZlbmNlcHRyID49IGFyZ3MtPmZlbmNlICYmCgkgICAgcGFnZSA9 PSB0dG1fZ2V0X3BhZ2VfYXQoJnJiby0+dGJvLCBhcmdzLT5vZmZzZXQpKSB7CgkJcmFkZW9uX2Jv X3VucmVzZXJ2ZShyb2JqKTsKCQlrdW5tYXAocGFnZSk7CgkJLyogc3VjY2VzcyB0aGUgdXNlciBm ZW5jZSBzaWduYWxlZC4gKi8KCQlyZXR1cm4gMDsKCX0KCXJhZGVvbl9ib191bnJlc2VydmUocm9i aik7CglrdW5tYXAocGFnZSk7CgoJLyogRmVuY2UgaXMgbm90IHNpZ25hbGVkIGFuZCBlaXRoZXIg Ym8gbm8gbG9uZ2VyIGhhdmUgcGVuZGluZwoJICogd29yayBvciB3ZSB0aW1lZG91dCBvciBncHUg bmVlZCByZXNldC4KCSAqLwoJcmV0dXJuIC1FQUdBSU47Cn0KCgpUaGUgcG9pbnQgaGVyZSBpcyB0 aGF0IGl0J3Mgb2sgdG8gbWFwIHRoZSBwYWdlIGluIHRoZSBmaXJzdCBwbGFjZSBoYXMKb2JqZWN0 IGlzIHN0aWxsIGluIHVzZS4gQnV0IHRoZW4gZXZlbiBpZiBvYmplY3QgaXMgc3dhcGVkIG91dCBp dCBpcwpvayB0byBrZWVwIHRoYXQgcGFnZSBtYXBwZWQsIHdvcnN0IGNhc2Ugd2UgYXJlIGp1c3Qg YWNjZXNzaW5nIGEgcGFnZQp1c2UgYnkgc29tZW9uZSBlbHNlIGJ1dCB3ZSBhcmUganVzdCByZWFk aW5nLgoKVGhhdCBpcyB3aHkgd2UgaGF2ZSB0byBjaGVjayBhZ2FpbiBhZnRlciB0aGUgd2FpdCB0 aGF0IHdlIGFyZSBzdGlsbApyZWFkaW5nIGZyb20gdGhlIHJpZ2h0IHBhZ2UgdG8ga25vdyBmb3Jl IHN1cmUgaWYgdGhpcyBpcyBhY3R1YWxseSB0aGUKZmVuY2UgdmFsdWUgd2UgYXJlIGxvb2tpbmcg YXQgb3IganVzdCBzb21lIHJhbmRvbSBwYWdlLgoKVGhhdCB3YXkgYmVjYXVzZSB3ZSBkbyBub3Qg aGF2ZSBhbnl0aGluZyBvbiB0aGUgb2JqZWN0IHdoaWxlIHdhaXRpbmcKd2UgYXJlIG5vdCBibG9j a2luZyBhbnl0aGluZyB0byBoYXBwZW4uIFRoZSBvYmplY3QgY2FuIGJlIHN3YXBwZWQgb3V0CmFu ZCB0aHVzIHRoZXJlIGlzIG5vIHdheSBmb3IgdXNlcnNwYWNlIHRvIGFidXNlIHRoaXMgaW9jdGwu CgpUaGUgbmV3IEdUVCBvbmx5IHByb3BlcnR5IG9ubHkgZW5zdXJlIHVzIHRoYXQgdHRtX2dldF9w YWdlX2F0KCkgd2lsbAphY3R1YWxseSBiZSBzdWNjZXNzZnVsbCBpZiB0aGUgb2JqZWN0IGlzIGFj dGl2ZS4gSWYgdGhlIG9iamVjdCBpcwpzd2FwcGVkIG91dCB0aGVuIHR0bV9nZXRfcGFnZV9hdCgp IHJldHVybiBOVUxMLiBCdXQgaW4gdGhlIGZpcnN0IHBhcnQKb2YgdGhlIGlvY3RsIGFzIHdlIGNo ZWNrZWQgdGhhdCB0aGUgb2JqZWN0IGlzIHN0aWxsIGFjdGl2ZSB3ZSBrbm93Cml0IGNhbiBub3Qg YmUgc3dhcHBlZCBvdXQgc28gdHRtX2dldF9wYWdlX2F0KCkgbXVzdCByZXR1cm4gYSBwcm9wZXIK cGFnZS4KCkNoZWVycywKSsOpcsO0bWUKCj4gCj4gWWVhaCwgdGhhdCBhY3R1YWxseSBzaG91bGQg d29yay4KPiAKPiBUaGFua3MgZm9yIHRoZSB0aXAsCj4gQ2hyaXN0aWFuLgo+IAo+ID4KPiA+SSBu ZWVkIHRvIGxvb2sgYXQgdHRtIGttYXAgY29kZSB0byBzZWUgaWYgaXQgaXMgYWN0dWFsbHkgdXNl YWJsZSB3aXRob3V0Cj4gPmRpc3J1cHRpbmcgdGhlIHNocmlua2VyLiBXaWxsIGRvIHRoYXQgYWZ0 ZXIgbHVuY2guCj4gPgo+ID5DaGVlcnMsCj4gPkrDqXLDtG1lCj4gPgo+ID4+VGhhbmtzIGZvciB0 aGUgaWRlYXMsCj4gPj5DaHJpc3RpYW4uCj4gPj4KPiA+Pj5DaGVlcnMsCj4gPj4+SsOpcsO0bWUK PiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK