From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH 13/15] drm/i915: Split gen2_crtc_compute_clock() Date: Mon, 21 Mar 2016 18:00:14 +0200 Message-ID: <1458576016-30348-14-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <1458576016-30348-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 6A1BE6E060 for ; Mon, 21 Mar 2016 16:00:55 +0000 (UTC) In-Reply-To: <1458576016-30348-1-git-send-email-ander.conselvan.de.oliveira@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org U3BsaXQgYSBHRU4yIHNwZWNpZmljIHZlcnNpb24gZnJvbSBpOXh4X2NydGNfY29tcHV0ZV9jbG9j aygpLiBXaXRoIHRoaXMKdGhlcmUgaXMgbm8gbmVlZCBmb3IgaTl4eF9nZXRfcmVmY2xrKCkgYW55 bW9yZSwgYW5kIHRoZSBkaWZmZXJlbmNlcwpiZXR3ZWVuIHBsYXRmb3JtcyBiZWNvbWUgbW9yZSBv YnZpb3VzLgoKU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRl ci5jb25zZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDkxICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLQogMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkY2E1YjE1Li4yNDVkNmM2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01OTUsNyArNTk1LDcgQEAgaW50 ZWxfbGltaXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGludCByZWZjbGsp CiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CiAKIAlpZiAoSVNfQlJPWFRPTihkZXYpIHx8 IElTX0NIRVJSWVZJRVcoZGV2KSB8fCBJU19WQUxMRVlWSUVXKGRldikgfHwKLQkgICAgSEFTX1BD SF9TUExJVChkZXYpKQorCSAgICBIQVNfUENIX1NQTElUKGRldikgfHwgSVNfR0VOMihkZXYpKQog CQlsaW1pdCA9IE5VTEw7CiAKIAlpZiAoSVNfRzRYKGRldikpIHsKQEAgLTYxMCwxMyArNjEwLDYg QEAgaW50ZWxfbGltaXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGludCBy ZWZjbGspCiAJCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTl4eF9sdmRzOwogCQllbHNlCiAJCQls aW1pdCA9ICZpbnRlbF9saW1pdHNfaTl4eF9zZHZvOwotCX0gZWxzZSB7Ci0JCWlmIChpbnRlbF9w aXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkKLQkJCWxp bWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2x2ZHM7Ci0JCWVsc2UgaWYgKGludGVsX3BpcGVfd2ls bF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RWTykpCi0JCQlsaW1pdCA9ICZp bnRlbF9saW1pdHNfaTh4eF9kdm87Ci0JCWVsc2UKLQkJCWxpbWl0ID0gJmludGVsX2xpbWl0c19p OHh4X2RhYzsKIAl9CiAKIAlXQVJOX09OKGxpbWl0ID09IE5VTEwpOwpAQCAtNzEwMiwyNyArNzA5 NSw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9wYW5lbF91c2Vfc3NjKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJJiYgIShkZXZfcHJpdi0+cXVpcmtzICYgUVVJUktf TFZEU19TU0NfRElTQUJMRSk7CiB9CiAKLXN0YXRpYyBpbnQgaTl4eF9nZXRfcmVmY2xrKGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQotewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWludCByZWZjbGs7Ci0KLQlX QVJOX09OKCFjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKLQotCWlmIChpbnRlbF9waXBlX3dpbGxf aGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSAmJgotCSAgICBpbnRlbF9w YW5lbF91c2Vfc3NjKGRldl9wcml2KSkgewotCQlyZWZjbGsgPSBkZXZfcHJpdi0+dmJ0Lmx2ZHNf c3NjX2ZyZXE7Ci0JCURSTV9ERUJVR19LTVMoInVzaW5nIFNTQyByZWZlcmVuY2UgY2xvY2sgb2Yg JWQga0h6XG4iLCByZWZjbGspOwotCX0gZWxzZSBpZiAoIUlTX0dFTjIoZGV2KSkgewotCQlyZWZj bGsgPSA5NjAwMDsKLQl9IGVsc2UgewotCQlyZWZjbGsgPSA0ODAwMDsKLQl9Ci0KLQlyZXR1cm4g cmVmY2xrOwotfQotCiBzdGF0aWMgdWludDMyX3QgcG52X2RwbGxfY29tcHV0ZV9mcChzdHJ1Y3Qg ZHBsbCAqZHBsbCkKIHsKIAlyZXR1cm4gKDEgPDwgZHBsbC0+bikgPDwgMTYgfCBkcGxsLT5tMjsK QEAgLTc4NzcsMTQgKzc4NDksNTAgQEAgc3RhdGljIHZvaWQgaTl4eF9zZXRfcGlwZWNvbmYoc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiAJUE9TVElOR19SRUFEKFBJUEVDT05GKGludGVs X2NydGMtPnBpcGUpKTsKIH0KIAorc3RhdGljIGludCBnZW4yX2NydGNfY29tcHV0ZV9jbG9jayhz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK Kwljb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdDsKKwlpbnQgcmVmY2xrID0gNDgwMDA7CisKKwlt ZW1zZXQoJmNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUsIDAsCisJICAgICAgIHNpemVvZihjcnRj X3N0YXRlLT5kcGxsX2h3X3N0YXRlKSk7CisKKwlpZiAoaW50ZWxfcGlwZV93aWxsX2hhdmVfdHlw ZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfTFZEUykpIHsKKwkJaWYgKGludGVsX3BhbmVsX3Vz ZV9zc2MoZGV2X3ByaXYpKSB7CisJCQlyZWZjbGsgPSBkZXZfcHJpdi0+dmJ0Lmx2ZHNfc3NjX2Zy ZXE7CisJCQlEUk1fREVCVUdfS01TKCJ1c2luZyBTU0MgcmVmZXJlbmNlIGNsb2NrIG9mICVkIGtI elxuIiwgcmVmY2xrKTsKKwkJfQorCisJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2x2ZHM7 CisJfSBlbHNlIGlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVM X09VVFBVVF9EVk8pKSB7CisJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2R2bzsKKwl9IGVs c2UgeworCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTh4eF9kYWM7CisJfQorCisJaWYgKCFjcnRj X3N0YXRlLT5jbG9ja19zZXQgJiYKKwkgICAgIWk5eHhfZmluZF9iZXN0X2RwbGwobGltaXQsIGNy dGNfc3RhdGUsIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCisJCQkJIHJlZmNsaywgTlVMTCwgJmNy dGNfc3RhdGUtPmRwbGwpKSB7CisJCURSTV9FUlJPUigiQ291bGRuJ3QgZmluZCBQTEwgc2V0dGlu Z3MgZm9yIG1vZGUhXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaTh4eF9jb21wdXRl X2RwbGwoY3J0YywgY3J0Y19zdGF0ZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKwogc3RhdGlj IGludCBpOXh4X2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJ CQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpbnQgcmVmY2xrOwogCWJvb2wgb2s7CiAJ Y29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CisJaW50IHJlZmNsayA9IDk2MDAwOwogCiAJbWVt c2V0KCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLCAwLAogCSAgICAgICBzaXplb2YoY3J0Y19z dGF0ZS0+ZHBsbF9od19zdGF0ZSkpOwpAQCAtNzg5Miw5ICs3OTAwLDEzIEBAIHN0YXRpYyBpbnQg aTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJaWYgKGNy dGNfc3RhdGUtPmhhc19kc2lfZW5jb2RlcikKIAkJcmV0dXJuIDA7CiAKLQlpZiAoIWNydGNfc3Rh dGUtPmNsb2NrX3NldCkgewotCQlyZWZjbGsgPSBpOXh4X2dldF9yZWZjbGsoY3J0Y19zdGF0ZSk7 CisJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVU X0xWRFMpICYmCisJICAgIGludGVsX3BhbmVsX3VzZV9zc2MoZGV2X3ByaXYpKSB7CisJCXJlZmNs ayA9IGRldl9wcml2LT52YnQubHZkc19zc2NfZnJlcTsKKwkJRFJNX0RFQlVHX0tNUygidXNpbmcg U1NDIHJlZmVyZW5jZSBjbG9jayBvZiAlZCBrSHpcbiIsIHJlZmNsayk7CisJfQogCisJaWYgKCFj cnRjX3N0YXRlLT5jbG9ja19zZXQpIHsKIAkJLyoKIAkJICogUmV0dXJucyBhIHNldCBvZiBkaXZp c29ycyBmb3IgdGhlIGRlc2lyZWQgdGFyZ2V0IGNsb2NrIHdpdGgKIAkJICogdGhlIGdpdmVuIHJl ZmNsaywgb3IgRkFMU0UuICBUaGUgcmV0dXJuZWQgdmFsdWVzIHJlcHJlc2VudApAQCAtNzkxMiwx MSArNzkyNCw3IEBAIHN0YXRpYyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGlu dGVsX2NydGMgKmNydGMsCiAJCX0KIAl9CiAKLQlpZiAoSVNfR0VOMihkZXYpKSB7Ci0JCWk4eHhf Y29tcHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUsIE5VTEwpOwotCX0gZWxzZSB7Ci0JCWk5eHhf Y29tcHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUsIE5VTEwpOwotCX0KKwlpOXh4X2NvbXB1dGVf ZHBsbChjcnRjLCBjcnRjX3N0YXRlLCBOVUxMKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTQ5NDMs MTMgKzE0OTUxLDIwIEBAIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5X2hvb2tzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19jb21wdXRl X2Nsb2NrID0gdmx2X2NydGNfY29tcHV0ZV9jbG9jazsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0 Y19lbmFibGUgPSB2YWxsZXl2aWV3X2NydGNfZW5hYmxlOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5j cnRjX2Rpc2FibGUgPSBpOXh4X2NydGNfZGlzYWJsZTsKLQl9IGVsc2UgeworCX0gZWxzZSBpZiAo IUlTX0dFTjIoZGV2X3ByaXYpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZp ZyA9IGk5eHhfZ2V0X3BpcGVfY29uZmlnOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlh bF9wbGFuZV9jb25maWcgPQogCQkJaTl4eF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7CiAJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfY29tcHV0ZV9jbG9jayA9IGk5eHhfY3J0Y19jb21wdXRlX2Ns b2NrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9IGk5eHhfY3J0Y19lbmFibGU7 CiAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGk5eHhfY3J0Y19kaXNhYmxlOwor CX0gZWxzZSB7CisJCWRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZpZyA9IGk5eHhfZ2V0 X3BpcGVfY29uZmlnOworCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFuZV9jb25m aWcgPQorCQkJaTl4eF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7CisJCWRldl9wcml2LT5kaXNw bGF5LmNydGNfY29tcHV0ZV9jbG9jayA9IGdlbjJfY3J0Y19jb21wdXRlX2Nsb2NrOworCQlkZXZf cHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9IGk5eHhfY3J0Y19lbmFibGU7CisJCWRldl9wcml2 LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGk5eHhfY3J0Y19kaXNhYmxlOwogCX0KIAogCS8qIFJl dHVybnMgdGhlIGNvcmUgZGlzcGxheSBjbG9jayBzcGVlZCAqLwotLSAKMi40LjMKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=