From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [RFC] drm/dp: move hw_mutex up the call stack Date: Wed, 9 Dec 2015 18:25:55 +0200 Message-ID: <20151209162555.GI4437@intel.com> References: <1445021668-27695-1-git-send-email-robdclark@gmail.com> <87vb87vcvk.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6FA7D6E103 for ; Wed, 9 Dec 2015 08:26:19 -0800 (PST) Content-Disposition: inline In-Reply-To: <87vb87vcvk.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jani Nikula Cc: "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gV2VkLCBEZWMgMDksIDIwMTUgYXQgMDU6NTE6NDNQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gV2VkLCAwOSBEZWMgMjAxNSwgUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29t PiB3cm90ZToKPiA+IE9uIEZyaSwgT2N0IDE2LCAyMDE1IGF0IDI6NTQgUE0sIFJvYiBDbGFyayA8 cm9iZGNsYXJrQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPj4gMSkgZG9uJ3QgbGV0IG90aGVyIHRocmVh ZHMgdHJ5aW5nIHRvIGJhbmcgb24gYXV4IGNoYW5uZWwgaW50ZXJydXB0IHRoZQo+ID4+IGRlZmVy IHRpbWVvdXQvbG9naWMKPiA+PiAyKSBkb24ndCBsZXQgb3RoZXIgdGhyZWFkcyBpbnRlcnJ1cHQg dGhlIGkyYyBvdmVyIGF1eCBsb2dpYwo+ID4+Cj4gPj4gLS0tCj4gPj4gVGhpcyB3YXNuJ3QgYWN0 dWFsbHkgZml4aW5nIHRoaW5ncyB3LyBwcm9ibGVtYXRpYyBtb25pdG9yLCBidXQgc2VlbXMKPiA+ PiBsaWtlIGdlbmVyYWxseSBhIGdvb2QgaWRlYS4gIEF0IGxlYXN0IEFGQUlVIHlvdSBzaG91bGRu J3QgYWxsb3cgdGhlCj4gPj4gc2VxdWVuY2Ugb2YgdHJhbnNmZXJzIGZvciBpMmMgb3ZlciBhdXgg YmUgaW50ZXJydXB0ZWQgYnV0IHVucmVsYXRlZAo+ID4+IGNoYXR0ZXIuCj4gPgo+ID4gU28sIEkg Z290IGNvbmZpcm1hdGlvbiB0b2RheSB0aGF0IHRoaXMgcGF0Y2ggYWN0dWFsbHkgZG9lcyBmaXgg dGhpbmdzCj4gPiB3LyBhIGRpZmZlcmVudCBwcm9ibGVtYXRpYyBEZWxsIG1vbml0b3IuICBTbyBJ IHRoaW5rIGl0IGFjdHVhbGx5IGlzCj4gPiB0aGUgcmlnaHQgdGhpbmcgdG8gZG8uCj4gCj4gTG9v a2luZyBhdCBkcm1fZHBfZHBjZF9hY2Nlc3MgYW5kIGRybV9kcF9pMmNfZG9fbXNnIGl0IHNlZW1z IGNsZWFyIHRvIG1lCj4gdGhhdCBub3QgaG9sZGluZyB0aGUgbXV0ZXggd2lsbCBzY3JldyB1cCB0 aGUgZGVsYXlzIGluIG5hdGl2ZSBhbmQKPiBpMmMtb3Zlci1hdXggZGVmZXIgaGFuZGxpbmcgYnkg bGV0dGluZyBhbm90aGVyIGNhbGxlciBvbiB0aGUgYXV4LgoKV2hhdCBkbyB5b3UgbWVhbj8gVGhl IHJldHJ5IGNvdW50cyBhcmUgb24gdGhlIHN0YWNrLCBzbyBlYWNoIGNhbGxlcgpoYXMgaXRzIG93 bi4gVGhlcmUncyBubyBzcGVjaWZpZWQgZGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIHRoZSBzcGVj LgoKSSB0aGluayB0aGUgRFAgc3BlYyBpcyBwcmV0dHkgY2xlYXIgdGhhdCBBVVggbWVzc2FnZXMg Y2FuIGJlIGludGVybGVhdmVkCmFueSB3aGljaCB3YXkgYnkgdGhlIHBvbGljeSBtYWtlci4gU28g SSBkb24ndCB0aGluayB0aGUgcGF0Y2ggaXMgcmVhbGx5CmNvcnJlY3QgYXMgZmFyIGFzIHRoZSBz cGVjIGdvZXMuIEJ1dCBJIHN1cHBvc2UgaW4gcHJhY3RpY2UgaXQncyBwb3NzaWJsZQp0aGUgc2lu ayBnZXRzIGNvbmZ1c2VkIGJ5IHRoZSBjb25zdGFudCBwaW5nLXBvbmcgYW5kIGluIHRoZSBlbmQg Y2FuJ3QKcmVwbHkgaW4gdGltZS4gRWcuIG1heWJlIGl0IG1pZ2h0IHJlc2V0IHNvbWUgaW50ZXJu YWwgY291bnRlciBvbiBldmVyeQpBVVggcmVxdWVzdCBhbmQgZG9lc24ndCByZXBseSB3aXRoIHN1 Y2Nlc3MgdW50aWwgdGhlIGNvdW50ZXIgaGFzIGNsZWFyZWQsCndoaWNoIGl0IG5ldmVyIGRvZXMg c2luY2UgdGhlIG90aGVyIGd1eSBjYXVzZWQgaXQgdG8gcmVzZXQgYWdhaW4uIE9yCm1heWJlIHRo ZSBzaW5rIGp1c3Qga2VlcHMgb25lIHRyYW5zZmVyIG9wZW4gYXQgYSB0aW1lIGFuZCBrZWVwcyBk ZWZlcnJpbmcKdGhlIG90aGVyIG9uZShzKSB1bnRpbCB0aGUgZmlyc3Qgb25lIGhhcyBmaW5pc2hl ZCwgbWVhbmluZyBvdXIgcmV0cnkKY291bnRzIHdvdWxkIGhhdmUgdG8gYWNjb3VudCBmb3IgdGhl IGZhY3QgdGhhdCB0aGVyZSdzIGFscmVhZHkgc29tZQpvdGhlciBtZXNzYWdlKHMpIHN0aWxsIHBl bmRpbmcuCgpBcyBmYXIgYXMgaTJjIGdvZXMsIEkgdGhpbmsgdGhlcmUgd2UgY2FuJ3QgaW50ZXJt aW5nbGUgaTJjIHRyYW5zYWN0aW9ucyAKZnJvbSBtdWx0aXBsZSBzb3VyY2VzIHNpbmNlIHRoYXQg bWlnaHQgZW5kIHVwIHNpZ25hbGxpbmcgU1RPUHMgb24gdGhlCmkyYyBidXMgd2hlbiBpdCB3YXNu J3QgaW50ZW5kZWQsIG9yIG1heWJlIHRoZSBkYXRhIHdvdWxkIGdldCBtaXhlZCB1cApiZXR3ZWVu IHRoZSB0d28sIGV0Yy4gQXMgZmFyIGFzIHRoZSBBVVggdHJhbnNmZXJzIGdvLCBJIHRoaW5rIG1p eGluZyBpbgpuYXRpdmUgdHJhbnNmZXJzIGJldHdlZW4gdGhlIGkyYy1vdmVyLWF1eCBvbmVzIHNo b3VsZCBiZSBmaW5lLiBUaGV5J3JlCmFsbCBqdXN0IEFVWCB0cmFuc2ZlcnMgc28gdGhlIHNhbWUg cnVsZXMgc2hvdWxkIGFwcGx5IGFzIGZvciBuYXRpdmUgdnMuCm5hdGl2ZS4gQnV0IGFnYWluLCB0 aGUgc2luayBtaWdodCBub3QgbGlrZSBpdCBhbnl3YXkuCgpJIGd1ZXNzIHJlYWwgd29ybGQgd2lu cyBpbiB0aGUgZW5kLCBhbmQgaWYgdGhlIHBhdGNoIGhlbHBzIHdpdGggc3R1ZmYsCndlIHNob3Vs ZCBnbyB3aXRoIGl0LgoKPiAKPiBIb3dldmVyIHRoaXMgaXMgbWlzc2luZyBzb21lIGF1eC0+dHJh bnNmZXIgdG8gYXV4X3RyYW5zZmVyIGFic3RyYWN0aW9uCj4gcHJlcCBwYXRjaDsgaGFzIGl0IGJl ZW4gc2VudCB0byB0aGUgbGlzdD8gV2l0aCB0aGF0IGFkZHJlc3NlZCwgci1iCj4gZm9sbG93cy4K PiAKPiAKPiBCUiwKPiBKYW5pLgo+IAo+IAo+IAo+ID4KPiA+IEJSLAo+ID4gLVIKPiA+Cj4gPj4g VGhpcyBhcHBsaWVzIG9uIHRvcCBvZiB0aGUgRFBDRCBsb2dnaW5nIHBhdGNoLgo+ID4+Cj4gPj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgfCAyNyArKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0KPiA+PiAgMSBmaWxlIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQo+ID4+Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVs cGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jCj4gPj4gaW5kZXggY2NiMWY4 YS4uZTQwOWI1ZiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBl ci5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9oZWxwZXIuYwo+ID4+IEBAIC0x NjMsOCArMTYzLDYgQEAgc3RhdGljIHNzaXplX3QgYXV4X3RyYW5zZmVyKHN0cnVjdCBkcm1fZHBf YXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+ID4+ICB7Cj4gPj4gICAgICAg ICBzc2l6ZV90IHJldDsKPiA+Pgo+ID4+IC0gICAgICAgbXV0ZXhfbG9jaygmYXV4LT5od19tdXRl eCk7Cj4gPj4gLQo+ID4+ICAgICAgICAgRFJNX0RFQlVHX0RQQ0QoIiVzOiByZXE9MHglMDJ4LCBh ZGRyZXNzPTB4JTA1eCwgc2l6ZT0lenVcbiIsIGF1eC0+bmFtZSwKPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgICBtc2ctPnJlcXVlc3QsIG1zZy0+YWRkcmVzcywgbXNnLT5zaXplKTsKPiA+Pgo+ ID4+IEBAIC0xOTYsOCArMTk0LDYgQEAgc3RhdGljIHNzaXplX3QgYXV4X3RyYW5zZmVyKHN0cnVj dCBkcm1fZHBfYXV4ICphdXgsIHN0cnVjdCBkcm1fZHBfYXV4X21zZyAqbXNnKQo+ID4+ICAgICAg ICAgICAgICAgICB9Cj4gPj4gICAgICAgICB9Cj4gPj4KPiA+PiAtICAgICAgIG11dGV4X3VubG9j aygmYXV4LT5od19tdXRleCk7Cj4gPj4gLQo+ID4+ICAgICAgICAgcmV0dXJuIHJldDsKPiA+PiAg fQo+ID4+Cj4gPj4gQEAgLTIyMCw3ICsyMTYsNyBAQCBzdGF0aWMgaW50IGRybV9kcF9kcGNkX2Fj Y2VzcyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCB1OCByZXF1ZXN0LAo+ID4+ICB7Cj4gPj4gICAg ICAgICBzdHJ1Y3QgZHJtX2RwX2F1eF9tc2cgbXNnOwo+ID4+ICAgICAgICAgdW5zaWduZWQgaW50 IHJldHJ5Owo+ID4+IC0gICAgICAgaW50IGVycjsKPiA+PiArICAgICAgIGludCBlcnIgPSAwOwo+ ID4+Cj4gPj4gICAgICAgICBtZW1zZXQoJm1zZywgMCwgc2l6ZW9mKG1zZykpOwo+ID4+ICAgICAg ICAgbXNnLmFkZHJlc3MgPSBvZmZzZXQ7Cj4gPj4gQEAgLTIyOCw2ICsyMjQsOCBAQCBzdGF0aWMg aW50IGRybV9kcF9kcGNkX2FjY2VzcyhzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCB1OCByZXF1ZXN0 LAo+ID4+ICAgICAgICAgbXNnLmJ1ZmZlciA9IGJ1ZmZlcjsKPiA+PiAgICAgICAgIG1zZy5zaXpl ID0gc2l6ZTsKPiA+Pgo+ID4+ICsgICAgICAgbXV0ZXhfbG9jaygmYXV4LT5od19tdXRleCk7Cj4g Pj4gKwo+ID4+ICAgICAgICAgLyoKPiA+PiAgICAgICAgICAqIFRoZSBzcGVjaWZpY2F0aW9uIGRv ZXNuJ3QgZ2l2ZSBhbnkgcmVjb21tZW5kYXRpb24gb24gaG93IG9mdGVuIHRvCj4gPj4gICAgICAg ICAgKiByZXRyeSBuYXRpdmUgdHJhbnNhY3Rpb25zLiBXZSB1c2VkIHRvIHJldHJ5IDcgdGltZXMg bGlrZSBmb3IKPiA+PiBAQCAtMjQxLDE4ICsyMzksMTkgQEAgc3RhdGljIGludCBkcm1fZHBfZHBj ZF9hY2Nlc3Moc3RydWN0IGRybV9kcF9hdXggKmF1eCwgdTggcmVxdWVzdCwKPiA+PiAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAoZXJyID09IC1FQlVTWSkKPiA+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4+Cj4gPj4gLSAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIGVycjsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHVubG9jazsK PiA+PiAgICAgICAgICAgICAgICAgfQo+ID4+Cj4gPj4gICAgICAgICAgICAgICAgIHN3aXRjaCAo bXNnLnJlcGx5ICYgRFBfQVVYX05BVElWRV9SRVBMWV9NQVNLKSB7Cj4gPj4gICAgICAgICAgICAg ICAgIGNhc2UgRFBfQVVYX05BVElWRV9SRVBMWV9BQ0s6Cj4gPj4gICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGVyciA8IHNpemUpCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gLUVQUk9UTzsKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJy Owo+ID4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gLUVQUk9UTzsKPiA+ PiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHVubG9jazsKPiA+Pgo+ID4+ICAgICAgICAg ICAgICAgICBjYXNlIERQX0FVWF9OQVRJVkVfUkVQTFlfTkFDSzoKPiA+PiAgICAgICAgICAgICAg ICAgICAgICAgICBEUk1fREVCVUdfRFBDRCgibmF0aXZlIG5hY2sgKHJlc3VsdD0lZCwgc2l6ZT0l enUpXG4iLCBlcnIsIG1zZy5zaXplKTsKPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICByZXR1 cm4gLUVJTzsKPiA+PiArICAgICAgICAgICAgICAgICAgICAgICBlcnIgPSAtRUlPOwo+ID4+ICsg ICAgICAgICAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrOwo+ID4+Cj4gPj4gICAgICAgICAgICAg ICAgIGNhc2UgRFBfQVVYX05BVElWRV9SRVBMWV9ERUZFUjoKPiA+PiAgICAgICAgICAgICAgICAg ICAgICAgICBEUk1fREVCVUdfRFBDRCgibmF0aXZlIGRlZmVyXG4iKTsKPiA+PiBAQCAtMjYyLDcg KzI2MSwxMSBAQCBzdGF0aWMgaW50IGRybV9kcF9kcGNkX2FjY2VzcyhzdHJ1Y3QgZHJtX2RwX2F1 eCAqYXV4LCB1OCByZXF1ZXN0LAo+ID4+ICAgICAgICAgfQo+ID4+Cj4gPj4gICAgICAgICBEUk1f RVJST1IoIkRQQ0Q6IHRvbyBtYW55IHJldHJpZXMsIGdpdmluZyB1cCFcbiIpOwo+ID4+IC0gICAg ICAgcmV0dXJuIC1FSU87Cj4gPj4gKyAgICAgICBlcnIgPSAtRUlPOwo+ID4+ICsKPiA+PiArdW5s b2NrOgo+ID4+ICsgICAgICAgbXV0ZXhfdW5sb2NrKCZhdXgtPmh3X211dGV4KTsKPiA+PiArICAg ICAgIHJldHVybiBlcnI7Cj4gPj4gIH0KPiA+Pgo+ID4+ICAvKioKPiA+PiBAQCAtNjk4LDYgKzcw MSw4IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2kyY194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRh cHRlciwgc3RydWN0IGkyY19tc2cgKm1zZ3MsCj4gPj4KPiA+PiAgICAgICAgIG1lbXNldCgmbXNn LCAwLCBzaXplb2YobXNnKSk7Cj4gPj4KPiA+PiArICAgICAgIG11dGV4X2xvY2soJmF1eC0+aHdf bXV0ZXgpOwo+ID4+ICsKPiA+PiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBudW07IGkrKykgewo+ ID4+ICAgICAgICAgICAgICAgICBtc2cuYWRkcmVzcyA9IG1zZ3NbaV0uYWRkcjsKPiA+PiAgICAg ICAgICAgICAgICAgbXNnLnJlcXVlc3QgPSAobXNnc1tpXS5mbGFncyAmIEkyQ19NX1JEKSA/Cj4g Pj4gQEAgLTc0MSw2ICs3NDYsOCBAQCBzdGF0aWMgaW50IGRybV9kcF9pMmNfeGZlcihzdHJ1Y3Qg aTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfbXNnICptc2dzLAo+ID4+ICAgICAgICAg bXNnLnNpemUgPSAwOwo+ID4+ICAgICAgICAgKHZvaWQpZHJtX2RwX2kyY19kb19tc2coYXV4LCAm bXNnKTsKPiA+Pgo+ID4+ICsgICAgICAgbXV0ZXhfdW5sb2NrKCZhdXgtPmh3X211dGV4KTsKPiA+ PiArCj4gPj4gICAgICAgICByZXR1cm4gZXJyOwo+ID4+ICB9Cj4gPj4KPiA+PiAtLQo+ID4+IDIu NS4wCj4gPj4KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCj4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRl Y2hub2xvZ3kgQ2VudGVyCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==