From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 2/2] drm/i915: Parse max HDMI TMDS clock from VBT Date: Mon, 30 Oct 2017 20:24:27 +0200 Message-ID: <20171030182427.GV10981@intel.com> References: <20171026151405.30710-2-ville.syrjala@linux.intel.com> <20171030145702.23662-1-ville.syrjala@linux.intel.com> <87tvygfzh6.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09FBF6E43B for ; Mon, 30 Oct 2017 18:24:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87tvygfzh6.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: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBPY3QgMzAsIDIwMTcgYXQgMDU6MDU6MDlQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gTW9uLCAzMCBPY3QgMjAxNywgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Cj4gPiBTdGFydGluZyBmcm9tIHZlcnNpb24gMjA0 IFZCVCBjYW4gc3BlY2lmeSB0aGUgbWF4IFRNRFMgY2xvY2sgd2UgYXJlCj4gPiBhbGxvd2VkIHRv IHVzZSB3aXRoIEhETUkgcG9ydHMuIFBhcnNlIHRoYXQgaW5mb3JtYXRpb24gYW5kIHRha2UgaXQK PiA+IGludG8gYWNjb3VudCB3aGVuIGZpbHRlcmluZyBtb2RlcyBhbmQgY29tcHV0aW5nIGEgY3J0 YyBzdGF0ZS4KPiA+Cj4gPiBBbHNvIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIHNvcnQgdGhlIHBs YXRmb3JtIGNoZWNrIGlmIGxhZGRlcgo+ID4gZnJvbSBuZXcgdG8gb2xkLgo+ID4KPiA+IHYyOiBB ZGQgZGVmaW5lcyBmb3IgdGhlIHZhbHVlcyBpbnRvIGludGVsX3ZidF9kZWZzLmggKEphbmkpCj4g PiAgICAgRG9uJ3QgZmFsbCBiYWNrIHRvIDAgc2lsZW50bHkgZm9yIHVua25vd24gdmFsdWVzIChK YW5pKQo+ID4gICAgIFNraXAgdGhlIGRlYnVnIHByaW50IGZvciB0aGUgMCBjYXNlIChKYW5pKQo+ ID4KPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4gUmV2aWV3 ZWQtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4gCj4gWXVwCgpUaGFu a3MuIFB1c2hlZCB0byBkaW5xLgoKPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgIHwgIDIgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9iaW9zLmMgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgICB8IDMwICsrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3ZidF9kZWZz LmggfCAgNCArKysrCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAxMCBk ZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGMwYTcx NmU1OTZiYS4uNGE3MzI1YzQxODljIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ ID4gQEAgLTE2OTgsNiArMTY5OCw4IEBAIGVudW0gbW9kZXNldF9yZXN0b3JlIHsKPiA+ICAjZGVm aW5lIEREQ19QSU5fRCAgMHgwNgo+ID4gIAo+ID4gIHN0cnVjdCBkZGlfdmJ0X3BvcnRfaW5mbyB7 Cj4gPiArCWludCBtYXhfdG1kc19jbG9jazsKPiA+ICsKPiA+ICAJLyoKPiA+ICAJICogVGhpcyBp cyBhbiBpbmRleCBpbiB0aGUgSERNSS9EVkkgRERJIGJ1ZmZlciB0cmFuc2xhdGlvbiB0YWJsZS4K PiA+ICAJICogVGhlIHNwZWNpYWwgdmFsdWUgSERNSV9MRVZFTF9TSElGVF9VTktOT1dOIG1lYW5z IHRoZSBWQlQgZGlkbid0Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYmlvcy5jCj4gPiBpbmRleCBm ZDIzMDIzZGY3YzEuLjUxMTA4ZmZjMjhkMSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Jpb3MuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Ymlvcy5jCj4gPiBAQCAtMTIzNCw2ICsxMjM0LDMwIEBAIHN0YXRpYyB2b2lkIHBhcnNlX2RkaV9w b3J0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0IHBvcnQsCj4g PiAgCQlpbmZvLT5oZG1pX2xldmVsX3NoaWZ0ID0gaGRtaV9sZXZlbF9zaGlmdDsKPiA+ICAJfQo+ ID4gIAo+ID4gKwlpZiAoYmRiX3ZlcnNpb24gPj0gMjA0KSB7Cj4gPiArCQlpbnQgbWF4X3RtZHNf Y2xvY2s7Cj4gPiArCj4gPiArCQlzd2l0Y2ggKGNoaWxkLT5oZG1pX21heF9kYXRhX3JhdGUpIHsK PiA+ICsJCWRlZmF1bHQ6Cj4gPiArCQkJTUlTU0lOR19DQVNFKGNoaWxkLT5oZG1pX21heF9kYXRh X3JhdGUpOwo+ID4gKwkJCS8qIGZhbGwgdGhyb3VnaCAqLwo+ID4gKwkJY2FzZSBIRE1JX01BWF9E QVRBX1JBVEVfUExBVEZPUk06Cj4gPiArCQkJbWF4X3RtZHNfY2xvY2sgPSAwOwo+ID4gKwkJCWJy ZWFrOwo+ID4gKwkJY2FzZSBIRE1JX01BWF9EQVRBX1JBVEVfMjk3Ogo+ID4gKwkJCW1heF90bWRz X2Nsb2NrID0gMjk3MDAwOwo+ID4gKwkJCWJyZWFrOwo+ID4gKwkJY2FzZSBIRE1JX01BWF9EQVRB X1JBVEVfMTY1Ogo+ID4gKwkJCW1heF90bWRzX2Nsb2NrID0gMTY1MDAwOwo+ID4gKwkJCWJyZWFr Owo+ID4gKwkJfQo+ID4gKwo+ID4gKwkJaWYgKG1heF90bWRzX2Nsb2NrKQo+ID4gKwkJCURSTV9E RUJVR19LTVMoIlZCVCBIRE1JIG1heCBUTURTIGNsb2NrIGZvciBwb3J0ICVjOiAlZCBrSHpcbiIs Cj4gPiArCQkJCSAgICAgIHBvcnRfbmFtZShwb3J0KSwgbWF4X3RtZHNfY2xvY2spOwo+ID4gKwkJ aW5mby0+bWF4X3RtZHNfY2xvY2sgPSBtYXhfdG1kc19jbG9jazsKPiA+ICsJfQo+ID4gKwo+ID4g IAkvKiBQYXJzZSB0aGUgSV9ib29zdCBjb25maWcgZm9yIFNLTCBhbmQgYWJvdmUgKi8KPiA+ICAJ aWYgKGJkYl92ZXJzaW9uID49IDE5NiAmJiBjaGlsZC0+aWJvb3N0KSB7Cj4gPiAgCQlpbmZvLT5k cF9ib29zdF9sZXZlbCA9IHRyYW5zbGF0ZV9pYm9vc3QoY2hpbGQtPmRwX2lib29zdF9sZXZlbCk7 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiBpbmRleCBhYTQ4NmI4OTI1Y2YuLjM4 ZmUyNDU2NWI0ZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hk bWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiBAQCAt MTIyNCwyNCArMTIyNCwzNCBAQCBzdGF0aWMgdm9pZCBwY2hfcG9zdF9kaXNhYmxlX2hkbWkoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCWludGVsX2Rpc2FibGVfaGRtaShlbmNv ZGVyLCBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3RhdGUpOwo+ID4gIH0KPiA+ICAKPiA+IC1z dGF0aWMgaW50IGludGVsX2hkbWlfc291cmNlX21heF90bWRzX2Nsb2NrKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICtzdGF0aWMgaW50IGludGVsX2hkbWlfc291cmNlX21h eF90bWRzX2Nsb2NrKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gIHsKPiA+IC0J aWYgKElTX0c0WChkZXZfcHJpdikpCj4gPiAtCQlyZXR1cm4gMTY1MDAwOwo+ID4gLQllbHNlIGlm IChJU19HRU1JTklMQUtFKGRldl9wcml2KSkKPiA+IC0JCXJldHVybiA1OTQwMDA7Cj4gPiAtCWVs c2UgaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpIHx8IElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4g Pj0gOCkKPiA+IC0JCXJldHVybiAzMDAwMDA7Cj4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4gKwljb25zdCBzdHJ1 Y3QgZGRpX3ZidF9wb3J0X2luZm8gKmluZm8gPQo+ID4gKwkJJmRldl9wcml2LT52YnQuZGRpX3Bv cnRfaW5mb1tlbmNvZGVyLT5wb3J0XTsKPiA+ICsJaW50IG1heF90bWRzX2Nsb2NrOwo+ID4gKwo+ ID4gKwlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gPiArCQltYXhfdG1kc19jbG9jayA9 IDU5NDAwMDsKPiA+ICsJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA4IHx8IElTX0hB U1dFTEwoZGV2X3ByaXYpKQo+ID4gKwkJbWF4X3RtZHNfY2xvY2sgPSAzMDAwMDA7Cj4gPiArCWVs c2UgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNSkKPiA+ICsJCW1heF90bWRzX2Nsb2NrID0g MjI1MDAwOwo+ID4gIAllbHNlCj4gPiAtCQlyZXR1cm4gMjI1MDAwOwo+ID4gKwkJbWF4X3RtZHNf Y2xvY2sgPSAxNjUwMDA7Cj4gPiArCj4gPiArCWlmIChpbmZvLT5tYXhfdG1kc19jbG9jaykKPiA+ ICsJCW1heF90bWRzX2Nsb2NrID0gbWluKG1heF90bWRzX2Nsb2NrLCBpbmZvLT5tYXhfdG1kc19j bG9jayk7Cj4gPiArCj4gPiArCXJldHVybiBtYXhfdG1kc19jbG9jazsKPiA+ICB9Cj4gPiAgCj4g PiAgc3RhdGljIGludCBoZG1pX3BvcnRfY2xvY2tfbGltaXQoc3RydWN0IGludGVsX2hkbWkgKmhk bWksCj4gPiAgCQkJCSBib29sIHJlc3BlY3RfZG93bnN0cmVhbV9saW1pdHMsCj4gPiAgCQkJCSBi b29sIGZvcmNlX2R2aSkKPiA+ICB7Cj4gPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRl bF9oZG1pX3RvX2RldihoZG1pKTsKPiA+IC0JaW50IG1heF90bWRzX2Nsb2NrID0gaW50ZWxfaGRt aV9zb3VyY2VfbWF4X3RtZHNfY2xvY2sodG9faTkxNShkZXYpKTsKPiA+ICsJc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIgPSAmaGRtaV90b19kaWdfcG9ydChoZG1pKS0+YmFzZTsKPiA+ICsJ aW50IG1heF90bWRzX2Nsb2NrID0gaW50ZWxfaGRtaV9zb3VyY2VfbWF4X3RtZHNfY2xvY2soZW5j b2Rlcik7Cj4gPiAgCj4gPiAgCWlmIChyZXNwZWN0X2Rvd25zdHJlYW1fbGltaXRzKSB7Cj4gPiAg CQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBoZG1pLT5hdHRhY2hlZF9jb25u ZWN0b3I7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdmJ0X2Rl ZnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3ZidF9kZWZzLmgKPiA+IGluZGV4IDNj M2M0MjFlMmU0My4uZTNkNzc0NWE5MTUxIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdmJ0X2RlZnMuaAo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfdmJ0X2RlZnMuaAo+ID4gQEAgLTMwNCw2ICszMDQsMTAgQEAgc3RydWN0IGJkYl9nZW5lcmFs X2ZlYXR1cmVzIHsKPiA+ICAjZGVmaW5lIERWT19QT1JUX01JUElDCQkyMwkJCQkvKiAxNzEgKi8K PiA+ICAjZGVmaW5lIERWT19QT1JUX01JUElECQkyNAkJCQkvKiAxNzEgKi8KPiA+ICAKPiA+ICsj ZGVmaW5lIEhETUlfTUFYX0RBVEFfUkFURV9QTEFURk9STQkwCQkJLyogMjA0ICovCj4gPiArI2Rl ZmluZSBIRE1JX01BWF9EQVRBX1JBVEVfMjk3CQkxCQkJLyogMjA0ICovCj4gPiArI2RlZmluZSBI RE1JX01BWF9EQVRBX1JBVEVfMTY1CQkyCQkJLyogMjA0ICovCj4gPiArCj4gPiAgI2RlZmluZSBM RUdBQ1lfQ0hJTERfREVWSUNFX0NPTkZJR19TSVpFCQkzMwo+ID4gIAo+ID4gIC8qIEREQyBCdXMg RERJIFR5cGUgMTU1KyAqLwo+IAo+IC0tIAo+IEphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJj ZSBUZWNobm9sb2d5IENlbnRlcgoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==