From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH igt] lib: Add a GPU error detector Date: Tue, 22 Mar 2016 11:48:23 +0000 Message-ID: <1458647303-15259-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id D48886E2B7 for ; Tue, 22 Mar 2016 11:48:32 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id r129so17089324wmr.2 for ; Tue, 22 Mar 2016 04:48:32 -0700 (PDT) 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 SWYgd2UgbGlzdGVuIHRvIHRoZSB1ZXZlbnRzIGZyb20gdGhlIGtlcm5lbCwgd2UgY2FuIGRldGVj dCB3aGVuIHRoZSBHUFUKaGFuZ3MuIFRoaXMgcmVxdWlyZXMgdXMgdG8gZm9yayBhIGhlbHBlciBw cm9jZXNzIHRvIGRvIHNvIGFuZCBzZW5kIGEKc2lnbmFsIGJhY2sgdG8gdGhlIHBhcmVudC4KClNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0K IGJlbmNobWFya3MvTWFrZWZpbGUuYW0gICB8ICAyICstCiBkZWJ1Z2dlci9NYWtlZmlsZS5hbSAg ICAgfCAgMiArLQogZGVtb3MvTWFrZWZpbGUuYW0gICAgICAgIHwgIDIgKy0KIGxpYi9NYWtlZmls ZS5hbSAgICAgICAgICB8IDEyICsrKysrLS0KIGxpYi9pZ3RfYXV4LmMgICAgICAgICAgICB8IDgy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL2ln dF9hdXguaCAgICAgICAgICAgIHwgIDMgKysKIHRlc3RzL01ha2VmaWxlLmFtICAgICAgICB8ICAz ICstCiB0ZXN0cy9nZW1fZXhlY193aGlzcGVyLmMgfCAgNCArKysKIHRvb2xzL01ha2VmaWxlLmFt ICAgICAgICB8ICAyICstCiA5IGZpbGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCA4IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvTWFrZWZpbGUuYW0gYi9iZW5jaG1h cmtzL01ha2VmaWxlLmFtCmluZGV4IGM2N2Y0NzIuLjJjMmQxMDAgMTAwNjQ0Ci0tLSBhL2JlbmNo bWFya3MvTWFrZWZpbGUuYW0KKysrIGIvYmVuY2htYXJrcy9NYWtlZmlsZS5hbQpAQCAtMyw3ICsz LDcgQEAgaW5jbHVkZSBNYWtlZmlsZS5zb3VyY2VzCiAKIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9z cmNkaXIpIC1JJCh0b3Bfc3JjZGlyKS9saWIKIEFNX0NGTEFHUyA9ICQoRFJNX0NGTEFHUykgJChD V0FSTkZMQUdTKSAkKENBSVJPX0NGTEFHUykgJChMSUJVTldJTkRfQ0ZMQUdTKQotTERBREQgPSAk KHRvcF9idWlsZGRpcikvbGliL2xpYmludGVsX3Rvb2xzLmxhICQoRFJNX0xJQlMpICQoUENJQUND RVNTX0xJQlMpICQoQ0FJUk9fTElCUykgJChMSUJVTldJTkRfTElCUykgJChUSU1FUl9MSUJTKSAt bG0KK0xEQUREID0gJCh0b3BfYnVpbGRkaXIpL2xpYi9saWJpbnRlbF90b29scy5sYQogCiBiZW5j aG1hcmtzX0xUTElCUkFSSUVTID0gZ2VtX2V4ZWNfdHJhY2VyLmxhCiBnZW1fZXhlY190cmFjZXJf bGFfTERGTEFHUyA9IC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLW5vLXVuZGVmaW5lZApkaWZmIC0t Z2l0IGEvZGVidWdnZXIvTWFrZWZpbGUuYW0gYi9kZWJ1Z2dlci9NYWtlZmlsZS5hbQppbmRleCA1 YTUyM2Y1Li45ZDIzMWQzIDEwMDY0NAotLS0gYS9kZWJ1Z2dlci9NYWtlZmlsZS5hbQorKysgYi9k ZWJ1Z2dlci9NYWtlZmlsZS5hbQpAQCAtMTUsNCArMTUsNCBAQCBBTV9DRkxBR1MgPSAJCQlcCiAJ JChMSUJVTldJTkRfQ0ZMQUdTKQlcCiAJJChDV0FSTkZMQUdTKQogCi1MREFERCA9ICQodG9wX2J1 aWxkZGlyKS9saWIvbGliaW50ZWxfdG9vbHMubGEgJChEUk1fTElCUykgJChQQ0lBQ0NFU1NfTElC UykgJChDQUlST19MSUJTKSAkKExJQlVOV0lORF9MSUJTKSAkKFRJTUVSX0xJQlMpCitMREFERCA9 ICQodG9wX2J1aWxkZGlyKS9saWIvbGliaW50ZWxfdG9vbHMubGEKZGlmZiAtLWdpdCBhL2RlbW9z L01ha2VmaWxlLmFtIGIvZGVtb3MvTWFrZWZpbGUuYW0KaW5kZXggZDE4YTcwNS4uZTZmYmIzYiAx MDA2NDQKLS0tIGEvZGVtb3MvTWFrZWZpbGUuYW0KKysrIGIvZGVtb3MvTWFrZWZpbGUuYW0KQEAg LTQsNCArNCw0IEBAIGJpbl9QUk9HUkFNUyA9IAkJCQlcCiAKIEFNX0NQUEZMQUdTID0gLUkkKHRv cF9zcmNkaXIpIC1JJCh0b3Bfc3JjZGlyKS9saWIKIEFNX0NGTEFHUyA9ICQoRFJNX0NGTEFHUykg JChQQ0lBQ0NFU1NfQ0ZMQUdTKSAkKENXQVJORkxBR1MpICQoQ0FJUk9fQ0ZMQUdTKSAkKExJQlVO V0lORF9DRkxBR1MpCi1MREFERCA9ICQodG9wX2J1aWxkZGlyKS9saWIvbGliaW50ZWxfdG9vbHMu bGEgJChEUk1fTElCUykgJChQQ0lBQ0NFU1NfTElCUykgJChDQUlST19MSUJTKSAkKExJQlVOV0lO RF9MSUJTKSAkKFRJTUVSX0xJQlMpCitMREFERCA9ICQodG9wX2J1aWxkZGlyKS9saWIvbGliaW50 ZWxfdG9vbHMubGEKZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZS5hbSBiL2xpYi9NYWtlZmlsZS5h bQppbmRleCBhOGExZWI2Li5kMmYyZTE2IDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUuYW0KKysr IGIvbGliL01ha2VmaWxlLmFtCkBAIC0xNSwxMiArMTUsMjAgQEAgaWYgSEFWRV9WQzQKIGVuZGlm CiAKIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpCi1BTV9DRkxBR1MgPSAkKERSTV9DRkxB R1MpICQoQ1dBUk5GTEFHUykgJChMSUJVTldJTkRfQ0ZMQUdTKSAkKERFQlVHX0NGTEFHUykgXAor QU1fQ0ZMQUdTID0gJChDV0FSTkZMQUdTKSAkKERSTV9DRkxBR1MpICQoUENJQUNDRVNTX0NGTEFH UykgJChMSUJVTldJTkRfQ0ZMQUdTKSAkKERFQlVHX0NGTEFHUykgXAogCSAgICAtRElHVF9TUkNE SVI9XCIiJChhYnNfdG9wX3NyY2RpcikvdGVzdHMiXCIgXAogCSAgICAtRElHVF9EQVRBRElSPVwi IiQocGtnZGF0YWRpcikiXCIgXAogCSAgICAtRElHVF9MT0dfRE9NQUlOPVwiIiQoc3Vic3QgXywt LCQqKSJcIiBcCiAJICAgIC1wdGhyZWFkCiAKLUxEQUREID0gJChDQUlST19MSUJTKSAkKExJQlVO V0lORF9MSUJTKSAkKFRJTUVSX0xJQlMpIC1sbQogQU1fQ0ZMQUdTICs9ICQoQ0FJUk9fQ0ZMQUdT KQogCitsaWJpbnRlbF90b29sc19sYV9MSUJBREQgPSBcCisJJChEUk1fTElCUykgXAorCSQoUENJ QUNDRVNTX0xJQlMpIFwKKwkkKENBSVJPX0xJQlMpIFwKKwkkKExJQlVERVZfTElCUykgXAorCSQo TElCVU5XSU5EX0xJQlMpIFwKKwkkKFRJTUVSX0xJQlMpIFwKKwktbG0KKwpkaWZmIC0tZ2l0IGEv bGliL2lndF9hdXguYyBiL2xpYi9pZ3RfYXV4LmMKaW5kZXggN2RlYWYyZi4uZDhmNzJmYiAxMDA2 NDQKLS0tIGEvbGliL2lndF9hdXguYworKysgYi9saWIvaWd0X2F1eC5jCkBAIC00Miw2ICs0Miw3 IEBACiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1ZGUgPHVu aXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9wb2xsLmg+CiAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KICNp bmNsdWRlIDxzeXMvdGltZS5oPgogI2luY2x1ZGUgPHN5cy90eXBlcy5oPgpAQCAtMzYwLDYgKzM2 MSw4NyBAQCB2b2lkIGlndF9zdG9wX3NpZ25hbF9oZWxwZXIodm9pZCkKIAlzaWdfc3RhdCA9IDA7 CiB9CiAKKyNpZiBIQVZFX1VERVYKKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+CisKK3N0YXRpYyBzdHJ1 Y3QgaWd0X2hlbHBlcl9wcm9jZXNzIGhhbmdfZGV0ZWN0b3I7CitzdGF0aWMgdm9pZCBfX2F0dHJp YnV0ZV9fKChub3JldHVybikpCitoYW5nX2RldGVjdG9yX3Byb2Nlc3MocGlkX3QgcGlkLCBkZXZf dCByZGV2KQoreworCXN0cnVjdCB1ZGV2X21vbml0b3IgKm1vbiA9CisJCXVkZXZfbW9uaXRvcl9u ZXdfZnJvbV9uZXRsaW5rKHVkZXZfbmV3KCksICJrZXJuZWwiKTsKKwlzdHJ1Y3QgcG9sbGZkIHBm ZDsKKworCXVkZXZfbW9uaXRvcl9maWx0ZXJfYWRkX21hdGNoX3N1YnN5c3RlbV9kZXZ0eXBlKG1v biwgImRybSIsIE5VTEwpOworCXVkZXZfbW9uaXRvcl9lbmFibGVfcmVjZWl2aW5nKG1vbik7CisK KwlwZmQuZmQgPSB1ZGV2X21vbml0b3JfZ2V0X2ZkKG1vbik7CisJcGZkLmV2ZW50cyA9IFBPTExJ TjsKKworCXdoaWxlIChwb2xsKCZwZmQsIDEsIC0xKSA+IDApIHsKKwkJc3RydWN0IHVkZXZfZGV2 aWNlICpkZXYgPSB1ZGV2X21vbml0b3JfcmVjZWl2ZV9kZXZpY2UobW9uKTsKKwkJZGV2X3QgZGV2 bnVtOworCisJCWlmIChkZXYgPT0gTlVMTCkKKwkJCWJyZWFrOworCisJCWRldm51bSA9IHVkZXZf ZGV2aWNlX2dldF9kZXZudW0oZGV2KTsKKwkJaWYgKG1lbWNtcCgmcmRldiwgJmRldm51bSwgc2l6 ZW9mKGRldl90KSkgPT0gMCkgeworCQkJY29uc3QgY2hhciAqc3RyOworCisJCQlzdHIgPSB1ZGV2 X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiRVJST1IiKTsKKwkJCWlmIChzdHIgJiYg YXRvaShzdHIpID09IDEpCisJCQkJa2lsbChwaWQsIFNJR1JUTUFYKTsKKwkJfQorCisJCXVkZXZf ZGV2aWNlX3VucmVmKGRldik7CisJCWlmIChraWxsKHBpZCwgMCkpIC8qIFBhcmVudCBoYXMgZGll ZCwgc28gbXVzdCB3ZS4gKi8KKwkJCWJyZWFrOworCX0KKworCWV4aXQoMCk7Cit9CisKK3N0YXRp YyB2b2lkIHNpZ19hYm9ydChpbnQgc2lnKQoreworCWlndF9hc3NlcnQoISJHUFUgaHVuZyIpOwor fQorCit2b2lkIGlndF9mb3JrX2hhbmdfZGV0ZWN0b3IoaW50IGZkKQoreworCXN0cnVjdCBzdGF0 IHN0OworCisJaWYgKGlndF9vbmx5X2xpc3Rfc3VidGVzdHMoKSkKKwkJcmV0dXJuOworCisJaWd0 X2Fzc2VydChmc3RhdChmZCwgJnN0KSA9PSAwKTsKKworCXNpZ25hbChTSUdSVE1BWCwgc2lnX2Fi b3J0KTsKKwlpZ3RfZm9ya19oZWxwZXIoJmhhbmdfZGV0ZWN0b3IpCisJCWhhbmdfZGV0ZWN0b3Jf cHJvY2VzcyhnZXRwcGlkKCksIHN0LnN0X3JkZXYpOworfQorCit2b2lkIGlndF9zdG9wX2hhbmdf ZGV0ZWN0b3Iodm9pZCkKK3sKKwlpZiAoaWd0X29ubHlfbGlzdF9zdWJ0ZXN0cygpKQorCQlyZXR1 cm47CisKKwlpZ3Rfc3RvcF9oZWxwZXIoJmhhbmdfZGV0ZWN0b3IpOworfQorI2Vsc2UKK3ZvaWQg aWd0X2ZvcmtfaGFuZ19kZXRlY3RvcihpbnQgZmQpCit7CisJaWYgKGlndF9vbmx5X2xpc3Rfc3Vi dGVzdHMoKSkKKwkJcmV0dXJuOworCisJaWd0X3NraXAoKTsKK30KKwordm9pZCBpZ3Rfc3RvcF9o YW5nX2RldGVjdG9yKHZvaWQpCit7Cit9CisjZW5kaWYKKwogLyoqCiAgKiBpZ3RfY2hlY2tfYm9v bGVhbl9lbnZfdmFyOgogICogQGVudl92YXI6IGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUKZGlm ZiAtLWdpdCBhL2xpYi9pZ3RfYXV4LmggYi9saWIvaWd0X2F1eC5oCmluZGV4IDlmYWRlNjcuLmVl ZTgwY2EgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfYXV4LmgKKysrIGIvbGliL2lndF9hdXguaApAQCAt NDAsNiArNDAsOSBAQCBleHRlcm4gaW50IG51bV90cmFzaF9ib3M7CiB2b2lkIGlndF9mb3JrX3Np Z25hbF9oZWxwZXIodm9pZCk7CiB2b2lkIGlndF9zdG9wX3NpZ25hbF9oZWxwZXIodm9pZCk7CiAK K3ZvaWQgaWd0X2ZvcmtfaGFuZ19kZXRlY3RvcihpbnQgZmQpOwordm9pZCBpZ3Rfc3RvcF9oYW5n X2RldGVjdG9yKHZvaWQpOworCiBzdHJ1Y3QgaWd0X3NpZ2l0ZXIgewogCXVuc2lnbmVkIHBhc3M7 CiB9OwpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQpp bmRleCA4MzliMzdkLi4yNGQzNzRhIDEwMDY0NAotLS0gYS90ZXN0cy9NYWtlZmlsZS5hbQorKysg Yi90ZXN0cy9NYWtlZmlsZS5hbQpAQCAtNTYsOSArNTYsOCBAQCBBTV9DRkxBR1MgPSAkKERSTV9D RkxBR1MpICQoQ1dBUk5GTEFHUykgJChERUJVR19DRkxBR1MpXAogCSQoTElCVU5XSU5EX0NGTEFH UykgXAogCSQoTlVMTCkKIAotTERBREQgPSAuLi9saWIvbGliaW50ZWxfdG9vbHMubGEgJChQQ0lB Q0NFU1NfTElCUykgJChEUk1fTElCUykgJChMSUJVTldJTkRfTElCUykgJChUSU1FUl9MSUJTKQor TERBREQgPSAuLi9saWIvbGliaW50ZWxfdG9vbHMubGEgJChHTElCX0xJQlMpCiAKLUxEQUREICs9 ICQoQ0FJUk9fTElCUykgJChMSUJVREVWX0xJQlMpICQoR0xJQl9MSUJTKSAtbG0KIEFNX0NGTEFH UyArPSAkKENBSVJPX0NGTEFHUykgJChMSUJVREVWX0NGTEFHUykgJChHTElCX0NGTEFHUykKIEFN X0xERkxBR1MgPSAtV2wsLS1hcy1uZWVkZWQKIApkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VtX2V4ZWNf d2hpc3Blci5jIGIvdGVzdHMvZ2VtX2V4ZWNfd2hpc3Blci5jCmluZGV4IGI4NGYxYTIuLjE5OTFm ZWQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9leGVjX3doaXNwZXIuYworKysgYi90ZXN0cy9nZW1f ZXhlY193aGlzcGVyLmMKQEAgLTM2OCw2ICszNjgsOCBAQCBpZ3RfbWFpbgogCWlndF9maXh0dXJl CiAJCWZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfSU5URUwpOwogCisJaWd0X2Zv cmtfaGFuZ19kZXRlY3RvcihmZCk7CisKIAlmb3IgKGNvbnN0IHN0cnVjdCBtb2RlICptID0gbW9k ZXM7IG0tPm5hbWU7IG0rKykKIAkJaWd0X3N1YnRlc3RfZigiJXMiLCAqbS0+bmFtZSA/IG0tPm5h bWUgOiAiYmFzaWMiKQogCQkJd2hpc3BlcihmZCwgLTEsIG0tPmZsYWdzKTsKQEAgLTM4Miw2ICsz ODQsOCBAQCBpZ3RfbWFpbgogCQkJCXdoaXNwZXIoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncywg bS0+ZmxhZ3MpOwogCX0KIAorCWlndF9zdG9wX2hhbmdfZGV0ZWN0b3IoKTsKKwogCWlndF9maXh0 dXJlCiAJCWNsb3NlKGZkKTsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL01ha2VmaWxlLmFtIGIvdG9v bHMvTWFrZWZpbGUuYW0KaW5kZXggNzRjNTUyMS4uZGY0OGQ5NCAxMDA2NDQKLS0tIGEvdG9vbHMv TWFrZWZpbGUuYW0KKysrIGIvdG9vbHMvTWFrZWZpbGUuYW0KQEAgLTQsNyArNCw3IEBAIFNVQkRJ UlMgPSBudWxsX3N0YXRlX2dlbiByZWdpc3RlcnMKIAogQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3Ny Y2RpcikgLUkkKHRvcF9zcmNkaXIpL2xpYgogQU1fQ0ZMQUdTID0gJChERUJVR19DRkxBR1MpICQo RFJNX0NGTEFHUykgJChQQ0lBQ0NFU1NfQ0ZMQUdTKSAkKENXQVJORkxBR1MpICQoQ0FJUk9fQ0ZM QUdTKSAkKExJQlVOV0lORF9DRkxBR1MpIC1EUEtHREFUQURJUj1cIiQocGtnZGF0YWRpcilcIgot TERBREQgPSAkKHRvcF9idWlsZGRpcikvbGliL2xpYmludGVsX3Rvb2xzLmxhICQoRFJNX0xJQlMp ICQoUENJQUNDRVNTX0xJQlMpICQoQ0FJUk9fTElCUykgJChMSUJVREVWX0xJQlMpICQoTElCVU5X SU5EX0xJQlMpICQoVElNRVJfTElCUykgLWxtCitMREFERCA9ICQodG9wX2J1aWxkZGlyKS9saWIv bGliaW50ZWxfdG9vbHMubGEKIEFNX0xERkxBR1MgPSAtV2wsLS1hcy1uZWVkZWQKIAogCi0tIAoy LjguMC5yYzMKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=