From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: [PATCH 2/2] drm/i915: calculate pfit changes in set_config v3 Date: Tue, 11 Nov 2014 12:30:47 -0800 Message-ID: <1415737847-1925-2-git-send-email-jbarnes@virtuousgeek.org> References: <1415737847-1925-1-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from gproxy7-pub.mail.unifiedlayer.com (gproxy7-pub.mail.unifiedlayer.com [70.40.196.235]) by gabe.freedesktop.org (Postfix) with SMTP id 4C2BA6E018 for ; Tue, 11 Nov 2014 12:31:02 -0800 (PST) In-Reply-To: <1415737847-1925-1-git-send-email-jbarnes@virtuousgeek.org> 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 VGhpcyBzaG91bGQgYWxsb3cgdXMgdG8gYXZvaWQgbW9kZSBzZXRzIGZvciBzb21lIHBhbmVsIGZp dHRlciBjb25maWcKY2hhbmdlcy4KCnYyOgogIC0gZml4dXAgcGZpdCBjb21tZW50IChBbmRlcikK djM6CiAgLSBmaXh1cCBwZml0IGRpc2FibGUgc2hvcnRjdXQsIG9ubHkgYXBwbHkgdG8gZ2VuNCBm b3Igbm93IChKZXNzZSkKClNpZ25lZC1vZmYtYnk6IEplc3NlIEJhcm5lcyA8amJhcm5lc0B2aXJ0 dW91c2dlZWsub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8 IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDYyIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCA1OGVkNGVmLi5lNzE3NWIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0yODYxLDE3ICsyODYxLDggQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBk YXRlX3BpcGVfc2l6ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJcmV0dXJuOwogCiAJLyoK LQkgKiBVcGRhdGUgcGlwZSBzaXplIGFuZCBhZGp1c3QgZml0dGVyIGlmIG5lZWRlZDogdGhlIHJl YXNvbiBmb3IgdGhpcyBpcwotCSAqIHRoYXQgaW4gY29tcHV0ZV9tb2RlX2NoYW5nZXMgd2UgY2hl Y2sgdGhlIG5hdGl2ZSBtb2RlIChub3QgdGhlIHBmaXQKLQkgKiBtb2RlKSB0byBzZWUgaWYgd2Ug Y2FuIGZsaXAgcmF0aGVyIHRoYW4gZG8gYSBmdWxsIG1vZGUgc2V0LiBJbiB0aGUKLQkgKiBmYXN0 Ym9vdCBjYXNlLCB3ZSdsbCBmbGlwLCBidXQgaWYgd2UgZG9uJ3QgdXBkYXRlIHRoZSBwaXBlc3Jj IGFuZAotCSAqIHBmaXQgc3RhdGUsIHdlJ2xsIGVuZCB1cCB3aXRoIGEgYmlnIGZiIHNjYW5uZWQg b3V0IGludG8gdGhlIHdyb25nCi0JICogc2l6ZWQgc3VyZmFjZS4KLQkgKgotCSAqIFRvIGZpeCB0 aGlzIHByb3Blcmx5LCB3ZSBuZWVkIHRvIGhvaXN0IHRoZSBjaGVja3MgdXAgaW50bwotCSAqIGNv bXB1dGVfbW9kZV9jaGFuZ2VzIChvciBhYm92ZSksIGNoZWNrIHRoZSBhY3R1YWwgcGZpdCBzdGF0 ZSBhbmQKLQkgKiB3aGV0aGVyIHRoZSBwbGF0Zm9ybSBhbGxvd3MgcGZpdCBkaXNhYmxlIHdpdGgg cGlwZSBhY3RpdmUsIGFuZCBvbmx5Ci0JICogdGhlbiB1cGRhdGUgdGhlIHBpcGVzcmMgYW5kIHBm aXQgc3RhdGUsIGV2ZW4gb24gdGhlIGZsaXAgcGF0aC4KKwkgKiBTZWUgaW50ZWxfcGZpdF9jaGFu Z2VkIGZvciBpbmZvIG9uIHdoZW4gd2UncmUgYWxsb3dlZCB0bworCSAqIGRvIHRoaXMgdy9vIGEg cGlwZSBzaHV0ZG93bi4KIAkgKi8KIAogCWFkanVzdGVkX21vZGUgPSAmY3J0Yy0+Y29uZmlnLmFk anVzdGVkX21vZGU7CkBAIC0xMTI2Niw2ICsxMTI1Nyw2MiBAQCBzdGF0aWMgdm9pZCBkaXNhYmxl X2NydGNfbm9mYihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAljcnRjLT5uZXdfY29uZmlnID0g TlVMTDsKIH0KIAorLyogRG8gd2UgbmVlZCBhIG1vZGUgc2V0IGR1ZSB0byBwZml0IGNoYW5nZXM/ ICovCitzdGF0aWMgYm9vbCBpbnRlbF9wZml0X2NoYW5nZWQoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19jb25maWcgKm5ld19jb25maWcsCisJCQkg ICAgICAgc3RydWN0IGludGVsX2NydGNfY29uZmlnICpjdXJfY29uZmlnKQoreworCWJvb2wgcmV0 ID0gZmFsc2U7CisKKwlpZiAoSEFTX0RESShkZXYpIHx8IEhBU19QQ0hfU1BMSVQoZGV2KSkgewor CQkvKgorCQkgKiBPbiBQQ0ggcGxhdGZvcm1zIHdlIGNhbiBkaXNhYmxlIHBmaXQgdy9vIGEgcGlw ZSBzaHV0ZG93biwKKwkJICogb3RoZXJ3aXNlIHdlJ2xsIG5lZWQgYSBtb2RlIHNldC4KKwkJICov CisJCWlmIChuZXdfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVkICYmCisJCSAgICBjdXJfY29uZmln LT5wY2hfcGZpdC5lbmFibGVkKQorCQkJcmV0ID0gZmFsc2U7CisJCWVsc2UgaWYgKG5ld19jb25m aWctPnBjaF9wZml0LmVuYWJsZWQgJiYKKwkJCSAhY3VyX2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxl ZCkKKwkJCXJldCA9IHRydWU7CisJCWVsc2UgaWYgKCFuZXdfY29uZmlnLT5wY2hfcGZpdC5lbmFi bGVkICYmCisJCQkgY3VyX2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCkKKwkJCXJldCA9IGZhbHNl OworCQllbHNlIGlmICghbmV3X2NvbmZpZy0+cGNoX3BmaXQuZW5hYmxlZCAmJgorCQkJICFjdXJf Y29uZmlnLT5wY2hfcGZpdC5lbmFibGVkKQorCQkJcmV0ID0gZmFsc2U7CisJfSBlbHNlIGlmIChJ U19HRU40KGRldikpIHsKKwkJLyoKKwkJICogV2UgbWF5IGJlIGFibGUgdG8gZ2V0IGF3YXkgd2l0 aCB0aGlzIG9uIG1vcmUgY2hpcHMsIGJ1dAorCQkgKiB3ZSBuZWVkIG1vcmUgdGVzdGluZyBoZXJl LgorCQkgKi8KKwkJYm9vbCBuZXdfZW5hYmxlZCwgb2xkX2VuYWJsZWQ7CisKKwkJbmV3X2VuYWJs ZWQgPSAhIShuZXdfY29uZmlnLT5nbWNoX3BmaXQuY29udHJvbCAmIFBGSVRfRU5BQkxFKTsKKwkJ b2xkX2VuYWJsZWQgPSAhIShjdXJfY29uZmlnLT5nbWNoX3BmaXQuY29udHJvbCAmIFBGSVRfRU5B QkxFKTsKKworCQkvKiA5eHggb25seSBuZWVkcyBhIHNodXRkb3duIHRvIGRpc2FibGUgcGZpdCAq LworCQlpZiAobmV3X2VuYWJsZWQgJiYgb2xkX2VuYWJsZWQpCisJCQlyZXQgPSBmYWxzZTsKKwkJ ZWxzZSBpZiAobmV3X2VuYWJsZWQgJiYgIW9sZF9lbmFibGVkKQorCQkJcmV0ID0gZmFsc2U7CisJ CWVsc2UgaWYgKCFuZXdfZW5hYmxlZCAmJiBvbGRfZW5hYmxlZCkKKwkJCXJldCA9IHRydWU7CisJ CWVsc2UgaWYgKCFuZXdfZW5hYmxlZCAmJiAhb2xkX2VuYWJsZWQpCisJCQlyZXQgPSBmYWxzZTsK Kwl9IGVsc2UgeworCQlib29sIG5ld19lbmFibGVkLCBvbGRfZW5hYmxlZDsKKworCQluZXdfZW5h YmxlZCA9ICEhKG5ld19jb25maWctPmdtY2hfcGZpdC5jb250cm9sICYgUEZJVF9FTkFCTEUpOwor CQlvbGRfZW5hYmxlZCA9ICEhKGN1cl9jb25maWctPmdtY2hfcGZpdC5jb250cm9sICYgUEZJVF9F TkFCTEUpOworCisJCWlmIChuZXdfZW5hYmxlZCAhPSBvbGRfZW5hYmxlZCkKKwkJCXJldCA9IHRy dWU7CisJfQorCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBpbnRlbF9jcnRjX3NldF9j b25maWcoc3RydWN0IGRybV9tb2RlX3NldCAqc2V0KQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXY7CkBAIC0xMTMzNCw2ICsxMTM4MSwxMCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfc2V0X2Nv bmZpZyhzdHJ1Y3QgZHJtX21vZGVfc2V0ICpzZXQpCiAJCWlmICh0b19pbnRlbF9jcnRjKHNldC0+ Y3J0YyktPm5ld19jb25maWctPmhhc19pbmZvZnJhbWUgfHwKIAkJICAgIHRvX2ludGVsX2NydGMo c2V0LT5jcnRjKS0+Y29uZmlnLmhhc19pbmZvZnJhbWUpCiAJCQljb25maWctPm1vZGVfY2hhbmdl ZCA9IHRydWU7CisKKwkJaWYgKGludGVsX3BmaXRfY2hhbmdlZChkZXYsIHRvX2ludGVsX2NydGMo c2V0LT5jcnRjKS0+bmV3X2NvbmZpZywKKwkJCQkgICAgICAgJnRvX2ludGVsX2NydGMoc2V0LT5j cnRjKS0+Y29uZmlnKSkKKwkJCWNvbmZpZy0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKIAl9CiAKIAkv KiBzZXRfbW9kZSB3aWxsIGZyZWUgaXQgaW4gdGhlIG1vZGVfY2hhbmdlZCBjYXNlICovCi0tIAox LjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK