From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan de Oliveira Subject: [PATCH v2 13/15] drm/i915: Split i8xx_crtc_compute_clock() Date: Tue, 22 Mar 2016 15:35:23 +0200 Message-ID: <1458653723-17951-1-git-send-email-ander.conselvan.de.oliveira@intel.com> References: <20160322111156.GY28483@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 7FD9D6E2FA for ; Tue, 22 Mar 2016 13:35:48 +0000 (UTC) In-Reply-To: <20160322111156.GY28483@phenom.ffwll.local> 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 YnZpb3VzLgoKdjI6IFVzZSBpOHh4IGFzIHByZWZpeCBpbnN0ZWFkIG9mIGdlbjIuIChWaWxsZSBh bmQgRGFuaWVsKQpTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFu ZGVyLmNvbnNlbHZhbi5kZS5vbGl2ZWlyYUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBWaWxsZSBT eXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDkxICsrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkY2E1YjE1Li4xZTA4 NjY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01OTUsNyArNTk1LDcg QEAgaW50ZWxfbGltaXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsIGludCBy ZWZjbGspCiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CiAKIAlpZiAoSVNfQlJPWFRPTihk ZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSB8fCBJU19WQUxMRVlWSUVXKGRldikgfHwKLQkgICAg SEFTX1BDSF9TUExJVChkZXYpKQorCSAgICBIQVNfUENIX1NQTElUKGRldikgfHwgSVNfR0VOMihk ZXYpKQogCQlsaW1pdCA9IE5VTEw7CiAKIAlpZiAoSVNfRzRYKGRldikpIHsKQEAgLTYxMCwxMyAr NjEwLDYgQEAgaW50ZWxfbGltaXQoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs IGludCByZWZjbGspCiAJCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTl4eF9sdmRzOwogCQllbHNl CiAJCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTl4eF9zZHZvOwotCX0gZWxzZSB7Ci0JCWlmIChp bnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSkK LQkJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2x2ZHM7Ci0JCWVsc2UgaWYgKGludGVsX3Bp cGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0RWTykpCi0JCQlsaW1p dCA9ICZpbnRlbF9saW1pdHNfaTh4eF9kdm87Ci0JCWVsc2UKLQkJCWxpbWl0ID0gJmludGVsX2xp bWl0c19pOHh4X2RhYzsKIAl9CiAKIAlXQVJOX09OKGxpbWl0ID09IE5VTEwpOwpAQCAtNzEwMiwy NyArNzA5NSw2IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpbnRlbF9wYW5lbF91c2Vfc3NjKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJJiYgIShkZXZfcHJpdi0+cXVpcmtzICYg UVVJUktfTFZEU19TU0NfRElTQUJMRSk7CiB9CiAKLXN0YXRpYyBpbnQgaTl4eF9nZXRfcmVmY2xr KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQotewotCXN0cnVjdCBk cm1fZGV2aWNlICpkZXYgPSBjcnRjX3N0YXRlLT5iYXNlLmNydGMtPmRldjsKLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCWludCByZWZjbGs7 Ci0KLQlXQVJOX09OKCFjcnRjX3N0YXRlLT5iYXNlLnN0YXRlKTsKLQotCWlmIChpbnRlbF9waXBl X3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUsIElOVEVMX09VVFBVVF9MVkRTKSAmJgotCSAgICBp bnRlbF9wYW5lbF91c2Vfc3NjKGRldl9wcml2KSkgewotCQlyZWZjbGsgPSBkZXZfcHJpdi0+dmJ0 Lmx2ZHNfc3NjX2ZyZXE7Ci0JCURSTV9ERUJVR19LTVMoInVzaW5nIFNTQyByZWZlcmVuY2UgY2xv Y2sgb2YgJWQga0h6XG4iLCByZWZjbGspOwotCX0gZWxzZSBpZiAoIUlTX0dFTjIoZGV2KSkgewot CQlyZWZjbGsgPSA5NjAwMDsKLQl9IGVsc2UgewotCQlyZWZjbGsgPSA0ODAwMDsKLQl9Ci0KLQly ZXR1cm4gcmVmY2xrOwotfQotCiBzdGF0aWMgdWludDMyX3QgcG52X2RwbGxfY29tcHV0ZV9mcChz dHJ1Y3QgZHBsbCAqZHBsbCkKIHsKIAlyZXR1cm4gKDEgPDwgZHBsbC0+bikgPDwgMTYgfCBkcGxs LT5tMjsKQEAgLTc4NzcsMTQgKzc4NDksNTAgQEAgc3RhdGljIHZvaWQgaTl4eF9zZXRfcGlwZWNv bmYoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCiAJUE9TVElOR19SRUFEKFBJUEVDT05G KGludGVsX2NydGMtPnBpcGUpKTsKIH0KIAorc3RhdGljIGludCBpOHh4X2NydGNfY29tcHV0ZV9j bG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19z dGF0ZSAqY3J0Y19zdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFz ZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwljb25zdCBpbnRlbF9saW1pdF90ICpsaW1pdDsKKwlpbnQgcmVmY2xrID0gNDgwMDA7 CisKKwltZW1zZXQoJmNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUsIDAsCisJICAgICAgIHNpemVv ZihjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlKSk7CisKKwlpZiAoaW50ZWxfcGlwZV93aWxsX2hh dmVfdHlwZShjcnRjX3N0YXRlLCBJTlRFTF9PVVRQVVRfTFZEUykpIHsKKwkJaWYgKGludGVsX3Bh bmVsX3VzZV9zc2MoZGV2X3ByaXYpKSB7CisJCQlyZWZjbGsgPSBkZXZfcHJpdi0+dmJ0Lmx2ZHNf c3NjX2ZyZXE7CisJCQlEUk1fREVCVUdfS01TKCJ1c2luZyBTU0MgcmVmZXJlbmNlIGNsb2NrIG9m ICVkIGtIelxuIiwgcmVmY2xrKTsKKwkJfQorCisJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4 X2x2ZHM7CisJfSBlbHNlIGlmIChpbnRlbF9waXBlX3dpbGxfaGF2ZV90eXBlKGNydGNfc3RhdGUs IElOVEVMX09VVFBVVF9EVk8pKSB7CisJCWxpbWl0ID0gJmludGVsX2xpbWl0c19pOHh4X2R2bzsK Kwl9IGVsc2UgeworCQlsaW1pdCA9ICZpbnRlbF9saW1pdHNfaTh4eF9kYWM7CisJfQorCisJaWYg KCFjcnRjX3N0YXRlLT5jbG9ja19zZXQgJiYKKwkgICAgIWk5eHhfZmluZF9iZXN0X2RwbGwobGlt aXQsIGNydGNfc3RhdGUsIGNydGNfc3RhdGUtPnBvcnRfY2xvY2ssCisJCQkJIHJlZmNsaywgTlVM TCwgJmNydGNfc3RhdGUtPmRwbGwpKSB7CisJCURSTV9FUlJPUigiQ291bGRuJ3QgZmluZCBQTEwg c2V0dGluZ3MgZm9yIG1vZGUhXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaTh4eF9j b21wdXRlX2RwbGwoY3J0YywgY3J0Y19zdGF0ZSwgTlVMTCk7CisKKwlyZXR1cm4gMDsKK30KKwog c3RhdGljIGludCBpOXh4X2NydGNfY29tcHV0ZV9jbG9jayhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YywKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlpbnQgcmVmY2xrOwogCWJvb2wg b2s7CiAJY29uc3QgaW50ZWxfbGltaXRfdCAqbGltaXQ7CisJaW50IHJlZmNsayA9IDk2MDAwOwog CiAJbWVtc2V0KCZjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLCAwLAogCSAgICAgICBzaXplb2Yo Y3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZSkpOwpAQCAtNzg5Miw5ICs3OTAwLDEzIEBAIHN0YXRp YyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJ aWYgKGNydGNfc3RhdGUtPmhhc19kc2lfZW5jb2RlcikKIAkJcmV0dXJuIDA7CiAKLQlpZiAoIWNy dGNfc3RhdGUtPmNsb2NrX3NldCkgewotCQlyZWZjbGsgPSBpOXh4X2dldF9yZWZjbGsoY3J0Y19z dGF0ZSk7CisJaWYgKGludGVsX3BpcGVfd2lsbF9oYXZlX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxf T1VUUFVUX0xWRFMpICYmCisJICAgIGludGVsX3BhbmVsX3VzZV9zc2MoZGV2X3ByaXYpKSB7CisJ CXJlZmNsayA9IGRldl9wcml2LT52YnQubHZkc19zc2NfZnJlcTsKKwkJRFJNX0RFQlVHX0tNUygi dXNpbmcgU1NDIHJlZmVyZW5jZSBjbG9jayBvZiAlZCBrSHpcbiIsIHJlZmNsayk7CisJfQogCisJ aWYgKCFjcnRjX3N0YXRlLT5jbG9ja19zZXQpIHsKIAkJLyoKIAkJICogUmV0dXJucyBhIHNldCBv ZiBkaXZpc29ycyBmb3IgdGhlIGRlc2lyZWQgdGFyZ2V0IGNsb2NrIHdpdGgKIAkJICogdGhlIGdp dmVuIHJlZmNsaywgb3IgRkFMU0UuICBUaGUgcmV0dXJuZWQgdmFsdWVzIHJlcHJlc2VudApAQCAt NzkxMiwxMSArNzkyNCw3IEBAIHN0YXRpYyBpbnQgaTl4eF9jcnRjX2NvbXB1dGVfY2xvY2soc3Ry dWN0IGludGVsX2NydGMgKmNydGMsCiAJCX0KIAl9CiAKLQlpZiAoSVNfR0VOMihkZXYpKSB7Ci0J CWk4eHhfY29tcHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUsIE5VTEwpOwotCX0gZWxzZSB7Ci0J CWk5eHhfY29tcHV0ZV9kcGxsKGNydGMsIGNydGNfc3RhdGUsIE5VTEwpOwotCX0KKwlpOXh4X2Nv bXB1dGVfZHBsbChjcnRjLCBjcnRjX3N0YXRlLCBOVUxMKTsKIAogCXJldHVybiAwOwogfQpAQCAt MTQ5NDMsMTMgKzE0OTUxLDIwIEBAIHZvaWQgaW50ZWxfaW5pdF9kaXNwbGF5X2hvb2tzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19j b21wdXRlX2Nsb2NrID0gdmx2X2NydGNfY29tcHV0ZV9jbG9jazsKIAkJZGV2X3ByaXYtPmRpc3Bs YXkuY3J0Y19lbmFibGUgPSB2YWxsZXl2aWV3X2NydGNfZW5hYmxlOwogCQlkZXZfcHJpdi0+ZGlz cGxheS5jcnRjX2Rpc2FibGUgPSBpOXh4X2NydGNfZGlzYWJsZTsKLQl9IGVsc2UgeworCX0gZWxz ZSBpZiAoIUlTX0dFTjIoZGV2X3ByaXYpKSB7CiAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9waXBl X2NvbmZpZyA9IGk5eHhfZ2V0X3BpcGVfY29uZmlnOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRf aW5pdGlhbF9wbGFuZV9jb25maWcgPQogCQkJaTl4eF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7 CiAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfY29tcHV0ZV9jbG9jayA9IGk5eHhfY3J0Y19jb21w dXRlX2Nsb2NrOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9IGk5eHhfY3J0Y19l bmFibGU7CiAJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGk5eHhfY3J0Y19kaXNh YmxlOworCX0gZWxzZSB7CisJCWRldl9wcml2LT5kaXNwbGF5LmdldF9waXBlX2NvbmZpZyA9IGk5 eHhfZ2V0X3BpcGVfY29uZmlnOworCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfaW5pdGlhbF9wbGFu ZV9jb25maWcgPQorCQkJaTl4eF9nZXRfaW5pdGlhbF9wbGFuZV9jb25maWc7CisJCWRldl9wcml2 LT5kaXNwbGF5LmNydGNfY29tcHV0ZV9jbG9jayA9IGk4eHhfY3J0Y19jb21wdXRlX2Nsb2NrOwor CQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZSA9IGk5eHhfY3J0Y19lbmFibGU7CisJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSA9IGk5eHhfY3J0Y19kaXNhYmxlOwogCX0KIAog CS8qIFJldHVybnMgdGhlIGNvcmUgZGlzcGxheSBjbG9jayBzcGVlZCAqLwotLSAKMi40LjMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=