From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 28/38] drm/i915: Queue the idling context switch after all other timelines Date: Tue, 20 Sep 2016 09:30:02 +0100 Message-ID: <20160920083012.2754-29-chris@chris-wilson.co.uk> References: <20160920083012.2754-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 93124895B2 for ; Tue, 20 Sep 2016 08:30:51 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id w84so2085698wmg.0 for ; Tue, 20 Sep 2016 01:30:51 -0700 (PDT) In-Reply-To: <20160920083012.2754-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 Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org QmVmb3JlIHN1c3BlbmQsIHdlIHdhaXQgZm9yIHRoZSBzd2l0Y2ggdG8gdGhlIGtlcm5lbCBjb250 ZXh0LiBJbiBvcmRlcgpmb3IgYWxsIHRoZSBvdGhlciBjb250ZXh0IGltYWdlcyB0byBiZSBjb21w bGV0ZSB1cG9uIHN1c3BlbmQsIHRoYXQKc3dpdGNoIG11c3QgYmUgdGhlIGxhc3Qgb3BlcmF0aW9u IGJ5IHRoZSBHUFUgKGkuZS4gdGhpcyBpZGxpbmcgcmVxdWVzdAptdXN0IG5vdCBvdmVydGFrZSBh bnkgcGVuZGluZyByZXF1ZXN0cykuIFRvIG1ha2UgdGhpcyByZXF1ZXN0IGV4ZWN1dGUgbGFzdCwK d2UgbWFrZSBpdCBkZXBlbmQgb24gZXZlcnkgb3RoZXIgaW5mbGlnaHQgcmVxdWVzdC4KClNpZ25l ZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDEyICsrKysrKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgMjEgKysrKysrKysrKysr KysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggNzY4MTkwNTk0YzRmLi5iMTBkMjZkMzI1 NGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNDI1OSw2ICs0MjU5LDE3IEBAIHZvaWQg X19pOTE1X2dlbV9vYmplY3RfcmVsZWFzZV91bmxlc3NfYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIH0KIAorX19tYXli ZV91bnVzZWQgc3RhdGljIGJvb2wgaXNfa2VybmVsX2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQoreworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwor CWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2KQorCQlpZiAoZW5naW5lLT5sYXN0X2Nv bnRleHQgIT0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KQorCQkJcmV0dXJuIGZhbHNlOworCisJ cmV0dXJuIHRydWU7Cit9CisKIGludCBpOTE1X2dlbV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwpAQCAtNDI4OCw2ICs0Mjk5LDcgQEAgaW50IGk5MTVfZ2VtX3N1c3BlbmQoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIAogCWk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0cyhkZXZfcHJpdik7CiAK KwlHRU1fQlVHX09OKCFpc19rZXJuZWxfY29udGV4dChkZXZfcHJpdikpOwogCWk5MTVfZ2VtX2Nv bnRleHRfbG9zdChkZXZfcHJpdik7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCAxZDJhYjczYThm NDMuLmZlNDVjZDc2NDBiMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YwpAQCAtOTI5LDIxICs5MjksMzAgQEAgaW50IGk5MTVfc3dpdGNoX2NvbnRleHQoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiBpbnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9j b250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmU7CisJc3RydWN0IGk5MTVfZ2VtX3RpbWVsaW5lICp0aW1lbGlu ZTsKIAogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGRldl9wcml2KSB7CiAJCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxOwogCQlpbnQgcmV0OwogCi0JCWlmIChlbmdpbmUtPmxhc3Rf Y29udGV4dCA9PSBOVUxMKQotCQkJY29udGludWU7Ci0KLQkJaWYgKGVuZ2luZS0+bGFzdF9jb250 ZXh0ID09IGRldl9wcml2LT5rZXJuZWxfY29udGV4dCkKLQkJCWNvbnRpbnVlOwotCiAJCXJlcSA9 IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MoZW5naW5lLCBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQp OwogCQlpZiAoSVNfRVJSKHJlcSkpCiAJCQlyZXR1cm4gUFRSX0VSUihyZXEpOwogCisJCS8qIFF1 ZXVlIHRoaXMgc3dpdGNoIGFmdGVyIGFsbCBvdGhlciBhY3Rpdml0eSAqLworCQlsaXN0X2Zvcl9l YWNoX2VudHJ5KHRpbWVsaW5lLCAmZGV2X3ByaXYtPmd0LnRpbWVsaW5lcywgbGluaykgeworCQkJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpwcmV2OworCQkJc3RydWN0IGludGVsX3RpbWVs aW5lICp0bDsKKworCQkJdGwgPSAmdGltZWxpbmUtPmVuZ2luZVtlbmdpbmUtPmlkXTsKKwkJCXBy ZXYgPSBpOTE1X2dlbV9hY3RpdmVfcmF3KCZ0bC0+bGFzdF9yZXF1ZXN0LAorCQkJCQkJICAgJmRl dl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKKwkJCWlmIChwcmV2KQorCQkJCWk5MTVfc3dfZmVu Y2VfYXdhaXRfc3dfZmVuY2UoJnJlcS0+c3VibWl0LAorCQkJCQkJCSAgICAgJnByZXYtPnN1Ym1p dCwKKwkJCQkJCQkgICAgIE5VTEwsIEdGUF9LRVJORUwpOworCQl9CisKIAkJcmV0ID0gaTkxNV9z d2l0Y2hfY29udGV4dChyZXEpOwogCQlpOTE1X2FkZF9yZXF1ZXN0X25vX2ZsdXNoKHJlcSk7CiAJ CWlmIChyZXQpCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==