From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC PATCH] drm: split up drm_ioctl to allow drivers to hook into "core" functions Date: Tue, 9 Jan 2018 10:04:21 +0100 Message-ID: <20180109090421.GC26573@phenom.ffwll.local> References: <20171231181509.4429-1-imirkin@alum.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5416C6E0B9 for ; Tue, 9 Jan 2018 09:04:25 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id i186so2585609wmi.4 for ; Tue, 09 Jan 2018 01:04:25 -0800 (PST) Content-Disposition: inline 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: Ilia Mirkin Cc: Dave Airlie , Ben Skeggs , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBEZWMgMzEsIDIwMTcgYXQgMDE6NDA6NDZQTSAtMDUwMCwgSWxpYSBNaXJraW4gd3Jv dGU6Cj4gT24gU3VuLCBEZWMgMzEsIDIwMTcgYXQgMToxNSBQTSwgSWxpYSBNaXJraW4gPGltaXJr aW5AYWx1bS5taXQuZWR1PiB3cm90ZToKPiA+IEN1cnJlbnRseSB0aGVyZSdzIG5vIHdheSB0byBh bGxvdyBhIGRyaXZlciB0byByZWltcGxlbWVudCBhbnkgaW9jdGxzCj4gPiBmcm9tIHRoZSBkcm0g Y29yZS4gVGhpcyBjYW4gYmUgZGVzaXJhYmxlIHRvLCBlLmcuLCBvdmVycmlkZSBmaXhlZCBmb3Jt YXQKPiA+IHNlbGVjdGlvbiBsb2dpYywgd2l0aG91dCB0dXJuaW5nIHRvIGEgbWlkbGF5ZXItbGlr ZSBzb2x1dGlvbi4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBJbGlhIE1pcmtpbiA8aW1pcmtpbkBh bHVtLm1pdC5lZHU+Cj4gPiAtLS0KPiA+Cj4gPiBJIHdhbnQgZHJtX21vZGVfYWRkZmIgdG8gcGlj ayBhIGRpZmZlcmVudCBmb3JtYXQgZm9yIGRlcHRoPTMwIHRoYW4gdGhlCj4gPiBvbmUgaXQgY3Vy cmVudGx5IHNlbGVjdHMuIEZsaXBwaW5nIGl0IGZvciBhbGwgZHJpdmVycyB3b3VsZCBicmVhayBh Cj4gPiBidW5jaCBvZiBleGlzdGluZyBvbmVzLCBzbyB0aGlzIGVuYWJsZXMgYSBkcml2ZXIgdG8g dGFrZSBjb250cm9sLgo+ID4KPiA+IEFsdGVybmF0aXZlbHkgSSBjYW4gc3Rhc2ggc29tZXRoaW5n IGludG8gZHJtX2RldmljZSB3aGljaCBzcGVjaWZpZXMgdGhlCj4gPiBwcmVmZXJyZWQgZGVwdGg9 MzAgZmIgZm9ybWF0LiBIb3dldmVyIGZyb20gbXkgY3Vyc29yeSBvYnNlcnZhdGlvbnMgb2YKPiA+ IGRyaS1kZXZlbCBkaXNjdXNzaW9ucywgbWlkbGF5ZXJpbmcgaXMgc2VlbiBhcyBhIHByb2JsZW0g YW5kIG5vdCBhCj4gPiBzb2x1dGlvbi4KPiAKPiBVZ2gsIG9mIGNvdXJzZSB0aGlzIGlzIHR1cm5p bmcgaW50byBhIGRpc2FzdGVyIGFzIHdlbGwuCj4gZHJtX21vZGVfYWRkZmIyIGlzbid0IGV4cG9y dGVkLCBzbyBJIGhhdmUgdG8gY29weSBhbGwgdGhlCj4gZnVuY3Rpb25hbGl0eSBpbnRvIG5vdXZl YXUsIG9yIG1vdmUgaXQgdG8gZHJtX2ttc19oZWxwZXIgb3Igd2hhdGV2ZXIuCj4gVGhlIGZsYWcg aW4gZHJtX2RldmljZSBhcHByb2FjaCBpcyBzb3VuZGluZyBhIGxvdCBtb3JlIHBhbGF0YWJsZS4g TGV0Cj4gbWUga25vdyB3aGF0IHRoZSBiZXN0IHdheSB0byBwcm9jZWVkIGlzLgo+IAo+IFRoaXMg aXMgYWxsIHRvIGZpeCBhIHJlZ3Jlc3Npb24sIGJ0dywgc2luY2UgcHJldmlvdXMgdG8gbm91dmVh dQo+IGJlY29taW5nIGF0b21pYyB0aGlzIGFsbCB3b3JrZWQgZmluZSAtLSBpdCBqdXN0IGxvb2tl ZCBhdCB0aGUKPiAzMGJwcCduZXNzIG9mIHRoZSBmYiBhbmQgYXNzdW1lZC4gTm93IGl0IGFjdHVh bGx5IGNhcmVzIGFib3V0IHNwZWNpZmljCj4gZm9ybWF0cywgYW5kIHdlIHJ1biBpbnRvIGFsbCB0 aGVzZSBwcm9ibGVtcy4KCkNhbiB5b3UganVzdCBzdWJtaXQgdGhlIGhhY2sgdG8gdGhlIGNvcmUg YWRkZmIgY29kZSBzbyB3ZSBrbm93IHdoYXQKZXhhY3RseSBnb2VzIHdyb25nPyBPdmVyd3JpdGlu ZyBjb3JlIGlvY3RscyBpcyBpbW8gbm90IGNvb2wgYXQgYWxsIDotKQotRGFuaWVsCgoKPiAKPiA+ Cj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jIHwgMzYgKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2lvY3RsLmggICAgIHwgIDIg KysKPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygt KQo+ID4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiA+IGluZGV4IDRhYWZlNDgwMjA5OS4uNjk4ZDY5YzZk YjBhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9pb2N0bC5jCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMKPiA+IEBAIC03NjcsMTIgKzc2Nyw3IEBAIGxv bmcgZHJtX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLAo+ID4gICAgICAgICBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdiA9IGZpbHAtPnByaXZhdGVfZGF0YTsKPiA+ICAgICAgICAgc3RydWN0IGRy bV9kZXZpY2UgKmRldjsKPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjICpp b2N0bCA9IE5VTEw7Cj4gPiAtICAgICAgIGRybV9pb2N0bF90ICpmdW5jOwo+ID4gICAgICAgICB1 bnNpZ25lZCBpbnQgbnIgPSBEUk1fSU9DVExfTlIoY21kKTsKPiA+IC0gICAgICAgaW50IHJldGNv ZGUgPSAtRUlOVkFMOwo+ID4gLSAgICAgICBjaGFyIHN0YWNrX2tkYXRhWzEyOF07Cj4gPiAtICAg ICAgIGNoYXIgKmtkYXRhID0gTlVMTDsKPiA+IC0gICAgICAgdW5zaWduZWQgaW50IGluX3NpemUs IG91dF9zaXplLCBkcnZfc2l6ZSwga3NpemU7Cj4gPiAgICAgICAgIGJvb2wgaXNfZHJpdmVyX2lv Y3RsOwo+ID4KPiA+ICAgICAgICAgZGV2ID0gZmlsZV9wcml2LT5taW5vci0+ZGV2Owo+ID4gQEAg LTc4NCwxNiArNzc5LDMzIEBAIGxvbmcgZHJtX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxwLAo+ID4K PiA+ICAgICAgICAgaWYgKGlzX2RyaXZlcl9pb2N0bCkgewo+ID4gICAgICAgICAgICAgICAgIC8q IGRyaXZlciBpb2N0bCAqLwo+ID4gLSAgICAgICAgICAgICAgIGlmIChuciAtIERSTV9DT01NQU5E X0JBU0UgPj0gZGV2LT5kcml2ZXItPm51bV9pb2N0bHMpCj4gPiAtICAgICAgICAgICAgICAgICAg ICAgICBnb3RvIGVycl9pMTsKPiA+IC0gICAgICAgICAgICAgICBpb2N0bCA9ICZkZXYtPmRyaXZl ci0+aW9jdGxzW25yIC0gRFJNX0NPTU1BTkRfQkFTRV07Cj4gPiArICAgICAgICAgICAgICAgaWYg KG5yIC0gRFJNX0NPTU1BTkRfQkFTRSA8IGRldi0+ZHJpdmVyLT5udW1faW9jdGxzKQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgaW9jdGwgPSAmZGV2LT5kcml2ZXItPmlvY3Rsc1tuciAtIERS TV9DT01NQU5EX0JBU0VdOwo+ID4gICAgICAgICB9IGVsc2Ugewo+ID4gICAgICAgICAgICAgICAg IC8qIGNvcmUgaW9jdGwgKi8KPiA+IC0gICAgICAgICAgICAgICBpZiAobnIgPj0gRFJNX0NPUkVf SU9DVExfQ09VTlQpCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9pMTsKPiA+ IC0gICAgICAgICAgICAgICBpb2N0bCA9ICZkcm1faW9jdGxzW25yXTsKPiA+ICsgICAgICAgICAg ICAgICBpZiAobnIgPCBEUk1fQ09SRV9JT0NUTF9DT1VOVCkKPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgIGlvY3RsID0gJmRybV9pb2N0bHNbbnJdOwo+ID4gICAgICAgICB9Cj4gPgo+ID4gKyAg ICAgICByZXR1cm4gX19kcm1faW9jdGwoZmlscCwgY21kLCBhcmcsIGlvY3RsKTsKPiA+ICt9Cj4g PiArRVhQT1JUX1NZTUJPTChkcm1faW9jdGwpOwo+ID4gKwo+ID4gK2xvbmcgX19kcm1faW9jdGwo c3RydWN0IGZpbGUgKmZpbHAsCj4gPiArICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjbWQs IHVuc2lnbmVkIGxvbmcgYXJnLAo+ID4gKyAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZHJt X2lvY3RsX2Rlc2MgKmlvY3RsKQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0IGRybV9maWxlICpm aWxlX3ByaXYgPSBmaWxwLT5wcml2YXRlX2RhdGE7Cj4gPiArICAgICAgIGRybV9pb2N0bF90ICpm dW5jOwo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgbnIgPSBEUk1fSU9DVExfTlIoY21kKTsKPiA+ ICsgICAgICAgaW50IHJldGNvZGUgPSAtRUlOVkFMOwo+ID4gKyAgICAgICBjaGFyIHN0YWNrX2tk YXRhWzEyOF07Cj4gPiArICAgICAgIGNoYXIgKmtkYXRhID0gTlVMTDsKPiA+ICsgICAgICAgdW5z aWduZWQgaW50IGluX3NpemUsIG91dF9zaXplLCBkcnZfc2l6ZSwga3NpemU7Cj4gPiArCj4gPiAr ICAgICAgIGlmICghaW9jdGwpCj4gPiArICAgICAgICAgICAgICAgZ290byBlcnJfaTE7Cj4gPiAr Cj4gPiAgICAgICAgIGRydl9zaXplID0gX0lPQ19TSVpFKGlvY3RsLT5jbWQpOwo+ID4gICAgICAg ICBvdXRfc2l6ZSA9IGluX3NpemUgPSBfSU9DX1NJWkUoY21kKTsKPiA+ICAgICAgICAgaWYgKChj bWQgJiBpb2N0bC0+Y21kICYgSU9DX0lOKSA9PSAwKQo+ID4gQEAgLTg1MSw3ICs4NjMsNyBAQCBs b25nIGRybV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlscCwKPiA+ICAgICAgICAgICAgICAgICBEUk1f REVCVUcoInJldCA9ICVkXG4iLCByZXRjb2RlKTsKPiA+ICAgICAgICAgcmV0dXJuIHJldGNvZGU7 Cj4gPiAgfQo+ID4gLUVYUE9SVF9TWU1CT0woZHJtX2lvY3RsKTsKPiA+ICtFWFBPUlRfU1lNQk9M KF9fZHJtX2lvY3RsKTsKPiA+Cj4gPiAgLyoqCj4gPiAgICogZHJtX2lvY3RsX2ZsYWdzIC0gQ2hl Y2sgZm9yIGNvcmUgaW9jdGwgYW5kIHJldHVybiBpb2N0bCBwZXJtaXNzaW9uIGZsYWdzCj4gPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2lvY3RsLmggYi9pbmNsdWRlL2RybS9kcm1faW9j dGwuaAo+ID4gaW5kZXggYWRkNDI4MDk2NDJhLi5lMDhmOGVhNjZmMmEgMTAwNjQ0Cj4gPiAtLS0g YS9pbmNsdWRlL2RybS9kcm1faW9jdGwuaAo+ID4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2lvY3Rs LmgKPiA+IEBAIC0xNzIsNiArMTcyLDggQEAgc3RydWN0IGRybV9pb2N0bF9kZXNjIHsKPiA+Cj4g PiAgaW50IGRybV9pb2N0bF9wZXJtaXQodTMyIGZsYWdzLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdik7Cj4gPiAgbG9uZyBkcm1faW9jdGwoc3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGlu dCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsKPiA+ICtsb25nIF9fZHJtX2lvY3RsKHN0cnVjdCBm aWxlICpmaWxwLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZywKPiA+ICsgICAg ICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9kZXNjICppb2N0bCk7Cj4gPiAgbG9u ZyBkcm1faW9jdGxfa2VybmVsKHN0cnVjdCBmaWxlICosIGRybV9pb2N0bF90LCB2b2lkICosIHUz Mik7Cj4gPiAgI2lmZGVmIENPTkZJR19DT01QQVQKPiA+ICBsb25nIGRybV9jb21wYXRfaW9jdGwo c3RydWN0IGZpbGUgKmZpbHAsIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsK PiA+IC0tCj4gPiAyLjEzLjYKPiA+Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVsCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==