From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 09/16] drm/i915: Store current watermark state in dev_priv->wm Date: Wed, 9 Oct 2013 19:18:03 +0300 Message-ID: <1381335490-4906-10-git-send-email-ville.syrjala@linux.intel.com> References: <1381335490-4906-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 43523E8148 for ; Wed, 9 Oct 2013 09:18:57 -0700 (PDT) In-Reply-To: <1381335490-4906-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRv IG1ha2UgaXQgZWFzaWVyIHRvIGNoZWNrIHdoYXQgd2F0ZXJtYXJrIHVwZGF0ZXMgYXJlIGFjdHVh bGx5Cm5lY2Vzc2FyeSwga2VlcCBjb3BpZXMgb2YgdGhlIHJlbGV2YW50IGJpdHMgdGhhdCBtYXRj aCB0aGUgY3VycmVudApoYXJkd2FyZSBzdGF0ZS4KCkFsc28gYWRkIEREQiBwYXJ0aXRpb25pbmcg aW50byBoc3dfd21fdmFsdWVzIGFzIHRoYXQncyBhbm90aGVyIHBpZWNlCm9mIHN0YXRlIHdlIHdh bnQgdG8gdHJhY2suCgpXZSBkb24ndCByZWFkIG91dCB0aGUgaGFyZHdhcmUgc3RhdGUgb24gaW5p dCB5ZXQsIHNvIHdlIGNhbid0IHJlYWxseQpzdGFydCB1c2luZyB0aGlzIHlldCwgYnV0IGl0IHdp bGwgYmUgdXNlZCBsYXRlci4KClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCB8IDEyICsrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwg NDYgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKaW5kZXggOWNhYzkzYy4uNDc4ZDE3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBA IC0xMTQwLDYgKzExNDAsMTUgQEAgc3RydWN0IGludGVsX3dtX2xldmVsIHsKIAl1aW50MzJfdCBm YmNfdmFsOwogfTsKIAorc3RydWN0IGhzd193bV92YWx1ZXMgeworCXVpbnQzMl90IHdtX3BpcGVb M107CisJdWludDMyX3Qgd21fbHBbM107CisJdWludDMyX3Qgd21fbHBfc3ByWzNdOworCXVpbnQz Ml90IHdtX2xpbmV0aW1lWzNdOworCWJvb2wgZW5hYmxlX2ZiY193bTsKKwllbnVtIGludGVsX2Rk Yl9wYXJ0aXRpb25pbmcgcGFydGl0aW9uaW5nOworfTsKKwogLyoKICAqIFRoaXMgc3RydWN0IHRy YWNrcyB0aGUgc3RhdGUgbmVlZGVkIGZvciB0aGUgUGFja2FnZSBDOCsgZmVhdHVyZS4KICAqCkBA IC0xMzk5LDYgKzE0MDgsOSBAQCB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAkJ dWludDE2X3Qgc3ByX2xhdGVuY3lbNV07CiAJCS8qIGN1cnNvciAqLwogCQl1aW50MTZfdCBjdXJf bGF0ZW5jeVs1XTsKKworCQkvKiBjdXJyZW50IGhhcmR3YXJlIHN0YXRlICovCisJCXN0cnVjdCBo c3dfd21fdmFsdWVzIGh3OwogCX0gd207CiAKIAlzdHJ1Y3QgaTkxNV9wYWNrYWdlX2M4IHBjODsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGU4MTIyMWQuLmJlZDk2ZmIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYwpAQCAtMjIwMCwxNCArMjIwMCw2IEBAIHN0cnVjdCBoc3dfd21fbWF4aW11 bXMgewogCXVpbnQxNl90IGZiYzsKIH07CiAKLXN0cnVjdCBoc3dfd21fdmFsdWVzIHsKLQl1aW50 MzJfdCB3bV9waXBlWzNdOwotCXVpbnQzMl90IHdtX2xwWzNdOwotCXVpbnQzMl90IHdtX2xwX3Nw clszXTsKLQl1aW50MzJfdCB3bV9saW5ldGltZVszXTsKLQlib29sIGVuYWJsZV9mYmNfd207Ci19 OwotCiAvKiB1c2VkIGluIGNvbXB1dGluZyB0aGUgbmV3IHdhdGVybWFya3Mgc3RhdGUgKi8KIHN0 cnVjdCBpbnRlbF93bV9jb25maWcgewogCXVuc2lnbmVkIGludCBudW1fcGlwZXNfYWN0aXZlOwpA QCAtMjcxMiwxMiArMjcwNCwxNCBAQCBzdGF0aWMgaW50IGlsa193bV9scF90b19sZXZlbChpbnQg d21fbHAsIGNvbnN0IHN0cnVjdCBpbnRlbF9waXBlX3dtICpwaXBlX3dtKQogCiBzdGF0aWMgdm9p ZCBoc3dfY29tcHV0ZV93bV9yZXN1bHRzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAg Y29uc3Qgc3RydWN0IGludGVsX3BpcGVfd20gKm1lcmdlZCwKKwkJCQkgICBlbnVtIGludGVsX2Rk Yl9wYXJ0aXRpb25pbmcgcGFydGl0aW9uaW5nLAogCQkJCSAgIHN0cnVjdCBoc3dfd21fdmFsdWVz ICpyZXN1bHRzKQogewogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjOwogCWludCBsZXZl bCwgd21fbHA7CiAKIAlyZXN1bHRzLT5lbmFibGVfZmJjX3dtID0gbWVyZ2VkLT5mYmNfd21fZW5h YmxlZDsKKwlyZXN1bHRzLT5wYXJ0aXRpb25pbmcgPSBwYXJ0aXRpb25pbmc7CiAKIAkvKiBMUDEr IHJlZ2lzdGVyIHZhbHVlcyAqLwogCWZvciAod21fbHAgPSAxOyB3bV9scCA8PSAzOyB3bV9scCsr KSB7CkBAIC0yNzg3LDEzICsyNzgxLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfcGlwZV93bSAq aHN3X2ZpbmRfYmVzdF9yZXN1bHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKICAqIGNhdXNlcyBX TXMgdG8gYmUgcmUtZXZhbHVhdGVkLCBleHBlbmRpbmcgc29tZSBwb3dlci4KICAqLwogc3RhdGlj IHZvaWQgaHN3X3dyaXRlX3dtX3ZhbHVlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCi0JCQkJc3RydWN0IGhzd193bV92YWx1ZXMgKnJlc3VsdHMsCi0JCQkJZW51bSBpbnRlbF9k ZGJfcGFydGl0aW9uaW5nIHBhcnRpdGlvbmluZykKKwkJCQlzdHJ1Y3QgaHN3X3dtX3ZhbHVlcyAq cmVzdWx0cykKIHsKIAlzdHJ1Y3QgaHN3X3dtX3ZhbHVlcyBwcmV2aW91czsKIAl1aW50MzJfdCB2 YWw7Ci0JZW51bSBpbnRlbF9kZGJfcGFydGl0aW9uaW5nIHByZXZfcGFydGl0aW9uaW5nOwotCWJv b2wgcHJldl9lbmFibGVfZmJjX3dtOwogCiAJcHJldmlvdXMud21fcGlwZVswXSA9IEk5MTVfUkVB RChXTTBfUElQRUFfSUxLKTsKIAlwcmV2aW91cy53bV9waXBlWzFdID0gSTkxNV9SRUFEKFdNMF9Q SVBFQl9JTEspOwpAQCAtMjgwOCwyMSArMjc5OSwxMiBAQCBzdGF0aWMgdm9pZCBoc3dfd3JpdGVf d21fdmFsdWVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlwcmV2aW91cy53 bV9saW5ldGltZVsxXSA9IEk5MTVfUkVBRChQSVBFX1dNX0xJTkVUSU1FKFBJUEVfQikpOwogCXBy ZXZpb3VzLndtX2xpbmV0aW1lWzJdID0gSTkxNV9SRUFEKFBJUEVfV01fTElORVRJTUUoUElQRV9D KSk7CiAKLQlwcmV2X3BhcnRpdGlvbmluZyA9IChJOTE1X1JFQUQoV01fTUlTQykgJiBXTV9NSVND X0RBVEFfUEFSVElUSU9OXzVfNikgPworCXByZXZpb3VzLnBhcnRpdGlvbmluZyA9IChJOTE1X1JF QUQoV01fTUlTQykgJiBXTV9NSVNDX0RBVEFfUEFSVElUSU9OXzVfNikgPwogCQkJCUlOVEVMX0RE Ql9QQVJUXzVfNiA6IElOVEVMX0REQl9QQVJUXzFfMjsKIAotCXByZXZfZW5hYmxlX2ZiY193bSA9 ICEoSTkxNV9SRUFEKERJU1BfQVJCX0NUTCkgJiBESVNQX0ZCQ19XTV9ESVMpOwotCi0JaWYgKG1l bWNtcChyZXN1bHRzLT53bV9waXBlLCBwcmV2aW91cy53bV9waXBlLAotCQkgICBzaXplb2YocmVz dWx0cy0+d21fcGlwZSkpID09IDAgJiYKLQkgICAgbWVtY21wKHJlc3VsdHMtPndtX2xwLCBwcmV2 aW91cy53bV9scCwKLQkJICAgc2l6ZW9mKHJlc3VsdHMtPndtX2xwKSkgPT0gMCAmJgotCSAgICBt ZW1jbXAocmVzdWx0cy0+d21fbHBfc3ByLCBwcmV2aW91cy53bV9scF9zcHIsCi0JCSAgIHNpemVv ZihyZXN1bHRzLT53bV9scF9zcHIpKSA9PSAwICYmCi0JICAgIG1lbWNtcChyZXN1bHRzLT53bV9s aW5ldGltZSwgcHJldmlvdXMud21fbGluZXRpbWUsCi0JCSAgIHNpemVvZihyZXN1bHRzLT53bV9s aW5ldGltZSkpID09IDAgJiYKLQkgICAgcGFydGl0aW9uaW5nID09IHByZXZfcGFydGl0aW9uaW5n ICYmCi0JICAgIHJlc3VsdHMtPmVuYWJsZV9mYmNfd20gPT0gcHJldl9lbmFibGVfZmJjX3dtKQor CXByZXZpb3VzLmVuYWJsZV9mYmNfd20gPSAhKEk5MTVfUkVBRChESVNQX0FSQl9DVEwpICYgRElT UF9GQkNfV01fRElTKTsKKworCWlmIChtZW1jbXAocmVzdWx0cywgJnByZXZpb3VzLCBzaXplb2Yo KnJlc3VsdHMpKSA9PSAwKQogCQlyZXR1cm47CiAKIAlpZiAocHJldmlvdXMud21fbHBbMl0gIT0g MCkKQEAgLTI4NDYsMTYgKzI4MjgsMTYgQEAgc3RhdGljIHZvaWQgaHN3X3dyaXRlX3dtX3ZhbHVl cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKHByZXZpb3VzLndtX2xp bmV0aW1lWzJdICE9IHJlc3VsdHMtPndtX2xpbmV0aW1lWzJdKQogCQlJOTE1X1dSSVRFKFBJUEVf V01fTElORVRJTUUoUElQRV9DKSwgcmVzdWx0cy0+d21fbGluZXRpbWVbMl0pOwogCi0JaWYgKHBy ZXZfcGFydGl0aW9uaW5nICE9IHBhcnRpdGlvbmluZykgeworCWlmIChwcmV2aW91cy5wYXJ0aXRp b25pbmcgIT0gcmVzdWx0cy0+cGFydGl0aW9uaW5nKSB7CiAJCXZhbCA9IEk5MTVfUkVBRChXTV9N SVNDKTsKLQkJaWYgKHBhcnRpdGlvbmluZyA9PSBJTlRFTF9EREJfUEFSVF8xXzIpCisJCWlmIChy ZXN1bHRzLT5wYXJ0aXRpb25pbmcgPT0gSU5URUxfRERCX1BBUlRfMV8yKQogCQkJdmFsICY9IH5X TV9NSVNDX0RBVEFfUEFSVElUSU9OXzVfNjsKIAkJZWxzZQogCQkJdmFsIHw9IFdNX01JU0NfREFU QV9QQVJUSVRJT05fNV82OwogCQlJOTE1X1dSSVRFKFdNX01JU0MsIHZhbCk7CiAJfQogCi0JaWYg KHByZXZfZW5hYmxlX2ZiY193bSAhPSByZXN1bHRzLT5lbmFibGVfZmJjX3dtKSB7CisJaWYgKHBy ZXZpb3VzLmVuYWJsZV9mYmNfd20gIT0gcmVzdWx0cy0+ZW5hYmxlX2ZiY193bSkgewogCQl2YWwg PSBJOTE1X1JFQUQoRElTUF9BUkJfQ1RMKTsKIAkJaWYgKHJlc3VsdHMtPmVuYWJsZV9mYmNfd20p CiAJCQl2YWwgJj0gfkRJU1BfRkJDX1dNX0RJUzsKQEAgLTI4NzcsNiArMjg1OSw4IEBAIHN0YXRp YyB2b2lkIGhzd193cml0ZV93bV92YWx1ZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQlJOTE1X1dSSVRFKFdNMl9MUF9JTEssIHJlc3VsdHMtPndtX2xwWzFdKTsKIAlpZiAo cmVzdWx0cy0+d21fbHBbMl0gIT0gMCkKIAkJSTkxNV9XUklURShXTTNfTFBfSUxLLCByZXN1bHRz LT53bV9scFsyXSk7CisKKwlkZXZfcHJpdi0+d20uaHcgPSAqcmVzdWx0czsKIH0KIAogc3RhdGlj IHZvaWQgaGFzd2VsbF91cGRhdGVfd20oc3RydWN0IGRybV9jcnRjICpjcnRjKQpAQCAtMjkxNCwx MiArMjg5OCwxMiBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX3VwZGF0ZV93bShzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpCiAJCWJlc3RfbHBfd20gPSAmbHBfd21fMV8yOwogCX0KIAotCWhzd19jb21wdXRl X3dtX3Jlc3VsdHMoZGV2LCBiZXN0X2xwX3dtLCAmcmVzdWx0cyk7Ci0KIAlwYXJ0aXRpb25pbmcg PSAoYmVzdF9scF93bSA9PSAmbHBfd21fMV8yKSA/CiAJCSAgICAgICBJTlRFTF9EREJfUEFSVF8x XzIgOiBJTlRFTF9EREJfUEFSVF81XzY7CiAKLQloc3dfd3JpdGVfd21fdmFsdWVzKGRldl9wcml2 LCAmcmVzdWx0cywgcGFydGl0aW9uaW5nKTsKKwloc3dfY29tcHV0ZV93bV9yZXN1bHRzKGRldiwg YmVzdF9scF93bSwgcGFydGl0aW9uaW5nLCAmcmVzdWx0cyk7CisKKwloc3dfd3JpdGVfd21fdmFs dWVzKGRldl9wcml2LCAmcmVzdWx0cyk7CiB9CiAKIHN0YXRpYyB2b2lkIGhhc3dlbGxfdXBkYXRl X3Nwcml0ZV93bShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKLS0gCjEuOC4xLjUKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==