From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 2/2] drm/i915/guc: Split hw submission for replay after GPU reset Date: Wed, 16 Nov 2016 12:20:04 +0000 Message-ID: <20161116122004.10160-2-chris@chris-wilson.co.uk> References: <20161116122004.10160-1-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 16CA66E66A for ; Wed, 16 Nov 2016 12:20:12 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id u144so10521627wmu.0 for ; Wed, 16 Nov 2016 04:20:12 -0800 (PST) In-Reply-To: <20161116122004.10160-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U29tZXRoaW5nIEkgbWlzc2VkIGJlZm9yZSBzZW5kaW5nIG9mZiB0aGUgcGFydGlhbCBzZXJpZXMg d2FzIHRoYXQgdGhlCm5vbi1zY2hlZHVsZXIgZ3VjIHJlc2V0IHBhdGggd2FzIGJyb2tlbiAoaW4g dGhlIGZ1bGwgc2VyaWVzLCB0aGlzIGlzCnB1c2hlZCB0byB0aGUgZXhlY2xpc3RzIHJlc2V0IGhh bmRsZXIpLiBUaGUgaXNzdWUgaXMgdGhhdCBhZnRlciBhIHJlc2V0LAp3ZSBoYXZlIHRvIHJlZmls bCB0aGUgR3VDIHdvcmtxdWV1ZXMsIHdoaWNoIHdlIGRvIGJ5IHJlc3VibWl0dGluZyB0aGUKcmVx dWVzdHMuIEhvd2V2ZXIsIGlmIHdlIGFscmVhZHkgaGF2ZSBzdWJtaXR0ZWQgdGhlbSwgdGhlIGZl bmNlcyB3aXRoaW4KdGhlbSBoYXZlIGFscmVhZHkgYmVlbiB1c2VkIGFuZCB0cmlnZ2VyaW5nIHRo ZW0gYWdhaW4gaXMgYW4gZXJyb3IuCkluc3RlYWQsIGp1c3QgcmVwb3B1bGF0ZSB0aGUgZ3VjIHdv cmtxdWV1ZS4KClsgIDExNS44NTg1NjBdIFtJR1RdIGdlbV9idXN5OiBzdGFydGluZyBzdWJ0ZXN0 IGhhbmctcmVuZGVyClsgIDEzNS44Mzk4NjddIFtkcm1dIEdQVSBIQU5HOiBlY29kZSA5OjA6MHhl NzU3ZmVmZSwgaW4gZ2VtX2J1c3kgWzE3MTZdLCByZWFzb246IEhhbmcgb24gcmVuZGVyIHJpbmcs IGFjdGlvbjogcmVzZXQKWyAgMTM1LjgzOTkwMl0gZHJtL2k5MTU6IFJlc2V0dGluZyBjaGlwIGFm dGVyIGdwdSBoYW5nClsgIDEzNS44Mzk5NTddIFtkcm1dIFJDNiBvbgpbICAxMzUuODU4MzUxXSAt LS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KWyAgMTM1Ljg1ODM1N10gV0FSTklO RzogQ1BVOiAyIFBJRDogNDUgYXQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zd19mZW5jZS5j OjEwOCBpOTE1X3N3X2ZlbmNlX2NvbXBsZXRlKzB4MjUvMHgzMApbICAxMzUuODU4MzU3XSBNb2R1 bGVzIGxpbmtlZCBpbjogcmZjb21tIGJuZXAgYmluZm10X21pc2MgbmxzX2lzbzg4NTlfMSBpbnB1 dF9sZWRzIHNuZF9oZGFfY29kZWNfaGRtaSBzbmRfaGRhX2NvZGVjX3JlYWx0ZWsgc25kX2hkYV9j b2RlY19nZW5lcmljIHNuZF9oZGFfaW50ZWwgc25kX2hkYV9jb2RlYyBzbmRfaGRhX2NvcmUgYnR1 c2IgYnRydGwgc25kX2h3ZGVwIHNuZF9wY20gODI1MF9kdyBzbmRfc2VxX21pZGkgaGlkX2xlbm92 byBzbmRfc2VxX21pZGlfZXZlbnQgc25kX3Jhd21pZGkgaXdsd2lmaSB4ODZfcGtnX3RlbXBfdGhl cm1hbCBjb3JldGVtcCBzbmRfc2VxIGNyY3QxMGRpZl9wY2xtdWwgc25kX3NlcV9kZXZpY2UgaGNp X3VhcnQgc25kX3RpbWVyIGNyYzMyX3BjbG11bCBnaGFzaF9jbG11bG5pX2ludGVsIGlkbWE2NCBh ZXNuaV9pbnRlbCB2aXJ0X2RtYSBidGJjbSBzbmQgYnRxY2EgYWVzX3g4Nl82NCBidGludGVsIGxy dyBjZmc4MDIxMSBibHVldG9vdGggZ2YxMjhtdWwgZ2x1ZV9oZWxwZXIgYWJsa19oZWxwZXIgY3J5 cHRkIHNvdW5kY29yZSBpbnRlbF9scHNzX3BjaSBpbnRlbF9wY2hfdGhlcm1hbCBpbnRlbF9scHNz X2FjcGkgaW50ZWxfbHBzcyBhY3BpX2FscyBtZmRfY29yZSBrZmlmb19idWYgYWNwaV9wYWQgaW5k dXN0cmlhbGlvIGF1dG9mczQgaGlkX3BsYW50cm9uaWNzIHVzYmhpZCBkbV9taXJyb3IgZG1fcmVn aW9uX2hhc2ggZG1fbG9nIHNkaGNpX3BjaSBhaGNpIHNkaGNpIGxpYmFoY2kgaTJjX2hpZCBoaWQK WyAgMTM1Ljg1ODM4OV0gQ1BVOiAyIFBJRDogNDUgQ29tbToga3dvcmtlci8yOjEgVGFpbnRlZDog RyAgICAgICAgVyAgICAgICA0LjkuMC1yYzQrICMyMzgKWyAgMTM1Ljg1ODM4OV0gSGFyZHdhcmUg bmFtZTogICAgICAgICAgICAgICAgICAvTlVDNmkzU1lCLCBCSU9TIFNZU0tMaTM1Ljg2QS4wMDI0 LjIwMTUuMTAyNy4yMTQyIDEwLzI3LzIwMTUKWyAgMTM1Ljg1ODM5Ml0gV29ya3F1ZXVlOiBldmVu dHNfbG9uZyBpOTE1X2hhbmdjaGVja19lbGFwc2VkClsgIDEzNS44NTgzOTRdICBmZmZmYzkwMDAw MWJmOWI4IGZmZmZmZmZmODEyYmIyMzggMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAw ClsgIDEzNS44NTgzOTZdICBmZmZmYzkwMDAwMWJmOWY4IGZmZmZmZmZmODEwNGY2MjEgMDAwMDAw NmMwMDAwMDAwMCBmZmZmODgwODI5NjEzN2Y4ClsgIDEzNS44NTgzOThdICAwMDAwMDAwMDAwMDAw YTAwIGZmZmY4ODA4NDU3YTAwMDAgZmZmZjg4MDg0NTc2NGU2MCBmZmZmODgwODQ1NzYwMDAwClsg IDEzNS44NTgzOTldIENhbGwgVHJhY2U6ClsgIDEzNS44NTg0MDNdICBbPGZmZmZmZmZmODEyYmIy Mzg+XSBkdW1wX3N0YWNrKzB4NGQvMHg2NQpbICAxMzUuODU4NDA1XSAgWzxmZmZmZmZmZjgxMDRm NjIxPl0gX193YXJuKzB4YzEvMHhlMApbICAxMzUuODU4NDA2XSAgWzxmZmZmZmZmZjgxMDRmNzQ4 Pl0gd2Fybl9zbG93cGF0aF9udWxsKzB4MTgvMHgyMApbICAxMzUuODU4NDA4XSAgWzxmZmZmZmZm ZjgxM2Y4YzE1Pl0gaTkxNV9zd19mZW5jZV9jb21wbGV0ZSsweDI1LzB4MzAKWyAgMTM1Ljg1ODQx MF0gIFs8ZmZmZmZmZmY4MTNmOGZhZD5dIGk5MTVfc3dfZmVuY2VfY29tbWl0KzB4ZC8weDMwClsg IDEzNS44NTg0MTJdICBbPGZmZmZmZmZmODE0MmU1OTE+XSBfX2k5MTVfZ2VtX3JlcXVlc3Rfc3Vi bWl0KzB4ZTEvMHhmMApbICAxMzUuODU4NDEzXSAgWzxmZmZmZmZmZjgxNDJlNWM4Pl0gaTkxNV9n ZW1fcmVxdWVzdF9zdWJtaXQrMHgyOC8weDQwClsgIDEzNS44NTg0MTVdICBbPGZmZmZmZmZmODE0 NDMzZTc+XSBpOTE1X2d1Y19zdWJtaXQrMHg0Ny8weDIxMApbICAxMzUuODU4NDE3XSAgWzxmZmZm ZmZmZjgxNDQzZTk4Pl0gaTkxNV9ndWNfc3VibWlzc2lvbl9lbmFibGUrMHg0NjgvMHg1NDAKWyAg MTM1Ljg1ODQxOV0gIFs8ZmZmZmZmZmY4MTQ0MjQ5NT5dIGludGVsX2d1Y19zZXR1cCsweDcxNS8w eDgxMApbICAxMzUuODU4NDIxXSAgWzxmZmZmZmZmZjgxNDJiNmI0Pl0gaTkxNV9nZW1faW5pdF9o dysweDExNC8weDJhMApbICAxMzUuODU4NDIzXSAgWzxmZmZmZmZmZjgxM2VlYWE4Pl0gaTkxNV9y ZXNldCsweGU4LzB4MTIwClsgIDEzNS44NTg0MjRdICBbPGZmZmZmZmZmODEzZjM5Mzc+XSBpOTE1 X3Jlc2V0X2FuZF93YWtldXArMHgxNTcvMHgxODAKWyAgMTM1Ljg1ODQyNl0gIFs8ZmZmZmZmZmY4 MTNmNzlkYj5dIGk5MTVfaGFuZGxlX2Vycm9yKzB4MWFiLzB4MjMwClsgIDEzNS44NTg0MjhdICBb PGZmZmZmZmZmODEyYzc2MGQ+XSA/IHNjbnByaW50ZisweDRkLzB4OTAKWyAgMTM1Ljg1ODQzMF0g IFs8ZmZmZmZmZmY4MTQzNTk4NT5dIGk5MTVfaGFuZ2NoZWNrX2VsYXBzZWQrMHgyNzUvMHgzZDAK WyAgMTM1Ljg1ODQzMl0gIFs8ZmZmZmZmZmY4MTA2NjhjZj5dIHByb2Nlc3Nfb25lX3dvcmsrMHgx MmYvMHg0MTAKWyAgMTM1Ljg1ODQzM10gIFs8ZmZmZmZmZmY4MTA2NmJmMz5dIHdvcmtlcl90aHJl YWQrMHg0My8weDRkMApbICAxMzUuODU4NDM1XSAgWzxmZmZmZmZmZjgxMDY2YmIwPl0gPyBwcm9j ZXNzX29uZV93b3JrKzB4NDEwLzB4NDEwClsgIDEzNS44NTg0MzZdICBbPGZmZmZmZmZmODEwNjZi YjA+XSA/IHByb2Nlc3Nfb25lX3dvcmsrMHg0MTAvMHg0MTAKWyAgMTM1Ljg1ODQzOF0gIFs8ZmZm ZmZmZmY4MTA2YmJiND5dIGt0aHJlYWQrMHhkNC8weGYwClsgIDEzNS44NTg0NDBdICBbPGZmZmZm ZmZmODEwNmJhZTA+XSA/IGt0aHJlYWRfcGFyaysweDYwLzB4NjAKCkZpeGVzOiBkNTVhYzViZjk3 YzYgKCJkcm0vaTkxNTogRGVmZXIgdHJhbnNmZXIgb250byBleGVjdXRpb24gdGltZWxpbmUgdG8g YWN0dWFsIGh3IHN1Ym1pc3Npb24iKQpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5j IHwgMzggKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjAg aW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ndWNfc3VibWlzc2lvbi5jCmluZGV4IDQ0NjIxMTI3MjVlZi4uNTkzOWNmZjU4ZWZmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC02MDksMTIgKzYw OSw5IEBAIHN0YXRpYyBpbnQgZ3VjX3JpbmdfZG9vcmJlbGwoc3RydWN0IGk5MTVfZ3VjX2NsaWVu dCAqZ2MpCiB9CiAKIC8qKgotICogaTkxNV9ndWNfc3VibWl0KCkgLSBTdWJtaXQgY29tbWFuZHMg dGhyb3VnaCBHdUMKKyAqIF9faTkxNV9ndWNfc3VibWl0KCkgLSBTdWJtaXQgY29tbWFuZHMgdGhy b3VnaCBHdUMKICAqIEBycToJCXJlcXVlc3QgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kcwog ICoKLSAqIFJldHVybjoJMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UgYW4gZXJybm8uCi0gKiAJCShO b3RlOiBub256ZXJvIHJlYWxseSBzaG91bGRuJ3QgaGFwcGVuISkKLSAqCiAgKiBUaGUgY2FsbGVy IG11c3QgaGF2ZSBhbHJlYWR5IGNhbGxlZCBpOTE1X2d1Y193cV9yZXNlcnZlKCkgYWJvdmUgd2l0 aAogICogYSByZXN1bHQgb2YgMCAoc3VjY2VzcyksIGd1YXJhbnRlZWluZyB0aGF0IHRoZXJlIGlz IHNwYWNlIGluIHRoZSB3b3JrCiAgKiBxdWV1ZSBmb3IgdGhlIG5ldyByZXF1ZXN0LCBzbyBlbnF1 ZXVpbmcgdGhlIGl0ZW0gY2Fubm90IGZhaWwuCkBAIC02MjYsNyArNjIzLDcgQEAgc3RhdGljIGlu dCBndWNfcmluZ19kb29yYmVsbChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYykKICAqIFRoZSBv bmx5IGVycm9yIGhlcmUgYXJpc2VzIGlmIHRoZSBkb29yYmVsbCBoYXJkd2FyZSBpc24ndCBmdW5j dGlvbmluZwogICogYXMgZXhwZWN0ZWQsIHdoaWNoIHJlYWxseSBzaG91bG4ndCBoYXBwZW4uCiAg Ki8KLXN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJxKQorc3RhdGljIHZvaWQgX19pOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpycSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBy cS0+aTkxNTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBycS0+ZW5naW5lOwpA QCAtNjM1LDE3ICs2MzIsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQg PSBndWMtPmV4ZWNidWZfY2xpZW50OwogCWludCBiX3JldDsKIAotCS8qIFdlIGtlZXAgdGhlIHBy ZXZpb3VzIGNvbnRleHQgYWxpdmUgdW50aWwgd2UgcmV0aXJlIHRoZSBmb2xsb3dpbmcKLQkgKiBy ZXF1ZXN0LiBUaGlzIGVuc3VyZXMgdGhhdCBhbnkgdGhlIGNvbnRleHQgb2JqZWN0IGlzIHN0aWxs IHBpbm5lZAotCSAqIGZvciBhbnkgcmVzaWR1YWwgd3JpdGVzIHRoZSBIVyBtYWtlcyBpbnRvIGl0 IG9uIHRoZSBjb250ZXh0IHN3aXRjaAotCSAqIGludG8gdGhlIG5leHQgb2JqZWN0IGZvbGxvd2lu ZyB0aGUgYnJlYWRjcnVtYi4gT3RoZXJ3aXNlLCB3ZSBtYXkKLQkgKiByZXRpcmUgdGhlIGNvbnRl eHQgdG9vIGVhcmx5LgotCSAqLwotCXJxLT5wcmV2aW91c19jb250ZXh0ID0gZW5naW5lLT5sYXN0 X2NvbnRleHQ7Ci0JZW5naW5lLT5sYXN0X2NvbnRleHQgPSBycS0+Y3R4OwotCi0JaTkxNV9nZW1f cmVxdWVzdF9zdWJtaXQocnEpOwotCiAJc3Bpbl9sb2NrKCZjbGllbnQtPndxX2xvY2spOwogCWd1 Y193cV9pdGVtX2FwcGVuZChjbGllbnQsIHJxKTsKIApAQCAtNjY1LDYgKzY1MSwyMyBAQCBzdGF0 aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkK IAlzcGluX3VubG9jaygmY2xpZW50LT53cV9sb2NrKTsKIH0KIAorc3RhdGljIHZvaWQgaTkxNV9n dWNfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCit7CisJc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsKKworCS8qIFdlIGtlZXAgdGhlIHBy ZXZpb3VzIGNvbnRleHQgYWxpdmUgdW50aWwgd2UgcmV0aXJlIHRoZSBmb2xsb3dpbmcKKwkgKiBy ZXF1ZXN0LiBUaGlzIGVuc3VyZXMgdGhhdCBhbnkgdGhlIGNvbnRleHQgb2JqZWN0IGlzIHN0aWxs IHBpbm5lZAorCSAqIGZvciBhbnkgcmVzaWR1YWwgd3JpdGVzIHRoZSBIVyBtYWtlcyBpbnRvIGl0 IG9uIHRoZSBjb250ZXh0IHN3aXRjaAorCSAqIGludG8gdGhlIG5leHQgb2JqZWN0IGZvbGxvd2lu ZyB0aGUgYnJlYWRjcnVtYi4gT3RoZXJ3aXNlLCB3ZSBtYXkKKwkgKiByZXRpcmUgdGhlIGNvbnRl eHQgdG9vIGVhcmx5LgorCSAqLworCXJxLT5wcmV2aW91c19jb250ZXh0ID0gZW5naW5lLT5sYXN0 X2NvbnRleHQ7CisJZW5naW5lLT5sYXN0X2NvbnRleHQgPSBycS0+Y3R4OworCisJaTkxNV9nZW1f cmVxdWVzdF9zdWJtaXQocnEpOworCV9faTkxNV9ndWNfc3VibWl0KHJxKTsKK30KKwogLyoKICAq IEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBjb25jZXJuZWQgd2l0aCBzZXR1cCAmIHRlYXJkb3du LCBhbmQgaXMKICAqIHRoZXJlZm9yZSBub3QgcGFydCBvZiB0aGUgc29tZXdoYXQgdGltZS1jcml0 aWNhbCBiYXRjaC1zdWJtaXNzaW9uCkBAIC0xNTM4LDggKzE1NDEsNyBAQCBpbnQgaTkxNV9ndWNf c3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQls aXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsCiAJCQkJICAgICZlbmdpbmUtPnRpbWVsaW5lLT5y ZXF1ZXN0cywgbGluaykgewogCQkJY2xpZW50LT53cV9yc3ZkICs9IHNpemVvZihzdHJ1Y3QgZ3Vj X3dxX2l0ZW0pOwotCQkJaWYgKGk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxdWVzdC0+c3VibWl0KSkK LQkJCQlpOTE1X2d1Y19zdWJtaXQocmVxdWVzdCk7CisJCQlfX2k5MTVfZ3VjX3N1Ym1pdChyZXF1 ZXN0KTsKIAkJfQogCX0KIAotLSAKMi4xMC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK