From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mahesh Kumar Subject: [PATCH 1/8] drm/i915/skl+: calculate pixel_rate & relative_data_rate in fixed point Date: Tue, 28 Feb 2017 17:01:36 +0530 Message-ID: <20170228113143.8280-2-mahesh1.kumar@intel.com> References: <20170228113143.8280-1-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id E77926E6CD for ; Tue, 28 Feb 2017 11:29:13 +0000 (UTC) In-Reply-To: <20170228113143.8280-1-mahesh1.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 Cc: paulo.r.zanoni@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBtYWtlIGNoYW5nZXMgdG8gY2FsY3VsYXRlIGFkanVzdGVkIHBsYW5lIHBpeGVs IHJhdGUgJgpwbGFuZSBkb3duc2NhbGUgYW1vdW50IHVzaW5nIGZpeGVkX3BvaW50IGZ1bmN0aW9u cyBhdmFpbGFibGUuIFRoaXMgYWxzbwphZGRzIGZldyBmaXhlZCBwb2ludCBmdW5jdGlvbiB0byBm YWNpbGl0YXRlIGNhbGN1bGF0aW9uLgoKU2lnbmVkLW9mZi1ieTogTWFoZXNoIEt1bWFyIDxtYWhl c2gxLmt1bWFyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IHwgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jIHwgNDIgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZWVkOWVhZDFiNTkyLi5mMjZmNjFiMGU3Yzgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMTcwLDggKzE3MCw4IEBAIHN0YXRpYyBpbmxp bmUgdWludF9maXhlZF8xNl8xNl90IG1heF9maXhlZF8xNl8xNih1aW50X2ZpeGVkXzE2XzE2X3Qg bWF4MSwKIAlyZXR1cm4gbWF4OwogfQogCi1zdGF0aWMgaW5saW5lIHVpbnRfZml4ZWRfMTZfMTZf dCBmaXhlZF8xNl8xNl9kaXZfcm91bmRfdXAodWludDMyX3QgdmFsLAotCQkJCQkJCSAgdWludDMy X3QgZCkKK3N0YXRpYyBpbmxpbmUgdWludF9maXhlZF8xNl8xNl90IGZpeGVkXzE2XzE2X2Rpdih1 aW50MzJfdCB2YWwsCisJCQkJCQkgdWludDMyX3QgZCkKIHsKIAl1aW50X2ZpeGVkXzE2XzE2X3Qg ZnAsIHJlczsKIApAQCAtMTgwLDggKzE4MCw4IEBAIHN0YXRpYyBpbmxpbmUgdWludF9maXhlZF8x Nl8xNl90IGZpeGVkXzE2XzE2X2Rpdl9yb3VuZF91cCh1aW50MzJfdCB2YWwsCiAJcmV0dXJuIHJl czsKIH0KIAotc3RhdGljIGlubGluZSB1aW50X2ZpeGVkXzE2XzE2X3QgZml4ZWRfMTZfMTZfZGl2 X3JvdW5kX3VwX3U2NCh1aW50MzJfdCB2YWwsCi0JCQkJCQkJICAgICAgdWludDMyX3QgZCkKK3N0 YXRpYyBpbmxpbmUgdWludF9maXhlZF8xNl8xNl90IGZpeGVkXzE2XzE2X2Rpdl91NjQodWludDMy X3QgdmFsLAorCQkJCQkJICAgICB1aW50MzJfdCBkKQogewogCXVpbnRfZml4ZWRfMTZfMTZfdCBy ZXM7CiAJdWludDY0X3QgaW50ZXJtX3ZhbDsKQEAgLTIwNiw2ICsyMDYsMzIgQEAgc3RhdGljIGlu bGluZSB1aW50X2ZpeGVkXzE2XzE2X3QgbXVsX3UzMl9maXhlZF8xNl8xNih1aW50MzJfdCB2YWws CiAJcmV0dXJuIGZwOwogfQogCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IG11bF91MzJfZml4ZWRf MTZfMTZfcm91bmRfdXAodWludDMyX3QgdmFsLAorCQkJCQkJICAgIHVpbnRfZml4ZWRfMTZfMTZf dCBtdWwpCit7CisJdWludDY0X3QgaW50ZXJtZWRpYXRlX3ZhbDsKKwl1aW50MzJfdCByZXN1bHQ7 CisKKwlpbnRlcm1lZGlhdGVfdmFsID0gKHVpbnQ2NF90KSB2YWwgKiBtdWwudmFsOworCWludGVy bWVkaWF0ZV92YWwgPSBESVZfUk9VTkRfVVBfVUxMKGludGVybWVkaWF0ZV92YWwsIDEgPDwgMTYp OworCVdBUk5fT04oaW50ZXJtZWRpYXRlX3ZhbCA+PiAzMik7CisJcmVzdWx0ID0gY2xhbXBfdCh1 aW50MzJfdCwgaW50ZXJtZWRpYXRlX3ZhbCwgMCwgfjApOworCXJldHVybiByZXN1bHQ7Cit9CisK K3N0YXRpYyBpbmxpbmUgdWludF9maXhlZF8xNl8xNl90IG11bF9maXhlZF8xNl8xNih1aW50X2Zp eGVkXzE2XzE2X3QgdmFsLAorCQkJCQkJIHVpbnRfZml4ZWRfMTZfMTZfdCBtdWwpCit7CisJdWlu dDY0X3QgaW50ZXJtZWRpYXRlX3ZhbDsKKwl1aW50X2ZpeGVkXzE2XzE2X3QgZnA7CisKKwlpbnRl cm1lZGlhdGVfdmFsID0gKHVpbnQ2NF90KSB2YWwudmFsICogbXVsLnZhbDsKKwlpbnRlcm1lZGlh dGVfdmFsID0gaW50ZXJtZWRpYXRlX3ZhbCA+PiAxNjsKKwlXQVJOX09OKGludGVybWVkaWF0ZV92 YWwgPj4gMzIpOworCWZwLnZhbCA9IGNsYW1wX3QodWludDMyX3QsIGludGVybWVkaWF0ZV92YWws IDAsIH4wKTsKKwlyZXR1cm4gZnA7Cit9CisKIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqeWVz bm8oYm9vbCB2KQogewogCXJldHVybiB2ID8gInllcyIgOiAibm8iOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKaW5kZXggMTY5YzQ5MDhhZDViLi4wOTU2MmQ4NmMwZmIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwpAQCAtMzE2MSwyOCArMzE2MSwzMCBAQCB2b2lkIHNrbF9kZGJfZ2V0X2h3X3N0YXRl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKICAqIFJldHVybiB2YWx1ZSBpcyBw cm92aWRlZCBpbiAxNi4xNiBmaXhlZCBwb2ludCBmb3JtIHRvIHJldGFpbiBmcmFjdGlvbmFsIHBh cnQuCiAgKiBDYWxsZXIgc2hvdWxkIHRha2UgY2FyZSBvZiBkaXZpZGluZyAmIHJvdW5kaW5nIG9m ZiB0aGUgdmFsdWUuCiAgKi8KLXN0YXRpYyB1aW50MzJfdAorc3RhdGljIHVpbnRfZml4ZWRfMTZf MTZfdAogc2tsX3BsYW5lX2Rvd25zY2FsZV9hbW91bnQoY29uc3Qgc3RydWN0IGludGVsX3BsYW5l X3N0YXRlICpwc3RhdGUpCiB7Ci0JdWludDMyX3QgZG93bnNjYWxlX2gsIGRvd25zY2FsZV93Owog CXVpbnQzMl90IHNyY193LCBzcmNfaCwgZHN0X3csIGRzdF9oOworCXVpbnRfZml4ZWRfMTZfMTZf dCBmcF93X3JhdGlvLCBmcF9oX3JhdGlvOworCXVpbnRfZml4ZWRfMTZfMTZfdCBkb3duc2NhbGVf aCwgZG93bnNjYWxlX3c7CiAKIAlpZiAoV0FSTl9PTighcHN0YXRlLT5iYXNlLnZpc2libGUpKQot CQlyZXR1cm4gRFJNX1BMQU5FX0hFTFBFUl9OT19TQ0FMSU5HOworCQlyZXR1cm4gdTMyX3RvX2Zp eGVkXzE2XzE2KDApOwogCi0JLyogbi5iLiwgc3JjIGlzIDE2LjE2IGZpeGVkIHBvaW50LCBkc3Qg aXMgd2hvbGUgaW50ZWdlciAqLwotCXNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnBzdGF0ZS0+YmFz ZS5zcmMpOwotCXNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwc3RhdGUtPmJhc2Uuc3JjKTsKKwlz cmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsKKwlzcmNfaCA9 IGRybV9yZWN0X2hlaWdodCgmcHN0YXRlLT5iYXNlLnNyYykgPj4gMTY7CiAJZHN0X3cgPSBkcm1f cmVjdF93aWR0aCgmcHN0YXRlLT5iYXNlLmRzdCk7CiAJZHN0X2ggPSBkcm1fcmVjdF9oZWlnaHQo JnBzdGF0ZS0+YmFzZS5kc3QpOwogCWlmIChkcm1fcm90YXRpb25fOTBfb3JfMjcwKHBzdGF0ZS0+ YmFzZS5yb3RhdGlvbikpCiAJCXN3YXAoZHN0X3csIGRzdF9oKTsKIAotCWRvd25zY2FsZV9oID0g bWF4KHNyY19oIC8gZHN0X2gsICh1aW50MzJfdClEUk1fUExBTkVfSEVMUEVSX05PX1NDQUxJTkcp OwotCWRvd25zY2FsZV93ID0gbWF4KHNyY193IC8gZHN0X3csICh1aW50MzJfdClEUk1fUExBTkVf SEVMUEVSX05PX1NDQUxJTkcpOworCWZwX3dfcmF0aW8gPSBmaXhlZF8xNl8xNl9kaXYoc3JjX3cs IGRzdF93KTsKKwlmcF9oX3JhdGlvID0gZml4ZWRfMTZfMTZfZGl2KHNyY19oLCBkc3RfaCk7CisJ ZG93bnNjYWxlX3cgPSBtYXhfZml4ZWRfMTZfMTYoZnBfd19yYXRpbywgdTMyX3RvX2ZpeGVkXzE2 XzE2KDEpKTsKKwlkb3duc2NhbGVfaCA9IG1heF9maXhlZF8xNl8xNihmcF9oX3JhdGlvLCB1MzJf dG9fZml4ZWRfMTZfMTYoMSkpOwogCiAJLyogUHJvdmlkZSByZXN1bHQgaW4gMTYuMTYgZml4ZWQg cG9pbnQgKi8KLQlyZXR1cm4gKHVpbnQ2NF90KWRvd25zY2FsZV93ICogZG93bnNjYWxlX2ggPj4g MTY7CisJcmV0dXJuIG11bF9maXhlZF8xNl8xNihkb3duc2NhbGVfdywgZG93bnNjYWxlX2gpOwog fQogCiBzdGF0aWMgdW5zaWduZWQgaW50CkBAIC0zMTkxLDEwICszMTkzLDExIEBAIHNrbF9wbGFu ZV9yZWxhdGl2ZV9kYXRhX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0 ZSwKIAkJCSAgICAgaW50IHkpCiB7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9w c3RhdGUgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShwc3RhdGUpOwotCXVpbnQzMl90IGRvd25fc2Nh bGVfYW1vdW50LCBkYXRhX3JhdGU7CisJdWludDMyX3QgZGF0YV9yYXRlOwogCXVpbnQzMl90IHdp ZHRoID0gMCwgaGVpZ2h0ID0gMDsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYjsKIAl1MzIg Zm9ybWF0OworCXVpbnRfZml4ZWRfMTZfMTZfdCBkb3duc2NhbGVfYW1vdW50OwogCiAJaWYgKCFp bnRlbF9wc3RhdGUtPmJhc2UudmlzaWJsZSkKIAkJcmV0dXJuIDA7CkBAIC0zMjI2LDkgKzMyMjks OSBAQCBza2xfcGxhbmVfcmVsYXRpdmVfZGF0YV9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUsCiAJCWRhdGFfcmF0ZSA9IHdpZHRoICogaGVpZ2h0ICogZmItPmZvcm1h dC0+Y3BwWzBdOwogCX0KIAotCWRvd25fc2NhbGVfYW1vdW50ID0gc2tsX3BsYW5lX2Rvd25zY2Fs ZV9hbW91bnQoaW50ZWxfcHN0YXRlKTsKKwlkb3duc2NhbGVfYW1vdW50ID0gc2tsX3BsYW5lX2Rv d25zY2FsZV9hbW91bnQoaW50ZWxfcHN0YXRlKTsKIAotCXJldHVybiAodWludDY0X3QpZGF0YV9y YXRlICogZG93bl9zY2FsZV9hbW91bnQgPj4gMTY7CisJcmV0dXJuIG11bF91MzJfZml4ZWRfMTZf MTZfcm91bmRfdXAoZGF0YV9yYXRlLCBkb3duc2NhbGVfYW1vdW50KTsKIH0KIAogLyoKQEAgLTM0 ODgsNyArMzQ5MSw3IEBAIHN0YXRpYyB1aW50X2ZpeGVkXzE2XzE2X3Qgc2tsX3dtX21ldGhvZDEo dWludDMyX3QgcGl4ZWxfcmF0ZSwgdWludDhfdCBjcHAsCiAJCXJldHVybiBGUF8xNl8xNl9NQVg7 CiAKIAl3bV9pbnRlcm1lZGlhdGVfdmFsID0gbGF0ZW5jeSAqIHBpeGVsX3JhdGUgKiBjcHA7Ci0J cmV0ID0gZml4ZWRfMTZfMTZfZGl2X3JvdW5kX3VwX3U2NCh3bV9pbnRlcm1lZGlhdGVfdmFsLCAx MDAwICogNTEyKTsKKwlyZXQgPSBmaXhlZF8xNl8xNl9kaXZfdTY0KHdtX2ludGVybWVkaWF0ZV92 YWwsIDEwMDAgKiA1MTIpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTM1MTQsOCArMzUxNyw3IEBA IHN0YXRpYyB1aW50MzJfdCBza2xfYWRqdXN0ZWRfcGxhbmVfcGl4ZWxfcmF0ZShjb25zdCBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0CiAJCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqcHN0YXRlKQogewogCXVpbnQ2NF90IGFkanVzdGVkX3BpeGVsX3JhdGU7Ci0JdWludDY0 X3QgZG93bnNjYWxlX2Ftb3VudDsKLQl1aW50NjRfdCBwaXhlbF9yYXRlOworCXVpbnRfZml4ZWRf MTZfMTZfdCBkb3duc2NhbGVfYW1vdW50OwogCiAJLyogU2hvdWxkbid0IHJlYWNoIGhlcmUgb24g ZGlzYWJsZWQgcGxhbmVzLi4uICovCiAJaWYgKFdBUk5fT04oIXBzdGF0ZS0+YmFzZS52aXNpYmxl KSkKQEAgLTM1MjgsMTAgKzM1MzAsOCBAQCBzdGF0aWMgdWludDMyX3Qgc2tsX2FkanVzdGVkX3Bs YW5lX3BpeGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdAogCWFkanVz dGVkX3BpeGVsX3JhdGUgPSBjc3RhdGUtPnBpeGVsX3JhdGU7CiAJZG93bnNjYWxlX2Ftb3VudCA9 IHNrbF9wbGFuZV9kb3duc2NhbGVfYW1vdW50KHBzdGF0ZSk7CiAKLQlwaXhlbF9yYXRlID0gYWRq dXN0ZWRfcGl4ZWxfcmF0ZSAqIGRvd25zY2FsZV9hbW91bnQgPj4gMTY7Ci0JV0FSTl9PTihwaXhl bF9yYXRlICE9IGNsYW1wX3QodWludDMyX3QsIHBpeGVsX3JhdGUsIDAsIH4wKSk7Ci0KLQlyZXR1 cm4gcGl4ZWxfcmF0ZTsKKwlyZXR1cm4gbXVsX3UzMl9maXhlZF8xNl8xNl9yb3VuZF91cChhZGp1 c3RlZF9waXhlbF9yYXRlLAorCQkJCQkgICAgZG93bnNjYWxlX2Ftb3VudCk7CiB9CiAKIHN0YXRp YyBpbnQgc2tsX2NvbXB1dGVfcGxhbmVfd20oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LApAQCAtMzYxNyw4ICszNjE3LDggQEAgc3RhdGljIGludCBza2xfY29tcHV0ZV9w bGFuZV93bShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKHlf dGlsZWQpIHsKIAkJaW50ZXJtX3BicGwgPSBESVZfUk9VTkRfVVAocGxhbmVfYnl0ZXNfcGVyX2xp bmUgKgogCQkJCQkgICB5X21pbl9zY2FubGluZXMsIDUxMik7Ci0JCXBsYW5lX2Jsb2Nrc19wZXJf bGluZSA9Ci0JCSAgICAgIGZpeGVkXzE2XzE2X2Rpdl9yb3VuZF91cChpbnRlcm1fcGJwbCwgeV9t aW5fc2NhbmxpbmVzKTsKKwkJcGxhbmVfYmxvY2tzX3Blcl9saW5lID0gZml4ZWRfMTZfMTZfZGl2 KGludGVybV9wYnBsLAorCQkJCQkJCXlfbWluX3NjYW5saW5lcyk7CiAJfSBlbHNlIGlmICh4X3Rp bGVkKSB7CiAJCWludGVybV9wYnBsID0gRElWX1JPVU5EX1VQKHBsYW5lX2J5dGVzX3Blcl9saW5l LCA1MTIpOwogCQlwbGFuZV9ibG9ja3NfcGVyX2xpbmUgPSB1MzJfdG9fZml4ZWRfMTZfMTYoaW50 ZXJtX3BicGwpOwotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK