From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v7 17/20] drm/i915: Watchdog timeout: Ringbuffer command emission for gen8+ Date: Thu, 27 Apr 2017 16:12:57 -0700 Message-ID: <20170427231300.32841-18-michel.thierry@intel.com> References: <20170427231300.32841-1-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 594886E19F for ; Thu, 27 Apr 2017 23:13:03 +0000 (UTC) In-Reply-To: <20170427231300.32841-1-michel.thierry@intel.com> 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 List-Id: intel-gfx@lists.freedesktop.org RW1pdCB0aGUgcmVxdWlyZWQgY29tbWFuZHMgaW50byB0aGUgcmluZyBidWZmZXIgZm9yIHN0YXJ0 aW5nIGFuZApzdG9wcGluZyB0aGUgd2F0Y2hkb2cgdGltZXIgYmVmb3JlL2FmdGVyIGJhdGNoIGJ1 ZmZlciBzdGFydCBkdXJpbmcKYmF0Y2ggYnVmZmVyIHN1Ym1pc3Npb24uCgp2MjogU3VwcG9ydCB3 YXRjaGRvZyB0aHJlc2hvbGQgcGVyIGNvbnRleHQgZW5naW5lLCBtZXJnZSBscmkgY29tbWFuZHMs CmFuZCBtb3ZlIHdhdGNoZG9nIGNvbW1hbmRzIGVtaXNzaW9uIHRvIGVtaXRfYmJfc3RhcnQuIFJl cXVlc3Qgc3BhY2Ugb2YKY29tYmluZWQgc3RhcnRfd2F0Y2hkb2csIGJiX3N0YXJ0IGFuZCBzdG9w X3dhdGNoZG9nIHRvIGF2b2lkIGFueSBlcnJvcgphZnRlciBlbWl0dGluZyBiYl9zdGFydC4KCnYz OiBUaGVyZSB3ZXJlIHRvbyBtYW55IHJlcS0+ZW5naW5lIGluIGVtaXRfYmJfc3RhcnQuClVzZSBH RU1fQlVHX09OIGluc3RlYWQgb2YgcmV0dXJuaW5nIGEgdmVyeSBsYXRlIEVJTlZBTCBpbiB0aGUg cmVtb3RlCmNhc2Ugb2Ygd2F0Y2hkb2cgbWlzcHJvZ3JhbW1pbmc7IHNldCBjb3JyZWN0IExSSSBj bWQgc2l6ZSBpbgplbWl0X3N0b3Bfd2F0Y2hkb2cuIChDaHJpcykKCkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KU2lnbmVkLW9mZi1ieTogVG9tYXMgRWxmIDx0b21h cy5lbGZAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBJYW4gTGlzdGVyIDxpYW4ubGlzdGVyQGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51 eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJy eUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5o IHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8IDg1ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oIHwgIDQgKysKIDMgZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgK aW5kZXggNGFmMmFiOTQ1NThiLi44ODcwMGJkYmI0ZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmgKQEAgLTE1MCw2ICsxNTAsMTAgQEAgc3RydWN0IGk5MTVfZ2VtX2Nv bnRleHQgewogCQl1MzIgKmxyY19yZWdfc3RhdGU7CiAJCXU2NCBscmNfZGVzYzsKIAkJaW50IHBp bl9jb3VudDsKKwkJLyoqIHdhdGNoZG9nX3RocmVzaG9sZDogaHcgd2F0Y2hkb2cgdGhyZXNob2xk IHZhbHVlLAorCQkgKiBpbiBjbG9jayBjb3VudHMKKwkJICovCisJCXUzMiB3YXRjaGRvZ190aHJl c2hvbGQ7CiAJCWJvb2wgaW5pdGlhbGlzZWQ7CiAJfSBlbmdpbmVbSTkxNV9OVU1fRU5HSU5FU107 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggNjlhNzM0NDBmZjEyLi4yMDdjZjdkODcy MWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMzEwLDcgKzEzMTAsMTAgQEAgc3Rh dGljIGludCBnZW44X2VtaXRfYmJfc3RhcnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCiAJCQkgICAgICB1NjQgb2Zmc2V0LCB1MzIgbGVuLAogCQkJICAgICAgY29uc3QgdW5zaWdu ZWQgaW50IGZsYWdzKQogeworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcS0+ ZW5naW5lOwogCXUzMiAqY3M7CisJdTMyIG51bV9kd29yZHM7CisJYm9vbCB3YXRjaGRvZ19ydW5u aW5nID0gZmFsc2U7CiAJaW50IHJldDsKIAogCS8qIERvbid0IHJlbHkgaW4gaHcgdXBkYXRpbmcg UERQcywgc3BlY2lhbGx5IGluIGxpdGUtcmVzdG9yZS4KQEAgLTEzMjAsMjAgKzEzMjMsMzggQEAg c3RhdGljIGludCBnZW44X2VtaXRfYmJfc3RhcnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEsCiAJICogbm90IGlkbGUpLiBQTUw0IGlzIGFsbG9jYXRlZCBkdXJpbmcgcHBndHQgaW5p dCBzbyB0aGlzIGlzCiAJICogbm90IG5lZWRlZCBpbiA0OC1iaXQuKi8KIAlpZiAocmVxLT5jdHgt PnBwZ3R0ICYmCi0JICAgIChpbnRlbF9lbmdpbmVfZmxhZyhyZXEtPmVuZ2luZSkgJiByZXEtPmN0 eC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKSAmJgorCSAgICAoaW50ZWxfZW5naW5lX2ZsYWcoZW5n aW5lKSAmIHJlcS0+Y3R4LT5wcGd0dC0+cGRfZGlydHlfcmluZ3MpICYmCiAJICAgICFpOTE1X3Zt X2lzXzQ4Yml0KCZyZXEtPmN0eC0+cHBndHQtPmJhc2UpICYmCiAJICAgICFpbnRlbF92Z3B1X2Fj dGl2ZShyZXEtPmk5MTUpKSB7CiAJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0X3BkcHMo cmVxKTsKIAkJaWYgKHJldCkKIAkJCXJldHVybiByZXQ7CiAKLQkJcmVxLT5jdHgtPnBwZ3R0LT5w ZF9kaXJ0eV9yaW5ncyAmPSB+aW50ZWxfZW5naW5lX2ZsYWcocmVxLT5lbmdpbmUpOworCQlyZXEt PmN0eC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzICY9IH5pbnRlbF9lbmdpbmVfZmxhZyhlbmdpbmUp OworCX0KKworCS8qIGJiX3N0YXJ0IG9ubHkgKi8KKwludW1fZHdvcmRzID0gNDsKKworCS8qIGNo ZWNrIGlmIHdhdGNoZG9nIHdpbGwgYmUgcmVxdWlyZWQgKi8KKwlpZiAocmVxLT5jdHgtPmVuZ2lu ZVtlbmdpbmUtPmlkXS53YXRjaGRvZ190aHJlc2hvbGQgIT0gMCkgeworCQlHRU1fQlVHX09OKCFl bmdpbmUtPmVtaXRfc3RhcnRfd2F0Y2hkb2cgfHwKKwkJCSAgICFlbmdpbmUtPmVtaXRfc3RvcF93 YXRjaGRvZyk7CisKKwkJLyogKyBzdGFydF93YXRjaGRvZyAoNikgKyBzdG9wX3dhdGNoZG9nICg0 KSAqLworCQludW1fZHdvcmRzICs9IDEwOworCQl3YXRjaGRvZ19ydW5uaW5nID0gdHJ1ZTsKIAl9 CiAKLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKKwljcyA9IGludGVsX3JpbmdfYmVn aW4ocmVxLCBudW1fZHdvcmRzKTsKIAlpZiAoSVNfRVJSKGNzKSkKIAkJcmV0dXJuIFBUUl9FUlIo Y3MpOwogCisJaWYgKHdhdGNoZG9nX3J1bm5pbmcpIHsKKwkJLyogU3RhcnQgd2F0Y2hkb2cgdGlt ZXIgKi8KKwkJY3MgPSBlbmdpbmUtPmVtaXRfc3RhcnRfd2F0Y2hkb2cocmVxLCBjcyk7CisJfQor CiAJLyogRklYTUUoQkRXKTogQWRkcmVzcyBzcGFjZSBhbmQgc2VjdXJpdHkgc2VsZWN0b3JzLiAq LwogCSpjcysrID0gTUlfQkFUQ0hfQlVGRkVSX1NUQVJUX0dFTjggfAogCQkoZmxhZ3MgJiBJOTE1 X0RJU1BBVENIX1NFQ1VSRSA/IDAgOiBCSVQoOCkpIHwKQEAgLTEzNDEsOCArMTM2MiwxMyBAQCBz dGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSwKIAkqY3MrKyA9IGxvd2VyXzMyX2JpdHMob2Zmc2V0KTsKIAkqY3MrKyA9IHVwcGVyXzMy X2JpdHMob2Zmc2V0KTsKIAkqY3MrKyA9IE1JX05PT1A7Ci0JaW50ZWxfcmluZ19hZHZhbmNlKHJl cSwgY3MpOwogCisJaWYgKHdhdGNoZG9nX3J1bm5pbmcpIHsKKwkJLyogQ2FuY2VsIHdhdGNoZG9n IHRpbWVyICovCisJCWNzID0gZW5naW5lLT5lbWl0X3N0b3Bfd2F0Y2hkb2cocmVxLCBjcyk7CisJ fQorCisJaW50ZWxfcmluZ19hZHZhbmNlKHJlcSwgY3MpOwogCXJldHVybiAwOwogfQogCkBAIC0x NTA5LDYgKzE1MzUsNDkgQEAgc3RhdGljIHZvaWQgZ2VuOF93YXRjaGRvZ19pcnFfaGFuZGxlcih1 bnNpZ25lZCBsb25nIGRhdGEpCiAJaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9wdXQoZGV2X3ByaXYs IGVuZ2luZS0+ZndfZG9tYWlucyk7CiB9CiAKK3N0YXRpYyB1MzIgKmdlbjhfZW1pdF9zdGFydF93 YXRjaGRvZyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgdTMyICpjcykKK3sKKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKKwlzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4ID0gcmVxLT5jdHg7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmNl ID0gJmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOworCisJLyogWFhYOiBubyB3YXRjaGRvZyBzdXBw b3J0IGluIEJDUyBlbmdpbmUgKi8KKwlHRU1fQlVHX09OKGVuZ2luZS0+aWQgPT0gQkNTKTsKKwor CS8qCisJICogd2F0Y2hkb2cgcmVnaXN0ZXIgbXVzdCBuZXZlciBiZSBwcm9ncmFtbWVkIHRvIHpl cm8uIFRoaXMgd291bGQKKwkgKiBjYXVzZSB0aGUgd2F0Y2hkb2cgY291bnRlciB0byBleGNlZWQg YW5kIG5vdCBhbGxvdyB0aGUgZW5naW5lIHRvCisJICogZ28gaW50byBJRExFIHN0YXRlCisJICov CisJR0VNX0JVR19PTihjZS0+d2F0Y2hkb2dfdGhyZXNob2xkID09IDApOworCisJLyogU2V0IGNv dW50ZXIgcGVyaW9kICovCisJKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTSgyKTsKKwkqY3Mr KyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfVEhSRVNIKGVuZ2luZS0+bW1pb19iYXNlKSk7 CisJKmNzKysgPSBjZS0+d2F0Y2hkb2dfdGhyZXNob2xkOworCS8qIFN0YXJ0IGNvdW50ZXIgKi8K KwkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfQ05UUihlbmdpbmUtPm1taW9fYmFz ZSkpOworCSpjcysrID0gR0VOOF9XQVRDSERPR19FTkFCTEU7CisJKmNzKysgPSBNSV9OT09QOwor CisJcmV0dXJuIGNzOworfQorCitzdGF0aWMgdTMyICpnZW44X2VtaXRfc3RvcF93YXRjaGRvZyhz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgdTMyICpjcykKK3sKKwlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKKworCS8qIFhYWDogbm8gd2F0Y2hk b2cgc3VwcG9ydCBpbiBCQ1MgZW5naW5lICovCisJR0VNX0JVR19PTihlbmdpbmUtPmlkID09IEJD Uyk7CisKKwkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpOworCSpjcysrID0gaTkxNV9t bWlvX3JlZ19vZmZzZXQoUklOR19DTlRSKGVuZ2luZS0+bW1pb19iYXNlKSk7CisJKmNzKysgPSBn ZXRfd2F0Y2hkb2dfZGlzYWJsZShlbmdpbmUpOworCSpjcysrID0gTUlfTk9PUDsKKworCXJldHVy biBjczsKK30KKwogLyoKICAqIFJlc2VydmUgc3BhY2UgZm9yIDIgTk9PUHMgYXQgdGhlIGVuZCBv ZiBlYWNoIHJlcXVlc3QgdG8gYmUKICAqIHVzZWQgYXMgYSB3b3JrYXJvdW5kIGZvciBub3QgYmVp bmcgYWxsb3dlZCB0byBkbyBsaXRlCkBAIC0xNzc3LDYgKzE4NDYsOCBAQCBpbnQgbG9naWNhbF9y ZW5kZXJfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAllbmdpbmUt PmVtaXRfZmx1c2ggPSBnZW44X2VtaXRfZmx1c2hfcmVuZGVyOwogCWVuZ2luZS0+ZW1pdF9icmVh ZGNydW1iID0gZ2VuOF9lbWl0X2JyZWFkY3J1bWJfcmVuZGVyOwogCWVuZ2luZS0+ZW1pdF9icmVh ZGNydW1iX3N6ID0gZ2VuOF9lbWl0X2JyZWFkY3J1bWJfcmVuZGVyX3N6OworCWVuZ2luZS0+ZW1p dF9zdGFydF93YXRjaGRvZyA9IGdlbjhfZW1pdF9zdGFydF93YXRjaGRvZzsKKwllbmdpbmUtPmVt aXRfc3RvcF93YXRjaGRvZyA9IGdlbjhfZW1pdF9zdG9wX3dhdGNoZG9nOwogCiAJcmV0ID0gaW50 ZWxfZW5naW5lX2NyZWF0ZV9zY3JhdGNoKGVuZ2luZSwgUEFHRV9TSVpFKTsKIAlpZiAocmV0KQpA QCAtMTgwMCw2ICsxODcxLDEyIEBAIGludCBsb2dpY2FsX3hjc19yaW5nX2luaXQoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCWxvZ2ljYWxfcmluZ19zZXR1cChlbmdpbmUpOwog CisJLyogQkNTIGVuZ2luZSBkb2VzIG5vdCBoYXZlIGEgd2F0Y2hkb2ctZXhwaXJlZCBpcnEgKi8K KwlpZiAoZW5naW5lLT5pZCAhPSBCQ1MpIHsKKwkJZW5naW5lLT5lbWl0X3N0YXJ0X3dhdGNoZG9n ID0gZ2VuOF9lbWl0X3N0YXJ0X3dhdGNoZG9nOworCQllbmdpbmUtPmVtaXRfc3RvcF93YXRjaGRv ZyA9IGdlbjhfZW1pdF9zdG9wX3dhdGNoZG9nOworCX0KKwogCXJldHVybiBsb2dpY2FsX3Jpbmdf aW5pdChlbmdpbmUpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK aW5kZXggMTdiMzE5NGU0MDM0Li5mZWU4MGExYzVkOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmgKQEAgLTI4MCw2ICsyODAsMTAgQEAgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyB7CiAKIAlpbnQJCSgqZW1pdF9mbHVzaCkoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXF1ZXN0LAogCQkJCSAgICAgIHUzMiBtb2RlKTsKKwl1MzIgKgkJKCplbWl0X3N0YXJ0X3dh dGNoZG9nKShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKKwkJCQkJICAgICAgIHUz MiAqY3MpOworCXUzMiAqCQkoKmVtaXRfc3RvcF93YXRjaGRvZykoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCisJCQkJCSAgICAgIHUzMiAqY3MpOwogI2RlZmluZSBFTUlUX0lOVkFM SURBVEUJQklUKDApCiAjZGVmaW5lIEVNSVRfRkxVU0gJQklUKDEpCiAjZGVmaW5lIEVNSVRfQkFS UklFUgkoRU1JVF9JTlZBTElEQVRFIHwgRU1JVF9GTFVTSCkKLS0gCjIuMTEuMAoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==