From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH] drm/i915: Fallback to reserve forcewake if primary ack missing Date: Thu, 26 Oct 2017 17:01:44 +0300 Message-ID: <20171026140144.12267-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id DBE9D6E1C2 for ; Thu, 26 Oct 2017 14:02:00 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VGhlcmUgaXMgYSBwb3NzaWJpbGl0eSBvbiBnZW45IGhhcmR3YXJlIHRvIG1pc3MgdGhlIGZvcmNl d2FrZSBhY2sKbWVzc2FnZS4gVGhlIHJlY29tbWVuZGVkIHdvcmthcm91bmQgaXMgdG8gdXNlIGFu b3RoZXIgZnJlZQpiaXQgYW5kIHRvZ2dsZSBpdCB1bnRpbCBvcmlnaW5hbCBiaXQgaXMgc3VjY2Vz c2Z1bGx5IGFja25vd2xlZGdlZC4KClRoZSB3b3JrYXJvdW5kIGlzIGEgYml0IG1pc2xlYWRpbmds eSBuYW1lZCBhcyBXYVJzRm9yY2V3YWtlQWRkRGVsYXlGb3JBY2suClRoZSByZWFzb24gZm9yIG5h bWluZyBpcyBtb3N0IGxpa2VseSB0aGF0IHdvcmthcm91bmQgd2FzIG5hbWVkIGJlZm9yZQp0aGUg bW9zdCByZWNlbnQgcmVjb21tZW5kYXRpb24gZXZvbHZlZCB0byB1c2UgdGhlIHJlc2VydmUgYml0 LgoKU29tZSBmdXR1cmUgZ2VuOSByZXZzIG1pZ2h0IG9yIG1pZ2h0IG5vdCBmaXggdGhlIHVuZGVy bHlpbmcgaXNzdWUgYnV0CnRoZSBmYWxsYmFjayB0byByZXNlcnZlIGJpdCBkYW5jZSBjYW4gYmUg Y29uc2lkZXJlZCBhcyBoYXJtbGVzczoKd2l0aG91dCB0aGUgYWNrIHRpbWVvdXQgd2UgbmV2ZXIg cmVhY2ggdGhlIHJlc2VydmUgYml0IGZvcmNld2FrZS4KVGh1cyBhcyBvZiBub3cgd2UgYWRvcHQg YSBibGFua2V0IGFwcHJvYWNoIGZvciBhbGwgZ2VuOSBhbmQgbGVhdmUKdGhlIGJ5cGFzc2luZyB0 aGUgcmVzZXJ2ZSBiaXQgYXBwcm9hY2ggZm9yIGZ1dHVyZSBwYXRjaGVzIGlmCmNvcnJlc3BvbmRp bmcgaHcgcmV2aXNpb25zIGRvIGFwcGVhci4KCkNvbW1pdCA4M2UzMzM3MjA0YjIgKCJkcm0vaTkx NTogSW5jcmVhc2UgbWF4aW11bSBwb2xsaW5nIHRpbWUgdG8gNTBtcwpmb3IgZm9yY2V3YWtlIHJl cXVlc3QvY2xlYXIgYWNrIikgZGlkIGluY3JlYXNlIHRoZSBmb3JjZXdha2UgdGltZW91dC4KSWYg dGhlIGlzc3VlIHdhcyBhIGRlbGF5ZWQgYWNrLCBmdXR1cmUgd29yayBjb3VsZCBpbmNsdWRlIGZp bmRpbmcKYSBzdWl0YWJsZSB0aW1lb3V0IHZhbHVlIGJvdGggZm9yIHByaW1hcnkgYWNrIGFuZCBy ZXNlcnZlIHRvZ2dsZQp0byByZWR1Y2UgdGhlIHdvcnN0IGNhc2UgbGF0ZW5jeS4KClJlZmVyZW5j ZXM6IEhTREVTICMxNjA0MjU0NTI0ClJlZmVyZW5jZXM6IGh0dHBzOi8vYnVncy5mcmVlZGVza3Rv cC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjA1MQpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+ CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSm9vbmFz IExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogU2FnYXIgQXJ1 biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTWlrYSBL dW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3VuY29yZS5jIHwgMTEyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQog MiBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAppbmRleCBmMTM4ZWFlODJiZjAuLmMwNGM2MzRhZjVhZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCkBAIC03Nzc0LDggKzc3NzQsOSBAQCBlbnVtIHsKICNkZWZpbmUg IEZPUkNFV0FLRV9BQ0tfTUVESUFfR0VOOQkJX01NSU8oMHgwRDg4KQogI2RlZmluZSAgRk9SQ0VX QUtFX0FDS19SRU5ERVJfR0VOOQkJX01NSU8oMHgwRDg0KQogI2RlZmluZSAgRk9SQ0VXQUtFX0FD S19CTElUVEVSX0dFTjkJCV9NTUlPKDB4MTMwMDQ0KQotI2RlZmluZSAgIEZPUkNFV0FLRV9LRVJO RUwJCQkweDEKLSNkZWZpbmUgICBGT1JDRVdBS0VfVVNFUgkJCTB4MgorI2RlZmluZSAgIEZPUkNF V0FLRV9LRVJORUwJCQlCSVQoMCkKKyNkZWZpbmUgICBGT1JDRVdBS0VfVVNFUgkJCUJJVCgxKQor I2RlZmluZSAgIEZPUkNFV0FLRV9SRVNFUlZFCQkJQklUKDEyKQogI2RlZmluZSAgRk9SQ0VXQUtF X01UX0FDSwkJCV9NTUlPKDB4MTMwMDQwKQogI2RlZmluZSAgRUNPQlVTCQkJCQlfTU1JTygweGEx ODApCiAjZGVmaW5lICAgIEZPUkNFV0FLRV9NVF9FTkFCTEUJCQkoMTw8NSkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggMjBlM2M2NWMwOTk5Li5mYzZkMDkwMjQ0YzUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC02OSwxNyArNjksODAgQEAgZndfZG9tYWlu X2FybV90aW1lcihzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiAJCQkg ICAgICAgSFJUSU1FUl9NT0RFX1JFTCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbAord2FpdF9h Y2tfY2xlYXIoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJICAgICAgIGNv bnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCwKKwkgICAgICAgY29u c3QgdTMyIGFjaykKK3sKKwlyZXR1cm4gd2FpdF9mb3JfYXRvbWljKChfX3Jhd19pOTE1X3JlYWQz MihpOTE1LCBkLT5yZWdfYWNrKSAmIGFjaykgPT0gMCwKKwkJCSAgICAgICBGT1JDRVdBS0VfQUNL X1RJTUVPVVRfTVMpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wKK3dhaXRfYWNrX3NldChjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkgICAgIGNvbnN0IHN0cnVjdCBpbnRl bF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCwKKwkgICAgIGNvbnN0IHUzMiBhY2spCit7CisJ cmV0dXJuIHdhaXRfZm9yX2F0b21pYygoX19yYXdfaTkxNV9yZWFkMzIoaTkxNSwgZC0+cmVnX2Fj aykgJiBhY2spLAorCQkJICAgICAgIEZPUkNFV0FLRV9BQ0tfVElNRU9VVF9NUyk7Cit9CisKIHN0 YXRpYyBpbmxpbmUgdm9pZAogZndfZG9tYWluX3dhaXRfYWNrX2NsZWFyKGNvbnN0IHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9y Y2V3YWtlX2RvbWFpbiAqZCkKIHsKLQlpZiAod2FpdF9mb3JfYXRvbWljKChfX3Jhd19pOTE1X3Jl YWQzMihpOTE1LCBkLT5yZWdfYWNrKSAmCi0JCQkgICAgIEZPUkNFV0FLRV9LRVJORUwpID09IDAs Ci0JCQkgICAgRk9SQ0VXQUtFX0FDS19USU1FT1VUX01TKSkKKwlpZiAod2FpdF9hY2tfY2xlYXIo aTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5FTCkpCiAJCURSTV9FUlJPUigiJXM6IHRpbWVkIG91dCB3 YWl0aW5nIGZvciBmb3JjZXdha2UgYWNrIHRvIGNsZWFyLlxuIiwKIAkJCSAgaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9kb21haW5fdG9fc3RyKGQtPmlkKSk7CiB9CiAKK2VudW0gYWNrX3R5cGUgewor CUFDS19DTEVBUiA9IDAsCisJQUNLX1NFVAorfTsKKworc3RhdGljIGJvb2wKK2Z3X2RvbWFpbl9y ZXNlcnZlX2ZhbGxiYWNrKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJ ICAgY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkLAorCQkJICAg Y29uc3QgZW51bSBhY2tfdHlwZSB0eXBlKQoreworCWJvb2wgdGltZW91dDsKKwlpbnQgcmV0cnkg PSAxMDsKKworCS8qIEZhbGxiYWNrIHRvIHRvZ2dsZSBhbm90aGVyIGZ3IGJpdCB0byB3YWtlIHVw IHRoZSBncHUgKi8KKwlkbyB7CisJCXdhaXRfYWNrX2NsZWFyKGk5MTUsIGQsIEZPUkNFV0FLRV9S RVNFUlZFKTsKKwkJX19yYXdfaTkxNV93cml0ZTMyKGk5MTUsIGQtPnJlZ19zZXQsCisJCQkJICAg X01BU0tFRF9CSVRfRU5BQkxFKEZPUkNFV0FLRV9SRVNFUlZFKSk7CisJCXdhaXRfYWNrX3NldChp OTE1LCBkLCBGT1JDRVdBS0VfUkVTRVJWRSk7CisKKwkJaWYgKHR5cGUgPT0gQUNLX0NMRUFSKQor CQkJdGltZW91dCA9IHdhaXRfYWNrX2NsZWFyKGk5MTUsIGQsIEZPUkNFV0FLRV9LRVJORUwpOwor CQllbHNlCisJCQl0aW1lb3V0ID0gd2FpdF9hY2tfc2V0KGk5MTUsIGQsIEZPUkNFV0FLRV9LRVJO RUwpOworCisJCV9fcmF3X2k5MTVfd3JpdGUzMihpOTE1LCBkLT5yZWdfc2V0LAorCQkJCSAgIF9N QVNLRURfQklUX0RJU0FCTEUoRk9SQ0VXQUtFX1JFU0VSVkUpKTsKKwl9IHdoaWxlICh0aW1lb3V0 ICYmIC0tcmV0cnkpOworCisJcmV0dXJuIHRpbWVvdXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9p ZAorZndfZG9tYWluX3dhaXRfYWNrX2NsZWFyX3Jlc2VydmUoY29uc3Qgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsCisJCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtl X2RvbWFpbiAqZCkKK3sKKwlib29sIHRpbWVvdXQ7CisKKwl0aW1lb3V0ID0gd2FpdF9hY2tfY2xl YXIoaTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5FTCk7CisJaWYgKGxpa2VseSghdGltZW91dCkpCisJ CXJldHVybjsKKworCXRpbWVvdXQgPSBmd19kb21haW5fcmVzZXJ2ZV9mYWxsYmFjayhpOTE1LCBk LCBBQ0tfQ0xFQVIpOworCWlmICh0aW1lb3V0KQorCQlmd19kb21haW5fd2FpdF9hY2tfY2xlYXIo aTkxNSwgZCk7Cit9CisKIHN0YXRpYyBpbmxpbmUgdm9pZAogZndfZG9tYWluX2dldChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfdW5jb3Jl X2ZvcmNld2FrZV9kb21haW4gKmQpCkBAIC05MSwxNCArMTU0LDI3IEBAIHN0YXRpYyBpbmxpbmUg dm9pZAogZndfZG9tYWluX3dhaXRfYWNrKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAogCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQp CiB7Ci0JaWYgKHdhaXRfZm9yX2F0b21pYygoX19yYXdfaTkxNV9yZWFkMzIoaTkxNSwgZC0+cmVn X2FjaykgJgotCQkJICAgICBGT1JDRVdBS0VfS0VSTkVMKSwKLQkJCSAgICBGT1JDRVdBS0VfQUNL X1RJTUVPVVRfTVMpKQorCWlmICh3YWl0X2Fja19zZXQoaTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5F TCkpCiAJCURSTV9FUlJPUigiJXM6IHRpbWVkIG91dCB3YWl0aW5nIGZvciBmb3JjZXdha2UgYWNr IHJlcXVlc3QuXG4iLAogCQkJICBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbl90b19zdHIo ZC0+aWQpKTsKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCitmd19kb21haW5fd2FpdF9hY2tfc2V0 X3Jlc2VydmUoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCQkgICAgICAg Y29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQoreworCWJvb2wg dGltZW91dDsKKworCXRpbWVvdXQgPSB3YWl0X2Fja19zZXQoaTkxNSwgZCwgRk9SQ0VXQUtFX0tF Uk5FTCk7CisJaWYgKGxpa2VseSghdGltZW91dCkpCisJCXJldHVybjsKKworCXRpbWVvdXQgPSBm d19kb21haW5fcmVzZXJ2ZV9mYWxsYmFjayhpOTE1LCBkLCBBQ0tfU0VUKTsKKwlpZiAodGltZW91 dCkKKwkJZndfZG9tYWluX3dhaXRfYWNrKGk5MTUsIGQpOworfQorCitzdGF0aWMgaW5saW5lIHZv aWQKIGZ3X2RvbWFpbl9wdXQoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJ ICAgICAgY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQogewpA QCAtMTI1LDYgKzIwMSwyNiBAQCBmd19kb21haW5zX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQogfQogCiBzdGF0aWMg dm9pZAorZndfZG9tYWluc19nZXRfd2l0aF9yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1LAorCQkJICAgIGVudW0gZm9yY2V3YWtlX2RvbWFpbnMgZndfZG9tYWlucykKK3sKKwlz dHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQ7CisJdW5zaWduZWQgaW50IHRt cDsKKworCUdFTV9CVUdfT04oZndfZG9tYWlucyAmIH5pOTE1LT51bmNvcmUuZndfZG9tYWlucyk7 CisKKwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGQsIGZ3X2RvbWFpbnMsIGk5MTUsIHRtcCkg eworCQlmd19kb21haW5fd2FpdF9hY2tfY2xlYXJfcmVzZXJ2ZShpOTE1LCBkKTsKKwkJZndfZG9t YWluX2dldChpOTE1LCBkKTsKKwl9CisKKwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGQsIGZ3 X2RvbWFpbnMsIGk5MTUsIHRtcCkKKwkJZndfZG9tYWluX3dhaXRfYWNrX3NldF9yZXNlcnZlKGk5 MTUsIGQpOworCisJaTkxNS0+dW5jb3JlLmZ3X2RvbWFpbnNfYWN0aXZlIHw9IGZ3X2RvbWFpbnM7 Cit9CisKK3N0YXRpYyB2b2lkCiBmd19kb21haW5zX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQogewogCXN0cnVjdCBp bnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKQEAgLTExNDIsNyArMTIzOCw5IEBAIHN0 YXRpYyB2b2lkIGludGVsX3VuY29yZV9md19kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCX0KIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpIHsK LQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dldCA9IGZ3X2RvbWFpbnNfZ2V0 OworCQkvKiBXYVJzRm9yY2V3YWtlQWRkRGVsYXlGb3JBY2s6c2tsLGJ4dCxrYmwsZ2xrLGNmbCxj bmwgKi8KKwkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX2dldCA9CisJCQlmd19k b21haW5zX2dldF93aXRoX3Jlc2VydmU7CiAJCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9yY2Vf d2FrZV9wdXQgPSBmd19kb21haW5zX3B1dDsKIAkJZndfZG9tYWluX2luaXQoZGV2X3ByaXYsIEZX X0RPTUFJTl9JRF9SRU5ERVIsCiAJCQkgICAgICAgRk9SQ0VXQUtFX1JFTkRFUl9HRU45LAotLSAK Mi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK