From: Bin Yang Subject: [PATCH] drm/i915: Fix i915_gem_wait_for_idle oops due to active_requests check Date: Thu, 20 Dec 2018 08:01:35 +0000 Message-ID: <20181220080135.9059-1-bin.yang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, airlied@linux.ie, daniel@ffwll.ch, chris@chris-wilson.co.uk, jani.saarinen@intel.com, alek.du@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, bin.yang@intel.com List-Id: dri-devel@lists.freedesktop.org aTkxNV9nZW1fd2FpdF9mb3JfaWRsZSgpIHdhaXRzIGZvciBhbGwgcmVxdWVzdHMgYmVpbmcgY29t cGxldGVkIGFuZApjYWxscyBpOTE1X3JldGlyZV9yZXF1ZXN0cygpIHRvIHJldGlyZSB0aGVtLiBJ dCBhc3N1bWVzIHRoZQphY3RpdmVfcmVxdWVzdHMgc2hvdWxkIGJlIHplcm8gZmluYWxseS4KCklu IGk5MTVfcmV0aXJlX3JlcXVlc3RzKCksIGl0IHdpbGwgcmV0aXJlIGFsbCByZXF1ZXN0cyBvbiB0 aGUgYWN0aXZlCnJpbmdzLiBVbmZvcnR1bmF0ZWx5LCBhY3RpdmVfcmVxdWVzdHMgaXMgaW5jcmVh c2VkIGluCmk5MTVfcmVxdWVzdF9hbGxvYygpIGFuZCByZWR1Y2VkIGluIGk5MTVfcmVxdWVzdF9y ZXRpcmUoKSwgYnV0IHRoZQpyZXF1ZXN0IGlzIGFkZGVkIGludG8gYWN0aXZlIHJpbmdzIGluIGk5 MTVfcmVxdWVzdF9hZGQoKS4KCklmIGk5MTVfZ2VtX3dhaXRfZm9yX2lkbGUoKSBpcyBjYWxsZWQg YmV0d2VlbiBpOTE1X3JlcXVlc3RfYWxsb2MoKQphbmQgaTkxNV9yZXF1ZXN0X2FkZCgpLCB0aGlz IHJlcXVlc3Qgd2lsbCBub3QgYmUgcmV0aXJlZC4gVGhlbiwgdGhlCmFjdGl2ZV9yZXF1ZXN0cyB3 aWxsIG5vdCBiZSB6ZXJvIGluIHRoZSBlbmQuCgpOb3JtYWxseSwgaTkxNV9yZXF1ZXN0X2FsbG9j KCkgYW5kIGk5MTVfcmVxdWVzdF9hZGQoKSB3aWxsIGJlIGNhbGxlZAppbiBzZXF1ZW5jZSB3aXRo IGRybS5zdHJ1Y3RfbXV0ZXggbG9ja2VkLiBCdXQgaW4KaW50ZWxfdmdwdV9jcmVhdGVfd29ya2xv YWQoKSwgaXQgd2lsbCBwcmUtYWxsb2NhdGUgdGhlIHJlcXVlc3QgYW5kCmNhbGwgaTkxNV9yZXF1 ZXN0X2FkZCgpIGluIHRoZSB3b3JrbG9hZCB0aHJlYWQgZm9yIHBlcmZvcm1hbmNlCm9wdGltaXph dGlvbi4gVGhlIGFib3ZlIGlzc3VlIHdpbGwgYmUgdHJpZ2dlcmVkLgoKVGhpcyBwYXRjaCBpbnRy b2R1Y2VkIGEgbmV3IGNvdW50ZXIgbmFtZWQgcmVzZXJ2ZWRfcmVxdWVzdHMgZm9yCnJlcXVlc3Qg YWxsb2NhdGlvbi4gVGhlIGFjdGl2ZV9yZXF1ZXN0cyB3aWxsIGJlIGluY3JlYXNlZCB3aGVuCnRo ZSByZXF1ZXN0IGlzIHJlYWxseSBhZGRlZCBpbnRvIHRoZSBhY3RpdmUgcmluZ3MuCgo4PC0tLS0t IGJlbG93IGlzIHRoZSBvb3BzIHdoZW4gYWJvdmUgaXNzdWUgaXMgaGl0dGVkLgoKWzIwMTgtMTEt MjggMjM6MTc6NTRdIFsxMjI3OC4zMTA0MTddIGtlcm5lbCBCVUcgYXQgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYzo0NzAyIQpbMjAxOC0xMS0yOCAyMzoxNzo1NF0gWzEyMjc4LjMxMDgw Ml0gaW52YWxpZCBvcGNvZGU6IDAwMDAgWyMxXSBQUkVFTVBUIFNNUApbMjAxOC0xMS0yOCAyMzox Nzo1NF0gWzEyMjc4LjMxMTAxMl0gQ1BVOiAwIFBJRDogNjEgQ29tbToga3N3YXBkMCBUYWludGVk OiBHICAgICBVICBXQyAgICAgICAgNC4xOS4wLTI2LmlvdC1sdHMyMDE4LXNvcyAjMQpbMjAxOC0x MS0yOCAyMzoxNzo1NF0gWzEyMjc4LjMxMTM5M10gUklQOiAwMDEwOmk5MTVfZ2VtX3dhaXRfZm9y X2lkbGUucGFydC43OC5jb2xkLjExNCsweDQ1LzB4NDcKWzIwMTgtMTEtMjggMjM6MTc6NTRdIFsx MjI3OC4zMTE2NzVdIENvZGU6IDdiIDhiIGFlIGZmIDQ4IDhiIDM1IGU2IDkyIDNjIDAxIDQ5IGM3 IGMwIGFmIDQ4IDU1IGE5IGI5IDVlIDEyIDAwIDAwIDQ4IGM3IGMyIDUwIDdhIDBiIGE5IDQ4IGM3 IGM3IGY0IGU2IDYwIGE4IGU4IDM3IDM4IGI2IGZmIDwwZj4gMGIgNDggYzcgYzEgYTggNTkgNTUg YTkgYmEgYjggMTIgMDAgMDAgNDggYzcgYzYgMjAgN2EgMGIgYTkgNDgKWzIwMTgtMTEtMjggMjM6 MTc6NTVdIFsxMjI3OC4zMTI0NDddIFJTUDogMDAxODpmZmZmOGUzMWFjZDhiYmI4IEVGTEFHUzog MDAwMTAyNDYKWzIwMTgtMTEtMjggMjM6MTc6NTVdIFsxMjI3OC4zMTI2NzNdIFJBWDogMDAwMDAw MDAwMDAwMDAwZSBSQlg6IDAwMDAwMDAwMDAwMDAwMGEgUkNYOiAwMDAwMDAwMDAwMDAwMDAwClsy MDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzEyOTcxXSBSRFg6IDAwMDAwMDAwMDAwMDAwMDEg UlNJOiAwMDAwMDAwMDAwMDAwMDA4IFJESTogZmZmZjhlMzFhZTg0MTQwMApbMjAxOC0xMS0yOCAy MzoxNzo1NV0gWzEyMjc4LjMxMzI2OF0gUkJQOiBmZmZmOGUzMWFjZWE4MzQwIFIwODogMDAwMDAw MDAwMTQxNjU3OCBSMDk6IGZmZmY4ZTMxYWVhMTUwMDAKWzIwMTgtMTEtMjggMjM6MTc6NTVdIFsx MjI3OC4zMTM1NjZdIFIxMDogZmZmZjhlMzFhZTgwNzEwMCBSMTE6IGZmZmY4ZTMxYWU4NDE0MDAg UjEyOiBmZmZmOGUzMWFjZWEwMDAwClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzEzODYz XSBSMTM6IDAwMDAwYjJhYjFkMzhlZDAgUjE0OiAwMDAwMDAwMDAwMDAwMDAwIFIxNTogZmZmZjhl MzFhY2Q4YmQ3MApbMjAxOC0xMS0yOCAyMzoxNzo1NV0gWzEyMjc4LjMxNDE2Ml0gRlM6ICAwMDAw MDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4ZTMxYWZhMDAwMDAoMDAwMCkga25sR1M6MDAwMDAw MDAwMDAwMDAwMApbMjAxOC0xMS0yOCAyMzoxNzo1NV0gWzEyMjc4LjMxNDQ5OV0gQ1M6ICAwMDEw IERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpbMjAxOC0xMS0yOCAyMzox Nzo1NV0gWzEyMjc4LjMxNDc0MV0gQ1IyOiAwMDAwN2ZmOTQ5NDhmMDAwIENSMzogMDAwMDAwMDIy NjgxMzAwMCBDUjQ6IDAwMDAwMDAwMDAzNDA2ZjAKWzIwMTgtMTEtMjggMjM6MTc6NTVdIFsxMjI3 OC4zMTUwMzldIENhbGwgVHJhY2U6ClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzE1MTYy XSAgaTkxNV9nZW1fc2hyaW5rKzB4M2I3LzB4NGIwClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIy NzguMzE1MzQwXSAgaTkxNV9nZW1fc2hyaW5rZXJfc2NhbisweDEwNC8weDEzMApbMjAxOC0xMS0y OCAyMzoxNzo1NV0gWzEyMjc4LjMxNTUzN10gIGRvX3Nocmlua19zbGFiKzB4MTJjLzB4MmMwClsy MDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzE1NzA2XSAgc2hyaW5rX3NsYWIrMHgyMjUvMHgy YzAKWzIwMTgtMTEtMjggMjM6MTc6NTVdIFsxMjI3OC4zMTU4NjRdICBzaHJpbmtfbm9kZSsweGU0 LzB4NDMwClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzE2MDE4XSAga3N3YXBkKzB4M2Nl LzB4NzMwClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzE2MTYxXSAgPyBtZW1fY2dyb3Vw X3Nocmlua19ub2RlKzB4MWEwLzB4MWEwClsyMDE4LTExLTI4IDIzOjE3OjU1XSBbMTIyNzguMzE2 MzY1XSAga3RocmVhZCsweDExZS8weDE0MApbMjAxOC0xMS0yOCAyMzoxNzo1NV0gWzEyMjc4LjMx NjUwOF0gID8ga3RocmVhZF9jcmVhdGVfd29ya2VyX29uX2NwdSsweDcwLzB4NzAKWzIwMTgtMTEt MjggMjM6MTc6NTVdIFsxMjI3OC4zMTY3MjddICByZXRfZnJvbV9mb3JrKzB4M2EvMHg1MApbMjAx OC0xMS0yOCAyMzoxNzo1NV0gWzEyMjc4LjMxNjg4NF0gTW9kdWxlcyBsaW5rZWQgaW46IGlnYl9h dmIoQykgeGhjaV9wY2kgeGhjaV9oY2QgZGNhIGljaV9pc3lzX21vZCBpcHU0X2FjcGkgaW50ZWxf aXB1NF9pc3lzX2Nzc2xpYiBpbnRlbF9pcHU0X3BzeXMgaW50ZWxfaXB1NF9wc3lzX2Nzc2xpYiBp bnRlbF9pcHU0X21tdSBpbnRlbF9pcHU0IGlvdmEgY3JsbW9kdWxlX2xpdGUKCkJ1Z3ppbGxhOiBo dHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDkwMDUKU2lnbmVk LW9mZi1ieTogQmluIFlhbmcgPGJpbi55YW5nQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIHwg MTAgKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggODE1ZGIxNjBiOTY2Li43YTc1N2Yw ZjUwNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTk0OCw2ICsxOTQ4LDcgQEAgc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgewogCQlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9yaW5nczsK IAkJc3RydWN0IGxpc3RfaGVhZCBjbG9zZWRfdm1hOwogCQl1MzIgYWN0aXZlX3JlcXVlc3RzOwor CQl1MzIgcmVzZXJ2ZWRfcmVxdWVzdHM7CiAJCXUzMiByZXF1ZXN0X3NlcmlhbDsKIAogCQkvKioK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGQ5MjE0N2FiNDQ4OS4uMTg3M2UyMWM4NGMxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTIwMCw3ICsyMDAsNyBAQCB2b2lkIGk5MTVfZ2Vt X3VucGFyayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlHRU1fVFJBQ0UoIlxuIik7 CiAKIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKLQlHRU1f QlVHX09OKCFpOTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMpOworCUdFTV9CVUdfT04oIWk5MTUtPmd0 LnJlc2VydmVkX3JlcXVlc3RzKTsKIAogCWlmIChpOTE1LT5ndC5hd2FrZSkKIAkJcmV0dXJuOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwppbmRleCA2Mzc5MDljNTlmMWYuLjM5NDI4Mzc5 OWVlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTIwMCw3ICsyMDAsNyBA QCBzdGF0aWMgaW50IHJlc2VydmVfZ3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJ CX0KIAl9CiAKLQlpZiAoIWk5MTUtPmd0LmFjdGl2ZV9yZXF1ZXN0cysrKQorCWlmICghaTkxNS0+ Z3QucmVzZXJ2ZWRfcmVxdWVzdHMrKykKIAkJaTkxNV9nZW1fdW5wYXJrKGk5MTUpOwogCiAJcmV0 dXJuIDA7CkBAIC0yMDgsOCArMjA4LDggQEAgc3RhdGljIGludCByZXNlcnZlX2d0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogCiBzdGF0aWMgdm9pZCB1bnJlc2VydmVfZ3Qoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7Ci0JR0VNX0JVR19PTighaTkxNS0+Z3QuYWN0aXZl X3JlcXVlc3RzKTsKLQlpZiAoIS0taTkxNS0+Z3QuYWN0aXZlX3JlcXVlc3RzKQorCUdFTV9CVUdf T04oIWk5MTUtPmd0LnJlc2VydmVkX3JlcXVlc3RzKTsKKwlpZiAoIS0taTkxNS0+Z3QucmVzZXJ2 ZWRfcmVxdWVzdHMpCiAJCWk5MTVfZ2VtX3BhcmsoaTkxNSk7CiB9CiAKQEAgLTM4NCw2ICszODQs OCBAQCBzdGF0aWMgdm9pZCBpOTE1X3JlcXVlc3RfcmV0aXJlKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJlcXVlc3QpCiAKIAlfX3JldGlyZV9lbmdpbmVfdXB0byhyZXF1ZXN0LT5lbmdpbmUsIHJlcXVl c3QpOwogCisJR0VNX0JVR19PTighcmVxdWVzdC0+aTkxNS0+Z3QuYWN0aXZlX3JlcXVlc3RzKTsK KwlyZXF1ZXN0LT5pOTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMtLTsKIAl1bnJlc2VydmVfZ3QocmVx dWVzdC0+aTkxNSk7CiAKIAlpOTE1X3NjaGVkX25vZGVfZmluaShyZXF1ZXN0LT5pOTE1LCAmcmVx dWVzdC0+c2NoZWQpOwpAQCAtMTAwNiw2ICsxMDA4LDggQEAgdm9pZCBpOTE1X3JlcXVlc3RfYWRk KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCiAJCQkJCQkJIDApOwogCX0KIAorCSsrcmVx dWVzdC0+aTkxNS0+Z3QuYWN0aXZlX3JlcXVlc3RzOworCiAJc3Bpbl9sb2NrX2lycSgmdGltZWxp bmUtPmxvY2spOwogCWxpc3RfYWRkX3RhaWwoJnJlcXVlc3QtPmxpbmssICZ0aW1lbGluZS0+cmVx dWVzdHMpOwogCXNwaW5fdW5sb2NrX2lycSgmdGltZWxpbmUtPmxvY2spOwotLSAKMi4xOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK