From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v3 11/14] HACK drm/i915/scheduler: emulate a scheduler for guc Date: Mon, 14 Nov 2016 08:57:00 +0000 Message-ID: <20161114085703.16540-11-chris@chris-wilson.co.uk> References: <20161107135950.28861-1-chris@chris-wilson.co.uk> <20161114085703.16540-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 47E7A6E369 for ; Mon, 14 Nov 2016 08:57:22 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id a20so13343392wme.2 for ; Mon, 14 Nov 2016 00:57:22 -0800 (PST) In-Reply-To: <20161114085703.16540-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 VGhpcyBlbXVsYXRlcyBleGVjbGlzdHMgb24gdG9wIG9mIHRoZSBHdUMgaW4gb3JkZXIgdG8gZGVm ZXIgc3VibWlzc2lvbiBvZgpyZXF1ZXN0cyB0byB0aGUgaGFyZHdhcmUuIFRoaXMgZGVmZXJyYWwg YWxsb3dzIHRpbWUgZm9yIGhpZ2ggcHJpb3JpdHkKcmVxdWVzdHMgdG8gZ2F6dW1wIHRoZWlyIHdh eSB0byB0aGUgaGVhZCBvZiB0aGUgcXVldWUsIGhvd2V2ZXIgaXQgbmVyZnMKdGhlIEd1QyBieSBj b252ZXJ0aW5nIGl0IGJhY2sgaW50byBhIHNpbXBsZSBleGVjbGlzdCAod2hlcmUgdGhlIENQVSBo YXMKdG8gd2FrZSB1cCBhZnRlciBldmVyeSByZXF1ZXN0IHRvIGZlZWQgbmV3IGNvbW1hbmRzIGlu dG8gdGhlIEd1QykuCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lv bi5jIHwgODUgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDMgLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0 aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCmluZGV4IDQ0NjIxMTI3MjVlZi4uMDg4ZjVhOTllY2ZjIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC00NjksNyArNDY5LDcgQEAg aW50IGk5MTVfZ3VjX3dxX3Jlc2VydmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1 ZXN0KQogCXUzMiBmcmVlc3BhY2U7CiAJaW50IHJldDsKIAotCXNwaW5fbG9jaygmZ2MtPndxX2xv Y2spOworCXNwaW5fbG9ja19pcnEoJmdjLT53cV9sb2NrKTsKIAlmcmVlc3BhY2UgPSBDSVJDX1NQ QUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSk7CiAJZnJlZXNwYWNlIC09 IGdjLT53cV9yc3ZkOwogCWlmIChsaWtlbHkoZnJlZXNwYWNlID49IHdxaV9zaXplKSkgewpAQCAt NDc5LDcgKzQ3OSw3IEBAIGludCBpOTE1X2d1Y193cV9yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAkJZ2MtPm5vX3dxX3NwYWNlKys7CiAJCXJldCA9IC1FQUdB SU47CiAJfQotCXNwaW5fdW5sb2NrKCZnYy0+d3FfbG9jayk7CisJc3Bpbl91bmxvY2tfaXJxKCZn Yy0+d3FfbG9jayk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNDkxLDkgKzQ5MSw5IEBAIHZvaWQg aTkxNV9ndWNfd3FfdW5yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCkKIAogCUdFTV9CVUdfT04oUkVBRF9PTkNFKGdjLT53cV9yc3ZkKSA8IHdxaV9zaXplKTsKIAot CXNwaW5fbG9jaygmZ2MtPndxX2xvY2spOworCXNwaW5fbG9ja19pcnEoJmdjLT53cV9sb2NrKTsK IAlnYy0+d3FfcnN2ZCAtPSB3cWlfc2l6ZTsKLQlzcGluX3VubG9jaygmZ2MtPndxX2xvY2spOwor CXNwaW5fdW5sb2NrX2lycSgmZ2MtPndxX2xvY2spOwogfQogCiAvKiBDb25zdHJ1Y3QgYSBXb3Jr IEl0ZW0gYW5kIGFwcGVuZCBpdCB0byB0aGUgR3VDJ3MgV29yayBRdWV1ZSAqLwpAQCAtNjQ0LDcg KzY0NCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJxKQogCXJxLT5wcmV2aW91c19jb250ZXh0ID0gZW5naW5lLT5sYXN0X2NvbnRl eHQ7CiAJZW5naW5lLT5sYXN0X2NvbnRleHQgPSBycS0+Y3R4OwogCi0JaTkxNV9nZW1fcmVxdWVz dF9zdWJtaXQocnEpOworCV9faTkxNV9nZW1fcmVxdWVzdF9zdWJtaXQocnEpOwogCiAJc3Bpbl9s b2NrKCZjbGllbnQtPndxX2xvY2spOwogCWd1Y193cV9pdGVtX2FwcGVuZChjbGllbnQsIHJxKTsK QEAgLTY2NSw2ICs2NjUsNzAgQEAgc3RhdGljIHZvaWQgaTkxNV9ndWNfc3VibWl0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCiAJc3Bpbl91bmxvY2soJmNsaWVudC0+d3FfbG9jayk7 CiB9CiAKK3N0YXRpYyBib29sIGk5MTVfZ3VjX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQoreworCXN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0ID0gZW5naW5lLT5leGVj bGlzdF9wb3J0OworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqbGFzdCA9IHBvcnRbMF0u cmVxdWVzdDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCXN0cnVjdCByYl9ub2RlICpyYjsKKwli b29sIHN1Ym1pdCA9IGZhbHNlOworCisJc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxp bmUtPmxvY2ssIGZsYWdzKTsKKwlyYiA9IGVuZ2luZS0+ZXhlY2xpc3RfZmlyc3Q7CisJd2hpbGUg KHJiKSB7CisJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqY3Vyc29yID0KKwkJCXJiX2Vu dHJ5KHJiLCB0eXBlb2YoKmN1cnNvciksIHByaW90cmVlLm5vZGUpOworCisJCWlmIChsYXN0ICYm IGN1cnNvci0+Y3R4ICE9IGxhc3QtPmN0eCkgeworCQkJaWYgKHBvcnQgIT0gZW5naW5lLT5leGVj bGlzdF9wb3J0KQorCQkJCWJyZWFrOworCisJCQlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcG9y dC0+cmVxdWVzdCwgbGFzdCk7CisJCQlkbWFfZmVuY2VfZW5hYmxlX3N3X3NpZ25hbGluZygmbGFz dC0+ZmVuY2UpOworCQkJcG9ydCsrOworCQl9CisKKwkJcmIgPSByYl9uZXh0KHJiKTsKKwkJcmJf ZXJhc2UoJmN1cnNvci0+cHJpb3RyZWUubm9kZSwgJmVuZ2luZS0+ZXhlY2xpc3RfcXVldWUpOwor CQlSQl9DTEVBUl9OT0RFKCZjdXJzb3ItPnByaW90cmVlLm5vZGUpOworCQljdXJzb3ItPnByaW90 cmVlLnByaW9yaXR5ID0gSU5UX01BWDsKKworCQlpOTE1X2d1Y19zdWJtaXQoY3Vyc29yKTsKKwkJ bGFzdCA9IGN1cnNvcjsKKwkJc3VibWl0ID0gdHJ1ZTsKKwl9CisJaWYgKHN1Ym1pdCkgeworCQlp OTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcG9ydC0+cmVxdWVzdCwgbGFzdCk7CisJCWRtYV9mZW5j ZV9lbmFibGVfc3dfc2lnbmFsaW5nKCZsYXN0LT5mZW5jZSk7CisJCWVuZ2luZS0+ZXhlY2xpc3Rf Zmlyc3QgPSByYjsKKwl9CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGlu ZS0+bG9jaywgZmxhZ3MpOworCisJcmV0dXJuIHN1Ym1pdDsKK30KKworc3RhdGljIHZvaWQgaTkx NV9ndWNfaXJxX2hhbmRsZXIodW5zaWduZWQgbG9uZyBkYXRhKQoreworCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSA9IChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICopZGF0YTsKKwlzdHJ1 Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCA9IGVuZ2luZS0+ZXhlY2xpc3RfcG9ydDsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxOworCWJvb2wgc3VibWl0OworCisJZG8geworCQlycSA9 IHBvcnRbMF0ucmVxdWVzdDsKKwkJd2hpbGUgKHJxICYmIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxl dGVkKHJxKSkgeworCQkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocnEpOworCQkJcnEgPSBwb3J0WzFd LnJlcXVlc3Q7CisJCQlwb3J0WzBdLnJlcXVlc3QgPSBycTsKKwkJCXBvcnRbMV0ucmVxdWVzdCA9 IE5VTEw7CisJCX0KKworCQlzdWJtaXQgPSBmYWxzZTsKKwkJaWYgKCFwb3J0WzFdLnJlcXVlc3Qp CisJCQlzdWJtaXQgPSBpOTE1X2d1Y19kZXF1ZXVlKGVuZ2luZSk7CisJfSB3aGlsZSAoc3VibWl0 KTsKK30KKwogLyoKICAqIEV2ZXJ5dGhpbmcgYmVsb3cgaGVyZSBpcyBjb25jZXJuZWQgd2l0aCBz ZXR1cCAmIHRlYXJkb3duLCBhbmQgaXMKICAqIHRoZXJlZm9yZSBub3QgcGFydCBvZiB0aGUgc29t ZXdoYXQgdGltZS1jcml0aWNhbCBiYXRjaC1zdWJtaXNzaW9uCkBAIC0xNTMxLDE2ICsxNTk1LDEz IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAKIAkvKiBUYWtlIG92ZXIgZnJvbSBtYW51YWwgY29udHJvbCBvZiBFTFNQ IChleGVjbGlzdHMpICovCiAJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYsIGlkKSB7 Ci0JCWVuZ2luZS0+c3VibWl0X3JlcXVlc3QgPSBpOTE1X2d1Y19zdWJtaXQ7Ci0JCWVuZ2luZS0+ c2NoZWR1bGUgPSBOVUxMOworCQl0YXNrbGV0X2luaXQoJmVuZ2luZS0+aXJxX3Rhc2tsZXQsCisJ CQkgICAgIGk5MTVfZ3VjX2lycV9oYW5kbGVyLAorCQkJICAgICAodW5zaWduZWQgbG9uZyllbmdp bmUpOwogCiAJCS8qIFJlcGxheSB0aGUgY3VycmVudCBzZXQgb2YgcHJldmlvdXNseSBzdWJtaXR0 ZWQgcmVxdWVzdHMgKi8KLQkJbGlzdF9mb3JfZWFjaF9lbnRyeShyZXF1ZXN0LAotCQkJCSAgICAm ZW5naW5lLT50aW1lbGluZS0+cmVxdWVzdHMsIGxpbmspIHsKKwkJbGlzdF9mb3JfZWFjaF9lbnRy eShyZXF1ZXN0LCAmZW5naW5lLT50aW1lbGluZS0+cmVxdWVzdHMsIGxpbmspCiAJCQljbGllbnQt PndxX3JzdmQgKz0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSk7Ci0JCQlpZiAoaTkxNV9zd19m ZW5jZV9kb25lKCZyZXF1ZXN0LT5zdWJtaXQpKQotCQkJCWk5MTVfZ3VjX3N1Ym1pdChyZXF1ZXN0 KTsKLQkJfQogCX0KIAogCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggY2I4 YTc1ZjZjYTE2Li4xOGRjZTRjNjZkNTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfaXJxLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTM0 MSw4ICsxMzQxLDEwIEBAIHN0YXRpYyB2b2lkIHNuYl9ndF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgX19hbHdheXNfaW5saW5lIHZvaWQKIGdl bjhfY3NfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgaWly LCBpbnQgdGVzdF9zaGlmdCkKIHsKLQlpZiAoaWlyICYgKEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQ VCA8PCB0ZXN0X3NoaWZ0KSkKKwlpZiAoaWlyICYgKEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8 PCB0ZXN0X3NoaWZ0KSkgeworCQl0YXNrbGV0X3NjaGVkdWxlKCZlbmdpbmUtPmlycV90YXNrbGV0 KTsKIAkJbm90aWZ5X3JpbmcoZW5naW5lKTsKKwl9CiAJaWYgKGlpciAmIChHVF9DT05URVhUX1NX SVRDSF9JTlRFUlJVUFQgPDwgdGVzdF9zaGlmdCkpCiAJCXRhc2tsZXRfc2NoZWR1bGUoJmVuZ2lu ZS0+aXJxX3Rhc2tsZXQpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBkMTNhMzM1 YWQ4M2EuLmZmYWIyNTVlNTVhNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTE0MjUs OSArMTQyNSw2IEBAIHN0YXRpYyB2b2lkIHJlc2V0X2NvbW1vbl9yaW5nKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwKIAlyZXF1ZXN0LT5yaW5nLT5sYXN0X3JldGlyZWRfaGVhZCA9IC0x OwogCWludGVsX3JpbmdfdXBkYXRlX3NwYWNlKHJlcXVlc3QtPnJpbmcpOwogCi0JaWYgKGk5MTUu ZW5hYmxlX2d1Y19zdWJtaXNzaW9uKQotCQlyZXR1cm47Ci0KIAkvKiBDYXRjaCB1cCB3aXRoIGFu eSBtaXNzZWQgY29udGV4dC1zd2l0Y2ggaW50ZXJydXB0cyAqLwogCUk5MTVfV1JJVEUoUklOR19D T05URVhUX1NUQVRVU19QVFIoZW5naW5lKSwgX01BU0tFRF9GSUVMRCgweGZmZmYsIDApKTsKIAlp ZiAocmVxdWVzdC0+Y3R4ICE9IHBvcnRbMF0ucmVxdWVzdC0+Y3R4KSB7Ci0tIAoyLjEwLjIKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=