From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 1/4] drm/i915: Use a hybrid scheme for fast register waits Date: Thu, 30 Jun 2016 13:58:44 +0100 Message-ID: <57751784.1020001@linux.intel.com> References: <1467286215-8357-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 50FCD6E876 for ; Thu, 30 Jun 2016 12:58:46 +0000 (UTC) In-Reply-To: <1467286215-8357-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: Mika Kuoppala List-Id: intel-gfx@lists.freedesktop.org CgpPbiAzMC8wNi8xNiAxMjozMCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+IFZpbGxlIFN5cmrDpGzD pCByZXBvcnRlZCB0aGF0IGluIHRoZSBtYWpvcml0eSBvZiB3YWl0X2ZvcihJOTE1X1JFQUQoKSkg aGUKPiBpbnNwZWN0LCBtb3N0IGNvbXBsZXRlZCB3aXRoaW4gdGhlIGZpcnN0IGNvdXBsZSBvZiBy ZWFkcyBhbmQgdGhhdCB0aGUKPiBkZWxheSBiZXR3ZWVuIHRob3NlIHdhaXRfZm9yKCkgcmVhZHMg d2FzIHRoZSByYXRlbGltaXRpbmcgc3RlcCBmb3IgbWFueQo+IGNvZGUgcGF0aHMuIEZvciBleGFt cGxlLCBfX2dlbjZfdXBkYXRlX3JpbmdfZnJlcSgpIHdhcyBibGFtZWQgZm9yCj4gc2xvd2luZyBk b3duIGJvb3QgYnkgbWFueSBtaWxsaXNlY29uZHMsIGJ1dCB1bmRlciBWaWxsZSdzIHNjcnV0aW55 IHRoZQo+IGlzc3VlIHdhcyBqdXN0IGV4Y2Vzc2l2ZSBkZWxheSB3YWl0aW5nIGZvciBzYW5keWJy aWRnZV9wY29kZV93cml0ZSgpLgo+Cj4gV2UgY2FuIGVsaW1pbmF0ZSB0aGUgd2FpdCBieSBpbml0 aWFsbHkgdXNpbmcgYSBidXN5c3BpbiB1cG9uIHRoZSByZWdpc3Rlcgo+IHJlYWQgYW5kIG9ubHkg ZmFsbGJhY2sgdG8gdGhlIHNsZWVwaW5nIGxvb3AgaW4gY2FzZXMgd2hlcmUgdGhlIGhhcmR3YXJl Cj4gaXMgaW5kZWVkIHRvbyBzbG93LiBBIHRocmVzaG9sZCBvZiAyIG1pY3Jvc2Vjb25kcyBpcyB1 c2VkIGFzIHRoZSBpbml0aWFsCj4gYmFsbHBhcmsuCj4KPiBUbyBhdm9pZCBleGNlc3NpdmUgY29k ZSBibG9hdGluZyBmcm9tIGNvbnZlcnRpbmcgZXZlcnkgd2FpdF9mb3IoKSBpbnRvIGEKPiBoeWJy aWQgYnVzeS9zbGVlcCBsb29wLCB3ZSBleHRlbmQgd2FpdF9mb3JfcmVnaXN0ZXJfZncoKSBhbmQg ZXhwb3J0IGl0Cj4gZm9yIHVzZSBieSBvdGhlciBjYWxsZXJzLgo+Cj4gU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1pa2EgS3VvcHBh bGEgPG1pa2Eua3VvcHBhbGFAaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVy c3VsaW5AaW50ZWwuY29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgfCAxMSArKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMg fCA4MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gICAyIGZpbGVzIGNo YW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gaW5kZXggODJiMjBlMTRiMDY1Li40OGQzMDY3NjQ1NWUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMjk2OCw2ICsyOTY4LDE3IEBAIHU2NCBpbnRlbF91bmNv cmVfZWRyYW1fc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+Cj4gICB2 b2lkIGFzc2VydF9mb3JjZXdha2VzX2luYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cj4KPiAraW50IGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJICAgIGk5MTVfcmVnX3QgcmVnLAo+ICsJCQkgICAg Y29uc3QgdTMyIG1hc2ssCj4gKwkJCSAgICBjb25zdCB1MzIgdmFsdWUsCj4gKwkJCSAgICBjb25z dCB1bnNpZ25lZCBsb25nIHRpbWVvdXRfbXMpOwo+ICtpbnQgaW50ZWxfd2FpdF9mb3JfcmVnaXN0 ZXJfZncoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgICAgICAgaTkx NV9yZWdfdCByZWcsCj4gKwkJCSAgICAgICBjb25zdCB1MzIgbWFzaywKPiArCQkJICAgICAgIGNv bnN0IHUzMiB2YWx1ZSwKPiArCQkJICAgICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgdGltZW91dF9t cyk7Cj4gKwo+ICAgc3RhdGljIGlubGluZSBib29sIGludGVsX2d2dF9hY3RpdmUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgewo+ICAgCXJldHVybiBkZXZfcHJpdi0+Z3Z0 LmluaXRpYWxpemVkOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggYzFj YTQ1OGQ2ODhlLi40YzE2NmY2NTUwYmUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNv cmUuYwo+IEBAIC0xNjA5LDEzICsxNjA5LDc0IEBAIHN0YXRpYyBpbnQgZ2VuNl9yZXNldF9lbmdp bmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgIAlyZXR1cm4gcmV0Owo+ ICAgfQo+Cj4gLXN0YXRpYyBpbnQgd2FpdF9mb3JfcmVnaXN0ZXJfZncoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAo+IC0JCQkJaTkxNV9yZWdfdCByZWcsCj4gLQkJCQljb25zdCB1 MzIgbWFzaywKPiAtCQkJCWNvbnN0IHUzMiB2YWx1ZSwKPiAtCQkJCWNvbnN0IHVuc2lnbmVkIGxv bmcgdGltZW91dF9tcykKPiArLyoqCj4gKyAqIGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyX2Z3IC0g d2FpdCB1bnRpbCByZWdpc3RlciBtYXRjaGVzIGV4cGVjdGVkIHN0YXRlCj4gKyAqIEBkZXZfcHJp djogdGhlIGk5MTUgZGV2aWNlCj4gKyAqIEByZWc6IHRoZSByZWdpc3RlciB0byByZWFkCj4gKyAq IEBtYXNrOiBtYXNrIHRvIGFwcGx5IHRvIHJlZ2lzdGVyIHZhbHVlCj4gKyAqIEB2YWx1ZTogZXhw ZWN0ZWQgdmFsdWUKPiArICogQHRpbWVvdXRfbXM6IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmQKPiAr ICoKPiArICogVGhpcyByb3V0aW5lIHdhaXRzIHVudGlsIHRoZSB0YXJnZXQgcmVnaXN0ZXIgQHJl ZyBjb250YWlucyB0aGUgZXhwZWN0ZWQKPiArICogQHZhbHVlIGFmdGVyIGFwcGx5aW5nIHRoZSBA bWFzaywgaS5lLiBpdCB3YWl0cyB1bnRpbAo+ICsgKiAgIChJOTE1X1JFQURfRlcoQHJlZykgJiBA bWFzaykgPT0gQHZhbHVlCj4gKyAqIE90aGVyd2lzZSwgdGhlIHdhaXQgd2lsbCB0aW1lb3V0IGFm dGVyIEB0aW1lb3V0X21zIG1pbGxpc2Vjb25kcy4KPiArICoKPiArICogTm90ZSB0aGF0IHRoaXMg cm91dGluZSBhc3N1bWVzIHRoZSBjYWxsZXIgaG9sZHMgZm9yY2V3YWtlIGFzc2VydGVkLCBpdCBp cwo+ICsgKiBub3Qgc3VpdGFibGUgZm9yIHZlcnkgbG9uZyB3YWl0cy4gU2VlIGludGVsX3dhaXRf Zm9yX3JlZ2lzdGVyKCkgaWYgeW91Cj4gKyAqIHdpc2ggdG8gd2FpdCB3aXRob3V0IGhvbGRpbmcg Zm9yY2V3YWtlIGZvciB0aGUgZHVyYXRpb24gKGkuZS4geW91IGV4cGVjdAo+ICsgKiB0aGUgd2Fp dCB0byBiZSBzbG93KS4KPiArICoKPiArICogUmV0dXJucyAwIGlmIHRoZSByZWdpc3RlciBtYXRj aGVzIHRoZSBkZXNpcmVkIGNvbmRpdGlvbiwgb3IgLUVUSU1FT1VULgo+ICsgKi8KPiAraW50IGlu dGVsX3dhaXRfZm9yX3JlZ2lzdGVyX2Z3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiArCQkJICAgICAgIGk5MTVfcmVnX3QgcmVnLAo+ICsJCQkgICAgICAgY29uc3QgdTMyIG1h c2ssCj4gKwkJCSAgICAgICBjb25zdCB1MzIgdmFsdWUsCj4gKwkJCSAgICAgICBjb25zdCB1bnNp Z25lZCBsb25nIHRpbWVvdXRfbXMpCj4gK3sKPiArI2RlZmluZSBkb25lICgoSTkxNV9SRUFEX0ZX KHJlZykgJiBtYXNrKSA9PSB2YWx1ZSkKPiArCWludCByZXQgPSB3YWl0X2Zvcl91cyhkb25lLCAy KTsKPiArCWlmIChyZXQpCj4gKwkJcmV0ID0gd2FpdF9mb3IoZG9uZSwgdGltZW91dF9tcyk7Cj4g KwlyZXR1cm4gcmV0Owo+ICsjdW5kZWYgZG9uZQo+ICt9Cj4gKwo+ICsvKioKPiArICogaW50ZWxf d2FpdF9mb3JfcmVnaXN0ZXIgLSB3YWl0IHVudGlsIHJlZ2lzdGVyIG1hdGNoZXMgZXhwZWN0ZWQg c3RhdGUKPiArICogQGRldl9wcml2OiB0aGUgaTkxNSBkZXZpY2UKPiArICogQHJlZzogdGhlIHJl Z2lzdGVyIHRvIHJlYWQKPiArICogQG1hc2s6IG1hc2sgdG8gYXBwbHkgdG8gcmVnaXN0ZXIgdmFs dWUKPiArICogQHZhbHVlOiBleHBlY3RlZCB2YWx1ZQo+ICsgKiBAdGltZW91dF9tczogdGltZW91 dCBpbiBtaWxsaXNlY29uZAo+ICsgKgo+ICsgKiBUaGlzIHJvdXRpbmUgd2FpdHMgdW50aWwgdGhl IHRhcmdldCByZWdpc3RlciBAcmVnIGNvbnRhaW5zIHRoZSBleHBlY3RlZAo+ICsgKiBAdmFsdWUg YWZ0ZXIgYXBwbHlpbmcgdGhlIEBtYXNrLCBpLmUuIGl0IHdhaXRzIHVudGlsCj4gKyAqICAgKEk5 MTVfUkVBRChAcmVnKSAmIEBtYXNrKSA9PSBAdmFsdWUKPiArICogT3RoZXJ3aXNlLCB0aGUgd2Fp dCB3aWxsIHRpbWVvdXQgYWZ0ZXIgQHRpbWVvdXRfbXMgbWlsbGlzZWNvbmRzLgo+ICsgKgo+ICsg KiBSZXR1cm5zIDAgaWYgdGhlIHJlZ2lzdGVyIG1hdGNoZXMgdGhlIGRlc2lyZWQgY29uZGl0aW9u LCBvciAtRVRJTUVPVVQuCj4gKyAqLwo+ICtpbnQgaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQkgICAgaTkxNV9yZWdfdCByZWcs Cj4gKwkJCSAgICBjb25zdCB1MzIgbWFzaywKPiArCQkJICAgIGNvbnN0IHUzMiB2YWx1ZSwKPiAr CQkJICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgdGltZW91dF9tcykKPiAgIHsKPiAtCXJldHVybiB3 YWl0X2ZvcigoSTkxNV9SRUFEX0ZXKHJlZykgJiBtYXNrKSA9PSB2YWx1ZSwgdGltZW91dF9tcyk7 Cj4gKwo+ICsJdW5zaWduZWQgZncgPQo+ICsJCWludGVsX3VuY29yZV9mb3JjZXdha2VfZm9yX3Jl ZyhkZXZfcHJpdiwgcmVnLCBGV19SRUdfUkVBRCk7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWludGVs X3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2LCBmdyk7Cj4gKwlyZXQgPSB3YWl0X2Zvcl91 cygoSTkxNV9SRUFEX0ZXKHJlZykgJiBtYXNrKSA9PSB2YWx1ZSwgMik7Cj4gKwlpbnRlbF91bmNv cmVfZm9yY2V3YWtlX3B1dChkZXZfcHJpdiwgZncpOwo+ICsJaWYgKHJldCkKPiArCQlyZXQgPSB3 YWl0X2ZvcigoSTkxNV9SRUFEX05PVFJBQ0UocmVnKSAmIG1hc2spID09IHZhbHVlLAo+ICsJCQkg ICAgICAgdGltZW91dF9tcyk7Cj4gKwo+ICsJcmV0dXJuIHJldDsKPiAgIH0KPgo+ICAgc3RhdGlj IGludCBnZW44X3JlcXVlc3RfZW5naW5lX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKPiBAQCAtMTYyNiwxMSArMTY4NywxMSBAQCBzdGF0aWMgaW50IGdlbjhfcmVxdWVzdF9l bmdpbmVfcmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCUk5MTVfV1JJ VEVfRlcoUklOR19SRVNFVF9DVEwoZW5naW5lLT5tbWlvX2Jhc2UpLAo+ICAgCQkgICAgICBfTUFT S0VEX0JJVF9FTkFCTEUoUkVTRVRfQ1RMX1JFUVVFU1RfUkVTRVQpKTsKPgo+IC0JcmV0ID0gd2Fp dF9mb3JfcmVnaXN0ZXJfZncoZGV2X3ByaXYsCj4gLQkJCQkgICBSSU5HX1JFU0VUX0NUTChlbmdp bmUtPm1taW9fYmFzZSksCj4gLQkJCQkgICBSRVNFVF9DVExfUkVBRFlfVE9fUkVTRVQsCj4gLQkJ CQkgICBSRVNFVF9DVExfUkVBRFlfVE9fUkVTRVQsCj4gLQkJCQkgICA3MDApOwo+ICsJcmV0ID0g aW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXJfZncoZGV2X3ByaXYsCj4gKwkJCQkJIFJJTkdfUkVTRVRf Q1RMKGVuZ2luZS0+bW1pb19iYXNlKSwKPiArCQkJCQkgUkVTRVRfQ1RMX1JFQURZX1RPX1JFU0VU LAo+ICsJCQkJCSBSRVNFVF9DVExfUkVBRFlfVE9fUkVTRVQsCj4gKwkJCQkJIDcwMCk7Cj4gICAJ aWYgKHJldCkKPiAgIAkJRFJNX0VSUk9SKCIlczogcmVzZXQgcmVxdWVzdCB0aW1lb3V0XG4iLCBl bmdpbmUtPm5hbWUpOwo+Cj4KCkxvb2tzIGdvb2QgdG8gbWUuCgpSZXZpZXdlZC1ieTogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28KCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK