From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v2 5/6] drm/i915/guc: refactor doorbell management code Date: Mon, 13 Jun 2016 11:53:14 +0100 Message-ID: <575E909A.5010807@linux.intel.com> References: <1465577461-35616-1-git-send-email-david.s.gordon@intel.com> <1465577461-35616-6-git-send-email-david.s.gordon@intel.com> <575E8162.2010302@linux.intel.com> <575E8A13.4000902@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id D4E0189333 for ; Mon, 13 Jun 2016 10:53:20 +0000 (UTC) In-Reply-To: <575E8A13.4000902@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEzLzA2LzE2IDExOjI1LCBEYXZlIEdvcmRvbiB3cm90ZToKPiBPbiAxMy8wNi8xNiAxMDo0 OCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Cj4+IE9uIDEwLzA2LzE2IDE3OjUxLCBEYXZlIEdv cmRvbiB3cm90ZToKPj4+IFRoaXMgcGF0Y2ggcmVmYWN0b3JzIHRoZSBkcml2ZXIncyBoYW5kbGlu ZyBhbmQgdHJhY2tpbmcgb2YgZG9vcmJlbGxzLCBpbgo+Pj4gcHJlcGFyYXRpb24gZm9yIGEgbGF0 ZXIgb25lIHdoaWNoIHdpbGwgcmVzb2x2ZSBhIHN1c3BlbmQtcmVzdW1lIGlzc3VlLgo+Pj4KPj4+ IFRoZXJlIGFyZSB0aHJlZSByZXNvdXJjZXMgdG8gYmUgbWFuYWdlZDoKPj4+IDEuIENhY2hlbGlu ZXM6IGEgc2luZ2xlIGxpbmUgd2l0aGluIHRoZSBjbGllbnQtb2JqZWN0J3MgcGFnZSAwCj4+PiAg ICAgaXMgc25vb3BlZCBieSBkb29yYmVsbCBoYXJkd2FyZSBmb3Igd3JpdGVzIGZyb20gdGhlIGhv c3QuCj4+PiAyLiBEb29yYmVsbCByZWdpc3RlcnM6IGVhY2ggZGVmaW5lcyBvbmUgY2FjaGVsaW5l IHRvIGJlIHNub29wZWQuCj4+PiAzLiBCaXRtYXA6IHRyYWNrcyB3aGljaCBkb29yYmVsbCByZWdp c3RlcnMgYXJlIGluIHVzZS4KPj4+Cj4+PiBUaGUgZG9vcmJlbGwgc2V0dXAvdGVhcmRvd24gcHJv dG9jb2wgc3RhcnRzIHdpdGg6Cj4+PiAxLiBQaWNrIGEgY2FjaGVsaW5lOiBzZWxlY3RfZG9vcmJl bGxfY2FjaGVsaW5lKCkKPj4+IDIuIEZpbmQgYW4gYXZhaWxhYmxlIGRvb3JiZWxsIHJlZ2lzdGVy OiBhc3NpZ25fZG9vcmJlbGwoKQo+Pj4gKFRoZXNlIHZhbHVlcyBhcmUgcGFzc2VkIHRvIHRoZSBH dUMgdmlhIHRoZSBzaGFyZWQgY29udGV4dAo+Pj4gZGVzY3JpcHRvcjsgdGhpcyBwYXJ0IG9mIHRo ZSBzZXF1ZW5jZSByZW1haW5zIHVuY2hhbmdlZCkuCj4+Pgo+Pj4gMy4gVXBkYXRlIHRoZSBiaXRt YXAgdG8gcmVmbGVjdCByZWdpc3RlcnMtaW4tdXNlCj4+PiA0LiBQcmVwYXJlIHRoZSBjYWNoZWxp bmUgZm9yIHVzZSBieSBzZXR0aW5nIGl0cyBzdGF0dXMgdG8gRU5BQkxFRAo+Pj4gNS4gQXNrIHRo ZSBHdUMgdG8gcHJvZ3JhbSB0aGUgZG9vcmJlbGwgdG8gc25vb3AgdGhlIGNhY2hlbGluZQo+Pj4K Pj4+IGFuZCBvZiBjb3Vyc2UgdGVhcmRvd24gaXMgdmVyeSBzaW1pbGFyOgo+Pj4gNi4gU2V0IHRo ZSBjYWNoZWxpbmUgdG8gRElTQUJMRUQKPj4+IDcuIEFzayB0aGUgR3VDIHRvIHJlcHJvZ3JhbSB0 aGUgZG9vcmJlbGwgdG8gc3RvcCBzbm9vcGluZwo+Pj4gOC4gUmVjb3JkIHRoYXQgdGhlIGRvb3Ji ZWxsIGlzIG5vdCBpbiB1c2UuCj4+Pgo+Pj4gT3BlcmF0aW9ucyA2LTggKGd1Y19kaXNhYmxlX2Rv b3JiZWxsKCksIGhvc3QyZ3VjX3JlbGVhc2VfZG9vcmJlbGwoKSwgYW5kCj4+PiByZWxlYXNlX2Rv b3JiZWxsKCkpIHdlcmUgY2FsbGVkIGluIHNlcXVlbmNlIGZyb20gZ3VjX2NsaWVudF9mcmVlKCks IGJ1dAo+Pj4gYXJlIG5vdyBtb3ZlZCBpbnRvIHRoZSB0ZWFyZG93biBwaGFzZSBvZiB0aGUgY29t bW9uIGZ1bmN0aW9uLgo+Pj4KPj4+IFN0ZXBzIDQtNSAoZ3VjX2luaXRfZG9vcmJlbGwoKSBhbmQg aG9zdDJndWNfYWxsb2NhdGVfZG9vcmJlbGwoKSkgd2VyZQo+Pj4gc2ltaWxhcmx5IGRvbmUgYXMg c2VxdWVudGlhbCBzdGVwcyBpbiBndWNfY2xpZW50X2FsbG9jKCksIGJ1dCBzaW5jZSBpdAo+Pj4g dHVybnMgb3V0IHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBiZSBhYmxlIHRvIGRvIHRoZW0gc2VwYXJh dGVseSB0aGV5J3JlCj4+PiBub3cgY29sbGVjdGVkIGludG8gdGhlIHNldHVwIHBoYXNlIG9mIHRo ZSBjb21tb24gZnVuY3Rpb24uCj4+Pgo+Pj4gVGhlIG9ubHkgbmV3IGNvZGUgKGFuZCBuZXcgY2Fw YWJpbGl0eSkgaXMgdGhlIGJsb2NrIHRhZ2dlZAo+Pj4gICAgICAvKiBVcGRhdGUgdGhlIEd1Qydz IGlkZWEgb2YgdGhlIGRvb3JiZWxsIElEICovCj4+PiBpLmUuIHdlIGNhbiBub3cgKmNoYW5nZSog dGhlIGRvb3JiZWxsIHJlZ2lzdGVyIHVzZWQgYnkgYW4gZXhpc3RpbmcKPj4+IGNsaWVudCwgd2hl cmVhcyBwcmV2aW91c2x5IGl0IHdhcyBzZXQgb25jZSBmb3IgdGhlIGVudGlyZSBsaWZldGltZQo+ Pj4gb2YgdGhlIGNsaWVudC4gV2Ugd2lsbCB1c2UgdGhpcyBuZXcgZmVhdHVyZSBpbiB0aGUgbmV4 dCBwYXRjaC4KPj4+Cj4+PiB2MjogVHJpdmlhbCBpbmRlcGVuZGVudCBmaXhlcyBwdXNoZWQgYWhl YWQgYXMgc2VwYXJhdGUgcGF0Y2hlcy4KPj4+ICAgICAgTVVDSCBsb25nZXIgY29tbWl0IG1lc3Nh Z2UgOikgW1R2cnRrbyBVcnN1bGluXQo+Pj4KPj4+IFNpZ25lZC1vZmYtYnk6IERhdmUgR29yZG9u IDxkYXZpZC5zLmdvcmRvbkBpbnRlbC5jb20+Cj4+PiAtLS0KPj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIHwgOTQKPj4+ICsrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLQo+Pj4gICAxIGZpbGUgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgNDEgZGVs ZXRpb25zKC0pCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3VjX3N1Ym1pc3Npb24uYwo+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJt aXNzaW9uLmMKPj4+IGluZGV4IDQ1YjMzZjguLjE4MzNiZmQgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+Pj4gQEAgLTE3NCwzMSArMTc0LDU5 IEBAIHN0YXRpYyBpbnQgaG9zdDJndWNfc2FtcGxlX2ZvcmNld2FrZShzdHJ1Y3QKPj4+IGludGVs X2d1YyAqZ3VjLAo+Pj4gICAgKiBjbGllbnQgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIHRoZSBwYWdl IGJlaW5nIHVzZWQgZm9yIHRoZSBkb29yYmVsbAo+Pj4gICAgKi8KPj4+Cj4+PiAtc3RhdGljIHZv aWQgZ3VjX2luaXRfZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+Pj4gLSAgICAgICAg ICAgICAgICAgIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCkKPj4+ICtzdGF0aWMgaW50 IGd1Y191cGRhdGVfZG9vcmJlbGxfaWQoc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+Pj4gKyAgICAg ICAgICAgICAgICAgIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCwKPj4+ICsgICAgICAg ICAgICAgICAgICB1MTYgbmV3X2lkKQo+Pj4gICB7Cj4+PiArICAgIHN0cnVjdCBzZ190YWJsZSAq c2cgPSBndWMtPmN0eF9wb29sX29iai0+cGFnZXM7Cj4+PiArICAgIHZvaWQgKmRvb3JiZWxsX2Jp dG1hcCA9IGd1Yy0+ZG9vcmJlbGxfYml0bWFwOwo+Pj4gICAgICAgc3RydWN0IGd1Y19kb29yYmVs bF9pbmZvICpkb29yYmVsbDsKPj4+ICsgICAgc3RydWN0IGd1Y19jb250ZXh0X2Rlc2MgZGVzYzsK Pj4+ICsgICAgc2l6ZV90IGxlbjsKPj4+Cj4+PiAgICAgICBkb29yYmVsbCA9IGNsaWVudC0+Y2xp ZW50X2Jhc2UgKyBjbGllbnQtPmRvb3JiZWxsX29mZnNldDsKPj4+Cj4+PiAtICAgIGRvb3JiZWxs LT5kYl9zdGF0dXMgPSBHVUNfRE9PUkJFTExfRU5BQkxFRDsKPj4+ICsgICAgaWYgKGNsaWVudC0+ ZG9vcmJlbGxfaWQgIT0gR1VDX0lOVkFMSURfRE9PUkJFTExfSUQgJiYKPj4+ICsgICAgICAgIHRl c3RfYml0KGNsaWVudC0+ZG9vcmJlbGxfaWQsIGRvb3JiZWxsX2JpdG1hcCkpIHsKPj4+ICsgICAg ICAgIC8qIERlYWN0aXZhdGUgdGhlIG9sZCBkb29yYmVsbCAqLwo+Pj4gKyAgICAgICAgZG9vcmJl bGwtPmRiX3N0YXR1cyA9IEdVQ19ET09SQkVMTF9ESVNBQkxFRDsKPj4+ICsgICAgICAgICh2b2lk KWhvc3QyZ3VjX3JlbGVhc2VfZG9vcmJlbGwoZ3VjLCBjbGllbnQpOwo+Pj4gKyAgICAgICAgX19j bGVhcl9iaXQoY2xpZW50LT5kb29yYmVsbF9pZCwgZG9vcmJlbGxfYml0bWFwKTsKPj4+ICsgICAg fQo+Pj4gKwo+Pj4gKyAgICAvKiBVcGRhdGUgdGhlIEd1QydzIGlkZWEgb2YgdGhlIGRvb3JiZWxs IElEICovCj4+PiArICAgIGxlbiA9IHNnX3Bjb3B5X3RvX2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVu dHMsICZkZXNjLCBzaXplb2YoZGVzYyksCj4+PiArICAgICAgICAgICAgICAgICBzaXplb2YoZGVz YykgKiBjbGllbnQtPmN0eF9pbmRleCk7Cj4+PiArICAgIGlmIChsZW4gIT0gc2l6ZW9mKGRlc2Mp KQo+Pj4gKyAgICAgICAgcmV0dXJuIC1FRkFVTFQ7Cj4+PiArICAgIGRlc2MuZGJfaWQgPSBuZXdf aWQ7Cj4+PiArICAgIGxlbiA9IHNnX3Bjb3B5X2Zyb21fYnVmZmVyKHNnLT5zZ2wsIHNnLT5uZW50 cywgJmRlc2MsIHNpemVvZihkZXNjKSwKPj4+ICsgICAgICAgICAgICAgICAgIHNpemVvZihkZXNj KSAqIGNsaWVudC0+Y3R4X2luZGV4KTsKPj4+ICsgICAgaWYgKGxlbiAhPSBzaXplb2YoZGVzYykp Cj4+PiArICAgICAgICByZXR1cm4gLUVGQVVMVDsKPj4+ICsKPj4+ICsgICAgY2xpZW50LT5kb29y YmVsbF9pZCA9IG5ld19pZDsKPj4+ICsgICAgaWYgKG5ld19pZCA9PSBHVUNfSU5WQUxJRF9ET09S QkVMTF9JRCkKPj4+ICsgICAgICAgIHJldHVybiAwOwo+Pj4gKwo+Pj4gKyAgICAvKiBBY3RpdmF0 ZSB0aGUgbmV3IGRvb3JiZWxsICovCj4+PiArICAgIF9fc2V0X2JpdChuZXdfaWQsIGRvb3JiZWxs X2JpdG1hcCk7Cj4+Cj4+IElzIHRoaXMgdGhlIHNhbWUgYml0IGFzIGluIGFzc2lnbl9kb29yYmVs bCBzbyByZWR1bmRhbnQ/Cj4KPiBJdCBpcyB0aGUgc2FtZSBiaXQsIGFuZCB5ZXMsIGl0IHdpbGwg YmUgcmVkdW5kYW50IGR1cmluZyB0aGUgaW5pdGlhbAo+IHNldHVwLCBidXQgd2hlbiB3ZSBjb21l IHRvICpyZSphc3NpZ24gdGhlIGFzc29jaWF0aW9uIGJldHdlZW4gYSBjbGllbnQKPiBhbmQgYSBk b29yYmVsbCAoaW4gdGhlIG5leHQgcGF0Y2gpIHRoZW4gaXQgd29uJ3QgYmUuCj4KPiBXZSBjb3Vs ZCBhbHNvIGNob29zZSB0byBoYXZlIGFzc2lnbl9kb29yYmVsbCgpIE5PVCB1cGRhdGUgdGhlIG1h cCwgc28KPiB0aGVuIHRoaXMgd291bGQgYmUgdGhlIG9ubHkgcGxhY2Ugd2hlcmUgdGhlIGJpdG1h cCBnZXRzIHVwZGF0ZWQuIEknZAo+IGhhdmUgdG8gcmVuYW1lIGl0IHRob3VnaCwgYXMgaXQgd291 bGQgbm8gbG9uZ2VyIGJlIGFzc2lnbmluZyBhbnl0aGluZyEKCk1heWJlIHBpY2tfZG9vcmJlbGwg b3IgZmluZF9mcmVlX2Rvb3JiZWxsPyBJdCB3b3VsZCBiZSBhIGxpdHRsZSBiaXQgCmNsZWFyZXIg YW5kIHNhZmVyIChlYXJseSByZXR1cm5zIGFib3ZlIGNvdWxkIGxlYXZlIHRoZSBiaXRtYXAgc2V0 KSB3aXRoIAphIHNpbmdsZSBiaXRtYXAgdXBkYXRlIGxvY2F0aW9uIHNvIEkgdGhpbmsgaXQgd291 bGQgYmUgd29ydGggaXQuCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=