From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 09/12] HACK drm/i915/scheduler: emulate a scheduler for guc Date: Wed, 2 Nov 2016 17:50:48 +0000 Message-ID: <20161102175051.29163-10-chris@chris-wilson.co.uk> References: <20161102175051.29163-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 24BED6E609 for ; Wed, 2 Nov 2016 17:51:05 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id 68so4196543wmz.2 for ; Wed, 02 Nov 2016 10:51:05 -0700 (PDT) In-Reply-To: <20161102175051.29163-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 bi5jIHwgODMgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jICAgICAgICAgICAgfCAgNCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDMgLS0KIDMgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0 aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jCmluZGV4IGJhYjBjMmZjM2JjZS4uNjAxYjg3NzdkM2ZkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC00NjksNyArNDY5LDcgQEAg aW50IGk5MTVfZ3VjX3dxX3Jlc2VydmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1 ZXN0KQogCXUzMiBmcmVlc3BhY2U7CiAJaW50IHJldDsKIAotCXNwaW5fbG9jaygmZ2MtPndxX2xv Y2spOworCXNwaW5fbG9ja19pcnEoJmdjLT53cV9sb2NrKTsKIAlmcmVlc3BhY2UgPSBDSVJDX1NQ QUNFKGdjLT53cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSk7CiAJZnJlZXNwYWNlIC09 IGdjLT53cV9yc3ZkOwogCWlmIChsaWtlbHkoZnJlZXNwYWNlID49IHdxaV9zaXplKSkgewpAQCAt NDc5LDcgKzQ3OSw3IEBAIGludCBpOTE1X2d1Y193cV9yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAkJZ2MtPm5vX3dxX3NwYWNlKys7CiAJCXJldCA9IC1FQUdB SU47CiAJfQotCXNwaW5fdW5sb2NrKCZnYy0+d3FfbG9jayk7CisJc3Bpbl91bmxvY2tfaXJxKCZn Yy0+d3FfbG9jayk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNDkxLDkgKzQ5MSw5IEBAIHZvaWQg aTkxNV9ndWNfd3FfdW5yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCkKIAogCUdFTV9CVUdfT04oUkVBRF9PTkNFKGdjLT53cV9yc3ZkKSA8IHdxaV9zaXplKTsKIAot CXNwaW5fbG9jaygmZ2MtPndxX2xvY2spOworCXNwaW5fbG9ja19pcnEoJmdjLT53cV9sb2NrKTsK IAlnYy0+d3FfcnN2ZCAtPSB3cWlfc2l6ZTsKLQlzcGluX3VubG9jaygmZ2MtPndxX2xvY2spOwor CXNwaW5fdW5sb2NrX2lycSgmZ2MtPndxX2xvY2spOwogfQogCiAvKiBDb25zdHJ1Y3QgYSBXb3Jr IEl0ZW0gYW5kIGFwcGVuZCBpdCB0byB0aGUgR3VDJ3MgV29yayBRdWV1ZSAqLwpAQCAtNjU4LDYg KzY1OCw3MCBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpycSkKIAlzcGluX3VubG9jaygmY2xpZW50LT53cV9sb2NrKTsKIH0KIAorc3Rh dGljIGJvb2wgaTkxNV9ndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp Cit7CisJc3RydWN0IGV4ZWNsaXN0X3BvcnQgKnBvcnQgPSBlbmdpbmUtPmV4ZWNsaXN0X3BvcnQ7 CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpsYXN0ID0gcG9ydFswXS5yZXF1ZXN0Owor CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJc3RydWN0IHJiX25vZGUgKnJiOworCWJvb2wgc3VibWl0 ID0gZmFsc2U7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50aW1lbGluZS0+bG9jaywg ZmxhZ3MpOworCXJiID0gZW5naW5lLT5leGVjbGlzdF9maXJzdDsKKwl3aGlsZSAocmIpIHsKKwkJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpjdXJzb3IgPQorCQkJcmJfZW50cnkocmIsIHR5 cGVvZigqY3Vyc29yKSwgcHJpb3RyZWUubm9kZSk7CisKKwkJaWYgKGxhc3QgJiYgY3Vyc29yLT5j dHggIT0gbGFzdC0+Y3R4KSB7CisJCQlpZiAocG9ydCAhPSBlbmdpbmUtPmV4ZWNsaXN0X3BvcnQp CisJCQkJYnJlYWs7CisKKwkJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZwb3J0LT5yZXF1ZXN0 LCBsYXN0KTsKKwkJCWRtYV9mZW5jZV9lbmFibGVfc3dfc2lnbmFsaW5nKCZsYXN0LT5mZW5jZSk7 CisJCQlwb3J0Kys7CisJCX0KKworCQlyYiA9IHJiX25leHQocmIpOworCQlyYl9lcmFzZSgmY3Vy c29yLT5wcmlvdHJlZS5ub2RlLCAmZW5naW5lLT5leGVjbGlzdF9xdWV1ZSk7CisJCVJCX0NMRUFS X05PREUoJmN1cnNvci0+cHJpb3RyZWUubm9kZSk7CisJCWN1cnNvci0+cHJpb3RyZWUucHJpb3Jp dHkgPSBJTlRfTUFYOworCisJCWk5MTVfZ3VjX3N1Ym1pdChjdXJzb3IpOworCQlsYXN0ID0gY3Vy c29yOworCQlzdWJtaXQgPSB0cnVlOworCX0KKwlpZiAoc3VibWl0KSB7CisJCWk5MTVfZ2VtX3Jl cXVlc3RfYXNzaWduKCZwb3J0LT5yZXF1ZXN0LCBsYXN0KTsKKwkJZG1hX2ZlbmNlX2VuYWJsZV9z d19zaWduYWxpbmcoJmxhc3QtPmZlbmNlKTsKKwkJZW5naW5lLT5leGVjbGlzdF9maXJzdCA9IHJi OworCX0KKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrLCBm bGFncyk7CisKKwlyZXR1cm4gc3VibWl0OworfQorCitzdGF0aWMgdm9pZCBpOTE1X2d1Y19pcnFf aGFuZGxlcih1bnNpZ25lZCBsb25nIGRhdGEpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lID0gKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKilkYXRhOworCXN0cnVjdCBleGVjbGlz dF9wb3J0ICpwb3J0ID0gZW5naW5lLT5leGVjbGlzdF9wb3J0OworCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcnE7CisJYm9vbCBzdWJtaXQ7CisKKwlkbyB7CisJCXJxID0gcG9ydFswXS5y ZXF1ZXN0OworCQl3aGlsZSAocnEgJiYgaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocnEpKSB7 CisJCQlpOTE1X2dlbV9yZXF1ZXN0X3B1dChycSk7CisJCQlycSA9IHBvcnRbMV0ucmVxdWVzdDsK KwkJCXBvcnRbMF0ucmVxdWVzdCA9IHJxOworCQkJcG9ydFsxXS5yZXF1ZXN0ID0gTlVMTDsKKwkJ fQorCisJCXN1Ym1pdCA9IGZhbHNlOworCQlpZiAoIXBvcnRbMV0ucmVxdWVzdCkKKwkJCXN1Ym1p dCA9IGk5MTVfZ3VjX2RlcXVldWUoZW5naW5lKTsKKwl9IHdoaWxlIChzdWJtaXQpOworfQorCiAv KgogICogRXZlcnl0aGluZyBiZWxvdyBoZXJlIGlzIGNvbmNlcm5lZCB3aXRoIHNldHVwICYgdGVh cmRvd24sIGFuZCBpcwogICogdGhlcmVmb3JlIG5vdCBwYXJ0IG9mIHRoZSBzb21ld2hhdCB0aW1l LWNyaXRpY2FsIGJhdGNoLXN1Ym1pc3Npb24KQEAgLTE1MjQsMTYgKzE1ODgsMTMgQEAgaW50IGk5 MTVfZ3VjX3N1Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAogCS8qIFRha2Ugb3ZlciBmcm9tIG1hbnVhbCBjb250cm9sIG9mIEVMU1AgKGV4ZWNsaXN0 cykgKi8KIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKLQkJZW5naW5l LT5zdWJtaXRfcmVxdWVzdCA9IGk5MTVfZ3VjX3N1Ym1pdDsKLQkJZW5naW5lLT5zY2hlZHVsZSA9 IE5VTEw7CisJCXRhc2tsZXRfaW5pdCgmZW5naW5lLT5pcnFfdGFza2xldCwKKwkJCSAgICAgaTkx NV9ndWNfaXJxX2hhbmRsZXIsCisJCQkgICAgICh1bnNpZ25lZCBsb25nKWVuZ2luZSk7CiAKIAkJ LyogUmVwbGF5IHRoZSBjdXJyZW50IHNldCBvZiBwcmV2aW91c2x5IHN1Ym1pdHRlZCByZXF1ZXN0 cyAqLwotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsCi0JCQkJICAgICZlbmdpbmUtPnRp bWVsaW5lLT5yZXF1ZXN0cywgbGluaykgeworCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3Qs ICZlbmdpbmUtPnRpbWVsaW5lLT5yZXF1ZXN0cywgbGluaykKIAkJCWNsaWVudC0+d3FfcnN2ZCAr PSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKLQkJCWlmIChpOTE1X3N3X2ZlbmNlX2RvbmUo JnJlcXVlc3QtPnN1Ym1pdCkpCi0JCQkJaTkxNV9ndWNfc3VibWl0KHJlcXVlc3QpOwotCQl9CiAJ fQogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2ly cS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCA2ZDc1MDViNWM1ZTcu LjIxN2Y2M2UxN2U0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0xMzQxLDggKzEzNDEs MTAgQEAgc3RhdGljIHZvaWQgc25iX2d0X2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZAogZ2VuOF9jc19pcnFf aGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBpaXIsIGludCB0ZXN0 X3NoaWZ0KQogewotCWlmIChpaXIgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IHRlc3Rf c2hpZnQpKQorCWlmIChpaXIgJiAoR1RfUkVOREVSX1VTRVJfSU5URVJSVVBUIDw8IHRlc3Rfc2hp ZnQpKSB7CisJCXRhc2tsZXRfc2NoZWR1bGUoJmVuZ2luZS0+aXJxX3Rhc2tsZXQpOwogCQlub3Rp ZnlfcmluZyhlbmdpbmUpOworCX0KIAlpZiAoaWlyICYgKEdUX0NPTlRFWFRfU1dJVENIX0lOVEVS UlVQVCA8PCB0ZXN0X3NoaWZ0KSkKIAkJdGFza2xldF9zY2hlZHVsZSgmZW5naW5lLT5pcnFfdGFz a2xldCk7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDcwYWM3NGM5NTliZC4uZDE3 YzBmZmY5NjQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTM1MCw5ICsxMzUwLDYg QEAgc3RhdGljIHZvaWQgcmVzZXRfY29tbW9uX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAogCXJlcXVlc3QtPnJpbmctPmxhc3RfcmV0aXJlZF9oZWFkID0gLTE7CiAJaW50ZWxf cmluZ191cGRhdGVfc3BhY2UocmVxdWVzdC0+cmluZyk7CiAKLQlpZiAoaTkxNS5lbmFibGVfZ3Vj X3N1Ym1pc3Npb24pCi0JCXJldHVybjsKLQogCS8qIENhdGNoIHVwIHdpdGggYW55IG1pc3NlZCBj b250ZXh0LXN3aXRjaCBpbnRlcnJ1cHRzICovCiAJSTkxNV9XUklURShSSU5HX0NPTlRFWFRfU1RB VFVTX1BUUihlbmdpbmUpLCBfTUFTS0VEX0ZJRUxEKDB4ZmZmZiwgMCkpOwogCWlmIChyZXF1ZXN0 LT5jdHggIT0gcG9ydFswXS5yZXF1ZXN0LT5jdHgpIHsKLS0gCjIuMTAuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==