From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michel Thierry Subject: [PATCH v2] drm/i915: Workaround to avoid lite restore with HEAD==TAIL Date: Tue, 14 Apr 2015 16:41:24 +0100 Message-ID: <1429026084-26800-1-git-send-email-michel.thierry@intel.com> References: <1428658353-20692-1-git-send-email-michel.thierry@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 87E0C6E4B5 for ; Tue, 14 Apr 2015 08:41:26 -0700 (PDT) In-Reply-To: <1428658353-20692-1-git-send-email-michel.thierry@intel.com> 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 V2FJZGxlTGl0ZVJlc3RvcmUgaXMgYW4gZXhlY2xpc3RzLW9ubHkgd29ya2Fyb3VuZCwgYW5kIHJl cXVpcmVzIHRoZSBkcml2ZXIKdG8gZW5zdXJlIHRoYXQgYW55IGNvbnRleHQgYWx3YXlzIGhhcyBI RUFEIT1UQUlMIHdoZW4gYXR0ZW1wdGluZyBsaXRlCnJlc3RvcmUuCgpBZGQgdHdvIGV4dHJhIE1J X05PT1AgaW5zdHJ1Y3Rpb25zIGF0IHRoZSBlbmQgb2YgZWFjaCByZXF1ZXN0LCBidXQga2VlcAp0 aGUgcmVxdWVzdHMgdGFpbCBwb2ludGluZyBiZWZvcmUgdGhlIE1JX05PT1BzLiBXZSBtYXkgbm90 IG5lZWQgdG8KZXhlY3V0ZWQgdGhlbSwgYW5kIHRoaXMgaXMgd2h5IHJlcXVlc3QtPnRhaWwgbXVz dCBiZSBzYW1wbGVkIGJlZm9yZSBhZGRpbmcKdGhlc2UgZXh0cmEgaW5zdHJ1Y3Rpb25zLgoKSWYg d2Ugc3VibWl0IGEgY29udGV4dCB0byB0aGUgRUxTUCB3aGljaCBoYXMgcHJldmlvdXNseSBiZWVu IHN1Ym1pdHRlZCwKbW92ZSB0aGUgdGFpbCBwb2ludGVyIHBhc3QgdGhlIE1JX05PT1BzLiBUaGlz IGVuc3VyZXMgSEVBRCE9VEFJTC4KCnYyOiBNb3ZlIG92ZXJhbGxvY2F0aW9uIHRvIGdlbjhfZW1p dF9yZXF1ZXN0LCBhbmQgYWRkZWQgbm90ZSBhYm91dApzYW1wbGluZyByZXF1ZXN0LT50YWlsIGlu IGNvbW1pdCBtZXNzYWdlIChDaHJpcykuCgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ClNpZ25lZC1vZmYtYnk6IFRob21hcyBEYW5pZWwgPHRob21hcy5kYW5pZWxA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVycnlA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgIHwgMTUgKysr KysrKysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDI3ICsrKysr KysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDZkZDBkNTcuLmRj OTQ5ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjM2NCwxNCArMjM2NCwyNyBAQCBp bnQgX19pOTE1X2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCXJl dCA9IHJpbmctPmVtaXRfcmVxdWVzdChyaW5nYnVmLCByZXF1ZXN0KTsKIAkJaWYgKHJldCkKIAkJ CXJldHVybiByZXQ7CisKKwkJcmVxdWVzdC0+dGFpbCA9IGludGVsX3JpbmdfZ2V0X3RhaWwocmlu Z2J1Zik7CisKKwkJaWYgKElTX0dFTjgocmluZy0+ZGV2KSB8fCBJU19HRU45KHJpbmctPmRldikp IHsKKwkJCS8qCisJCQkgKiBIZXJlIHdlIGFkZCB0d28gZXh0cmEgTk9PUHMgYXMgcGFkZGluZyB0 byBhdm9pZAorCQkJICogbGl0ZSByZXN0b3JlIG9mIGEgY29udGV4dCB3aXRoIEhFQUQ9PVRBSUwu CisJCQkgKi8KKwkJCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX05PT1ApOwor CQkJaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTk9PUCk7CisJCQlpbnRlbF9s b2dpY2FsX3JpbmdfYWR2YW5jZShyaW5nYnVmKTsKKwkJfQogCX0gZWxzZSB7CiAJCXJldCA9IHJp bmctPmFkZF9yZXF1ZXN0KHJpbmcpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKKworCQly ZXF1ZXN0LT50YWlsID0gaW50ZWxfcmluZ19nZXRfdGFpbChyaW5nYnVmKTsKIAl9CiAKIAlyZXF1 ZXN0LT5oZWFkID0gcmVxdWVzdF9zdGFydDsKLQlyZXF1ZXN0LT50YWlsID0gaW50ZWxfcmluZ19n ZXRfdGFpbChyaW5nYnVmKTsKIAogCS8qIFdoaWxzdCB0aGlzIHJlcXVlc3QgZXhpc3RzLCBiYXRj aF9vYmogd2lsbCBiZSBvbiB0aGUKIAkgKiBhY3RpdmVfbGlzdCwgYW5kIHNvIHdpbGwgaG9sZCB0 aGUgYWN0aXZlIHJlZmVyZW5jZS4gT25seSB3aGVuIHRoaXMKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMKaW5kZXggMjc0N2IwMi4uMTYxNDQyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAg LTQyNyw2ICs0MjcsMjYgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfdW5xdWV1ZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCQl9CiAJfQogCisJaWYgKElTX0dFTjgocmlu Zy0+ZGV2KSB8fCBJU19HRU45KHJpbmctPmRldikpIHsKKwkJLyoKKwkJICogV2FJZGxlTGl0ZVJl c3RvcmU6IG1ha2Ugc3VyZSB3ZSBuZXZlciBjYXVzZSBhIGxpdGUKKwkJICogcmVzdG9yZSB3aXRo IEhFQUQ9PVRBSUwKKwkJICovCisJCWlmIChyZXEwICYmIHJlcTAtPmVsc3Bfc3VibWl0dGVkID09 IDEpIHsKKwkJCS8qCisJCQkgKiBDb25zdW1lIHRoZSBidWZmZXIgTk9PUHMgdG8gZW5zdXJlIEhF QUQgIT0gVEFJTCB3aGVuCisJCQkgKiBzdWJtaXR0aW5nLiBlbHNwX3N1Ym1pdHRlZCBjYW4gb25s eSBiZSA+MSBhZnRlcgorCQkJICogcmVzZXQsIGluIHdoaWNoIGNhc2Ugd2UgZG9uJ3QgbmVlZCB0 aGUgd29ya2Fyb3VuZCBhcworCQkJICogYSBsaXRlIHJlc3RvcmUgd2lsbCBub3Qgb2NjdXIuCisJ CQkgKi8KKwkJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOworCisJCQlyaW5nYnVm ID0gcmVxMC0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7CisJCQlyZXEwLT50YWlsICs9 IDg7CisJCQlyZXEwLT50YWlsICY9IHJpbmdidWYtPnNpemUgLSAxOworCQl9CisJfQorCiAJV0FS Tl9PTihyZXExICYmIHJlcTEtPmVsc3Bfc3VibWl0dGVkKTsKIAogCWV4ZWNsaXN0c19zdWJtaXRf Y29udGV4dHMocmluZywgcmVxMC0+Y3R4LCByZXEwLT50YWlsLApAQCAtMTI3Miw3ICsxMjkyLDEy IEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X3JlcXVlc3Qoc3RydWN0IGludGVsX3JpbmdidWZmZXIg KnJpbmdidWYsCiAJdTMyIGNtZDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gaW50ZWxfbG9naWNhbF9y aW5nX2JlZ2luKHJpbmdidWYsIHJlcXVlc3QtPmN0eCwgNik7CisJLyoKKwkgKiBSZXNlcnZlIHNw YWNlIGZvciAyIE5PT1BzIGF0IHRoZSBlbmQgb2YgZWFjaCByZXF1ZXN0IHRvIGJlCisJICogdXNl ZCBhcyBhIHdvcmthcm91bmQgZm9yIG5vdCBiZWluZyBhbGxvd2VkIHRvIGRvIGxpdGUKKwkgKiBy ZXN0b3JlIHdpdGggSEVBRD09VEFJTC4KKwkgKi8KKwlyZXQgPSBpbnRlbF9sb2dpY2FsX3Jpbmdf YmVnaW4ocmluZ2J1ZiwgcmVxdWVzdC0+Y3R4LCA4KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0 OwogCi0tIAoyLjEuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK