From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: [PATCH 35/67] drm/i915/cnl: Enable wrpll computation for CNL Date: Thu, 6 Apr 2017 12:15:31 -0700 Message-ID: <1491506163-14587-35-git-send-email-rodrigo.vivi@intel.com> References: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 319CF6E9FF for ; Thu, 6 Apr 2017 19:16:05 +0000 (UTC) In-Reply-To: <1491506163-14587-1-git-send-email-rodrigo.vivi@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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RnJvbTogIkthaG9sYSwgTWlrYSIgPG1pa2Eua2Fob2xhQGludGVsLmNvbT4KCkVuYWJsZSB3cnBs bCBjb21wdXRhdGlvbiBmb3IgQ2Fubm9ubGFrZSBwbGF0Zm9ybSB0byBzdXBwb3J0CnBsbCdzIHJl cXVpcmVkIGZvciBIRE1JIG91dHB1dC4gVGhlIHBhdGNoIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcg ZmVhdHVyZXMKCi0gY29tcHV0ZSBDYW5ub25sYWtlIHBvcnQgY2xvY2sgcHJvZ3JhbW1pbmcKICBk aXZpZGVycyBQLCBRLCBhbmQgSy4KLSBjb21wdXRlIFBMTCBwYXJhbWV0ZXJzIGZvciBDYW5ub25s YWtlLiBUaGVzZSBwYXJhbWV0ZXJzCiAgc2V0IHRoZSB2YWx1ZXMgb24gRFBMTCByZWdpc3RlcnMu Ci0gZmluZCB0aGUgcmVnaXN0ZXIgdmFsdWVzIHRvIHByb2dyYW0gd3JwbGwgZm9yIENhbm5vbmxh a2UuCiAgVGhlIHJlZmVyZW5jZSBjbG9jayBjYW4gYmUgZWl0aGVyIDE5LjJNSHogb3IgMjRNSHou Cgp2MjogcmViYXNlCnYzOiBzcXVhc2ggd3JwbGwgcGF0Y2hlcyBpbnRvIG9uZSAoUm9kcmlnbykK djQ6IHN3aXRjaCBvcmRlciBvZiBnZXR0aW5nIGV2ZW4gZGl2aWRlcnMgKFBhdWxvKQogICAgdXBk YXRlIGRpdmlkZXIgcmVnaXN0ZXIgdmFsdWVzIGZvciBQRGl2IGFuZCBLRGl2IChQYXVsbykKICAg IHVwZGF0ZSB3cnBsbCBjb21wdXRhdGlvbiBhbGdvcml0aG0gKFBhdWxvKQp2NTogUmVtb3ZlIHJl ZiBjbG9jayBkaXZpc2lvbiBieSAxMDAwLiAoUm9kcmlnbykKdjY6IFJvZHJpZ28gcmViYXNpbmcg b24gdG9wIG9mIGxhdGVzdCBjb2RlLgoKU2lnbmVkLW9mZi1ieTogS2Fob2xhLCBNaWthIDxtaWth LmthaG9sYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52 aXZpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5j IHwgMTQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxMzggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBsbF9tZ3IuYwppbmRleCA5MDNjMzhkLi44ZTY2OWI2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwbGxfbWdyLmMKQEAgLTIxMjYsMTcgKzIxMjYsMTUzIEBAIHN0YXRpYyBib29sIGNu bF9kZGlfcGxsX2dldF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJcmV0dXJuIHJldDsKIH0KIAorc3RhdGljIHZvaWQgY25sX3dycGxsX2dldF9tdWx0aXBsaWVy cyh1bnNpZ25lZCBpbnQgYmVzdGRpdiwKKwkJCQkgICAgICB1bnNpZ25lZCBpbnQgKnBkaXYsCisJ CQkJICAgICAgdW5zaWduZWQgaW50ICpxZGl2LAorCQkJCSAgICAgIHVuc2lnbmVkIGludCAqa2Rp dikKK3sKKwkvKiBldmVuIGRpdmlkZXJzICovCisJaWYgKGJlc3RkaXYgJSAyID09IDApIHsKKwkJ aWYgKGJlc3RkaXYgPT0gMikgeworCQkJKnBkaXYgPSAyOworCQkJKnFkaXYgPSAxOworCQkJKmtk aXYgPSAxOworCQl9IGVsc2UgaWYgKGJlc3RkaXYgJSA0ID09IDApIHsKKwkJCSpwZGl2ID0gMjsK KwkJCSpxZGl2ID0gYmVzdGRpdiAvIDQ7CisJCQkqa2RpdiA9IDI7CisJCX0gZWxzZSBpZiAoYmVz dGRpdiAlIDYgPT0gMCkgeworCQkJKnBkaXYgPSAzOworCQkJKnFkaXYgPSBiZXN0ZGl2IC8gNjsK KwkJCSprZGl2ID0gMjsKKwkJfSBlbHNlIGlmIChiZXN0ZGl2ICUgNSA9PSAwKSB7CisJCQkqcGRp diA9IDU7CisJCQkqcWRpdiA9IGJlc3RkaXYgLyAxMDsKKwkJCSprZGl2ID0gMjsKKwkJfSBlbHNl IGlmIChiZXN0ZGl2ICUgMTQgPT0gMCkgeworCQkJKnBkaXYgPSA3OworCQkJKnFkaXYgPSBiZXN0 ZGl2IC8gMTQ7CisJCQkqa2RpdiA9IDI7CisJCX0KKwl9IGVsc2UgeworCQlpZiAoYmVzdGRpdiA9 PSAzIHx8IGJlc3RkaXYgPT0gNSB8fCBiZXN0ZGl2ID09IDcpIHsKKwkJCSpwZGl2ID0gYmVzdGRp djsKKwkJCSpxZGl2ID0gMTsKKwkJCSprZGl2ID0gMTsKKwkJfSBlbHNlIHsgLyogOSwgMTUsIDIx ICovCisJCQkqcGRpdiA9IGJlc3RkaXYgLyAzOworCQkJKnFkaXYgPSAxOworCQkJKmtkaXYgPSAz OworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBjbmxfd3JwbGxfcGFyYW1zX3BvcHVsYXRlKHN0 cnVjdCBza2xfd3JwbGxfcGFyYW1zICpwYXJhbXMsIHVpbnQzMl90IGRjb19mcmVxLAorCQkJCSAg ICAgIHVpbnQzMl90IHJlZl9mcmVxLCB1aW50MzJfdCBwZGl2LCB1aW50MzJfdCBxZGl2LAorCQkJ CSAgICAgIHVpbnQzMl90IGtkaXYpCit7CisJc3dpdGNoIChrZGl2KSB7CisJY2FzZSAxOgorCQlw YXJhbXMtPmtkaXYgPSAxOworCQlicmVhazsKKwljYXNlIDI6CisJCXBhcmFtcy0+a2RpdiA9IDI7 CisJCWJyZWFrOworCWNhc2UgMzoKKwkJcGFyYW1zLT5rZGl2ID0gNDsKKwkJYnJlYWs7CisJZGVm YXVsdDoKKwkJV0FSTigxLCAiSW5jb3JyZWN0IEtEaXZcbiIpOworCX0KKworCXN3aXRjaCAocGRp dikgeworCWNhc2UgMjoKKwkJcGFyYW1zLT5wZGl2ID0gMTsKKwkJYnJlYWs7CisJY2FzZSAzOgor CQlwYXJhbXMtPnBkaXYgPSAyOworCQlicmVhazsKKwljYXNlIDU6CisJCXBhcmFtcy0+cGRpdiA9 IDQ7CisJCWJyZWFrOworCWNhc2UgNzoKKwkJcGFyYW1zLT5wZGl2ID0gODsKKwkJYnJlYWs7CisJ ZGVmYXVsdDoKKwkJV0FSTigxLCAiSW5jb3JyZWN0IFBEaXZcbiIpOworCX0KKworCWlmIChrZGl2 ICE9IDIpCisJCXFkaXYgPSAxOworCisJcGFyYW1zLT5xZGl2X3JhdGlvID0gcWRpdjsKKwlwYXJh bXMtPnFkaXZfbW9kZSA9IChxZGl2ID09IDEpID8gMCA6IDE7CisKKwlwYXJhbXMtPmRjb19pbnRl Z2VyID0gZGl2X3U2NChkY29fZnJlcSwgcmVmX2ZyZXEpOworCXBhcmFtcy0+ZGNvX2ZyYWN0aW9u ID0gZGl2X3U2NCgoZGl2X3U2NCgodWludDY0X3QpZGNvX2ZyZXE8PDE1LCAodWludDY0X3QpcmVm X2ZyZXEpIC0KKwkJCQkJKCh1aW50NjRfdClwYXJhbXMtPmRjb19pbnRlZ2VyPDwxNSkpICogMHg4 MDAwLCAweDgwMDApOworfQorCitzdGF0aWMgYm9vbAorY25sX2RkaV9jYWxjdWxhdGVfd3JwbGwo aW50IGNsb2NrIC8qIGluIEh6ICovLAorCQkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAorCQkJc3RydWN0IHNrbF93cnBsbF9wYXJhbXMgKndycGxsX3BhcmFtcykKK3sKKwl1aW50 NjRfdCBhZmVfY2xvY2sgPSBjbG9jayAqIDUgLyBLSHooMSk7IC8qIGNsb2NrcyBpbiBrSHogKi8K Kwl1bnNpZ25lZCBpbnQgZGNvX21pbiA9IDc5OTggKiBLSHooMSk7CisJdW5zaWduZWQgaW50IGRj b19tYXggPSAxMDAwMCAqIEtIeigxKTsKKwl1bnNpZ25lZCBpbnQgZGNvX21pZCA9IChkY29fbWlu ICsgZGNvX21heCkgLyAyOworCisJc3RhdGljIGNvbnN0IGludCBkaXZpZGVyc1tdID0geyAgMiwg IDQsICA2LCAgOCwgMTAsIDEyLCAgMTQsICAxNiwKKwkJCQkJIDE4LCAyMCwgMjQsIDI4LCAzMCwg MzIsICAzNiwgIDQwLAorCQkJCQkgNDIsIDQ0LCA0OCwgNTAsIDUyLCA1NCwgIDU2LCAgNjAsCisJ CQkJCSA2NCwgNjYsIDY4LCA3MCwgNzIsIDc2LCAgNzgsICA4MCwKKwkJCQkJIDg0LCA4OCwgOTAs IDkyLCA5NiwgOTgsIDEwMCwgMTAyLAorCQkJCQkgIDMsICA1LCAgNywgIDksIDE1LCAyMSB9Owor CXVuc2lnbmVkIGludCBkLCBkY287CisJdW5zaWduZWQgaW50IGRjb19jZW50cmFsaXR5ID0gMDsK Kwl1bnNpZ25lZCBpbnQgYmVzdF9kY29fY2VudHJhbGl0eSA9IDk5OTk5OTsKKwl1bnNpZ25lZCBp bnQgYmVzdF9kaXYgPSAwOworCXVuc2lnbmVkIGludCBiZXN0X2RjbyA9IDA7CisJdW5zaWduZWQg aW50IHBkaXYgPSAwLCBxZGl2ID0gMCwga2RpdiA9IDA7CisKKwlmb3IgKGQgPSAwOyBkIDwgQVJS QVlfU0laRShkaXZpZGVycyk7IGQrKykgeworCQlkY28gPSBhZmVfY2xvY2sgKiBkaXZpZGVyc1tk XTsKKworCQlpZiAoKGRjbyA8PSBkY29fbWF4KSAmJiAoZGNvID49IGRjb19taW4pKSB7CisJCQlk Y29fY2VudHJhbGl0eSA9IGFicyhkY28gLSBkY29fbWlkKTsKKworCQkJaWYgKGRjb19jZW50cmFs aXR5IDwgYmVzdF9kY29fY2VudHJhbGl0eSkgeworCQkJCWJlc3RfZGNvX2NlbnRyYWxpdHkgPSBk Y29fY2VudHJhbGl0eTsKKwkJCQliZXN0X2RpdiA9IGRpdmlkZXJzW2RdOworCQkJCWJlc3RfZGNv ID0gZGNvOworCQkJfQorCQl9CisJfQorCisJaWYgKGJlc3RfZGl2ID09IDApCisJCXJldHVybiBm YWxzZTsKKworCWNubF93cnBsbF9nZXRfbXVsdGlwbGllcnMoYmVzdF9kaXYsICZwZGl2LCAmcWRp diwgJmtkaXYpOworCisJY25sX3dycGxsX3BhcmFtc19wb3B1bGF0ZSh3cnBsbF9wYXJhbXMsIGJl c3RfZGNvLAorCQkJCSAgZGV2X3ByaXYtPmNkY2xrLmh3LnJlZiwgcGRpdiwgcWRpdiwga2Rpdik7 CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGJvb2wgY25sX2RkaV9oZG1pX3BsbF9kaXZp ZGVycyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgICAgICBpbnQgY2xvY2spCiB7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJdWlu dDMyX3QgY2ZnY3IwLCBjZmdjcjE7CiAJc3RydWN0IHNrbF93cnBsbF9wYXJhbXMgd3JwbGxfcGFy YW1zID0geyAwLCB9OwogCiAJY2ZnY3IwID0gRFBMTF9DRkdDUjBfSERNSV9NT0RFOwogCi0JLyog RklYTUU6IFByb3BlciB3cnBsbCBjYWxjdWxhdGlvbiBkb25lIGluIGEgZm9sbG93aW5nIHBhdGNo ICovCi0JcmV0dXJuIGZhbHNlOworCWlmICghY25sX2RkaV9jYWxjdWxhdGVfd3JwbGwoY2xvY2sg KiAxMDAwLCBkZXZfcHJpdiwgJndycGxsX3BhcmFtcykpCisJCXJldHVybiBmYWxzZTsKIAogCWNm Z2NyMCB8PSBEUExMX0NGR0NSMF9EQ09fRlJBQ1RJT04od3JwbGxfcGFyYW1zLmRjb19mcmFjdGlv bikgfAogCQl3cnBsbF9wYXJhbXMuZGNvX2ludGVnZXI7Ci0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==