From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 30/42] drm/i915: Queue the idling context switch after all other timelines Date: Fri, 7 Oct 2016 10:46:23 +0100 Message-ID: <20161007094635.28319-31-chris@chris-wilson.co.uk> References: <20161007094635.28319-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 7EE466EB48 for ; Fri, 7 Oct 2016 09:47:15 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id b201so2097199wmb.1 for ; Fri, 07 Oct 2016 02:47:15 -0700 (PDT) In-Reply-To: <20161007094635.28319-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 QmVmb3JlIHN1c3BlbmQsIHdlIHdhaXQgZm9yIHRoZSBzd2l0Y2ggdG8gdGhlIGtlcm5lbCBjb250 ZXh0LiBJbiBvcmRlcgpmb3IgYWxsIHRoZSBvdGhlciBjb250ZXh0IGltYWdlcyB0byBiZSBjb21w bGV0ZSB1cG9uIHN1c3BlbmQsIHRoYXQKc3dpdGNoIG11c3QgYmUgdGhlIGxhc3Qgb3BlcmF0aW9u IGJ5IHRoZSBHUFUgKGkuZS4gdGhpcyBpZGxpbmcgcmVxdWVzdAptdXN0IG5vdCBvdmVydGFrZSBh bnkgcGVuZGluZyByZXF1ZXN0cykuIFRvIG1ha2UgdGhpcyByZXF1ZXN0IGV4ZWN1dGUgbGFzdCwK d2UgbWFrZSBpdCBkZXBlbmQgb24gZXZlcnkgb3RoZXIgaW5mbGlnaHQgcmVxdWVzdC4KClNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZpZXdl ZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8ICA5ICsrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgMjMgKysrKysrKysr KysrKysrKystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA3OThhMDg3Y2I1ZDQuLjI4ODdh MzE4YjljMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC00MjU2LDYgKzQyNTYsMTQgQEAg dm9pZCBfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3RpdmUoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaikKIAkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogfQogCitz dGF0aWMgdm9pZCBhc3NlcnRfa2VybmVsX2NvbnRleHRfaXNfY3VycmVudChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l OworCisJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZGV2X3ByaXYpCisJCUdFTV9CVUdfT04oZW5n aW5lLT5sYXN0X2NvbnRleHQgIT0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsKK30KKwogaW50 IGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CkBAIC00Mjg1LDYgKzQyOTMs NyBAQCBpbnQgaTkxNV9nZW1fc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJaTkx NV9nZW1fcmV0aXJlX3JlcXVlc3RzKGRldl9wcml2KTsKIAorCWFzc2VydF9rZXJuZWxfY29udGV4 dF9pc19jdXJyZW50KGRldl9wcml2KTsKIAlpOTE1X2dlbV9jb250ZXh0X2xvc3QoZGV2X3ByaXYp OwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggMWQyYWI3M2E4ZjQzLi40NDljZjQ1ZDk0ZWIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTkyOSwyMSArOTI5LDMy IEBAIGludCBpOTE1X3N3aXRjaF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxKQogaW50IGk5MTVfZ2VtX3N3aXRjaF90b19rZXJuZWxfY29udGV4dChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l OworCXN0cnVjdCBpOTE1X2dlbV90aW1lbGluZSAqdGltZWxpbmU7CisKKwlsb2NrZGVwX2Fzc2Vy dF9oZWxkKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKIAlmb3JfZWFjaF9lbmdpbmUo ZW5naW5lLCBkZXZfcHJpdikgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcTsK IAkJaW50IHJldDsKIAotCQlpZiAoZW5naW5lLT5sYXN0X2NvbnRleHQgPT0gTlVMTCkKLQkJCWNv bnRpbnVlOwotCi0JCWlmIChlbmdpbmUtPmxhc3RfY29udGV4dCA9PSBkZXZfcHJpdi0+a2VybmVs X2NvbnRleHQpCi0JCQljb250aW51ZTsKLQogCQlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9j KGVuZ2luZSwgZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsKIAkJaWYgKElTX0VSUihyZXEpKQog CQkJcmV0dXJuIFBUUl9FUlIocmVxKTsKIAorCQkvKiBRdWV1ZSB0aGlzIHN3aXRjaCBhZnRlciBh bGwgb3RoZXIgYWN0aXZpdHkgKi8KKwkJbGlzdF9mb3JfZWFjaF9lbnRyeSh0aW1lbGluZSwgJmRl dl9wcml2LT5ndC50aW1lbGluZXMsIGxpbmspIHsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcHJldjsKKwkJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CisKKwkJCXRsID0gJnRp bWVsaW5lLT5lbmdpbmVbZW5naW5lLT5pZF07CisJCQlwcmV2ID0gaTkxNV9nZW1fYWN0aXZlX3Jh dygmdGwtPmxhc3RfcmVxdWVzdCwKKwkJCQkJCSAgICZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7CisJCQlpZiAocHJldikKKwkJCQlpOTE1X3N3X2ZlbmNlX2F3YWl0X3N3X2ZlbmNlX2dmcCgm cmVxLT5zdWJtaXQsCisJCQkJCQkJCSAmcHJldi0+c3VibWl0LAorCQkJCQkJCQkgR0ZQX0tFUk5F TCk7CisJCX0KKwogCQlyZXQgPSBpOTE1X3N3aXRjaF9jb250ZXh0KHJlcSk7CiAJCWk5MTVfYWRk X3JlcXVlc3Rfbm9fZmx1c2gocmVxKTsKIAkJaWYgKHJldCkKLS0gCjIuOS4zCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK