From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 02/29] drm/i915: Ensure OLS & PLR are always in sync Date: Thu, 30 Oct 2014 18:40:54 +0000 Message-ID: <1414694481-15724-3-git-send-email-John.C.Harrison@Intel.com> References: <1414694481-15724-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 25D736E0C8 for ; Thu, 30 Oct 2014 11:41:26 -0700 (PDT) In-Reply-To: <1414694481-15724-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBhaW0g aXMgdG8gcmVwbGFjZSBzZXFubyB2YWx1ZXMgd2l0aCByZXF1ZXN0IHN0cnVjdHVyZXMuIEEgc3Rl cCBhbG9uZyB0aGUgd2F5CmlzIHRvIHN3aXRjaCB0byB1c2luZyB0aGUgUExSIGluIHByZWZlcmVu Y2UgdG8gdGhlIE9MUy4gVGhhdCByZXF1aXJlcyB0aGUgUExSIHRvCm9ubHkgYmUgdmFsaWQgd2hl biBhbmQgb25seSB3aGVuIHRoZSBPTFMgaXMgYWxzbyB2YWxpZC4gSS5lLiwgdGhlIHR3byBtdXN0 IGJlCmtlcHQgaW4gbG9jayBzdGVwLiBUaGVuLCBjb2RlIHdoaWNoIHdhcyB1c2luZyB0aGUgT0xT IGNhbiBiZSBzYWZlbHkgc3dpdGNoZWQKb3ZlciB0byB1c2luZyB0aGUgUExSIGluc3RlYWQuCgpG b3I6IFZJWi00Mzc3ClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJyaXNv bkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAg IHwgICA0MiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgIDI5ICsrKysrKysrKysrKysrKy0tLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCmluZGV4IGNkNzRlNWMuLjJhYTY1YzggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCkBAIC03OTYsMjcgKzc5NiwzOSBAQCB2b2lkIGludGVsX2xvZ2ljYWxfcmluZ19h ZHZhbmNlX2FuZF9zdWJtaXQoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCiBzdGF0 aWMgaW50IGxvZ2ljYWxfcmluZ19hbGxvY19zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAogCQkJCSAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQogewotCWlmIChyaW5nLT5v dXRzdGFuZGluZ19sYXp5X3NlcW5vKQotCQlyZXR1cm4gMDsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcXVlc3Q7CisJaW50IHJldDsKIAotCWlmIChyaW5nLT5wcmVhbGxvY2F0ZWRf bGF6eV9yZXF1ZXN0ID09IE5VTEwpIHsKLQkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0OworCS8qIFhYWDogVGhlIGFpbSBpcyB0byByZXBsYWNlIHNlcW5vIHZhbHVlcyB3aXRo IHJlcXVlc3Qgc3RydWN0dXJlcy4KKwkgKiBBIHN0ZXAgYWxvbmcgdGhlIHdheSBpcyB0byBzd2l0 Y2ggdG8gdXNpbmcgdGhlIFBMUiBpbiBwcmVmZXJlbmNlCisJICogdG8gdGhlIE9MUy4gVGhhdCBy ZXF1aXJlcyB0aGUgUExSIHRvIG9ubHkgYmUgdmFsaWQgd2hlbiB0aGUgT0xTIGlzCisJICogYWxz byB2YWxpZC4gSS5lLiwgdGhlIHR3byBtdXN0IGJlIGtlcHQgaW4gc3RlcC4gKi8KIAotCQlyZXF1 ZXN0ID0ga21hbGxvYyhzaXplb2YoKnJlcXVlc3QpLCBHRlBfS0VSTkVMKTsKLQkJaWYgKHJlcXVl c3QgPT0gTlVMTCkKLQkJCXJldHVybiAtRU5PTUVNOworCWlmIChyaW5nLT5vdXRzdGFuZGluZ19s YXp5X3NlcW5vKSB7CisJCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdCA9 PSBOVUxMKTsKKwkJcmV0dXJuIDA7CisJfQorCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVkX2xh enlfcmVxdWVzdCAhPSBOVUxMKTsKIAotCQkvKiBIb2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBjb250 ZXh0IHRoaXMgcmVxdWVzdCBiZWxvbmdzIHRvCi0JCSAqICh3ZSB3aWxsIG5lZWQgaXQgd2hlbiB0 aGUgdGltZSBjb21lcyB0byBlbWl0L3JldGlyZSB0aGUKLQkJICogcmVxdWVzdCkuCi0JCSAqLwot CQlyZXF1ZXN0LT5jdHggPSBjdHg7Ci0JCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcXVl c3QtPmN0eCk7CisJcmVxdWVzdCA9IGttYWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5F TCk7CisJaWYgKHJlcXVlc3QgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcmluZy0+ cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdCA9IHJlcXVlc3Q7CisJcmV0ID0gaTkxNV9nZW1fZ2V0 X3NlcW5vKHJpbmctPmRldiwgJnJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCWlmIChy ZXQpIHsKKwkJa2ZyZWUocmVxdWVzdCk7CisJCXJldHVybiByZXQ7CiAJfQogCi0JcmV0dXJuIGk5 MTVfZ2VtX2dldF9zZXFubyhyaW5nLT5kZXYsICZyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5v KTsKKwkvKiBIb2xkIGEgcmVmZXJlbmNlIHRvIHRoZSBjb250ZXh0IHRoaXMgcmVxdWVzdCBiZWxv bmdzIHRvCisJICogKHdlIHdpbGwgbmVlZCBpdCB3aGVuIHRoZSB0aW1lIGNvbWVzIHRvIGVtaXQv cmV0aXJlIHRoZQorCSAqIHJlcXVlc3QpLgorCSAqLworCXJlcXVlc3QtPmN0eCA9IGN0eDsKKwlp OTE1X2dlbV9jb250ZXh0X3JlZmVyZW5jZShyZXF1ZXN0LT5jdHgpOworCisJcmluZy0+cHJlYWxs b2NhdGVkX2xhenlfcmVxdWVzdCA9IHJlcXVlc3Q7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyBp bnQgbG9naWNhbF9yaW5nX3dhaXRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmlu Z2J1ZiwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBhOGY3MmU4 Li4xNTNkZTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC0y MDE2LDIwICsyMDE2LDMzIEBAIGludCBpbnRlbF9yaW5nX2lkbGUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKIHN0YXRpYyBpbnQKIGludGVsX3JpbmdfYWxsb2Nfc2Vxbm8oc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZykKIHsKLQlpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFu bykKKwlpbnQgcmV0OworCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKKwor CS8qIFhYWDogVGhlIGFpbSBpcyB0byByZXBsYWNlIHNlcW5vIHZhbHVlcyB3aXRoIHJlcXVlc3Qg c3RydWN0dXJlcy4KKwkgKiBBIHN0ZXAgYWxvbmcgdGhlIHdheSBpcyB0byBzd2l0Y2ggdG8gdXNp bmcgdGhlIFBMUiBpbiBwcmVmZXJlbmNlCisJICogdG8gdGhlIE9MUy4gVGhhdCByZXF1aXJlcyB0 aGUgUExSIHRvIG9ubHkgYmUgdmFsaWQgd2hlbiB0aGUgT0xTCisJICogaXMgYWxzbyB2YWxpZC4g SS5lLiwgdGhlIHR3byBtdXN0IGJlIGtlcHQgaW4gc3RlcC4gKi8KKworCWlmIChyaW5nLT5vdXRz dGFuZGluZ19sYXp5X3NlcW5vKSB7CisJCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVkX2xhenlf cmVxdWVzdCA9PSBOVUxMKTsKIAkJcmV0dXJuIDA7CisJfQogCi0JaWYgKHJpbmctPnByZWFsbG9j YXRlZF9sYXp5X3JlcXVlc3QgPT0gTlVMTCkgewotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3Q7CisJV0FSTl9PTihyaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0ICE9 IE5VTEwpOwogCi0JCXJlcXVlc3QgPSBrbWFsbG9jKHNpemVvZigqcmVxdWVzdCksIEdGUF9LRVJO RUwpOwotCQlpZiAocmVxdWVzdCA9PSBOVUxMKQotCQkJcmV0dXJuIC1FTk9NRU07CisJcmVxdWVz dCA9IGttYWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKHJlcXVlc3Qg PT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcmluZy0+cHJlYWxsb2NhdGVkX2xhenlf cmVxdWVzdCA9IHJlcXVlc3Q7CisJcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJpbmctPmRldiwg JnJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCWlmIChyZXQpIHsKKwkJa2ZyZWUocmVx dWVzdCk7CisJCXJldHVybiByZXQ7CiAJfQogCi0JcmV0dXJuIGk5MTVfZ2VtX2dldF9zZXFubyhy aW5nLT5kZXYsICZyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vKTsKKwlyaW5nLT5wcmVhbGxv Y2F0ZWRfbGF6eV9yZXF1ZXN0ID0gcmVxdWVzdDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGlu dCBfX2ludGVsX3JpbmdfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotLSAK MS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK