From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v9 5/5] drm/i915: Set PWM divider to match desired frequency in vbt Date: Fri, 26 May 2017 15:49:24 +0300 Message-ID: <87r2zblr57.fsf@intel.com> References: <20170523223805.46372-1-puthik@chromium.org> <20170523223805.46372-6-puthik@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170523223805.46372-6-puthik@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, Dhinakaran Pandiyan Cc: Manasi Navare , Stephane Marchesin , Puthikorn Voravootivat , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMyBNYXkgMjAxNywgUHV0aGlrb3JuIFZvcmF2b290aXZhdCA8cHV0aGlrQGNocm9t aXVtLm9yZz4gd3JvdGU6Cj4gUmVhZCBkZXNpcmVkIFBXTSBmcmVxdWVuY3kgZnJvbSBwYW5lbCB2 YnQgYW5kIGNhbGN1bGF0ZSB0aGUKPiB2YWx1ZSBmb3IgZGl2aWRlciBpbiBEUENEIGFkZHJlc3Mg MHg3MjQgYW5kIDB4NzI4IHRvIGhhdmUKPiBhcyBtYW55IGJpdHMgYXMgcG9zc2libGUgZm9yIFBX TSBkdXR5IGN5bGUgZm9yIGdyYW51bGFyaXR5IG9mCj4gYnJpZ2h0bmVzcyBhZGp1c3RtZW50IHdo aWxlIHRoZSBmcmVxdWVuY3kgZGl2aXNvciBpcyBzdGlsbAo+IHdpdGhpbiAyNSUgb2YgdGhlIGRl c2lyZWQgdmFsdWUuCgpJSVVDIHRoaXMgcGF0Y2ggZG9lc24ndCBoYXZlIGEgZGVwZW5kZW5jeSBv biB0aGUgbW9yZSBjb250ZW50aW91cwpwYXRjaGVzIDIvNSBhbmQgMy81LiBUaGlzIHNob3VsZCBw cm9iYWJseSBiZSBtZXJnZWQgYmVmb3JlIHRoZW0uCgpJIHNoYXJlIERLJ3MgY29uY2VybiBhYm91 dCBkb2luZyBhIGJ1bmNoIG9mIHJlYWRzIGFuZCB3cml0ZXMgYW5kCmNhbGN1bGF0aW9ucyBldmVy eSB0aW1lIHRoZSBiYWNrbGlnaHQncyBlbmFibGVkLiBCdXQgSSBndWVzcyB0aGF0IGNvdWxkCmJl IG9wdGltaXplZCBsYXRlci4KCkkgaGF2ZW4ndCBoYWQgdGltZSB0byBjaGVjayB0aGUgY2hhbmdl ZCBhbGdvcml0aG0gaGVyZSwgYnV0IGluIHRoZSBtZWFuCnRpbWUgb25lIGNvbW1lbnQgYmVsb3cu CgpCUiwKSmFuaS4KCgo+Cj4gU2lnbmVkLW9mZi1ieTogUHV0aGlrb3JuIFZvcmF2b290aXZhdCA8 cHV0aGlrQGNocm9taXVtLm9yZz4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfYXV4X2JhY2tsaWdodC5jIHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDEg ZmlsZSBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCspCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfYXV4X2JhY2tsaWdodC5jCj4gaW5kZXggZjFiNzg1NWEyZDJhLi5iN2NkNDQ1 NTAxMjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfYXV4X2Jh Y2tsaWdodC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfYXV4X2JhY2ts aWdodC5jCj4gQEAgLTExNiwxMCArMTE2LDg1IEBAIGludGVsX2RwX2F1eF9zZXRfZHluYW1pY19i YWNrbGlnaHRfcGVyY2VudChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJfQo+ICB9Cj4g IAo+ICsvKgo+ICsgKiBTZXQgUFdNIEZyZXF1ZW5jeSBkaXZpZGVyIHRvIG1hdGNoIGRlc2lyZWQg ZnJlcXVlbmN5IGluIHZidC4KPiArICogVGhlIFBXTSBGcmVxdWVuY3kgaXMgY2FsY3VsYXRlZCBh cyAyN01oeiAvIChGIHggUCkuCj4gKyAqIC0gV2hlcmUgRiA9IFBXTSBGcmVxdWVuY3kgUHJlLURp dmlkZXIgdmFsdWUgcHJvZ3JhbW1lZCBieSBmaWVsZCA3OjAgb2YgdGhlCj4gKyAqICAgICAgICAg ICAgIEVEUF9CQUNLTElHSFRfRlJFUV9TRVQgcmVnaXN0ZXIgKERQQ0QgQWRkcmVzcyAwMDcyOGgp Cj4gKyAqIC0gV2hlcmUgUCA9IDJeUG4sIHdoZXJlIFBuIGlzIHRoZSB2YWx1ZSBwcm9ncmFtbWVk IGJ5IGZpZWxkIDQ6MCBvZiB0aGUKPiArICogICAgICAgICAgICAgRURQX1BXTUdFTl9CSVRfQ09V TlQgcmVnaXN0ZXIgKERQQ0QgQWRkcmVzcyAwMDcyNGgpCj4gKyAqLwo+ICtzdGF0aWMgdm9pZCBp bnRlbF9kcF9hdXhfc2V0X3B3bV9mcmVxKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cikKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShj b25uZWN0b3ItPmJhc2UuZGV2KTsKPiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNf dG9faW50ZWxfZHAoJmNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFzZSk7Cj4gKwlpbnQgZnJlcSwgZnhw LCBmeHBfbWluLCBmeHBfbWF4LCBmeHBfYWN0dWFsLCBmID0gMTsKPiArCXU4IHBuLCBwbl9taW4s IHBuX21heDsKPiArCj4gKwkvKiBGaW5kIGRlc2lyZWQgdmFsdWUgb2YgKEYgeCBQKQo+ICsJICog Tm90ZSB0aGF0LCBpZiBGIHggUCBpcyBvdXQgb2Ygc3VwcG9ydGVkIHJhbmdlLCB0aGUgbWF4aW11 bSB2YWx1ZSBvcgo+ICsJICogbWluaW11bSB2YWx1ZSB3aWxsIGFwcGxpZWQgYXV0b21hdGljYWxs eS4gU28gbm8gbmVlZCB0byBjaGVjayB0aGF0Lgo+ICsJICovCj4gKwlmcmVxID0gZGV2X3ByaXYt PnZidC5iYWNrbGlnaHQucHdtX2ZyZXFfaHo7Cj4gKwlEUk1fREVCVUdfS01TKCJWQlQgZGVmaW5l ZCBiYWNrbGlnaHQgZnJlcXVlbmN5ICV1IEh6XG4iLCBmcmVxKTsKPiArCWlmICghZnJlcSkgewo+ ICsJCURSTV9ERUJVR19LTVMoIlVzZSBwYW5lbCBkZWZhdWx0IGJhY2tsaWdodCBmcmVxdWVuY3lc biIpOwo+ICsJCXJldHVybjsKPiArCX0KPiArCj4gKwlmeHAgPSBESVZfUk9VTkRfQ0xPU0VTVChL SHooRFBfRURQX0JBQ0tMSUdIVF9GUkVRX0JBU0VfS0haKSwgZnJlcSk7Cj4gKwo+ICsJLyogVXNl IGhpZ2hlc3QgcG9zc2libGUgdmFsdWUgb2YgUG4gZm9yIG1vcmUgZ3JhbnVsYXJpdHkgb2YgYnJp Z2h0bmVzcwo+ICsJICogYWRqdXN0bWVudCB3aGlsZSBzYXRpZnlpbmcgdGhlIGNvbmRpdGlvbnMg YmVsb3cuCj4gKwkgKiAtIFBuIGlzIGluIHRoZSByYW5nZSBvZiBQbl9taW4gYW5kIFBuX21heAo+ ICsJICogLSBGIGlzIGluIHRoZSByYW5nZSBvZiAxIGFuZCAyNTUKPiArCSAqIC0gRnhQIGlzIHdp dGhpbiAyNSUgb2YgZGVzaXJlZCB2YWx1ZS4KPiArCSAqICAgTm90ZTogMjUlIGlzIGFyYml0cmFy eSB2YWx1ZSBhbmQgbWF5IG5lZWQgc29tZSB0d2Vhay4KPiArCSAqLwo+ICsJaWYgKGRybV9kcF9k cGNkX3JlYWRiKCZpbnRlbF9kcC0+YXV4LAo+ICsJCQkgICAgICAgRFBfRURQX1BXTUdFTl9CSVRf Q09VTlRfQ0FQX01JTiwgJnBuX21pbikgIT0gMSkgewo+ICsJCURSTV9ERUJVR19LTVMoIkZhaWxl ZCB0byByZWFkIHB3bWdlbiBiaXQgY291bnQgY2FwIG1pblxuIik7Cj4gKwkJcmV0dXJuOwo+ICsJ fQo+ICsJaWYgKGRybV9kcF9kcGNkX3JlYWRiKCZpbnRlbF9kcC0+YXV4LAo+ICsJCQkgICAgICAg RFBfRURQX1BXTUdFTl9CSVRfQ09VTlRfQ0FQX01BWCwgJnBuX21heCkgIT0gMSkgewo+ICsJCURS TV9ERUJVR19LTVMoIkZhaWxlZCB0byByZWFkIHB3bWdlbiBiaXQgY291bnQgY2FwIG1heFxuIik7 Cj4gKwkJcmV0dXJuOwo+ICsJfQo+ICsJcG5fbWluICY9IERQX0VEUF9QV01HRU5fQklUX0NPVU5U X01BU0s7Cj4gKwlwbl9tYXggJj0gRFBfRURQX1BXTUdFTl9CSVRfQ09VTlRfTUFTSzsKPiArCj4g KwlmeHBfbWluID0gRElWX1JPVU5EX0NMT1NFU1QoZnhwICogMywgNCk7Cj4gKwlmeHBfbWF4ID0g RElWX1JPVU5EX0NMT1NFU1QoZnhwICogNSwgNCk7Cj4gKwlpZiAoZnhwX21pbiA8ICgxIDw8IHBu X21pbikgfHwgKDI1NSA8PCBwbl9tYXgpIDwgZnhwX21heCkgewo+ICsJCURSTV9ERUJVR19LTVMo IlZCVCBkZWZpbmVkIGJhY2tsaWdodCBmcmVxdWVuY3kgb3V0IG9mIHJhbmdlXG4iKTsKPiArCQly ZXR1cm47Cj4gKwl9Cj4gKwo+ICsJZm9yIChwbiA9IHBuX21heDsgcG4gPj0gcG5fbWluOyBwbi0t KSB7Cj4gKwkJZiA9IGNsYW1wKERJVl9ST1VORF9DTE9TRVNUKGZ4cCAsIDEgPDwgcG4pLCAxLCAy NTUpOwo+ICsJCWZ4cF9hY3R1YWwgPSBmIDw8IHBuOwo+ICsJCWlmIChmeHBfbWluIDw9IGZ4cF9h Y3R1YWwgJiYgZnhwX2FjdHVhbCA8PSBmeHBfbWF4KQo+ICsJCQlicmVhazsKPiArCX0KPiArCj4g KwlpZiAoZHJtX2RwX2RwY2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LAo+ICsJCQkgICAgICAgRFBf RURQX1BXTUdFTl9CSVRfQ09VTlQsIHBuKSA8IDApIHsKPiArCQlEUk1fREVCVUdfS01TKCJGYWls ZWQgdG8gd3JpdGUgYXV4IHB3bWdlbiBiaXQgY291bnRcbiIpOwo+ICsJCXJldHVybjsKPiArCX0K PiArCWlmIChkcm1fZHBfZHBjZF93cml0ZWIoJmludGVsX2RwLT5hdXgsCj4gKwkJCSAgICAgICBE UF9FRFBfQkFDS0xJR0hUX0ZSRVFfU0VULCAodTgpIGYpIDwgMCkgewo+ICsJCURSTV9ERUJVR19L TVMoIkZhaWxlZCB0byB3cml0ZSBhdXggYmFja2xpZ2h0IGZyZXFcbiIpOwo+ICsJCXJldHVybjsK PiArCX0KPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfYXV4X2VuYWJsZV9iYWNrbGln aHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVsX2RwKCZjb25uZWN0b3ItPmVuY29kZXItPmJh c2UpOwo+ICAJdWludDhfdCBkcGNkX2J1ZiwgbmV3X2RwY2RfYnVmLCBlZHBfYmFja2xpZ2h0X21v ZGU7Cj4gKwlib29sIGZyZXFfY2FwOwo+ICAKPiAgCWlmIChkcm1fZHBfZHBjZF9yZWFkYigmaW50 ZWxfZHAtPmF1eCwKPiAgCQkJRFBfRURQX0JBQ0tMSUdIVF9NT0RFX1NFVF9SRUdJU1RFUiwgJmRw Y2RfYnVmKSAhPSAxKSB7Cj4gQEAgLTE1Miw2ICsyMjcsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxf ZHBfYXV4X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQo+ICAJCURSTV9ERUJVR19LTVMoIkVuYWJsZSBkeW5hbWljIGJyaWdodG5lc3MuXG4iKTsKPiAg CX0KPiAgCj4gKwlmcmVxX2NhcCA9IGludGVsX2RwLT5lZHBfZHBjZFsyXSAmIERQX0VEUF9CQUNL TElHSFRfRlJFUV9BVVhfU0VUX0NBUDsKPiArCWlmIChmcmVxX2NhcCkKPiArCQluZXdfZHBjZF9i dWYgfD0gRFBfRURQX0JBQ0tMSUdIVF9GUkVRX0FVWF9TRVRfRU5BQkxFOwo+ICsKPiAgCWlmIChu ZXdfZHBjZF9idWYgIT0gZHBjZF9idWYpIHsKPiAgCQlpZiAoZHJtX2RwX2RwY2Rfd3JpdGViKCZp bnRlbF9kcC0+YXV4LAo+ICAJCQlEUF9FRFBfQkFDS0xJR0hUX01PREVfU0VUX1JFR0lTVEVSLCBu ZXdfZHBjZF9idWYpIDwgMCkgewo+IEBAIC0xNTksNiArMjM4LDkgQEAgc3RhdGljIHZvaWQgaW50 ZWxfZHBfYXV4X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVj dG9yKQo+ICAJCX0KPiAgCX0KPiAgCj4gKwlpZiAoZnJlcV9jYXApCj4gKwkJaW50ZWxfZHBfYXV4 X3NldF9wd21fZnJlcShjb25uZWN0b3IpOwoKV2hhdCBoYXBwZW5zIGlmIHRoZXJlIGFyZSBhbnkg ZXJyb3JzIHdpdGhpbiB0aGF0IGZ1bmN0aW9uLCBhbmQgaXQgZmFpbHMKdG8gd3JpdGUgRFBfRURQ X0JBQ0tMSUdIVF9GUkVRX1NFVCwgYnV0CkRQX0VEUF9CQUNLTElHSFRfRlJFUV9BVVhfU0VUX0VO QUJMRSBoYXMgYmVlbiBzZXQ/CgoKPiArCj4gIAlzZXRfYXV4X2JhY2tsaWdodF9lbmFibGUoaW50 ZWxfZHAsIHRydWUpOwo+ICAJaW50ZWxfZHBfYXV4X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLCBj b25uZWN0b3ItPnBhbmVsLmJhY2tsaWdodC5sZXZlbCk7Cj4gIH0KCi0tIApKYW5pIE5pa3VsYSwg SW50ZWwgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==