From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Dai Subject: Re: [PATCH v4 3/6] drm/i915/guc: refactor doorbell management code Date: Thu, 7 Apr 2016 14:26:43 -0700 Message-ID: <5706D093.3060402@intel.com> References: <1460049678-21918-1-git-send-email-david.s.gordon@intel.com> <1460049678-21918-4-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 7367D6EA39 for ; Thu, 7 Apr 2016 21:27:47 +0000 (UTC) In-Reply-To: <1460049678-21918-4-git-send-email-david.s.gordon@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 CgpPbiAwNC8wNy8yMDE2IDEwOjIxIEFNLCBEYXZlIEdvcmRvbiB3cm90ZToKPiBEdXJpbmcgYSBo aWJlcm5hdGUvcmVzdW1lIGN5Y2xlLCB0aGUgZHJpdmVyLCB0aGUgR3VDLCBhbmQgdGhlIGRvb3Ji ZWxsCj4gaGFyZHdhcmUgY2FuIGVuZCB1cCBpbiBpbmNvbnNpc3RlbnQgc3RhdGVzLiBUaGlzIHBh dGNoIHJlZmFjdG9ycyB0aGUKPiBkcml2ZXIncyBoYW5kbGluZyBhbmQgdHJhY2tpbmcgb2YgZG9v cmJlbGxzLCBpbiBwcmVwYXJhdGlvbiBmb3IgYSBsYXRlcgo+IG9uZSB3aGljaCB3aWxsIHJlc29s dmUgdGhlIGlzc3VlLgo+Cj4gU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29y ZG9uQGludGVsLmNvbT4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYyB8IDg4ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ICAgMSBmaWxl IGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IDIxNzE3NTkuLjJmYzY5 ZjEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lv bi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4g QEAgLTE3NSw4ICsxNzUsNDggQEAgc3RhdGljIGludCBob3N0Mmd1Y19zYW1wbGVfZm9yY2V3YWtl KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKPiAgICAqIGNsaWVudCBvYmplY3Qgd2hpY2ggY29udGFp bnMgdGhlIHBhZ2UgYmVpbmcgdXNlZCBmb3IgdGhlIGRvb3JiZWxsCj4gICAgKi8KPiAgIAo+ICtz dGF0aWMgaW50IGd1Y191cGRhdGVfZG9vcmJlbGxfaWQoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAq Y2xpZW50LAo+ICsJCQkJICBzdHJ1Y3QgZ3VjX2Rvb3JiZWxsX2luZm8gKmRvb3JiZWxsLAo+ICsJ CQkJICB1MTYgbmV3X2lkKQo+ICt7Cj4gKwlzdHJ1Y3Qgc2dfdGFibGUgKnNnID0gY2xpZW50LT5n dWMtPmN0eF9wb29sX29iai0+cGFnZXM7Cj4gKwl2b2lkICpkb29yYmVsbF9iaXRtYXAgPSBjbGll bnQtPmd1Yy0+ZG9vcmJlbGxfYml0bWFwOwo+ICsJc3RydWN0IGd1Y19jb250ZXh0X2Rlc2MgZGVz YzsKPiArCXNpemVfdCBsZW47Cj4gKwo+ICsJaWYgKGNsaWVudC0+ZG9vcmJlbGxfaWQgIT0gR1VD X0lOVkFMSURfRE9PUkJFTExfSUQgJiYKPiArCSAgICB0ZXN0X2JpdChjbGllbnQtPmRvb3JiZWxs X2lkLCBkb29yYmVsbF9iaXRtYXApKSB7Cj4gKwkJLyogRGVhY3RpdmF0ZSB0aGUgb2xkIGRvb3Ji ZWxsICovCj4gKwkJZG9vcmJlbGwtPmRiX3N0YXR1cyA9IEdVQ19ET09SQkVMTF9ESVNBQkxFRDsK PiArCQkodm9pZClob3N0Mmd1Y19yZWxlYXNlX2Rvb3JiZWxsKGNsaWVudC0+Z3VjLCBjbGllbnQp Owo+ICsJCWNsZWFyX2JpdChjbGllbnQtPmRvb3JiZWxsX2lkLCBkb29yYmVsbF9iaXRtYXApOwo+ ICsJfQo+ICsKPiArCS8qIFVwZGF0ZSB0aGUgR3VDJ3MgaWRlYSBvZiB0aGUgZG9vcmJlbGwgSUQg Ki8KPiArCWxlbiA9IHNnX3Bjb3B5X3RvX2J1ZmZlcihzZy0+c2dsLCBzZy0+bmVudHMsICZkZXNj LCBzaXplb2YoZGVzYyksCj4gKwkJCSAgICAgc2l6ZW9mKGRlc2MpICogY2xpZW50LT5jdHhfaW5k ZXgpOwo+ICsJaWYgKGxlbiAhPSBzaXplb2YoZGVzYykpCj4gKwkJcmV0dXJuIC1FRkFVTFQ7Cj4g KwlkZXNjLmRiX2lkID0gbmV3X2lkOwo+ICsJbGVuID0gc2dfcGNvcHlfZnJvbV9idWZmZXIoc2ct PnNnbCwgc2ctPm5lbnRzLCAmZGVzYywgc2l6ZW9mKGRlc2MpLAo+ICsJCQkgICAgIHNpemVvZihk ZXNjKSAqIGNsaWVudC0+Y3R4X2luZGV4KTsKPiArCWlmIChsZW4gIT0gc2l6ZW9mKGRlc2MpKQo+ ICsJCXJldHVybiAtRUZBVUxUOwo+ICsKCldlIG1heSBjYWNoZSB0aGUgdm1hcCBvZiBjb250ZXh0 IHBvb2wgZm9yIGl0cyBsaWZlIGN5Y2xlIHRvIGF2b2lkIHRoZXNlIApjb3BpZXMuIFRoYXQgaXMg d2h5IGEgZ2VuZXJpYyB2bWFwIGhlbHBlciBmdW5jdGlvbiBpcyByZWFsbHkgbmljZSB0byBoYXZl LgoKQWxleAo+ICsJY2xpZW50LT5kb29yYmVsbF9pZCA9IG5ld19pZDsKPiArCWlmIChuZXdfaWQg PT0gR1VDX0lOVkFMSURfRE9PUkJFTExfSUQpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJLyogQWN0 aXZhdGUgdGhlIG5ldyBkb29yYmVsbCAqLwo+ICsJc2V0X2JpdChjbGllbnQtPmRvb3JiZWxsX2lk LCBkb29yYmVsbF9iaXRtYXApOwo+ICsJZG9vcmJlbGwtPmRiX3N0YXR1cyA9IEdVQ19ET09SQkVM TF9FTkFCTEVEOwo+ICsJZG9vcmJlbGwtPmNvb2tpZSA9IDA7Cj4gKwlyZXR1cm4gaG9zdDJndWNf YWxsb2NhdGVfZG9vcmJlbGwoY2xpZW50LT5ndWMsIGNsaWVudCk7Cj4gK30KPiArCj4gICBzdGF0 aWMgdm9pZCBndWNfaW5pdF9kb29yYmVsbChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsCj4gLQkJCSAg ICAgIHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCkKPiArCQkJICAgICAgc3RydWN0IGk5 MTVfZ3VjX2NsaWVudCAqY2xpZW50LAo+ICsJCQkgICAgICB1aW50MTZfdCBkYl9pZCkKPiAgIHsK PiAgIAlzdHJ1Y3QgZ3VjX2Rvb3JiZWxsX2luZm8gKmRvb3JiZWxsOwo+ICAgCXZvaWQgKmJhc2U7 Cj4gQEAgLTE4NCw4ICsyMjQsNyBAQCBzdGF0aWMgdm9pZCBndWNfaW5pdF9kb29yYmVsbChzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsCj4gICAJYmFzZSA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVj dF9nZXRfcGFnZShjbGllbnQtPmNsaWVudF9vYmosIDApKTsKPiAgIAlkb29yYmVsbCA9IGJhc2Ug KyBjbGllbnQtPmRvb3JiZWxsX29mZnNldDsKPiAgIAo+IC0JZG9vcmJlbGwtPmRiX3N0YXR1cyA9 IDE7Cj4gLQlkb29yYmVsbC0+Y29va2llID0gMDsKPiArCWd1Y191cGRhdGVfZG9vcmJlbGxfaWQo Y2xpZW50LCBkb29yYmVsbCwgZGJfaWQpOwo+ICAgCj4gICAJa3VubWFwX2F0b21pYyhiYXNlKTsK PiAgIH0KPiBAQCAtMTkzLDI3ICsyMzIsMTYgQEAgc3RhdGljIHZvaWQgZ3VjX2luaXRfZG9vcmJl bGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+ICAgc3RhdGljIHZvaWQgZ3VjX2Rpc2FibGVfZG9v cmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLAo+ICAgCQkJCSBzdHJ1Y3QgaTkxNV9ndWNfY2xp ZW50ICpjbGllbnQpCj4gICB7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBndWNfdG9faTkxNShndWMpOwo+ICAgCXN0cnVjdCBndWNfZG9vcmJlbGxfaW5mbyAqZG9vcmJl bGw7Cj4gICAJdm9pZCAqYmFzZTsKPiAtCWk5MTVfcmVnX3QgZHJicmVnID0gR0VOOF9EUkJSRUdM KGNsaWVudC0+ZG9vcmJlbGxfaWQpOwo+IC0JaW50IHZhbHVlOwo+ICAgCj4gICAJYmFzZSA9IGtt YXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfcGFnZShjbGllbnQtPmNsaWVudF9vYmosIDAp KTsKPiAgIAlkb29yYmVsbCA9IGJhc2UgKyBjbGllbnQtPmRvb3JiZWxsX29mZnNldDsKPiAgIAo+ IC0JZG9vcmJlbGwtPmRiX3N0YXR1cyA9IDA7Cj4gKwlndWNfdXBkYXRlX2Rvb3JiZWxsX2lkKGNs aWVudCwgZG9vcmJlbGwsIEdVQ19JTlZBTElEX0RPT1JCRUxMX0lEKTsKPiAgIAo+ICAgCWt1bm1h cF9hdG9taWMoYmFzZSk7Cj4gICAKPiAtCUk5MTVfV1JJVEUoZHJicmVnLCBJOTE1X1JFQUQoZHJi cmVnKSAmIH5HRU44X0RSQl9WQUxJRCk7Cj4gLQo+IC0JdmFsdWUgPSBJOTE1X1JFQUQoZHJicmVn KTsKPiAtCVdBUk5fT04oKHZhbHVlICYgR0VOOF9EUkJfVkFMSUQpICE9IDApOwo+IC0KPiAtCUk5 MTVfV1JJVEUoR0VOOF9EUkJSRUdVKGNsaWVudC0+ZG9vcmJlbGxfaWQpLCAwKTsKPiAtCUk5MTVf V1JJVEUoZHJicmVnLCAwKTsKPiAtCj4gICAJLyogWFhYOiB3YWl0IGZvciBhbnkgaW50ZXJydXB0 cyAqLwo+ICAgCS8qIFhYWDogd2FpdCBmb3Igd29ya3F1ZXVlIHRvIGRyYWluICovCj4gICB9Cj4g QEAgLTI2MCw3ICsyODgsNyBAQCBzdGF0aWMgdWludDE2X3QgYXNzaWduX2Rvb3JiZWxsKHN0cnVj dCBpbnRlbF9ndWMgKmd1YywgdWludDMyX3QgcHJpb3JpdHkpCj4gICAJaWYgKGlkID09IGVuZCkK PiAgIAkJaWQgPSBHVUNfSU5WQUxJRF9ET09SQkVMTF9JRDsKPiAgIAllbHNlCj4gLQkJYml0bWFw X3NldChndWMtPmRvb3JiZWxsX2JpdG1hcCwgaWQsIDEpOwo+ICsJCXNldF9iaXQoaWQsIGd1Yy0+ ZG9vcmJlbGxfYml0bWFwKTsKPiAgIAo+ICAgCURSTV9ERUJVR19EUklWRVIoImFzc2lnbmVkICVz IHByaW9yaXR5IGRvb3JiZWxsIGlkIDB4JXhcbiIsCj4gICAJCQloaV9wcmkgPyAiaGlnaCIgOiAi bm9ybWFsIiwgaWQpOwo+IEBAIC0yNjgsMTEgKzI5Niw2IEBAIHN0YXRpYyB1aW50MTZfdCBhc3Np Z25fZG9vcmJlbGwoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1aW50MzJfdCBwcmlvcml0eSkKPiAg IAlyZXR1cm4gaWQ7Cj4gICB9Cj4gICAKPiAtc3RhdGljIHZvaWQgcmVsZWFzZV9kb29yYmVsbChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHVpbnQxNl90IGlkKQo+IC17Cj4gLQliaXRtYXBfY2xlYXIo Z3VjLT5kb29yYmVsbF9iaXRtYXAsIGlkLCAxKTsKPiAtfQo+IC0KPiAgIC8qCj4gICAgKiBJbml0 aWFsaXNlIHRoZSBwcm9jZXNzIGRlc2NyaXB0b3Igc2hhcmVkIHdpdGggdGhlIEd1QyBmaXJtd2Fy ZS4KPiAgICAqLwo+IEBAIC02NjcsMTUgKzY5MCw3IEBAIHN0YXRpYyB2b2lkIGd1Y19jbGllbnRf ZnJlZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWlmICghY2xpZW50KQo+ICAgCQlyZXR1 cm47Cj4gICAKPiAtCWlmIChjbGllbnQtPmRvb3JiZWxsX2lkICE9IEdVQ19JTlZBTElEX0RPT1JC RUxMX0lEKSB7Cj4gLQkJLyoKPiAtCQkgKiBGaXJzdCBkaXNhYmxlIHRoZSBkb29yYmVsbCwgdGhl biB0ZWxsIHRoZSBHdUMgd2UndmUKPiAtCQkgKiBmaW5pc2hlZCB3aXRoIGl0LCBmaW5hbGx5IGRl YWxsb2NhdGUgaXQgaW4gb3VyIGJpdG1hcAo+IC0JCSAqLwo+IC0JCWd1Y19kaXNhYmxlX2Rvb3Ji ZWxsKGd1YywgY2xpZW50KTsKPiAtCQlob3N0Mmd1Y19yZWxlYXNlX2Rvb3JiZWxsKGd1YywgY2xp ZW50KTsKPiAtCQlyZWxlYXNlX2Rvb3JiZWxsKGd1YywgY2xpZW50LT5kb29yYmVsbF9pZCk7Cj4g LQl9Cj4gKwlndWNfZGlzYWJsZV9kb29yYmVsbChndWMsIGNsaWVudCk7Cj4gICAKPiAgIAkvKgo+ ICAgCSAqIFhYWDogd2FpdCBmb3IgYW55IG91dHN0YW5kaW5nIHN1Ym1pc3Npb25zIGJlZm9yZSBm cmVlaW5nIG1lbW9yeS4KPiBAQCAtNzEyLDYgKzcyNyw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9n dWNfY2xpZW50ICpndWNfY2xpZW50X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAg IAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKPiAgIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqOwo+ICsJdWludDE2X3QgZGJfaWQ7Cj4gICAKPiAgIAljbGll bnQgPSBremFsbG9jKHNpemVvZigqY2xpZW50KSwgR0ZQX0tFUk5FTCk7Cj4gICAJaWYgKCFjbGll bnQpCj4gQEAgLTc1MCwyMiArNzY2LDI0IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50 ICpndWNfY2xpZW50X2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJZWxzZQo+ICAg CQljbGllbnQtPnByb2NfZGVzY19vZmZzZXQgPSAoR1VDX0RCX1NJWkUgLyAyKTsKPiAgIAo+IC0J Y2xpZW50LT5kb29yYmVsbF9pZCA9IGFzc2lnbl9kb29yYmVsbChndWMsIGNsaWVudC0+cHJpb3Jp dHkpOwo+IC0JaWYgKGNsaWVudC0+ZG9vcmJlbGxfaWQgPT0gR1VDX0lOVkFMSURfRE9PUkJFTExf SUQpCj4gKwlkYl9pZCA9IGFzc2lnbl9kb29yYmVsbChndWMsIGNsaWVudC0+cHJpb3JpdHkpOwo+ ICsJaWYgKGRiX2lkID09IEdVQ19JTlZBTElEX0RPT1JCRUxMX0lEKQo+ICAgCQkvKiBYWFg6IGV2 aWN0IGEgZG9vcmJlbGwgaW5zdGVhZCAqLwo+ICAgCQlnb3RvIGVycjsKPiAgIAo+ICAgCWd1Y19p bml0X3Byb2NfZGVzYyhndWMsIGNsaWVudCk7Cj4gICAJZ3VjX2luaXRfY3R4X2Rlc2MoZ3VjLCBj bGllbnQpOwo+IC0JZ3VjX2luaXRfZG9vcmJlbGwoZ3VjLCBjbGllbnQpOwo+ICsJZ3VjX2luaXRf ZG9vcmJlbGwoZ3VjLCBjbGllbnQsIGRiX2lkKTsKPiAgIAo+ICAgCS8qIFhYWDogQW55IGNhY2hl IGZsdXNoZXMgbmVlZGVkPyBHZW5lcmFsIGRvbWFpbiBtZ210IGNhbGxzPyAqLwo+ICAgCj4gICAJ aWYgKGhvc3QyZ3VjX2FsbG9jYXRlX2Rvb3JiZWxsKGd1YywgY2xpZW50KSkKPiAgIAkJZ290byBl cnI7Cj4gICAKPiAtCURSTV9ERUJVR19EUklWRVIoIm5ldyBwcmlvcml0eSAldSBjbGllbnQgJXA6 IGN0eF9pbmRleCAldSBkYl9pZCAldVxuIiwKPiAtCQlwcmlvcml0eSwgY2xpZW50LCBjbGllbnQt PmN0eF9pbmRleCwgY2xpZW50LT5kb29yYmVsbF9pZCk7Cj4gKwlEUk1fREVCVUdfRFJJVkVSKCJu ZXcgcHJpb3JpdHkgJXUgY2xpZW50ICVwOiBjdHhfaW5kZXggJXVcbiIsCj4gKwkJcHJpb3JpdHks IGNsaWVudCwgY2xpZW50LT5jdHhfaW5kZXgpOwo+ICsJRFJNX0RFQlVHX0RSSVZFUigiZG9vcmJl bGwgaWQgJXUsIGNhY2hlbGluZSBvZmZzZXQgMHgleFxuIiwKPiArCQljbGllbnQtPmRvb3JiZWxs X2lkLCBjbGllbnQtPmRvb3JiZWxsX29mZnNldCk7Cj4gICAKPiAgIAlyZXR1cm4gY2xpZW50Owo+ ICAgCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK