From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/2] drm/i915: Parse max HDMI TMDS clock from VBT Date: Fri, 27 Oct 2017 11:58:33 +0300 Message-ID: <877evhezly.fsf@intel.com> References: <20171026151405.30710-1-ville.syrjala@linux.intel.com> <20171026151405.30710-2-ville.syrjala@linux.intel.com> <87a80df0m8.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 414DD6E1E3 for ; Fri, 27 Oct 2017 08:58:59 +0000 (UTC) In-Reply-To: <87a80df0m8.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyNyBPY3QgMjAxNywgSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4gd3JvdGU6Cj4gT24gVGh1LCAyNiBPY3QgMjAxNywgVmlsbGUgU3lyamFsYSA8dmlsbGUu c3lyamFsYUBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+PiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+Pgo+PiBTdGFydGluZyBmcm9tIHZlcnNp b24gMjA0IFZCVCBjYW4gc3BlY2lmeSB0aGUgbWF4IFRNRFMgY2xvY2sgd2UgYXJlCj4+IGFsbG93 ZWQgdG8gdXNlIHdpdGggSERNSSBwb3J0cy4gUGFyc2UgdGhhdCBpbmZvcm1hdGlvbiBhbmQgdGFr ZSBpdAo+PiBpbnRvIGFjY291bnQgd2hlbiBmaWx0ZXJpbmcgbW9kZXMgYW5kIGNvbXB1dGluZyBh IGNydGMgc3RhdGUuCj4+Cj4+IEFsc28gdGFrZSB0aGUgb3Bwb3J0dW5pdHkgdG8gc29ydCB0aGUg cGxhdGZvcm0gY2hlY2sgaWYgbGFkZGVyCj4+IGZyb20gbmV3IHRvIG9sZC4KPj4KPj4gU2lnbmVk LW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgfCAgMiArKwo+PiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jIHwgMjAgKysrKysrKysrKysrKysrKysr KysKPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyB8IDMwICsrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLQo+PiAgMyBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IGluZGV4IDM2 NmJhNzRiMGFkMi4uNDVkMzJhOTVjZTRhIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK Pj4gQEAgLTE2OTgsNiArMTY5OCw4IEBAIGVudW0gbW9kZXNldF9yZXN0b3JlIHsKPj4gICNkZWZp bmUgRERDX1BJTl9EICAweDA2Cj4+ICAKPj4gIHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyB7Cj4+ ICsJaW50IG1heF90bWRzX2Nsb2NrOwo+PiArCj4+ICAJLyoKPj4gIAkgKiBUaGlzIGlzIGFuIGlu ZGV4IGluIHRoZSBIRE1JL0RWSSBEREkgYnVmZmVyIHRyYW5zbGF0aW9uIHRhYmxlLgo+PiAgCSAq IFRoZSBzcGVjaWFsIHZhbHVlIEhETUlfTEVWRUxfU0hJRlRfVU5LTk9XTiBtZWFucyB0aGUgVkJU IGRpZG4ndAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4+IGluZGV4IGZkMjMwMjNkZjdj MS4uYTBkZjhlM2ZlZmJlIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9iaW9zLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4+IEBA IC0xMjM0LDYgKzEyMzQsMjYgQEAgc3RhdGljIHZvaWQgcGFyc2VfZGRpX3BvcnQoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCwKPj4gIAkJaW5mby0+aGRt aV9sZXZlbF9zaGlmdCA9IGhkbWlfbGV2ZWxfc2hpZnQ7Cj4+ICAJfQo+PiAgCj4+ICsJaWYgKGJk Yl92ZXJzaW9uID49IDIwNCkgewo+PiArCQlpbnQgbWF4X3RtZHNfY2xvY2s7Cj4+ICsKPj4gKwkJ c3dpdGNoIChjaGlsZC0+aGRtaV9tYXhfZGF0YV9yYXRlKSB7Cj4+ICsJCWNhc2UgMToKPj4gKwkJ CW1heF90bWRzX2Nsb2NrID0gMjk3MDAwOwo+PiArCQkJYnJlYWs7Cj4+ICsJCWNhc2UgMjoKPj4g KwkJCW1heF90bWRzX2Nsb2NrID0gMTY1MDAwOwo+PiArCQkJYnJlYWs7Cj4+ICsJCWRlZmF1bHQ6 Cj4+ICsJCQltYXhfdG1kc19jbG9jayA9IDA7Cj4KPiBQbGVhc2UgYWRkIHRoZSBjYXNlIHZhbHVl cyB0byBpbnRlbF92YnRfZGVmcy5oIGZvciBkb2N1bWVudGF0aW9uIGFuZAo+IHJldXNlIGluIGlu dGVsX3ZidF9kZWNvZGUuIFBsZWFzZSBhZGQgZGVidWcgbWVzc2FnZSBhYm91dCB2YWx1ZXMgb3Ro ZXIKPiB0aGFuIDAsIDEsIG9yIDIsIGkuZS4gYSBzZXBhcmF0ZSBkZWZhdWx0IGNhc2Ugd2l0aCBm YWxsYmFjayB0byAwLgo+Cj4gV2l0aCB0aGF0IGZpeGVkIHRoaXMgaXMKPgo+IFJldmlld2VkLWJ5 OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoKSG9sZCB5b3VyIGhvcnNlcyB3 aXRoIHRoYXQhCgpXZSBoYXZlIGJvZ3VzIGZpZWxkIHdpZHRocyBmb3IgbGV2ZWwgc2hpZnQgYW5k IG1heCBkYXRhIHJhdGUgaW4gdGhlCmNoaWxkIGRldmljZSBjb25maWchIERhdGEgcmF0ZSBpcyBz dXBwb3NlZCB0byBiZSAzIGJpdHMgNzo1IGFuZCBsZXZlbApzaGlmdCA1IGJpdHMgNDowLiBQbGVh c2UgZml4IHRoYXQgZmlyc3QhIEkgZG9uJ3QgdGhpbmsgdGhpcyBzaG91bGQgaGF2ZQphbiBpbXBh Y3QsIGJlY2F1c2UgdGhlIGRlZmluZWQgdmFsdWVzIHNob3VsZCBmaXQgaW4gNCBiaXRzLiBCdXQg dGhpcwp3b3VsZCBoYXZlIGEgd29yc2UgYW5kIG1vcmUgc3VycHJpc2luZyBpbXBhY3Qgb24gdGhl IG1heCBkYXRhIHJhdGUuCgpUaGUgd3JvbmcgbWFzayB3YXMgb3JpZ2luYWxseSBpbnRyb2R1Y2Vk IGluIDZhY2FiMTVhN2IwZCAoImRybS9pOTE1OiB1c2UKdGhlIEhETUkgRERJIGJ1ZmZlciB0cmFu c2xhdGlvbnMgZnJvbSBWQlQiKSBhbmQgd2Ugc3RhcnRlZCB1c2luZyB0aGUKaW5mbyBpbiA5NmZi OWY5YjE1NGEgKCJkcm0vaTkxNS9ieHQ6IFZTd2luZyBwcm9ncmFtbWluZyBzZXF1ZW5jZSIpLgoK SSdtIGEgYml0IHN1cHJpc2VkIEkgbWlzc2VkIHRoaXMgd2hlbiBJIHJld29ya2VkIHRoZSBzdHJ1 Y3R1cmVzLgoKCkJSLApKYW5pLgoKPgo+IGJ1dCByZWFkIG9uIGZvciBzb21lIGNvbW1lbnRzLgo+ Cj4+ICsJCQlicmVhazsKPj4gKwkJfQo+PiArCj4+ICsJCURSTV9ERUJVR19LTVMoIlZCVCBIRE1J IG1heCBUTURTIGNsb2NrIGZvciBwb3J0ICVjOiAlZCBrSHpcbiIsCj4+ICsJCQkgICAgICBwb3J0 X25hbWUocG9ydCksIG1heF90bWRzX2Nsb2NrKTsKPgo+IDAgd2lsbCBiZSBtb3N0IGNvbW1vbiBs ZWFkaW5nIHRvIGEgZnVubnkgbWVzc2FnZS4uLgo+Cj4+ICsJCWluZm8tPm1heF90bWRzX2Nsb2Nr ID0gbWF4X3RtZHNfY2xvY2s7Cj4+ICsJfQo+PiArCj4+ICAJLyogUGFyc2UgdGhlIElfYm9vc3Qg Y29uZmlnIGZvciBTS0wgYW5kIGFib3ZlICovCj4+ICAJaWYgKGJkYl92ZXJzaW9uID49IDE5NiAm JiBjaGlsZC0+aWJvb3N0KSB7Cj4+ICAJCWluZm8tPmRwX2Jvb3N0X2xldmVsID0gdHJhbnNsYXRl X2lib29zdChjaGlsZC0+ZHBfaWJvb3N0X2xldmVsKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk bWkuYwo+PiBpbmRleCBhYTQ4NmI4OTI1Y2YuLjM4ZmUyNDU2NWI0ZCAxMDA2NDQKPj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYwo+PiBAQCAtMTIyNCwyNCArMTIyNCwzNCBAQCBzdGF0aWMgdm9p ZCBwY2hfcG9zdF9kaXNhYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4+ ICAJaW50ZWxfZGlzYWJsZV9oZG1pKGVuY29kZXIsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29ubl9z dGF0ZSk7Cj4+ICB9Cj4+ICAKPj4gLXN0YXRpYyBpbnQgaW50ZWxfaGRtaV9zb3VyY2VfbWF4X3Rt ZHNfY2xvY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiArc3RhdGljIGlu dCBpbnRlbF9oZG1pX3NvdXJjZV9tYXhfdG1kc19jbG9jayhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKPj4gIHsKPj4gLQlpZiAoSVNfRzRYKGRldl9wcml2KSkKPj4gLQkJcmV0dXJuIDE2 NTAwMDsKPj4gLQllbHNlIGlmIChJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPj4gLQkJcmV0dXJu IDU5NDAwMDsKPj4gLQllbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9JTkZP KGRldl9wcml2KS0+Z2VuID49IDgpCj4+IC0JCXJldHVybiAzMDAwMDA7Cj4+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4+ ICsJY29uc3Qgc3RydWN0IGRkaV92YnRfcG9ydF9pbmZvICppbmZvID0KPj4gKwkJJmRldl9wcml2 LT52YnQuZGRpX3BvcnRfaW5mb1tlbmNvZGVyLT5wb3J0XTsKPj4gKwlpbnQgbWF4X3RtZHNfY2xv Y2s7Cj4+ICsKPj4gKwlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4+ICsJCW1heF90bWRz X2Nsb2NrID0gNTk0MDAwOwo+Cj4gSG1tLCBhcmUgd2UgbWlzc2luZyBDYW5ub25sYWtlIGhlcmU/ IElmIHdlIGFyZSwgdGhhdCdzIGEgc2VwYXJhdGUgcGF0Y2gKPiBhbnl3YXkuCj4KPj4gKwllbHNl IGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggfHwgSVNfSEFTV0VMTChkZXZfcHJpdikpCj4+ ICsJCW1heF90bWRzX2Nsb2NrID0gMzAwMDAwOwo+PiArCWVsc2UgaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gNSkKPj4gKwkJbWF4X3RtZHNfY2xvY2sgPSAyMjUwMDA7Cj4+ICAJZWxzZQo+PiAt CQlyZXR1cm4gMjI1MDAwOwo+PiArCQltYXhfdG1kc19jbG9jayA9IDE2NTAwMDsKPj4gKwo+PiAr CWlmIChpbmZvLT5tYXhfdG1kc19jbG9jaykKPj4gKwkJbWF4X3RtZHNfY2xvY2sgPSBtaW4obWF4 X3RtZHNfY2xvY2ssIGluZm8tPm1heF90bWRzX2Nsb2NrKTsKPj4gKwo+PiArCXJldHVybiBtYXhf dG1kc19jbG9jazsKPj4gIH0KPj4gIAo+PiAgc3RhdGljIGludCBoZG1pX3BvcnRfY2xvY2tfbGlt aXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksCj4+ICAJCQkJIGJvb2wgcmVzcGVjdF9kb3duc3Ry ZWFtX2xpbWl0cywKPj4gIAkJCQkgYm9vbCBmb3JjZV9kdmkpCj4+ICB7Cj4+IC0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2hkbWlfdG9fZGV2KGhkbWkpOwo+PiAtCWludCBtYXhfdG1k c19jbG9jayA9IGludGVsX2hkbWlfc291cmNlX21heF90bWRzX2Nsb2NrKHRvX2k5MTUoZGV2KSk7 Cj4+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIgPSAmaGRtaV90b19kaWdfcG9ydCho ZG1pKS0+YmFzZTsKPj4gKwlpbnQgbWF4X3RtZHNfY2xvY2sgPSBpbnRlbF9oZG1pX3NvdXJjZV9t YXhfdG1kc19jbG9jayhlbmNvZGVyKTsKPj4gIAo+PiAgCWlmIChyZXNwZWN0X2Rvd25zdHJlYW1f bGltaXRzKSB7Cj4+ICAJCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGhkbWkt PmF0dGFjaGVkX2Nvbm5lY3RvcjsKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBTb3VyY2Ug VGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==