From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC v4 19/25] drm/client: Finish the in-kernel client API Date: Tue, 17 Apr 2018 10:08:03 +0200 Message-ID: <20180417080803.GV31310@phenom.ffwll.local> References: <20180414115318.14500-1-noralf@tronnes.org> <20180414115318.14500-20-noralf@tronnes.org> <20180416082715.GK31310@phenom.ffwll.local> <0991825b-4715-85c6-41db-cc1872683f1b@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <0991825b-4715-85c6-41db-cc1872683f1b@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBBcHIgMTYsIDIwMTggYXQgMDU6NTg6MjNQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IAo+IERlbiAxNi4wNC4yMDE4IDEwLjI3LCBza3JldiBEYW5pZWwgVmV0dGVyOgo+ ID4gT24gU2F0LCBBcHIgMTQsIDIwMTggYXQgMDE6NTM6MTJQTSArMDIwMCwgTm9yYWxmIFRyw7hu bmVzIHdyb3RlOgo+ID4gPiBUaGUgbW9kZXNldHRpbmcgY29kZSBpcyBhbHJlYWR5IHByZXNlbnQs IHRoaXMgYWRkcyB0aGUgcmVzdCBvZiB0aGUgQVBJLgo+ID4gTWVudGlvbmluZyB0aGUgVE9ETyBp biB0aGUgY29tbWl0IG1lc3NhZ2Ugd291bGQgYmUgZ29vZC4gSGVscHMgcmVhZGVycwo+ID4gbGlr ZSBtZSB3aG8gaGF2ZSBhbiBhdHRlbnRpb24gc3BhbiBtZWFzdXJlZCBpbiBzZWNvbmRzIDotKQo+ ID4gCj4gPiBKdXN0IGNvbW1lbnRpbmcgb24gdGhlIGNyZWF0ZV9idWZmZXIgbGVhayBoZXJlCj4g PiAKPiA+ID4gK3N0YXRpYyBzdHJ1Y3QgZHJtX2NsaWVudF9idWZmZXIgKgo+ID4gPiArZHJtX2Ns aWVudF9idWZmZXJfY3JlYXRlKHN0cnVjdCBkcm1fY2xpZW50X2RldiAqY2xpZW50LCB1MzIgd2lk dGgsIHUzMiBoZWlnaHQsIHUzMiBmb3JtYXQpCj4gPiA+ICt7Cj4gPiA+ICsJc3RydWN0IGRybV9t b2RlX2NyZWF0ZV9kdW1iIGR1bWJfYXJncyA9IHsgfTsKPiA+ID4gKwlzdHJ1Y3QgZHJtX3ByaW1l X2hhbmRsZSBwcmltZV9hcmdzID0geyB9Owo+ID4gPiArCXN0cnVjdCBkcm1fY2xpZW50X2J1ZmZl ciAqYnVmZmVyOwo+ID4gPiArCXN0cnVjdCBkbWFfYnVmICpkbWFfYnVmOwo+ID4gPiArCXZvaWQg KnZhZGRyOwo+ID4gPiArCWludCByZXQ7Cj4gPiA+ICsKPiA+ID4gKwlidWZmZXIgPSBremFsbG9j KHNpemVvZigqYnVmZmVyKSwgR0ZQX0tFUk5FTCk7Cj4gPiA+ICsJaWYgKCFidWZmZXIpCj4gPiA+ ICsJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwo+ID4gPiArCj4gPiA+ICsJYnVmZmVyLT5jbGll bnQgPSBjbGllbnQ7Cj4gPiA+ICsJYnVmZmVyLT53aWR0aCA9IHdpZHRoOwo+ID4gPiArCWJ1ZmZl ci0+aGVpZ2h0ID0gaGVpZ2h0Owo+ID4gPiArCWJ1ZmZlci0+Zm9ybWF0ID0gZm9ybWF0Owo+ID4g PiArCj4gPiA+ICsJZHVtYl9hcmdzLndpZHRoID0gYnVmZmVyLT53aWR0aDsKPiA+ID4gKwlkdW1i X2FyZ3MuaGVpZ2h0ID0gYnVmZmVyLT5oZWlnaHQ7Cj4gPiA+ICsJZHVtYl9hcmdzLmJwcCA9IGRy bV9mb3JtYXRfcGxhbmVfY3BwKGZvcm1hdCwgMCkgKiA4Owo+ID4gPiArCXJldCA9IGRybV9tb2Rl X2NyZWF0ZV9kdW1iKGNsaWVudC0+ZGV2LCAmZHVtYl9hcmdzLCBjbGllbnQtPmZpbGUpOwo+ID4g PiArCWlmIChyZXQpCj4gPiA+ICsJCWdvdG8gZXJyX2ZyZWU7Cj4gPiA+ICsKPiA+ID4gKwlidWZm ZXItPmhhbmRsZSA9IGR1bWJfYXJncy5oYW5kbGU7Cj4gPiA+ICsJYnVmZmVyLT5waXRjaCA9IGR1 bWJfYXJncy5waXRjaDsKPiA+ID4gKwlidWZmZXItPnNpemUgPSBkdW1iX2FyZ3Muc2l6ZTsKPiA+ ID4gKwo+ID4gPiArCXByaW1lX2FyZ3MuaGFuZGxlID0gZHVtYl9hcmdzLmhhbmRsZTsKPiA+ID4g KwlyZXQgPSBkcm1fcHJpbWVfaGFuZGxlX3RvX2ZkKGNsaWVudC0+ZGV2LCAmcHJpbWVfYXJncywg Y2xpZW50LT5maWxlKTsKPiA+ID4gKwlpZiAocmV0KQo+ID4gPiArCQlnb3RvIGVycl9kZWxldGU7 Cj4gPiA+ICsKPiA+ID4gKwlkbWFfYnVmID0gZG1hX2J1Zl9nZXQocHJpbWVfYXJncy5mZCk7Cj4g PiA+ICsJaWYgKElTX0VSUihkbWFfYnVmKSkgewo+ID4gPiArCQlyZXQgPSBQVFJfRVJSKGRtYV9i dWYpOwo+ID4gPiArCQlnb3RvIGVycl9kZWxldGU7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJ LyoKPiA+ID4gKwkgKiBJZiBjYWxsZWQgZnJvbSBhIHdvcmtlciB0aGUgZG1hYnVmIGZkIGlzbid0 IGNsb3NlZCBhbmQgdGhlIHJlZgo+ID4gPiArCSAqIGRvZXNuJ3QgZHJvcCB0byB6ZXJvIG9uIGZy ZWUuCj4gPiA+ICsJICogSWYgSSB1c2UgX19jbG9zZV9mZCgpIGl0J3MgYWxsIGZpbmUsIGJ1dCB0 aGF0IGZ1bmN0aW9uIGlzIG5vdCBleHBvcnRlZC4KPiA+ID4gKwkgKgo+ID4gPiArCSAqIEhvdyBk byBJIGdldCByaWQgb2YgdGhpcyBmZCB3aGVuIGluIGEgd29ya2VyL2tlcm5lbCB0aHJlYWQ/Cj4g PiA+ICsJICogVGhlIGZkIGlzbid0IHVzZWQgYmV5b25kIHRoaXMgZnVuY3Rpb24uCj4gPiA+ICsJ ICovCj4gPiA+ICsvLwlXQVJOX09OKF9fY2xvc2VfZmQoY3VycmVudC0+ZmlsZXMsIHByaW1lX2Fy Z3MuZmQpKTsKPiA+IEhtLCB0aGlzIGlzbid0IDEwMCUgd2hhdCBJIGhhZCBpbiBtaW5kIGFzIHRo ZSBzZXF1ZW5jZSBmb3IgZ2VuZXJpYyBidWZmZXIKPiA+IGNyZWF0aW9uLiBQc2V1ZG8tY29kZToK PiA+IAo+ID4gCXJldCA9IGRybV9tb2RlX2NyZWF0ZV9kdW1iKGNsaWVudC0+ZGV2LCAmZHVtYl9h cmdzLCBjbGllbnQtPmZpbGUpOwo+ID4gCWlmIChyZXQpCj4gPiAJCWdvdG8gZXJyX2ZyZWU7Cj4g PiAJCj4gPiAJZ2VtX2JvID0gZHJtX2dlbV9vYmplY3RfbG9va3VwKGNsaWVudC0+ZmlsZSwgZHVt Yl9hcmdzLmhhbmRsZSk7Cj4gPiAKPiA+IGdpdmVzIHlvdSBfcmVhbGx5XyBkaXJlY3RseSB0aGUg dW5kZXJseWluZyBnZW1fYm8uIE9mIGNvdXJzZSB0aGlzIGRvZXNuJ3QKPiA+IHdvcmsgZm9yIG5v bi1nZW0gYmFzZWQgZHJpdmVyLCBidXQgcmVhbGl0eSBpcyB0aGF0IChhbG1vc3QpIGFsbCBvZiB0 aGVtCj4gPiBhcmUuIEFuZCB3ZSB3aWxsIG5vdCBhY2NlcHQgYW55IG5ldyBkcml2ZXJzIHdoaWNo IGFyZW4ndCBnZW0gYmFzZWQuIFNvCj4gPiBpZ25vcmluZyB2bXdnZnggZm9yIHRoaXMgZHJtX2Ns aWVudCB3b3JrIGlzIGltbyBwZXJmZWN0bHkgZmluZS4gV2Ugc2hvdWxkCj4gPiBvZmMga2VlcCB0 aGUgb3B0aW9uIGluIHRoZSBmYiBoZWxwZXJzIHRvIHVzZSBub24tZ2VtIGJ1ZmZlcnMgKHNvIHRo YXQKPiA+IHZtd2dmeCBjb3VsZCBzd2l0Y2ggb3ZlciBmcm9tIHRoZWlyIG93biBpbi1kcml2ZXIg ZmJkZXYgaGVscGVycykuIEFsbCB3ZQo+ID4gbmVlZCBmb3IgdGhhdCBpcyB0byBrZWVwIHRoZSBm Yl9wcm9iZSBjYWxsYmFjay4KPiA+IAo+ID4gV2FzIHRoZXJlIGFueSBvdGhlciByZWFzb24gdGhh biB2bXdnZnggZm9yIHVzaW5nIHByaW1lIGJ1ZmZlcnMgaW5zdGVhZCBvZgo+ID4ganVzdCBkaXJl Y3RseSB1c2luZyBnZW0/Cj4gCj4gVGhlIHJlYXNvbiBmb3IgdXNpbmcgYSBwcmltZSBidWZmZXIg aXMgdGhhdCBpdCBnaXZlcyBtZSBlYXN5IGFjY2VzcyB0byBhCj4gZG1hX2J1ZiB3aGljaCBJIHVz ZSB0byBnZXQgdGhlIHZpcnR1YWwgYWRkcmVzcyAoZG1hX2J1Zl92bWFwKSBhbmQgZm9yCj4gbW1h cCAoZG1hX2J1Zl9tbWFwKS4KCkFoIHllcywgSSBtaXNzZWQgdGhhdC4KCldydCBtbWFwLCBub3Qg c3VyZSB3ZSBzaG91bGQgdXNlIHRoZSBkbWEtYnVmIG1tYXAgb3IgdGhlIGR1bWIgbW1hcC4gSQpn dWVzcyBpbiB0aGUgZW5kIGl0IHdvbnQgbWF0dGVyIG11Y2ggcmVhbGx5LgoKPiAKPiBXb3VsZCB0 aGlzIHN0cmlwcGVkIGRvd24gdmVyc2lvbiBvZiBkcm1fZ2VtX3ByaW1lX2hhbmRsZV90b19mZCgp IHdvcms/Cj4gCj4gc3RydWN0IGRtYV9idWYgKmRybV9nZW1fdG9fZG1hYnVmKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqKQo+IHsKPiDCoMKgwqAgc3RydWN0IGRtYV9idWYgKmRtYWJ1ZjsKPiAK PiDCoMKgwqAgbXV0ZXhfbG9jaygmb2JqLT5kZXYtPm9iamVjdF9uYW1lX2xvY2spOwo+IMKgwqDC oCAvKiByZS1leHBvcnQgdGhlIG9yaWdpbmFsIGltcG9ydGVkIG9iamVjdCAqLwo+IMKgwqDCoCBp ZiAob2JqLT5pbXBvcnRfYXR0YWNoKSB7Cj4gwqDCoMKgIMKgwqDCoCBkbWFidWYgPSBvYmotPmlt cG9ydF9hdHRhY2gtPmRtYWJ1ZjsKPiDCoMKgwqAgwqDCoMKgIGdldF9kbWFfYnVmKGRtYWJ1Zik7 Cj4gwqDCoMKgIMKgwqDCoCBnb3RvIG91dDsKPiDCoMKgwqAgfQo+IAo+IMKgwqDCoCBpZiAob2Jq LT5kbWFfYnVmKSB7Cj4gwqDCoMKgIMKgwqDCoCBkbWFidWYgPSBvYmotPmRtYV9idWY7Cj4gwqDC oMKgIMKgwqDCoCBnZXRfZG1hX2J1ZihkbWFidWYpOwo+IMKgwqDCoCDCoMKgwqAgZ290byBvdXQ7 Cj4gwqDCoMKgIH0KPiAKPiDCoMKgwqAgZG1hYnVmID0gZXhwb3J0X2FuZF9yZWdpc3Rlcl9vYmpl Y3Qob2JqLT5kZXYsIG9iaiwgMCk7Cj4gb3V0Ogo+IMKgwqDCoCBtdXRleF91bmxvY2soJm9iai0+ ZGV2LT5vYmplY3RfbmFtZV9sb2NrKTsKPiAKPiDCoMKgwqAgcmV0dXJuIGRtYWJ1ZjsKPiB9Cj4g Cj4gTm93IEkgY291bGQgZG8gdGhpczoKPiAKPiDCoMKgwqAgcmV0ID0gZHJtX21vZGVfY3JlYXRl X2R1bWIoZGV2LCAmZHVtYl9hcmdzLCBmaWxlKTsKPiAKPiDCoMKgwqAgb2JqID0gZHJtX2dlbV9v YmplY3RfbG9va3VwKGZpbGUsIGR1bWJfYXJncy5oYW5kbGUpOwo+IAo+IMKgwqDCoCBkbWFidWYg PSBkcm1fZ2VtX3RvX2RtYWJ1ZihvYmopOwo+IAo+IMKgwqDCoCB2YWRkciA9IGRtYV9idWZfdm1h cChkbWFidWYpOwoKTmFoLCBpZiB3ZSBuZWVkIHRoZSBkbWEtYnVmIGFueXdheSwgSSdkIHRyeSB0 byBnbyBkaXJlY3RseSBmcm9tIHRoZSBoYW5kbGUKdG8gdGhlIGRtYS1idWYuIFNvIHJvdWdobHk6 CgoJcmV0ID0gZHJtX21vZGVfY3JlYXRlX2R1bWIoZGV2LCAmZHVtYl9hcmdzLCBmaWxlKTsKCQoJ ZG1hX2J1ZiA9IGRybV9nZW1fcHJpbWVfaGFuZGxlX3RvX2RtYWJ1ZihmaWxlLCBkdW1iX2FyZ3Mu aGFuZGxlKTsKClNlZSBteSByZXBseSB0byB0aGUgaW9jdGwgd3JhcHBlciBwYXRjaCBmb3IgZGV0 YWlscy4KLURhbmllbAotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwg Q29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==