From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 5/7] drm/i915/execlists: Direct submit onto idle engines Date: Mon, 7 May 2018 14:57:29 +0100 Message-ID: <20180507135731.10587-5-chris@chris-wilson.co.uk> References: <20180507135731.10587-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 fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 78EDD89143 for ; Mon, 7 May 2018 13:57:48 +0000 (UTC) In-Reply-To: <20180507135731.10587-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 QnlwYXNzIHVzaW5nIHRoZSB0YXNrbGV0IHRvIHN1Ym1pdCB0aGUgZmlyc3QgcmVxdWVzdCB0byBI VywgYXMgdGhlCnRhc2tsZXQgbWF5IGJlIGRlZmVycmVkIHVudG8ga3NvZnRpcnFkIGFuZCBhdCBh IG1pbmltdW0gd2lsbCBhZGQgaW4KZXhjZXNzIG9mIDEwdXMgKGFuZCBtYXliZSB0ZW5zIG9mIG1p bGxpc2Vjb25kcykgdG8gb3VyIGV4ZWN1dGlvbgpsYXRlbmN5LiBUaGlzIGxhdGVuY3kgcmVkdWN0 aW9uIGlzIG1vc3Qgbm90YWJsZSB3aGVuIGV4ZWN1dGlvbiBmbG93cwpiZXR3ZWVuIGVuZ2luZXMu Cgp2MjogQmV3YXJlIGhhbmRsaW5nIHByZWVtcHRpb24gY29tcGxldGlvbiBmcm9tIHRoZSBkaXJl Y3Qgc3VibWl0IHBhdGggYXMKd2VsbC4KClN1Z2dlc3RlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2 cnRrby51cnN1bGluQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJp c0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9u LmMgfCAxMiArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAg IHwgNjYgKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmggICAgIHwgIDcgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMo KyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3Vi bWlzc2lvbi5jCmluZGV4IDJmZWI2NTA5Njk2Ni4uNmJmZTMwYWY3ODI2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKQEAgLTc1NCwxNCArNzU0LDIwIEBA IHN0YXRpYyBib29sIF9fZ3VjX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQogCiBzdGF0aWMgdm9pZCBndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiB7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKKwl1bnNpZ25lZCBsb25nIHVuaW5pdGlhbGl6 ZWRfdmFyKGZsYWdzKTsKIAlib29sIHN1Ym1pdDsKIAogCWxvY2FsX2lycV9zYXZlKGZsYWdzKTsK IAotCXNwaW5fbG9jaygmZW5naW5lLT50aW1lbGluZS5sb2NrKTsKKwlHRU1fQlVHX09OKCF0ZXN0 X2JpdChUQVNLTEVUX1NUQVRFX1JVTiwKKwkJCSAgICAgJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2ts ZXQuc3RhdGUpKTsKKwlpZiAoIWludGVsX2VuZ2luZV9kaXJlY3Rfc3VibWl0KGVuZ2luZSkpCisJ CXNwaW5fbG9jaygmZW5naW5lLT50aW1lbGluZS5sb2NrKTsKKwogCXN1Ym1pdCA9IF9fZ3VjX2Rl cXVldWUoZW5naW5lKTsKLQlzcGluX3VubG9jaygmZW5naW5lLT50aW1lbGluZS5sb2NrKTsKKwor CWlmICghaW50ZWxfZW5naW5lX2RpcmVjdF9zdWJtaXQoZW5naW5lKSkKKwkJc3Bpbl91bmxvY2so JmVuZ2luZS0+dGltZWxpbmUubG9jayk7CiAKIAlpZiAoc3VibWl0KQogCQlndWNfc3VibWl0KGVu Z2luZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDE1YzM3M2VhNWI3ZS4uYWM3YzVl ZGVlNGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMzU3LDEzICszNTcsMTYgQEAg ZXhlY2xpc3RzX3Vud2luZF9pbmNvbXBsZXRlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVf ZXhlY2xpc3RzICpleGVjbGlzdHMpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l ID0KIAkJY29udGFpbmVyX29mKGV4ZWNsaXN0cywgdHlwZW9mKCplbmdpbmUpLCBleGVjbGlzdHMp OwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyB1bmluaXRpYWxpemVkX3Zh cihmbGFncyk7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBm bGFncyk7CisJR0VNX0JVR19PTighdGVzdF9iaXQoVEFTS0xFVF9TVEFURV9SVU4sICZleGVjbGlz dHMtPnRhc2tsZXQuc3RhdGUpKTsKKwlpZiAoIWludGVsX2VuZ2luZV9kaXJlY3Rfc3VibWl0KGVu Z2luZSkpCisJCXNwaW5fbG9ja19pcnFzYXZlKCZlbmdpbmUtPnRpbWVsaW5lLmxvY2ssIGZsYWdz KTsKIAogCV9fdW53aW5kX2luY29tcGxldGVfcmVxdWVzdHMoZW5naW5lKTsKIAotCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOworCWlmICghaW50 ZWxfZW5naW5lX2RpcmVjdF9zdWJtaXQoZW5naW5lKSkKKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9p ZApAQCAtNjAyLDYgKzYwNSw4IEBAIHN0YXRpYyBib29sIF9fZXhlY2xpc3RzX2RlcXVldWUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkgKi8KIAkJR0VNX0JVR19PTighZXhlY2xp c3RzX2lzX2FjdGl2ZShleGVjbGlzdHMsCiAJCQkJCQlFWEVDTElTVFNfQUNUSVZFX1VTRVIpKTsK KwkJR0VNX0JVR19PTihleGVjbGlzdHNfaXNfYWN0aXZlKGV4ZWNsaXN0cywKKwkJCQkJICAgICAg IEVYRUNMSVNUU19BQ1RJVkVfUFJFRU1QVCkpOwogCQlHRU1fQlVHX09OKCFwb3J0X2NvdW50KCZw b3J0WzBdKSk7CiAJCWlmIChwb3J0X2NvdW50KCZwb3J0WzBdKSA+IDEpCiAJCQlyZXR1cm4gZmFs c2U7CkBAIC03NTgsMTIgKzc2MywxNyBAQCBzdGF0aWMgYm9vbCBfX2V4ZWNsaXN0c19kZXF1ZXVl KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19k ZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNsaXN0czsK LQl1bnNpZ25lZCBsb25nIGZsYWdzOworCXVuc2lnbmVkIGxvbmcgdW5pbml0aWFsaXplZF92YXIo ZmxhZ3MpOwogCWJvb2wgc3VibWl0OwogCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmVuZ2luZS0+dGlt ZWxpbmUubG9jaywgZmxhZ3MpOworCUdFTV9CVUdfT04oIXRlc3RfYml0KFRBU0tMRVRfU1RBVEVf UlVOLCAmZXhlY2xpc3RzLT50YXNrbGV0LnN0YXRlKSk7CisJaWYgKCFpbnRlbF9lbmdpbmVfZGly ZWN0X3N1Ym1pdChlbmdpbmUpKQorCQlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50aW1lbGlu ZS5sb2NrLCBmbGFncyk7CisKIAlzdWJtaXQgPSBfX2V4ZWNsaXN0c19kZXF1ZXVlKGVuZ2luZSk7 Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7 CisKKwlpZiAoIWludGVsX2VuZ2luZV9kaXJlY3Rfc3VibWl0KGVuZ2luZSkpCisJCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOwogCiAJaWYgKHN1 Ym1pdCkKIAkJZXhlY2xpc3RzX3N1Ym1pdF9wb3J0cyhlbmdpbmUpOwpAQCAtMTE2MywxNiArMTE3 Myw0NSBAQCBzdGF0aWMgdm9pZCBxdWV1ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwKIAkJICAgICAgJmxvb2t1cF9wcmlvbGlzdChlbmdpbmUsIG5vZGUsIHByaW8pLT5y ZXF1ZXN0cyk7CiB9CiAKLXN0YXRpYyB2b2lkIF9fc3VibWl0X3F1ZXVlKHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCitzdGF0aWMgdm9pZCBfX3dha2V1cF9xdWV1ZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQogewogCWVuZ2luZS0+ZXhl Y2xpc3RzLnF1ZXVlX3ByaW9yaXR5ID0gcHJpbzsKK30KKworc3RhdGljIHZvaWQgX19zY2hlZHVs ZV9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CiAJdGFza2xldF9oaV9z Y2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9f c3VibWl0X3F1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlzdHJ1Y3Qg aW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cyA9ICZlbmdpbmUtPmV4ZWNs aXN0czsKKwlzdHJ1Y3QgdGFza2xldF9zdHJ1Y3QgKiBjb25zdCB0ID0gJmV4ZWNsaXN0cy0+dGFz a2xldDsKKworCUdFTV9CVUdfT04oIWVuZ2luZS0+aTkxNS0+Z3QuYXdha2UpOworCisJLyogSWYg aW5zaWRlIEdQVSByZXNldCwgdGhlIHRhc2tsZXQgd2lsbCBiZSBxdWV1ZWQgbGF0ZXIuICovCisJ aWYgKHVubGlrZWx5KGF0b21pY19yZWFkKCZ0LT5jb3VudCkpKQorCQlyZXR1cm47CisKKwkvKiBE aXJlY3RseSBzdWJtaXQgdGhlIGZpcnN0IHJlcXVlc3QgdG8gcmVkdWNlIHRoZSBpbml0aWFsIGxh dGVuY3kgKi8KKwlpZiAoIXBvcnRfaXNzZXQoZXhlY2xpc3RzLT5wb3J0KSAmJiB0YXNrbGV0X3Ry eWxvY2sodCkpIHsKKwkJZW5naW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9ESVJFQ1RfU1VCTUlU OworCQl0LT5mdW5jKHQtPmRhdGEpOworCQllbmdpbmUtPmZsYWdzICY9IH5JOTE1X0VOR0lORV9E SVJFQ1RfU1VCTUlUOworCQl0YXNrbGV0X3VubG9jayh0KTsKKwkJcmV0dXJuOworCX0KKworCV9f c2NoZWR1bGVfcXVldWUoZW5naW5lKTsKK30KKwogc3RhdGljIHZvaWQgc3VibWl0X3F1ZXVlKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCiB7Ci0JaWYgKHByaW8gPiBl bmdpbmUtPmV4ZWNsaXN0cy5xdWV1ZV9wcmlvcml0eSkKLQkJX19zdWJtaXRfcXVldWUoZW5naW5l LCBwcmlvKTsKKwlpZiAocHJpbyA+IGVuZ2luZS0+ZXhlY2xpc3RzLnF1ZXVlX3ByaW9yaXR5KSB7 CisJCV9fd2FrZXVwX3F1ZXVlKGVuZ2luZSwgcHJpbyk7CisJCV9fc3VibWl0X3F1ZXVlKGVuZ2lu ZSk7CisJfQogfQogCiBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Qoc3RydWN0 IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkKQEAgLTExODQsMTAgKzEyMjMsOSBAQCBzdGF0aWMgdm9p ZCBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGk5MTVfcmVxdWVzdCAqcmVxdWVzdCkK IAlzcGluX2xvY2tfaXJxc2F2ZSgmZW5naW5lLT50aW1lbGluZS5sb2NrLCBmbGFncyk7CiAKIAlx dWV1ZV9yZXF1ZXN0KGVuZ2luZSwgJnJlcXVlc3QtPnNjaGVkLCBycV9wcmlvKHJlcXVlc3QpKTsK LQlzdWJtaXRfcXVldWUoZW5naW5lLCBycV9wcmlvKHJlcXVlc3QpKTsKLQogCUdFTV9CVUdfT04o IWVuZ2luZS0+ZXhlY2xpc3RzLmZpcnN0KTsKIAlHRU1fQlVHX09OKGxpc3RfZW1wdHkoJnJlcXVl c3QtPnNjaGVkLmxpbmspKTsKKwlzdWJtaXRfcXVldWUoZW5naW5lLCBycV9wcmlvKHJlcXVlc3Qp KTsKIAogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxh Z3MpOwogfQpAQCAtMTMwOSw4ICsxMzQ3LDEwIEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zY2hl ZHVsZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LAogCQl9CiAKIAkJaWYgKHByaW8gPiBl bmdpbmUtPmV4ZWNsaXN0cy5xdWV1ZV9wcmlvcml0eSAmJgotCQkgICAgaTkxNV9zd19mZW5jZV9k b25lKCZzY2hlZF90b19yZXF1ZXN0KG5vZGUpLT5zdWJtaXQpKQotCQkJX19zdWJtaXRfcXVldWUo ZW5naW5lLCBwcmlvKTsKKwkJICAgIGk5MTVfc3dfZmVuY2VfZG9uZSgmc2NoZWRfdG9fcmVxdWVz dChub2RlKS0+c3VibWl0KSkgeworCQkJX193YWtldXBfcXVldWUoZW5naW5lLCBwcmlvKTsKKwkJ CV9fc2NoZWR1bGVfcXVldWUoZW5naW5lKTsKKwkJfQogCX0KIAogCXNwaW5fdW5sb2NrX2lycSgm ZW5naW5lLT50aW1lbGluZS5sb2NrKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuaAppbmRleCAwMTA3NTBlOGVlNDQuLmY1NTQ1MzkxZDc2YSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtNTY5LDYgKzU2OSw3IEBAIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgewogI2RlZmluZSBJOTE1X0VOR0lORV9ORUVEU19DTURfUEFSU0VSIEJJVCgwKQog I2RlZmluZSBJOTE1X0VOR0lORV9TVVBQT1JUU19TVEFUUyAgIEJJVCgxKQogI2RlZmluZSBJOTE1 X0VOR0lORV9IQVNfUFJFRU1QVElPTiAgIEJJVCgyKQorI2RlZmluZSBJOTE1X0VOR0lORV9ESVJF Q1RfU1VCTUlUICAgIEJJVCgzKQogCXVuc2lnbmVkIGludCBmbGFnczsKIAogCS8qCkBAIC02NDYs NiArNjQ3LDEyIEBAIGludGVsX2VuZ2luZV9oYXNfcHJlZW1wdGlvbihjb25zdCBzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJcmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lO RV9IQVNfUFJFRU1QVElPTjsKIH0KIAorc3RhdGljIGlubGluZSBib29sCitpbnRlbF9lbmdpbmVf ZGlyZWN0X3N1Ym1pdChjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJ cmV0dXJuIGVuZ2luZS0+ZmxhZ3MgJiBJOTE1X0VOR0lORV9ESVJFQ1RfU1VCTUlUOworfQorCiBz dGF0aWMgaW5saW5lIGJvb2wgX19leGVjbGlzdHNfbmVlZF9wcmVlbXB0KGludCBwcmlvLCBpbnQg bGFzdCkKIHsKIAlyZXR1cm4gcHJpbyA+IG1heCgwLCBsYXN0KTsKLS0gCjIuMTcuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==