From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 3/3] drm/i915/guc: Split hw submission for replay after GPU reset Date: Thu, 17 Nov 2016 19:41:35 +0000 Message-ID: <20161117194135.27783-3-chris@chris-wilson.co.uk> References: <20161117194135.27783-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-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id E374C6E865 for ; Thu, 17 Nov 2016 19:41:42 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id u144so24345452wmu.0 for ; Thu, 17 Nov 2016 11:41:42 -0800 (PST) In-Reply-To: <20161117194135.27783-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/IGt0aHJlYWRfcGFyaysweDYwLzB4NjAKCnYyOiBPbmx5IHJlc3VibWl0 IHN1Ym1pdHRlZCByZXF1ZXN0cwp2MzogRG9uJ3QgZm9yZ2V0IHRoZSBwZW5kaW5nIHJlcXVlc3Rz IGhhdmUgcmVzZXJ2ZWQgc3BhY2UuCgpGaXhlczogZDU1YWM1YmY5N2M2ICgiZHJtL2k5MTU6IERl ZmVyIHRyYW5zZmVyIG9udG8gZXhlY3V0aW9uIHRpbWVsaW5lIHRvIGFjdHVhbCBodyBzdWJtaXNz aW9uIikKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDM3ICsrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDE3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3Vj X3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24u YwppbmRleCBhNDJjMjdlYzRiYjEuLjAzMmYxZDZmYjhiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNjAyLDEyICs2MDIsOSBAQCBzdGF0aWMgaW50 IGd1Y19yaW5nX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjKQogfQogCiAvKioK LSAqIGk5MTVfZ3VjX3N1Ym1pdCgpIC0gU3VibWl0IGNvbW1hbmRzIHRocm91Z2ggR3VDCisgKiBf X2k5MTVfZ3VjX3N1Ym1pdCgpIC0gU3VibWl0IGNvbW1hbmRzIHRocm91Z2ggR3VDCiAgKiBAcnE6 CQlyZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZHMKICAqCi0gKiBSZXR1cm46CTAg b24gc3VjY2Vzcywgb3RoZXJ3aXNlIGFuIGVycm5vLgotICogCQkoTm90ZTogbm9uemVybyByZWFs bHkgc2hvdWxkbid0IGhhcHBlbiEpCi0gKgogICogVGhlIGNhbGxlciBtdXN0IGhhdmUgYWxyZWFk eSBjYWxsZWQgaTkxNV9ndWNfd3FfcmVzZXJ2ZSgpIGFib3ZlIHdpdGgKICAqIGEgcmVzdWx0IG9m IDAgKHN1Y2Nlc3MpLCBndWFyYW50ZWVpbmcgdGhhdCB0aGVyZSBpcyBzcGFjZSBpbiB0aGUgd29y awogICogcXVldWUgZm9yIHRoZSBuZXcgcmVxdWVzdCwgc28gZW5xdWV1aW5nIHRoZSBpdGVtIGNh bm5vdCBmYWlsLgpAQCAtNjE5LDcgKzYxNiw3IEBAIHN0YXRpYyBpbnQgZ3VjX3JpbmdfZG9vcmJl bGwoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MpCiAgKiBUaGUgb25seSBlcnJvciBoZXJlIGFy aXNlcyBpZiB0aGUgZG9vcmJlbGwgaGFyZHdhcmUgaXNuJ3QgZnVuY3Rpb25pbmcKICAqIGFzIGV4 cGVjdGVkLCB3aGljaCByZWFsbHkgc2hvdWxuJ3QgaGFwcGVuLgogICovCi1zdGF0aWMgdm9pZCBp OTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKK3N0YXRpYyB2 b2lkIF9faTkxNV9ndWNfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcnEtPmk5MTU7CiAJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcnEtPmVuZ2luZTsKQEAgLTYyOCwxNyArNjI1LDYg QEAgc3RhdGljIHZvaWQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcnEpCiAJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50ID0gZ3VjLT5leGVjYnVmX2Ns aWVudDsKIAlpbnQgYl9yZXQ7CiAKLQkvKiBXZSBrZWVwIHRoZSBwcmV2aW91cyBjb250ZXh0IGFs aXZlIHVudGlsIHdlIHJldGlyZSB0aGUgZm9sbG93aW5nCi0JICogcmVxdWVzdC4gVGhpcyBlbnN1 cmVzIHRoYXQgYW55IHRoZSBjb250ZXh0IG9iamVjdCBpcyBzdGlsbCBwaW5uZWQKLQkgKiBmb3Ig YW55IHJlc2lkdWFsIHdyaXRlcyB0aGUgSFcgbWFrZXMgaW50byBpdCBvbiB0aGUgY29udGV4dCBz d2l0Y2gKLQkgKiBpbnRvIHRoZSBuZXh0IG9iamVjdCBmb2xsb3dpbmcgdGhlIGJyZWFkY3J1bWIu IE90aGVyd2lzZSwgd2UgbWF5Ci0JICogcmV0aXJlIHRoZSBjb250ZXh0IHRvbyBlYXJseS4KLQkg Ki8KLQlycS0+cHJldmlvdXNfY29udGV4dCA9IGVuZ2luZS0+bGFzdF9jb250ZXh0OwotCWVuZ2lu ZS0+bGFzdF9jb250ZXh0ID0gcnEtPmN0eDsKLQotCWk5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHJx KTsKLQogCXNwaW5fbG9jaygmY2xpZW50LT53cV9sb2NrKTsKIAlndWNfd3FfaXRlbV9hcHBlbmQo Y2xpZW50LCBycSk7CiAKQEAgLTY1OCw2ICs2NDQsMjMgQEAgc3RhdGljIHZvaWQgaTkxNV9ndWNf c3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCiAJc3Bpbl91bmxvY2soJmNs aWVudC0+d3FfbG9jayk7CiB9CiAKK3N0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSA9IHJxLT5lbmdpbmU7CisKKwkvKiBXZSBrZWVwIHRoZSBwcmV2aW91cyBjb250ZXh0IGFs aXZlIHVudGlsIHdlIHJldGlyZSB0aGUgZm9sbG93aW5nCisJICogcmVxdWVzdC4gVGhpcyBlbnN1 cmVzIHRoYXQgYW55IHRoZSBjb250ZXh0IG9iamVjdCBpcyBzdGlsbCBwaW5uZWQKKwkgKiBmb3Ig YW55IHJlc2lkdWFsIHdyaXRlcyB0aGUgSFcgbWFrZXMgaW50byBpdCBvbiB0aGUgY29udGV4dCBz d2l0Y2gKKwkgKiBpbnRvIHRoZSBuZXh0IG9iamVjdCBmb2xsb3dpbmcgdGhlIGJyZWFkY3J1bWIu IE90aGVyd2lzZSwgd2UgbWF5CisJICogcmV0aXJlIHRoZSBjb250ZXh0IHRvbyBlYXJseS4KKwkg Ki8KKwlycS0+cHJldmlvdXNfY29udGV4dCA9IGVuZ2luZS0+bGFzdF9jb250ZXh0OworCWVuZ2lu ZS0+bGFzdF9jb250ZXh0ID0gcnEtPmN0eDsKKworCWk5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHJx KTsKKwlfX2k5MTVfZ3VjX3N1Ym1pdChycSk7Cit9CisKIC8qCiAgKiBFdmVyeXRoaW5nIGJlbG93 IGhlcmUgaXMgY29uY2VybmVkIHdpdGggc2V0dXAgJiB0ZWFyZG93biwgYW5kIGlzCiAgKiB0aGVy ZWZvcmUgbm90IHBhcnQgb2YgdGhlIHNvbWV3aGF0IHRpbWUtY3JpdGljYWwgYmF0Y2gtc3VibWlz c2lvbgpAQCAtMTUzOSw3ICsxNTQyLDcgQEAgaW50IGk5MTVfZ3VjX3N1Ym1pc3Npb25fZW5hYmxl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJLyogUmVwbGF5IHRoZSBjdXJy ZW50IHNldCBvZiBwcmV2aW91c2x5IHN1Ym1pdHRlZCByZXF1ZXN0cyAqLwogCQlsaXN0X2Zvcl9l YWNoX2VudHJ5KHJxLCAmZW5naW5lLT50aW1lbGluZS0+cmVxdWVzdHMsIGxpbmspIHsKIAkJCWNs aWVudC0+d3FfcnN2ZCArPSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKLQkJCWk5MTVfZ3Vj X3N1Ym1pdChycSk7CisJCQlfX2k5MTVfZ3VjX3N1Ym1pdChycSk7CiAJCX0KIAl9CiAKLS0gCjIu MTAuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==