From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shobhit Kumar Subject: [v2 3/6] drm/i915/skl+: calculate plane pixel rate Date: Wed, 27 Jan 2016 21:40:00 +0530 Message-ID: <1453911003-9856-3-git-send-email-shobhit.kumar@intel.com> References: <1453911003-9856-1-git-send-email-shobhit.kumar@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 1AE6972037 for ; Wed, 27 Jan 2016 08:12:02 -0800 (PST) In-Reply-To: <1453911003-9856-1-git-send-email-shobhit.kumar@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 RnJvbTogIkt1bWFyLCBNYWhlc2giIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KCkRvbid0IHVz ZSBwaXBlIHBpeGVsIHJhdGUgZm9yIHBsYW5lIHBpeGVsIHJhdGUuIENhbGN1bGF0ZSBwbGFuZSBw aXhlbCBhY2NvcmRpbmcKdG8gZm9ybXVsYQoKYWRqdXN0ZWQgcGxhbmVfcGl4ZWxfcmF0ZSA9IGFk anVzdGVkIHBpcGVfcGl4ZWxfcmF0ZSAqIGRvd25zY2FsZSBhbW1vdW50Cgpkb3duc2NhbGUgYW1v dW50ID0gbWF4WzEsIHNyY19oL2RzdF9oXSAqIG1heFsxLCBzcmNfdy9kc3Rfd10KaWYgOTAvMjcw IHJvdGF0aW9uIHVzZSByb3RhdGVkIHdpZHRoICYgaGVpZ2h0Cgp2MjogdXNlIGludGVsX3BsYW5l X3N0YXRlLT52aXNpYmxlIGluc3RlYWQgb2YgKGZiID09IE5VTEwpIGFzIHBlciBNYXR0J3MKICAg IGNvbW1lbnQuCgpDYzogbWF0dGhldy5kLnJvcGVyQGludGVsLmNvbQpTaWduZWQtb2ZmLWJ5OiBL dW1hciwgTWFoZXNoIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bt LmMgIHwgODggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMiBmaWxl cyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKaW5kZXggYmM5NzAxMi4uYmIyYjFjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKQEAgLTYzOCw2ICs2MzgsOCBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmVfd21fcGFyYW1ldGVy cyB7CiAJdTY0IHRpbGluZzsKIAl1bnNpZ25lZCBpbnQgcm90YXRpb247CiAJdWludDE2X3QgZmlm b19zaXplOworCS8qIFN0b3JlcyB0aGUgYWRqdXN0ZWQgcGxhbmUgcGl4ZWwgcmF0ZSBmb3IgV00g Y2FsY3VsYXRpb24gZm9yIFNLTCsgKi8KKwl1aW50MzJfdCBwbGFuZV9waXhlbF9yYXRlOwogfTsK IAogc3RydWN0IGludGVsX3BsYW5lIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDcwOGYz MjkuLjQwZmZmMDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMjc4Miw2ICsyNzgyLDQ4 IEBAIHNrbF93bV9wbGFuZV9pZChjb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQogCX0K IH0KIAorLyoKKyAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgZHJtX3BsYW5lX3N0YXRlIGFzIGlucHV0 CisgKiBhbmQgZGVjaWRlcyB0aGUgZG93bnNjYWxlIGFtb3VudCBhY2NvcmRpbmcgdG8gdGhlIGZv cm11bGEKKyAqCisgKiBkb3duc2NhbGUgYW1vdW50ID0gTWF4WzEsIEhvcml6b250YWwgc291cmNl IHNpemUgLyBIb3Jpem9udGFsIGRlc3Qgc2l6ZV0KKyAqCisgKiBSZXR1cm4gdmFsdWUgaXMgbXVs dGlwbGllZCBieSAxMDAwIHRvIHJldGFpbiBmcmFjdGlvbmFsIHBhcnQKKyAqIENhbGxlciBzaG91 bGQgdGFrZSBjYXJlIG9mIGRpdmlkaW5nICYgUm91bmRpbmcgb2ZmIHRoZSB2YWx1ZQorICovCitz dGF0aWMgdWludDMyX3QKK3NrbF9wbGFuZV9kb3duc2NhbGVfYW1vdW50KGNvbnN0IHN0cnVjdCBp bnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUpCit7CisJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqcHN0 YXRlID0gaW50ZWxfcGxhbmUtPmJhc2Uuc3RhdGU7CisJc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICppbnRlbF9wc3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShwc3RhdGUpOworCXVpbnQzMl90 IGRvd25zY2FsZV9oLCBkb3duc2NhbGVfdzsKKwl1aW50MzJfdCBzcmNfdywgc3JjX2gsIGRzdF93 LCBkc3RfaCwgdG1wOworCisJLyogSWYgcGxhbmUgbm90IHZpc2libGUgcmV0dXJuIGFtb3VudCBh cyB1bml0eSAqLworCWlmICghaW50ZWxfcHN0YXRlLT52aXNpYmxlKQorCQlyZXR1cm4gMTAwMDsK KworCXNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJmludGVsX3BzdGF0ZS0+c3JjKSA+PiAxNjsKKwlz cmNfaCA9IGRybV9yZWN0X2hlaWdodCgmaW50ZWxfcHN0YXRlLT5zcmMpID4+IDE2OworCisJZHN0 X3cgPSBkcm1fcmVjdF93aWR0aCgmaW50ZWxfcHN0YXRlLT5kc3QpOworCWRzdF9oID0gZHJtX3Jl Y3RfaGVpZ2h0KCZpbnRlbF9wc3RhdGUtPmRzdCk7CisKKwlpZiAoaW50ZWxfcm90YXRpb25fOTBf b3JfMjcwKHBzdGF0ZS0+cm90YXRpb24pKQorCQlzd2FwKGRzdF93LCBkc3RfaCk7CisKKwkvKiBN dWx0aXBseSBieSAxMDAwIGZvciBwcmVjaXNpb24gKi8KKwl0bXAgPSAoMTAwMCAqIHNyY19oKSAv IGRzdF9oOworCWRvd25zY2FsZV9oID0gbWF4X3QodWludDMyX3QsIDEwMDAsIHRtcCk7CisKKwl0 bXAgPSAoMTAwMCAqIHNyY193KSAvIGRzdF93OworCWRvd25zY2FsZV93ID0gbWF4X3QodWludDMy X3QsIDEwMDAsIHRtcCk7CisKKwkvKiBSZWR1Y2luZyBwcmVjaXNpb24gdG8gMyBkZWNpbWFsIHBs YWNlcyAqLworCXJldHVybiBESVZfUk9VTkRfVVAoZG93bnNjYWxlX2ggKiBkb3duc2NhbGVfdywg MTAwMCk7Cit9CisKKwogc3RhdGljIHZvaWQKIHNrbF9kZGJfZ2V0X3BpcGVfYWxsb2NhdGlvbl9s aW1pdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3N0YXRlLApAQCAtMzE4MywxMCArMzIyNSwxMCBAQCBzdGF0aWMgYm9vbCBz a2xfY29tcHV0ZV9wbGFuZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCXN3YXAod2lkdGgsIGhlaWdodCk7CiAKIAlieXRlc19wZXJfcGl4ZWwgPSBkcm1fZm9y bWF0X3BsYW5lX2NwcChmYi0+cGl4ZWxfZm9ybWF0LCAwKTsKLQltZXRob2QxID0gc2tsX3dtX21l dGhvZDEoc2tsX3BpcGVfcGl4ZWxfcmF0ZShjc3RhdGUpLAorCW1ldGhvZDEgPSBza2xfd21fbWV0 aG9kMShpbnRlbF9wbGFuZS0+d20ucGxhbmVfcGl4ZWxfcmF0ZSwKIAkJCQkgYnl0ZXNfcGVyX3Bp eGVsLAogCQkJCSBsYXRlbmN5KTsKLQltZXRob2QyID0gc2tsX3dtX21ldGhvZDIoc2tsX3BpcGVf cGl4ZWxfcmF0ZShjc3RhdGUpLAorCW1ldGhvZDIgPSBza2xfd21fbWV0aG9kMihpbnRlbF9wbGFu ZS0+d20ucGxhbmVfcGl4ZWxfcmF0ZSwKIAkJCQkgY3N0YXRlLT5iYXNlLmFkanVzdGVkX21vZGUu Y3J0Y19odG90YWwsCiAJCQkJIHdpZHRoLAogCQkJCSBieXRlc19wZXJfcGl4ZWwsCkBAIC0zNjI3 LDYgKzM2NjksNDUgQEAgc3RhdGljIHZvaWQgc2tsX3VwZGF0ZV9vdGhlcl9waXBlX3dtKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJfQogfQogCitzdGF0aWMgdWludDMyX3QKK3NrbF9wbGFuZV9w aXhlbF9yYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUsIHN0cnVjdCBpbnRlbF9w bGFuZSAqcGxhbmUpCit7CisJdWludDMyX3QgYWRqdXN0ZWRfcGl4ZWxfcmF0ZTsKKwl1aW50MzJf dCBkb3duc2NhbGVfYW1vdW50OworCisJLyoKKwkgKiBhZGp1c3RlZCBwbGFuZSBwaXhlbCByYXRl ID0gYWRqdXN0ZWQgcGlwZSBwaXhlbCByYXRlCisJICogUGxhbmUgcGl4ZWwgcmF0ZSA9IGFkanVz dGVkIHBsYW5lIHBpeGVsIHJhdGUgKiBwbGFuZSBkb3duIHNjYWxlCisJICogYW1vdW50CisJICov CisJYWRqdXN0ZWRfcGl4ZWxfcmF0ZSA9IHNrbF9waXBlX3BpeGVsX3JhdGUoY3N0YXRlKTsKKwlk b3duc2NhbGVfYW1vdW50ID0gc2tsX3BsYW5lX2Rvd25zY2FsZV9hbW91bnQocGxhbmUpOworCisJ cmV0dXJuIERJVl9ST1VORF9VUChhZGp1c3RlZF9waXhlbF9yYXRlICogZG93bnNjYWxlX2Ftb3Vu dCwKKwkJCTEwMDApOworfQorCitzdGF0aWMgdm9pZCBza2xfc2V0X3BsYW5lX3BpeGVsX3JhdGUo c3RydWN0IGRybV9jcnRjICpjcnRjKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl ID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CisJc3RydWN0IGludGVsX3BsYW5l ICppbnRlbF9wbGFuZSA9IE5VTEw7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRl djsKKworCWlmICghaW50ZWxfY3J0Yy0+YWN0aXZlKQorCQlyZXR1cm47CisJZm9yX2VhY2hfaW50 ZWxfcGxhbmVfb25fY3J0YyhkZXYsIGludGVsX2NydGMsIGludGVsX3BsYW5lKSB7CisJCXN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lID0gJmludGVsX3BsYW5lLT5iYXNlOworCisJCWlmICghdG9faW50 ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKS0+dmlzaWJsZSkKKwkJCWNvbnRpbnVlOworCisJ CWludGVsX3BsYW5lLT53bS5wbGFuZV9waXhlbF9yYXRlID0gc2tsX3BsYW5lX3BpeGVsX3JhdGUo Y3N0YXRlLAorCQkJCWludGVsX3BsYW5lKTsKKwl9CisKK30KKwogc3RhdGljIHZvaWQgc2tsX2Ns ZWFyX3dtKHN0cnVjdCBza2xfd21fdmFsdWVzICp3YXRlcm1hcmtzLCBlbnVtIHBpcGUgcGlwZSkK IHsKIAl3YXRlcm1hcmtzLT53bV9saW5ldGltZVtwaXBlXSA9IDA7CkBAIC0zNjYyLDYgKzM3NDMs OSBAQCBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAog CXNrbF9jbGVhcl93bShyZXN1bHRzLCBpbnRlbF9jcnRjLT5waXBlKTsKIAorCS8qIENhbGN1bGF0 ZSBwbGFuZSBwaXhlbCByYXRlIGZvciBlYWNoIHBsYW5lIGluIGFkdmFuY2UgKi8KKwlza2xfc2V0 X3BsYW5lX3BpeGVsX3JhdGUoY3J0Yyk7CisKIAlpZiAoIXNrbF91cGRhdGVfcGlwZV93bShjcnRj LCAmcmVzdWx0cy0+ZGRiLCBwaXBlX3dtKSkKIAkJcmV0dXJuOwogCi0tIAoyLjUuMAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK