From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/2] drm/i915/dsi: fix dphy param field widths and range checks for chv+ Date: Thu, 19 Apr 2018 14:09:44 +0300 Message-ID: <20180419110944.GA17795@intel.com> References: <20180419085940.21505-1-jani.nikula@intel.com> <20180419085940.21505-2-jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7EE4B6E623 for ; Thu, 19 Apr 2018 11:09:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180419085940.21505-2-jani.nikula@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, stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBcHIgMTksIDIwMTggYXQgMTE6NTk6NDBBTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gQ3VycmVudCBDSFYgYW5kIEJYVCBic3BlYyBzYXlzIHRoZSBkcGh5IHBhcmFtIHJlZ2lz dGVyIGhhcyBmb3VyIDgtYml0Cj4gZmllbGRzIGluc3RlYWQgb2YgdGhlIHNtYWxsZXIgVkxWIGZp ZWxkIHdpZHRocy4gQ0hWIGJzcGVjIG1lbnRpb25zIHRoZQo+IHJlZ2lzdGVyIGhhcyBjaGFuZ2Vk IHNpbmNlIEswLCBidXQgdGhlcmUncyBubyBpbmRpY2F0aW9uIG9mIHdoYXQgZXhhY3RseQo+IGNo YW5nZWQuIExhY2tpbmcgZnVydGhlciBkZXRhaWxzLCBjaGFuZ2UgdGhlIGZpZWxkIHdpZHRocyBm b3IgYWxsIENIVgo+IGFuZCBsYXRlci4KCkswIGRpZG4ndCBoYXBwZW4sIGFuZCBsb29rcyBsaWtl IHRoZSBsaW5rZWQgSFNEIHNwZWNpZmljYWxseSBzYXlzIHRoYXQKdGhpcyBjaGFuZ2Ugd2FzIG1l YW50IGZvciBLMC4gU28gSSBzdXNwZWN0IHRoaXMgcGF0Y2ggaXMgd3JvbmcuCgpUaGUgQlhUIEhT RCBzYXlzIHBsYW5uZWQgZm9yIEIwLCBidXQgbm90IHN1cmUgaWYgdGhhdCBhY3R1YWxseSBoYXBw ZW5lZAplaXRoZXIuCgpPbiBteSBWTFYgdGhlIHJlc2VydmVkIGJpdHMgY2FuJ3QgYmUgc2V0Ogpp bnRlbF9yZWcgd3JpdGUgMHgxODAwMDA6MHhiMDgwIDB4ZmZmZmZmZmYKaW50ZWxfcmVnIHdyaXRl IDB4MTgwMDAwOjB4Yjg4MCAweGZmZmZmZmZmCmludGVsX3JlZyByZWFkIDB4MTgwMDAwOjB4YjA4 MCAweDE4MDAwMDoweGI4ODAKICgweDAwMTgwMDAwOjB4MDAwMGIwODApOiAweDNmMWZmZjNmCiAo MHgwMDE4MDAwMDoweDAwMDBiODgwKTogMHgzZjFmZmYzZgoKU28gcHJlc3VtYWJseSB0aGUgc2Ft ZSBybXcgdHJpY2sgY291bGQgYmUgdXNlZCB0byBjaGVjayB3aGF0CmhvdyBtYW55IGJpdHMgd2Ug aGF2ZSBvbiBDSFYvQlhULgoKQWxzbyBsb29rcyBsaWtlIHRoZSBDSFYgc3BlYyB3YXMgZm9ya2Vk IGZyb20gVkxWIGJlZm9yZSBzb21lb25lIGZpeGVkCnRoZSBwcmVwYXJlIGNvdW50IHRvIGJlIDYg Yml0cywgd2hpY2ggc2VlbXMgdG8gYmUgd2hhdCBteSBWTFYgYWN0dWFsbHkKaGFzIGFzIHdlbGwu IE5vdCB0aGUgZmlyc3QgdGltZSB0aGUgVkxWIGRvY3MgYXJlIG1vcmUgdXAgdG8gZGF0ZSB0aGFu CnRoZSBDSFYgb25lcyB1bmZvcnR1bmF0ZWx5LgoKPiAKPiBEZWZpbmUgdGhlIG1heCB2YWx1ZXMg YmFzZWQgb24gdGhlIHBsYXRmb3JtLiBBbHNvIGRlZmluZSB0aGVtIGJhc2VkIG9uCj4gdGhlIHJl Z2lzdGVyIGRlZmluaXRpb25zIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgaW5mb3JtYXRpb24uCj4g Cj4gQnVnemlsbGE6IGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lk PTEwNjEzMAo+IENjOiBzdGFibGVAdmdlci5rZXJuZWwub3JnCj4gQ2M6IFZpbGxlIFN5cmrDpGzD pCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSmFuaSBO aWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaCAgICAgIHwgMTEgKysrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHNpX3ZidC5jIHwgMzEgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+ ICAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+IGluZGV4IGZiMTA2MDI2YTFmNC4uZjQ0MzVhMTNiNzU3 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTk1NDcsMTQgKzk1NDcsMTcgQEAg ZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4gICNkZWZpbmUgX01JUElBX0RQSFlfUEFSQU0JCShkZXZf cHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIwODApCj4gICNkZWZpbmUgX01JUElDX0RQSFlfUEFS QU0JCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGI4ODApCj4gICNkZWZpbmUgTUlQSV9E UEhZX1BBUkFNKHBvcnQpCQlfTU1JT19NSVBJKHBvcnQsIF9NSVBJQV9EUEhZX1BBUkFNLCBfTUlQ SUNfRFBIWV9QQVJBTSkKPiAtI2RlZmluZSAgRVhJVF9aRVJPX0NPVU5UX1NISUZUCQkJCTI0Cj4g ICNkZWZpbmUgIEVYSVRfWkVST19DT1VOVF9NQVNLCQkJCSgweDNmIDw8IDI0KQo+IC0jZGVmaW5l ICBUUkFJTF9DT1VOVF9TSElGVAkJCQkxNgo+ICsjZGVmaW5lICBFWElUX1pFUk9fQ09VTlRfTUFT S19DSFYJCQkoMHhmZiA8PCAyNCkKPiArI2RlZmluZSAgRVhJVF9aRVJPX0NPVU5UX1NISUZUCQkJ CTI0Cj4gICNkZWZpbmUgIFRSQUlMX0NPVU5UX01BU0sJCQkJKDB4MWYgPDwgMTYpCj4gLSNkZWZp bmUgIENMS19aRVJPX0NPVU5UX1NISUZUCQkJCTgKPiArI2RlZmluZSAgVFJBSUxfQ09VTlRfTUFT S19DSFYJCQkJKDB4ZmYgPDwgMTYpCj4gKyNkZWZpbmUgIFRSQUlMX0NPVU5UX1NISUZUCQkJCTE2 Cj4gICNkZWZpbmUgIENMS19aRVJPX0NPVU5UX01BU0sJCQkJKDB4ZmYgPDwgOCkKPiAtI2RlZmlu ZSAgUFJFUEFSRV9DT1VOVF9TSElGVAkJCQkwCj4gKyNkZWZpbmUgIENMS19aRVJPX0NPVU5UX1NI SUZUCQkJCTgKPiAgI2RlZmluZSAgUFJFUEFSRV9DT1VOVF9NQVNLCQkJCSgweDNmIDw8IDApCj4g KyNkZWZpbmUgIFBSRVBBUkVfQ09VTlRfTUFTS19DSFYJCQkJKDB4ZmYgPDwgMCkKPiArI2RlZmlu ZSAgUFJFUEFSRV9DT1VOVF9TSElGVAkJCQkwCj4gIAo+ICAvKiBiaXRzIDMxOjAgKi8KPiAgI2Rl ZmluZSBfTUlQSUFfREJJX0JXX0NUUkwJCShkZXZfcHJpdi0+bWlwaV9tbWlvX2Jhc2UgKyAweGIw ODQpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV92YnQuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV92YnQuYwo+IGluZGV4IDRkNmZmYTdiM2U3 Yi4uOGQzZGVhNjkzODQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RzaV92YnQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV92YnQuYwo+ IEBAIC00MSwxMCArNDEsMTcgQEAKPiAgI2RlZmluZSBNSVBJX1ZJUlRVQUxfQ0hBTk5FTF9TSElG VAkxCj4gICNkZWZpbmUgTUlQSV9QT1JUX1NISUZUCQkJMwo+ICAKPiAtI2RlZmluZSBQUkVQQVJF X0NOVF9NQVgJCTB4M0YKPiAtI2RlZmluZSBFWElUX1pFUk9fQ05UX01BWAkweDNGCj4gLSNkZWZp bmUgQ0xLX1pFUk9fQ05UX01BWAkweEZGCj4gLSNkZWZpbmUgVFJBSUxfQ05UX01BWAkJMHgxRgo+ ICsjZGVmaW5lIEVYSVRfWkVST19DTlRfTUFYKGRldl9wcml2KSBcCj4gKwkoKElTX1ZBTExFWVZJ RVcoZGV2X3ByaXYpID8gRVhJVF9aRVJPX0NPVU5UX01BU0sgOiBFWElUX1pFUk9fQ09VTlRfTUFT S19DSFYpID4+IEVYSVRfWkVST19DT1VOVF9TSElGVCkKPiArCj4gKyNkZWZpbmUgVFJBSUxfQ05U X01BWChkZXZfcHJpdikgXAo+ICsJKChJU19WQUxMRVlWSUVXKGRldl9wcml2KSA/IFRSQUlMX0NP VU5UX01BU0sgOiBUUkFJTF9DT1VOVF9NQVNLX0NIVikgPj4gVFJBSUxfQ09VTlRfU0hJRlQpCj4g Kwo+ICsjZGVmaW5lIENMS19aRVJPX0NOVF9NQVgoZGV2X3ByaXYpIFwKPiArCShDTEtfWkVST19D T1VOVF9NQVNLID4+IENMS19aRVJPX0NPVU5UX1NISUZUKQo+ICsKPiArI2RlZmluZSBQUkVQQVJF X0NOVF9NQVgoZGV2X3ByaXYpCQkJCQlcCj4gKwkoKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYpID8g UFJFUEFSRV9DT1VOVF9NQVNLIDogUFJFUEFSRV9DT1VOVF9NQVNLX0NIVikgPj4gUFJFUEFSRV9D T1VOVF9TSElGVCkKPiAgCj4gICNkZWZpbmUgTlNfS0haX1JBVElPIDEwMDAwMDAKPiAgCj4gQEAg LTY0Nyw5ICs2NTQsOSBAQCBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50ZWxfZHNp ICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPiAgCS8qIHByZXBhcmUgY291bnQgKi8KPiAgCXBy ZXBhcmVfY250ID0gRElWX1JPVU5EX1VQKHRoc19wcmVwYXJlX25zICogdWlfZGVuLCB1aV9udW0g KiBtdWwpOwo+ICAKPiAtCWlmIChwcmVwYXJlX2NudCA+IFBSRVBBUkVfQ05UX01BWCkgewo+ICsJ aWYgKHByZXBhcmVfY250ID4gUFJFUEFSRV9DTlRfTUFYKGRldl9wcml2KSkgewo+ICAJCURSTV9E RUJVR19LTVMoInByZXBhcmUgY291bnQgdG9vIGhpZ2ggJXVcbiIsIHByZXBhcmVfY250KTsKPiAt CQlwcmVwYXJlX2NudCA9IFBSRVBBUkVfQ05UX01BWDsKPiArCQlwcmVwYXJlX2NudCA9IFBSRVBB UkVfQ05UX01BWChkZXZfcHJpdik7Cj4gIAl9Cj4gIAo+ICAJLyogZXhpdCB6ZXJvIGNvdW50ICov Cj4gQEAgLTY2Nyw5ICs2NzQsOSBAQCBib29sIGludGVsX2RzaV92YnRfaW5pdChzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2ksIHUxNiBwYW5lbF9pZCkKPiAgCWlmIChleGl0X3plcm9fY250IDwg KDU1ICogdWlfZGVuIC8gdWlfbnVtKSAmJiAoNTUgKiB1aV9kZW4pICUgdWlfbnVtKQo+ICAJCWV4 aXRfemVyb19jbnQgKz0gMTsKPiAgCj4gLQlpZiAoZXhpdF96ZXJvX2NudCA+IEVYSVRfWkVST19D TlRfTUFYKSB7Cj4gKwlpZiAoZXhpdF96ZXJvX2NudCA+IEVYSVRfWkVST19DTlRfTUFYKGRldl9w cml2KSkgewo+ICAJCURSTV9ERUJVR19LTVMoImV4aXQgemVybyBjb3VudCB0b28gaGlnaCAldVxu IiwgZXhpdF96ZXJvX2NudCk7Cj4gLQkJZXhpdF96ZXJvX2NudCA9IEVYSVRfWkVST19DTlRfTUFY Owo+ICsJCWV4aXRfemVyb19jbnQgPSBFWElUX1pFUk9fQ05UX01BWChkZXZfcHJpdik7Cj4gIAl9 Cj4gIAo+ICAJLyogY2xrIHplcm8gY291bnQgKi8KPiBAQCAtNjc3LDE4ICs2ODQsMTggQEAgYm9v bCBpbnRlbF9kc2lfdmJ0X2luaXQoc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1MTYgcGFu ZWxfaWQpCj4gIAkJCQkodGNsa19wcmVwYXJlX2Nsa3plcm8gLQl0aHNfcHJlcGFyZV9ucykKPiAg CQkJCSogdWlfZGVuLCB1aV9udW0gKiBtdWwpOwo+ICAKPiAtCWlmIChjbGtfemVyb19jbnQgPiBD TEtfWkVST19DTlRfTUFYKSB7Cj4gKwlpZiAoY2xrX3plcm9fY250ID4gQ0xLX1pFUk9fQ05UX01B WChkZXZfcHJpdikpIHsKPiAgCQlEUk1fREVCVUdfS01TKCJjbG9jayB6ZXJvIGNvdW50IHRvbyBo aWdoICV1XG4iLCBjbGtfemVyb19jbnQpOwo+IC0JCWNsa196ZXJvX2NudCA9IENMS19aRVJPX0NO VF9NQVg7Cj4gKwkJY2xrX3plcm9fY250ID0gQ0xLX1pFUk9fQ05UX01BWChkZXZfcHJpdik7Cj4g IAl9Cj4gIAo+ICAJLyogdHJhaWwgY291bnQgKi8KPiAgCXRjbGtfdHJhaWxfbnMgPSBtYXgobWlw aV9jb25maWctPnRjbGtfdHJhaWwsIG1pcGlfY29uZmlnLT50aHNfdHJhaWwpOwo+ICAJdHJhaWxf Y250ID0gRElWX1JPVU5EX1VQKHRjbGtfdHJhaWxfbnMgKiB1aV9kZW4sIHVpX251bSAqIG11bCk7 Cj4gIAo+IC0JaWYgKHRyYWlsX2NudCA+IFRSQUlMX0NOVF9NQVgpIHsKPiArCWlmICh0cmFpbF9j bnQgPiBUUkFJTF9DTlRfTUFYKGRldl9wcml2KSkgewo+ICAJCURSTV9ERUJVR19LTVMoInRyYWls IGNvdW50IHRvbyBoaWdoICV1XG4iLCB0cmFpbF9jbnQpOwo+IC0JCXRyYWlsX2NudCA9IFRSQUlM X0NOVF9NQVg7Cj4gKwkJdHJhaWxfY250ID0gVFJBSUxfQ05UX01BWChkZXZfcHJpdik7Cj4gIAl9 Cj4gIAo+ICAJLyogQjA4MCAqLwo+IC0tIAo+IDIuMTEuMAoKLS0gClZpbGxlIFN5cmrDpGzDpApJ bnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com ([134.134.136.100]:43808 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751136AbeDSLJs (ORCPT ); Thu, 19 Apr 2018 07:09:48 -0400 Date: Thu, 19 Apr 2018 14:09:44 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org, stable@vger.kernel.org Subject: Re: [PATCH 2/2] drm/i915/dsi: fix dphy param field widths and range checks for chv+ Message-ID: <20180419110944.GA17795@intel.com> References: <20180419085940.21505-1-jani.nikula@intel.com> <20180419085940.21505-2-jani.nikula@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180419085940.21505-2-jani.nikula@intel.com> Sender: stable-owner@vger.kernel.org List-ID: On Thu, Apr 19, 2018 at 11:59:40AM +0300, Jani Nikula wrote: > Current CHV and BXT bspec says the dphy param register has four 8-bit > fields instead of the smaller VLV field widths. CHV bspec mentions the > register has changed since K0, but there's no indication of what exactly > changed. Lacking further details, change the field widths for all CHV > and later. K0 didn't happen, and looks like the linked HSD specifically says that this change was meant for K0. So I suspect this patch is wrong. The BXT HSD says planned for B0, but not sure if that actually happened either. On my VLV the reserved bits can't be set: intel_reg write 0x180000:0xb080 0xffffffff intel_reg write 0x180000:0xb880 0xffffffff intel_reg read 0x180000:0xb080 0x180000:0xb880 (0x00180000:0x0000b080): 0x3f1fff3f (0x00180000:0x0000b880): 0x3f1fff3f So presumably the same rmw trick could be used to check what how many bits we have on CHV/BXT. Also looks like the CHV spec was forked from VLV before someone fixed the prepare count to be 6 bits, which seems to be what my VLV actually has as well. Not the first time the VLV docs are more up to date than the CHV ones unfortunately. > > Define the max values based on the platform. Also define them based on > the register definitions instead of duplicating information. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106130 > Cc: stable@vger.kernel.org > Cc: Ville Syrj�l� > Signed-off-by: Jani Nikula > --- > drivers/gpu/drm/i915/i915_reg.h | 11 +++++++---- > drivers/gpu/drm/i915/intel_dsi_vbt.c | 31 +++++++++++++++++++------------ > 2 files changed, 26 insertions(+), 16 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index fb106026a1f4..f4435a13b757 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -9547,14 +9547,17 @@ enum skl_power_gate { > #define _MIPIA_DPHY_PARAM (dev_priv->mipi_mmio_base + 0xb080) > #define _MIPIC_DPHY_PARAM (dev_priv->mipi_mmio_base + 0xb880) > #define MIPI_DPHY_PARAM(port) _MMIO_MIPI(port, _MIPIA_DPHY_PARAM, _MIPIC_DPHY_PARAM) > -#define EXIT_ZERO_COUNT_SHIFT 24 > #define EXIT_ZERO_COUNT_MASK (0x3f << 24) > -#define TRAIL_COUNT_SHIFT 16 > +#define EXIT_ZERO_COUNT_MASK_CHV (0xff << 24) > +#define EXIT_ZERO_COUNT_SHIFT 24 > #define TRAIL_COUNT_MASK (0x1f << 16) > -#define CLK_ZERO_COUNT_SHIFT 8 > +#define TRAIL_COUNT_MASK_CHV (0xff << 16) > +#define TRAIL_COUNT_SHIFT 16 > #define CLK_ZERO_COUNT_MASK (0xff << 8) > -#define PREPARE_COUNT_SHIFT 0 > +#define CLK_ZERO_COUNT_SHIFT 8 > #define PREPARE_COUNT_MASK (0x3f << 0) > +#define PREPARE_COUNT_MASK_CHV (0xff << 0) > +#define PREPARE_COUNT_SHIFT 0 > > /* bits 31:0 */ > #define _MIPIA_DBI_BW_CTRL (dev_priv->mipi_mmio_base + 0xb084) > diff --git a/drivers/gpu/drm/i915/intel_dsi_vbt.c b/drivers/gpu/drm/i915/intel_dsi_vbt.c > index 4d6ffa7b3e7b..8d3dea693840 100644 > --- a/drivers/gpu/drm/i915/intel_dsi_vbt.c > +++ b/drivers/gpu/drm/i915/intel_dsi_vbt.c > @@ -41,10 +41,17 @@ > #define MIPI_VIRTUAL_CHANNEL_SHIFT 1 > #define MIPI_PORT_SHIFT 3 > > -#define PREPARE_CNT_MAX 0x3F > -#define EXIT_ZERO_CNT_MAX 0x3F > -#define CLK_ZERO_CNT_MAX 0xFF > -#define TRAIL_CNT_MAX 0x1F > +#define EXIT_ZERO_CNT_MAX(dev_priv) \ > + ((IS_VALLEYVIEW(dev_priv) ? EXIT_ZERO_COUNT_MASK : EXIT_ZERO_COUNT_MASK_CHV) >> EXIT_ZERO_COUNT_SHIFT) > + > +#define TRAIL_CNT_MAX(dev_priv) \ > + ((IS_VALLEYVIEW(dev_priv) ? TRAIL_COUNT_MASK : TRAIL_COUNT_MASK_CHV) >> TRAIL_COUNT_SHIFT) > + > +#define CLK_ZERO_CNT_MAX(dev_priv) \ > + (CLK_ZERO_COUNT_MASK >> CLK_ZERO_COUNT_SHIFT) > + > +#define PREPARE_CNT_MAX(dev_priv) \ > + ((IS_VALLEYVIEW(dev_priv) ? PREPARE_COUNT_MASK : PREPARE_COUNT_MASK_CHV) >> PREPARE_COUNT_SHIFT) > > #define NS_KHZ_RATIO 1000000 > > @@ -647,9 +654,9 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > /* prepare count */ > prepare_cnt = DIV_ROUND_UP(ths_prepare_ns * ui_den, ui_num * mul); > > - if (prepare_cnt > PREPARE_CNT_MAX) { > + if (prepare_cnt > PREPARE_CNT_MAX(dev_priv)) { > DRM_DEBUG_KMS("prepare count too high %u\n", prepare_cnt); > - prepare_cnt = PREPARE_CNT_MAX; > + prepare_cnt = PREPARE_CNT_MAX(dev_priv); > } > > /* exit zero count */ > @@ -667,9 +674,9 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > if (exit_zero_cnt < (55 * ui_den / ui_num) && (55 * ui_den) % ui_num) > exit_zero_cnt += 1; > > - if (exit_zero_cnt > EXIT_ZERO_CNT_MAX) { > + if (exit_zero_cnt > EXIT_ZERO_CNT_MAX(dev_priv)) { > DRM_DEBUG_KMS("exit zero count too high %u\n", exit_zero_cnt); > - exit_zero_cnt = EXIT_ZERO_CNT_MAX; > + exit_zero_cnt = EXIT_ZERO_CNT_MAX(dev_priv); > } > > /* clk zero count */ > @@ -677,18 +684,18 @@ bool intel_dsi_vbt_init(struct intel_dsi *intel_dsi, u16 panel_id) > (tclk_prepare_clkzero - ths_prepare_ns) > * ui_den, ui_num * mul); > > - if (clk_zero_cnt > CLK_ZERO_CNT_MAX) { > + if (clk_zero_cnt > CLK_ZERO_CNT_MAX(dev_priv)) { > DRM_DEBUG_KMS("clock zero count too high %u\n", clk_zero_cnt); > - clk_zero_cnt = CLK_ZERO_CNT_MAX; > + clk_zero_cnt = CLK_ZERO_CNT_MAX(dev_priv); > } > > /* trail count */ > tclk_trail_ns = max(mipi_config->tclk_trail, mipi_config->ths_trail); > trail_cnt = DIV_ROUND_UP(tclk_trail_ns * ui_den, ui_num * mul); > > - if (trail_cnt > TRAIL_CNT_MAX) { > + if (trail_cnt > TRAIL_CNT_MAX(dev_priv)) { > DRM_DEBUG_KMS("trail count too high %u\n", trail_cnt); > - trail_cnt = TRAIL_CNT_MAX; > + trail_cnt = TRAIL_CNT_MAX(dev_priv); > } > > /* B080 */ > -- > 2.11.0 -- Ville Syrj�l� Intel