From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [PATCH 41/49] drm/i915/bxt: BXT clock divider calculation Date: Thu, 19 Mar 2015 13:46:44 -0700 Message-ID: <550B35B4.8040902@virtuousgeek.org> References: <1426585215-8788-1-git-send-email-imre.deak@intel.com> <1426585215-8788-42-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from gproxy4-pub.mail.unifiedlayer.com (gproxy4-pub.mail.unifiedlayer.com [69.89.23.142]) by gabe.freedesktop.org (Postfix) with SMTP id 10E576EB10 for ; Thu, 19 Mar 2015 13:47:27 -0700 (PDT) In-Reply-To: <1426585215-8788-42-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMDMvMTcvMjAxNSAwMjo0MCBBTSwgSW1yZSBEZWFrIHdyb3RlOgo+IEZyb206IFNhdGhlZXNo YWtyaXNobmEgTSA8c2F0aGVlc2hha3Jpc2huYS5tQGludGVsLmNvbT4KPiAKPiBDYWxjdWxhdGUg YW5kIGNhY2hlIGNsb2NrIHBhcmFtZXRlcnMuIEZvbGxvdyBic3BlYyBhbGdvcml0aG0gZm9yIEhE TUkuCj4gVXNlIHByZWNhbGN1bGF0ZWQgdmFsdWVzIGZvciBEaXNwbGF5UG9ydCBsaW5rcmF0ZXMu Cj4gCj4gdjI6IChpbXJlKQo+IC0gcmViYXNlIGFnYWluc3QgdXBzdHJlYW0gY3J0Y19zdGF0ZSBj aGFuZ2UKPiAtIHVzZSB0aGUgZXhpc3RpbmcgQ0hWIGJhc2VkIGhlbHBlciBpbnN0ZWFkIG9mIGhh bmRyb2xsaW5nIHRoZSBzYW1lCj4gCj4gU2lnbmVkLW9mZi1ieTogU2F0aGVlc2hha3Jpc2huYSBN IDxzYXRoZWVzaGFrcmlzaG5hLm1AaW50ZWwuY29tPiAodjEpCj4gU2lnbmVkLW9mZi1ieTogSW1y ZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKPiAgMSBmaWxlIGNoYW5nZWQsIDEyOSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPiBpbmRleCBiYmMzZGE1Li5mYTRmOGY0IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKPiBAQCAtMTIwNCw2ICsxMjA0LDEzMiBAQCBza2xfZGRpX3BsbF9zZWxlY3Qo c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gIAlyZXR1cm4gdHJ1ZTsKPiAgfQo+ICAK PiArLyogYnh0IGNsb2NrIHBhcmFtZXRlcnMgKi8KPiArc3RydWN0IGJ4dF9jbGtfZGl2IHsKPiAr CXVpbnQzMl90IHAxOwo+ICsJdWludDMyX3QgcDI7Cj4gKwl1aW50MzJfdCBtMl9pbnQ7Cj4gKwl1 aW50MzJfdCBtMl9mcmFjOwo+ICsJYm9vbCBtMl9mcmFjX2VuOwo+ICsJdWludDMyX3QgbjsKPiAr CXVpbnQzMl90IHByb3BfY29lZjsKPiArCXVpbnQzMl90IGludF9jb2VmOwo+ICsJdWludDMyX3Qg Z2Fpbl9jdGw7Cj4gKwl1aW50MzJfdCB0YXJnX2NudDsKPiArCXVpbnQzMl90IGxhbmVzdGFnZ2Vy Owo+ICt9Owo+ICsKPiArLyogcHJlLWNhbGN1bGF0ZWQgdmFsdWVzIGZvciBEUCBsaW5rcmF0ZXMg Ki8KPiArc3RhdGljIHN0cnVjdCBieHRfY2xrX2RpdiBieHRfZHBfY2xrX3ZhbFs3XSA9IHsKPiAr CS8qIDE2MiAqLyB7NCwgMiwgMzIsIDE2Nzc3MjIsIDEsIDEsIDUsIDExLCAyLCA5LCAweGR9LAo+ ICsJLyogMjcwICovIHs0LCAxLCAyNywgICAgICAgMCwgMCwgMSwgMywgIDgsIDEsIDksIDB4ZH0s Cj4gKwkvKiA1NDAgKi8gezIsIDEsIDI3LCAgICAgICAwLCAwLCAxLCAzLCAgOCwgMSwgOSwgMHgx OH0sCj4gKwkvKiAyMTYgKi8gezMsIDIsIDMyLCAxNjc3NzIyLCAxLCAxLCA1LCAxMSwgMiwgOSwg MHhkfSwKPiArCS8qIDI0MyAqLyB7NCwgMSwgMjQsIDEyNTgyOTEsIDEsIDEsIDUsIDExLCAyLCA5 LCAweGR9LAo+ICsJLyogMzI0ICovIHs0LCAxLCAzMiwgMTY3NzcyMiwgMSwgMSwgNSwgMTEsIDIs IDksIDB4ZH0sCj4gKwkvKiA0MzIgKi8gezMsIDEsIDMyLCAxNjc3NzIyLCAxLCAxLCA1LCAxMSwg MiwgOSwgMHgxOH0KPiArfTsKPiArCj4gK3N0YXRpYyBib29sCj4gK2J4dF9kZGlfcGxsX3NlbGVj dChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywKPiArCQkgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiArCQkgICBzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxf ZW5jb2RlciwKPiArCQkgICBpbnQgY2xvY2spCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9zaGFyZWRf ZHBsbCAqcGxsOwo+ICsJc3RydWN0IGJ4dF9jbGtfZGl2IGNsa19kaXYgPSB7MH07Cj4gKwo+ICsJ aWYgKGludGVsX2VuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKPiArCQlpbnRl bF9jbG9ja190IGJlc3RfY2xvY2s7Cj4gKwo+ICsJCS8qIENhbGN1bGF0ZSBIRE1JIGRpdiAqLwo+ ICsJCS8qCj4gKwkJICogRklYTUU6IHRpZSB0aGUgZm9sbG93aW5nIGNhbGN1bGF0aW9uIGludG8K PiArCQkgKiBpOXh4X2NydGNfY29tcHV0ZV9jbG9jawo+ICsJCSAqLwo+ICsJCWlmICghYnh0X2Zp bmRfYmVzdF9kcGxsKGludGVsX2NydGMsIGNsb2NrLCAmYmVzdF9jbG9jaykpIHsKPiArCQkJRFJN X0RFQlVHX0RSSVZFUigibm8gUExMIGRpdmlkZXJzIGZvdW5kIGZvciBjbG9jayAlZCBwaXBlICVj XG4iLAo+ICsJCQkJCSBjbG9jaywgcGlwZV9uYW1lKGludGVsX2NydGMtPnBpcGUpKTsKPiArCQkJ cmV0dXJuIGZhbHNlOwo+ICsJCX0KPiArCj4gKwkJY2xrX2Rpdi5wMSA9IGJlc3RfY2xvY2sucDE7 Cj4gKwkJY2xrX2Rpdi5wMiA9IGJlc3RfY2xvY2sucDI7Cj4gKwkJV0FSTl9PTihiZXN0X2Nsb2Nr Lm0xICE9IDIpOwo+ICsJCWNsa19kaXYubiA9IGJlc3RfY2xvY2subjsKPiArCQljbGtfZGl2Lm0y X2ludCA9IGJlc3RfY2xvY2subTIgPj4gMjI7Cj4gKwkJY2xrX2Rpdi5tMl9mcmFjID0gYmVzdF9j bG9jay5tMiAmICgoMSA8PCAyMikgLSAxKTsKPiArCQljbGtfZGl2Lm0yX2ZyYWNfZW4gPSBjbGtf ZGl2Lm0yX2ZyYWMgIT0gMDsKPiArCj4gKwkJLyogRklYTUU6IHNldCBjb2VmLCBnYWluLCB0YXJn Y250IGJhc2VkIG9uIGZyZXEgYmFuZCAqLwo+ICsJCWNsa19kaXYucHJvcF9jb2VmID0gNTsKPiAr CQljbGtfZGl2LmludF9jb2VmID0gMTE7Cj4gKwkJY2xrX2Rpdi5nYWluX2N0bCA9IDI7Cj4gKwkJ Y2xrX2Rpdi50YXJnX2NudCA9IDk7Cj4gKwkJaWYgKGNsb2NrID4gMjcwMDAwKQo+ICsJCQljbGtf ZGl2LmxhbmVzdGFnZ2VyID0gMHgxODsKPiArCQllbHNlIGlmIChjbG9jayA+IDEzNTAwMCkKPiAr CQkJY2xrX2Rpdi5sYW5lc3RhZ2dlciA9IDB4MGQ7Cj4gKwkJZWxzZSBpZiAoY2xvY2sgPiA2NzAw MCkKPiArCQkJY2xrX2Rpdi5sYW5lc3RhZ2dlciA9IDB4MDc7Cj4gKwkJZWxzZSBpZiAoY2xvY2sg PiAzMzAwMCkKPiArCQkJY2xrX2Rpdi5sYW5lc3RhZ2dlciA9IDB4MDQ7Cj4gKwkJZWxzZQo+ICsJ CQljbGtfZGl2LmxhbmVzdGFnZ2VyID0gMHgwMjsKPiArCX0gZWxzZSBpZiAoaW50ZWxfZW5jb2Rl ci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQgfHwKPiArCQkJaW50ZWxfZW5jb2Rl ci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4gKwkJc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyID0gJmludGVsX2VuY29kZXItPmJhc2U7Cj4gKwkJc3RydWN0IGludGVsX2RwICppbnRl bF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKPiArCj4gKwkJc3dpdGNoIChpbnRlbF9k cC0+bGlua19idykgewo+ICsJCWNhc2UgRFBfTElOS19CV18xXzYyOgo+ICsJCQljbGtfZGl2ID0g Ynh0X2RwX2Nsa192YWxbMF07Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgRFBfTElOS19CV18yXzc6 Cj4gKwkJCWNsa19kaXYgPSBieHRfZHBfY2xrX3ZhbFsxXTsKPiArCQkJYnJlYWs7Cj4gKwkJY2Fz ZSBEUF9MSU5LX0JXXzVfNDoKPiArCQkJY2xrX2RpdiA9IGJ4dF9kcF9jbGtfdmFsWzJdOwo+ICsJ CQlicmVhazsKPiArCQlkZWZhdWx0Ogo+ICsJCQljbGtfZGl2ID0gYnh0X2RwX2Nsa192YWxbMF07 Cj4gKwkJCURSTV9FUlJPUigiVW5rbm93biBsaW5rIHJhdGVcbiIpOwo+ICsJCX0KPiArCX0KPiAr Cj4gKwljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLmViYjAgPQo+ICsJCVBPUlRfUExMX1AxKGNs a19kaXYucDEpIHwgUE9SVF9QTExfUDIoY2xrX2Rpdi5wMik7Cj4gKwljcnRjX3N0YXRlLT5kcGxs X2h3X3N0YXRlLnBsbDAgPSBjbGtfZGl2Lm0yX2ludDsKPiArCWNydGNfc3RhdGUtPmRwbGxfaHdf c3RhdGUucGxsMSA9IFBPUlRfUExMX04oY2xrX2Rpdi5uKTsKPiArCWNydGNfc3RhdGUtPmRwbGxf aHdfc3RhdGUucGxsMiA9IGNsa19kaXYubTJfZnJhYzsKPiArCj4gKwlpZiAoY2xrX2Rpdi5tMl9m cmFjX2VuKQo+ICsJCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxsMyA9Cj4gKwkJCVBPUlRf UExMX00yX0ZSQUNfRU5BQkxFOwo+ICsKPiArCWNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUucGxs NiA9Cj4gKwkJY2xrX2Rpdi5wcm9wX2NvZWYgfCBQT1JUX1BMTF9JTlRfQ09FRkYoY2xrX2Rpdi5p bnRfY29lZik7Cj4gKwljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlLnBsbDYgfD0KPiArCQlQT1JU X1BMTF9HQUlOX0NUTChjbGtfZGl2LmdhaW5fY3RsKTsKPiArCj4gKwljcnRjX3N0YXRlLT5kcGxs X2h3X3N0YXRlLnBsbDggPSBjbGtfZGl2LnRhcmdfY250Owo+ICsKPiArCWNydGNfc3RhdGUtPmRw bGxfaHdfc3RhdGUucGNzZHcxMiA9Cj4gKwkJTEFORVNUQUdHRVJfU1RSQVBfT1ZSRCB8IGNsa19k aXYubGFuZXN0YWdnZXI7Cj4gKwo+ICsJcGxsID0gaW50ZWxfZ2V0X3NoYXJlZF9kcGxsKGludGVs X2NydGMsIGNydGNfc3RhdGUpOwo+ICsJaWYgKHBsbCA9PSBOVUxMKSB7Cj4gKwkJRFJNX0RFQlVH X0RSSVZFUigiZmFpbGVkIHRvIGZpbmQgUExMIGZvciBwaXBlICVjXG4iLAo+ICsJCQlwaXBlX25h bWUoaW50ZWxfY3J0Yy0+cGlwZSkpOwo+ICsJCXJldHVybiBmYWxzZTsKPiArCX0KPiArCj4gKwkv KiBzaGFyZWQgRFBMTCBpZCAwIGlzIERQTEwgQSAqLwo+ICsJY3J0Y19zdGF0ZS0+ZGRpX3BsbF9z ZWwgPSBwbGwtPmlkOwo+ICsKPiArCXJldHVybiB0cnVlOwo+ICt9Cj4gKwo+ICAvKgo+ICAgKiBU cmllcyB0byBmaW5kIGEgKnNoYXJlZCogUExMIGZvciB0aGUgQ1JUQyBhbmQgc3RvcmUgaXQgaW4K PiAgICogaW50ZWxfY3J0Yy0+ZGRpX3BsbF9zZWwuCj4gQEAgLTEyMjIsNiArMTM0OCw5IEBAIGJv b2wgaW50ZWxfZGRpX3BsbF9zZWxlY3Qoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCj4g IAlpZiAoSVNfU0tZTEFLRShkZXYpKQo+ICAJCXJldHVybiBza2xfZGRpX3BsbF9zZWxlY3QoaW50 ZWxfY3J0YywgY3J0Y19zdGF0ZSwKPiAgCQkJCQkgIGludGVsX2VuY29kZXIsIGNsb2NrKTsKPiAr CWVsc2UgaWYgKElTX0JST1hUT04oZGV2KSkKPiArCQlyZXR1cm4gYnh0X2RkaV9wbGxfc2VsZWN0 KGludGVsX2NydGMsIGNydGNfc3RhdGUsCj4gKwkJCQkJICBpbnRlbF9lbmNvZGVyLCBjbG9jayk7 Cj4gIAllbHNlCj4gIAkJcmV0dXJuIGhzd19kZGlfcGxsX3NlbGVjdChpbnRlbF9jcnRjLCBjcnRj X3N0YXRlLAo+ICAJCQkJCSAgaW50ZWxfZW5jb2RlciwgY2xvY2spOwo+IAoKU2hvdWxkIHByb2Jh Ymx5IGhhdmUgYSBKSVJBIG9uIHRoZSBwcm9wZXIgY29lZmYgZXRjIHZhbHVlcyBhcyB3ZWxsLgpU aGV5J3JlIGluIHRoZSBic3BlYywgd2UganVzdCBoYXZlIHRvIGFkZCB0aGUgY29kZSBmb3IgdGhl IGZyZXF1ZW5jeSBiYW5kcy4KClJldmlld2VkLWJ5OiBKZXNzZSBCYXJuZXMgPGpiYXJuZXNAdmly dHVvdXNnZWVrLm9yZz4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK