From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 2/4] drm/i915: Respect alternate_ddc_pin for all DDI ports Date: Thu, 13 Oct 2016 21:29:30 +0300 Message-ID: <20161013182930.GS4329@intel.com> References: <1476208368-5710-1-git-send-email-ville.syrjala@linux.intel.com> <1476208368-5710-3-git-send-email-ville.syrjala@linux.intel.com> <20161013180654.GE4042@shiv> 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 E24366EB22 for ; Thu, 13 Oct 2016 18:29:34 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20161013180654.GE4042@shiv> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jim Bride Cc: intel-gfx@lists.freedesktop.org, Maarten Maathuis , stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBPY3QgMTMsIDIwMTYgYXQgMTE6MDY6NTVBTSAtMDcwMCwgSmltIEJyaWRlIHdyb3Rl Ogo+IE9uIFR1ZSwgT2N0IDExLCAyMDE2IGF0IDA4OjUyOjQ2UE0gKzAzMDAsIHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IAo+ID4gVGhlIFZCVCBwcm92aWRlcyB0aGUg cGxhdGZvcm0gYSB3YXkgdG8gbWl4IGFuZCBtYXRjaCB0aGUgRERJIHBvcnRzIHZzLgo+ID4gR01C VVMgcGlucy4gQ3VycmVudGx5IHdlIG9ubHkgdHJ1c3QgdGhlIFZCVCBmb3IgRERJIEUsIHdoaWNo IEkgc3VwcG9zZQo+ID4gaGFzIG5vIHN0YW5kYXJkIEdNQlVTIHBpbiBhc3NpZ25tZW50LiBIb3dl dmVyLCB0aGVyZSBhcmUgbWFjaGluZXMgb3V0Cj4gPiB0aGVyZSB0aGF0IHVzZSBhIG5vbi1zdGFu ZGFyZCBtYXBwaW5nIGZvciB0aGUgb3RoZXIgcG9ydHMgYXMgd2VsbC4KPiA+IExldCdzIHN0YXJ0 IHRydXN0aW5nIHRoZSBWQlQgb24gdGhpcyBvbmUgZm9yIGFsbCBwb3J0cyBvbiBEREkgcGxhdGZv cm1zLgo+ID4gCj4gPiBJJ3ZlIHN0cnVjdHVyZWQgdGhlIGNvZGUgc3VjaCB0aGF0IG90aGVyIHBs YXRmb3JtcyBjb3VsZCBlYXNpbHkgc3RhcnQKPiA+IHVzaW5nIHRoaXMgYXMgd2VsbCwgYnkgc2lt cGx5IGZpbGxpbmcgaW4gdGhlIGRkaV9wb3J0X2luZm8uIElJUkMgdGhlcmUKPiA+IG1heSBiZSBD SFYgc3lzdGVtIHRoYXQgbWlnaHQgYWN0dWFsbHkgbmVlZCB0aGlzLgo+ID4gCj4gPiB2MjogSW5j bHVkZSBhIGNvbW1pdCBtZXNzYWdlLCBpbmNsdWRlIGEgZGVidWcgbWVzc2FnZSBkdXJpbmcgaW5p dAo+ID4gCj4gPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+ID4gQ2M6IE1hYXJ0ZW4gTWFh dGh1aXMgPG1hZG1hbjIwMDNAZ21haWwuY29tPgo+ID4gVGVzdGVkLWJ5OiBNYWFydGVuIE1hYXR0 IHNob3cgaHVpcyA8bWFkbWFuMjAwM0BnbWFpbC5jb20+Cj4gPiBCdWd6aWxsYTogaHR0cHM6Ly9i dWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTc4NzcKPiA+IFNpZ25lZC1vZmYt Ynk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAt LS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgfCA4NCArKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKPiA+IGluZGV4IDhkNDZmNTgzNjc0Ni4uOWNhODZlOTAxZmM4IDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+IEBAIC0xNzk5LDYgKzE3OTksNTAgQEAgaW50ZWxf aGRtaV9hZGRfcHJvcGVydGllcyhzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSwgc3RydWN0 IGRybV9jb25uZWN0b3IgKmMKPiA+ICAJaW50ZWxfaGRtaS0+YXNwZWN0X3JhdGlvID0gSERNSV9Q SUNUVVJFX0FTUEVDVF9OT05FOwo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdTggaW50ZWxfaGRt aV9kZGNfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ICsJCQkgICAg IGVudW0gcG9ydCBwb3J0KQo+ID4gK3sKPiA+ICsJY29uc3Qgc3RydWN0IGRkaV92YnRfcG9ydF9p bmZvICppbmZvID0KPiA+ICsJCSZkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF07Cj4g PiArCXU4IGRkY19waW47Cj4gPiArCj4gPiArCWlmIChpbmZvLT5hbHRlcm5hdGVfZGRjX3Bpbikg ewo+ID4gKwkJRFJNX0RFQlVHX0tNUygiVXNpbmcgRERDIHBpbiAweCV4IGZvciBwb3J0ICVjIChW QlQpXG4iLAo+ID4gKwkJCSAgICAgIGluZm8tPmFsdGVybmF0ZV9kZGNfcGluLCBwb3J0X25hbWUo cG9ydCkpOwo+ID4gKwkJcmV0dXJuIGluZm8tPmFsdGVybmF0ZV9kZGNfcGluOwo+ID4gKwl9Cj4g PiArCj4gPiArCXN3aXRjaCAocG9ydCkgewo+ID4gKwljYXNlIFBPUlRfQjoKPiA+ICsJCWlmIChJ U19CUk9YVE9OKGRldl9wcml2KSkKPiA+ICsJCQlkZGNfcGluID0gR01CVVNfUElOXzFfQlhUOwo+ ID4gKwkJZWxzZQo+ID4gKwkJCWRkY19waW4gPSBHTUJVU19QSU5fRFBCOwo+ID4gKwkJYnJlYWs7 Cj4gPiArCWNhc2UgUE9SVF9DOgo+ID4gKwkJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ID4g KwkJCWRkY19waW4gPSBHTUJVU19QSU5fMl9CWFQ7Cj4gPiArCQllbHNlCj4gPiArCQkJZGRjX3Bp biA9IEdNQlVTX1BJTl9EUEM7Cj4gPiArCQlicmVhazsKPiA+ICsJY2FzZSBQT1JUX0Q6Cj4gPiAr CQlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4gPiArCQkJZGRjX3BpbiA9IEdNQlVTX1BJ Tl9EUERfQ0hWOwo+ID4gKwkJZWxzZQo+ID4gKwkJCWRkY19waW4gPSBHTUJVU19QSU5fRFBEOwo+ IAo+IEluIHRoZSBjb2RlIHJlbW92ZWQgYmVsb3cgdGhlcmUncyBhIHNwZWNpZmljIGNhc2UgY292 ZXJpbmcgQnJveHRvbiB0aGF0Cj4gaXNuJ3QgYWNjb3VudGVkIGZvciBoZXJlLiAgQXJlIHdlIHN1 cmUgdGhhdCB3ZSBkb24ndCBuZWVkIHRoYXQgbG9naWMgaGVyZT8KClllYWgsIEJYVCBkb2Vzbid0 IGhhdmUgcG9ydCBELgoKSSBndWVzcyB3ZSBjb3VsZCBzcGxpdCB0aGlzIHVwIGludG8gYSBmZXcg cGxhdGZvcm0gc3BlY2lmaWMgZnVuY3Rpb25zIHRoYXQKY291bGQgdGhlbiBoYXZlIHRoZSBNSVNT SU5HX0NBU0UoKSBmb3IgdGhlIGltcG9zc2libGUgcG9ydHMuIEEgYml0IGxpa2UKdGhlIEFVWCBj dGwvZGF0YSByZWdpc3RlciBzZXR1cCBmdW5jdGlvbnMgd2UgaGF2ZS4gRG8gcG9wbGUgd2FudCB0 aGF0CmxldmVsIG9mIHBhcmFub2lhIGhlcmU/Cgo+IAo+IEppbQo+IAo+ID4gKwkJYnJlYWs7Cj4g PiArCWRlZmF1bHQ6Cj4gPiArCQlNSVNTSU5HX0NBU0UocG9ydCk7Cj4gPiArCQlkZGNfcGluID0g R01CVVNfUElOX0RQQjsKPiA+ICsJCWJyZWFrOwo+ID4gKwl9Cj4gPiArCj4gPiArCURSTV9ERUJV R19LTVMoIlVzaW5nIEREQyBwaW4gMHgleCBmb3IgcG9ydCAlYyAocGxhdGZvcm0gZGVmYXVsdClc biIsCj4gPiArCQkgICAgICBkZGNfcGluLCBwb3J0X25hbWUocG9ydCkpOwo+ID4gKwo+ID4gKwly ZXR1cm4gZGRjX3BpbjsKPiA+ICt9Cj4gPiArCj4gPiAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29u bmVjdG9yKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4gIAkJ CSAgICAgICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCj4gPiAgewo+ ID4gQEAgLTE4MDgsNyArMTg1Miw2IEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3Rvcihz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiA+ICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2VuY29kZXItPmJhc2UuZGV2Owo+ID4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiAgCWVudW0gcG9ydCBw b3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7Cj4gPiAtCXVpbnQ4X3QgYWx0ZXJuYXRlX2RkY19w aW47Cj4gPiAgCj4gPiAgCURSTV9ERUJVR19LTVMoIkFkZGluZyBIRE1JIGNvbm5lY3RvciBvbiBw b3J0ICVjXG4iLAo+ID4gIAkJICAgICAgcG9ydF9uYW1lKHBvcnQpKTsKPiA+IEBAIC0xODI2LDEy ICsxODY5LDEwIEBAIHZvaWQgaW50ZWxfaGRtaV9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPiA+ICAJY29ubmVjdG9yLT5kb3VibGVzY2Fu X2FsbG93ZWQgPSAwOwo+ID4gIAljb25uZWN0b3ItPnN0ZXJlb19hbGxvd2VkID0gMTsKPiA+ICAK PiA+ICsJaW50ZWxfaGRtaS0+ZGRjX2J1cyA9IGludGVsX2hkbWlfZGRjX3BpbihkZXZfcHJpdiwg cG9ydCk7Cj4gPiArCj4gPiAgCXN3aXRjaCAocG9ydCkgewo+ID4gIAljYXNlIFBPUlRfQjoKPiA+ IC0JCWlmIChJU19CUk9YVE9OKGRldl9wcml2KSkKPiA+IC0JCQlpbnRlbF9oZG1pLT5kZGNfYnVz ID0gR01CVVNfUElOXzFfQlhUOwo+ID4gLQkJZWxzZQo+ID4gLQkJCWludGVsX2hkbWktPmRkY19i dXMgPSBHTUJVU19QSU5fRFBCOwo+ID4gIAkJLyoKPiA+ICAJCSAqIE9uIEJYVCBBMC9BMSwgc3cg bmVlZHMgdG8gYWN0aXZhdGUgRERJQSBIUEQgbG9naWMgYW5kCj4gPiAgCQkgKiBpbnRlcnJ1cHRz IHRvIGNoZWNrIHRoZSBleHRlcm5hbCBwYW5lbCBjb25uZWN0aW9uLgo+ID4gQEAgLTE4NDIsNDYg KzE4ODMsMTcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+ID4gIAkJCWludGVsX2VuY29kZXItPmhwZF9w aW4gPSBIUERfUE9SVF9COwo+ID4gIAkJYnJlYWs7Cj4gPiAgCWNhc2UgUE9SVF9DOgo+ID4gLQkJ aWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ID4gLQkJCWludGVsX2hkbWktPmRkY19idXMgPSBH TUJVU19QSU5fMl9CWFQ7Cj4gPiAtCQllbHNlCj4gPiAtCQkJaW50ZWxfaGRtaS0+ZGRjX2J1cyA9 IEdNQlVTX1BJTl9EUEM7Cj4gPiAgCQlpbnRlbF9lbmNvZGVyLT5ocGRfcGluID0gSFBEX1BPUlRf QzsKPiA+ICAJCWJyZWFrOwo+ID4gIAljYXNlIFBPUlRfRDoKPiA+IC0JCWlmIChXQVJOX09OKElT X0JST1hUT04oZGV2X3ByaXYpKSkKPiA+IC0JCQlpbnRlbF9oZG1pLT5kZGNfYnVzID0gR01CVVNf UElOX0RJU0FCTEVEOwo+ID4gLQkJZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCj4g PiAtCQkJaW50ZWxfaGRtaS0+ZGRjX2J1cyA9IEdNQlVTX1BJTl9EUERfQ0hWOwo+ID4gLQkJZWxz ZQo+ID4gLQkJCWludGVsX2hkbWktPmRkY19idXMgPSBHTUJVU19QSU5fRFBEOwo+ID4gIAkJaW50 ZWxfZW5jb2Rlci0+aHBkX3BpbiA9IEhQRF9QT1JUX0Q7Cj4gPiAgCQlicmVhazsKPiA+ICAJY2Fz ZSBQT1JUX0U6Cj4gPiAtCQkvKiBPbiBTS0wgUE9SVCBFIGRvZXNuJ3QgaGF2ZSBzZXBlcmF0ZSBH TUJVUyBwaW4KPiA+IC0JCSAqICBXZSByZWx5IG9uIFZCVCB0byBzZXQgYSBwcm9wZXIgYWx0ZXJu YXRlIEdNQlVTIHBpbi4gKi8KPiA+IC0JCWFsdGVybmF0ZV9kZGNfcGluID0KPiA+IC0JCQlkZXZf cHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bUE9SVF9FXS5hbHRlcm5hdGVfZGRjX3BpbjsKPiA+IC0J CXN3aXRjaCAoYWx0ZXJuYXRlX2RkY19waW4pIHsKPiA+IC0JCWNhc2UgRERDX1BJTl9COgo+ID4g LQkJCWludGVsX2hkbWktPmRkY19idXMgPSBHTUJVU19QSU5fRFBCOwo+ID4gLQkJCWJyZWFrOwo+ ID4gLQkJY2FzZSBERENfUElOX0M6Cj4gPiAtCQkJaW50ZWxfaGRtaS0+ZGRjX2J1cyA9IEdNQlVT X1BJTl9EUEM7Cj4gPiAtCQkJYnJlYWs7Cj4gPiAtCQljYXNlIEREQ19QSU5fRDoKPiA+IC0JCQlp bnRlbF9oZG1pLT5kZGNfYnVzID0gR01CVVNfUElOX0RQRDsKPiA+IC0JCQlicmVhazsKPiA+IC0J CWRlZmF1bHQ6Cj4gPiAtCQkJTUlTU0lOR19DQVNFKGFsdGVybmF0ZV9kZGNfcGluKTsKPiA+IC0J CX0KPiA+ICAJCWludGVsX2VuY29kZXItPmhwZF9waW4gPSBIUERfUE9SVF9FOwo+ID4gIAkJYnJl YWs7Cj4gPiAtCWNhc2UgUE9SVF9BOgo+ID4gLQkJaW50ZWxfZW5jb2Rlci0+aHBkX3BpbiA9IEhQ RF9QT1JUX0E7Cj4gPiAtCQkvKiBJbnRlcm5hbCBwb3J0IG9ubHkgZm9yIGVEUC4gKi8KPiA+ICAJ ZGVmYXVsdDoKPiA+IC0JCUJVRygpOwo+ID4gKwkJTUlTU0lOR19DQVNFKHBvcnQpOwo+ID4gKwkJ cmV0dXJuOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCWlmIChJU19WQUxMRVlWSUVXKGRldikgfHwgSVNf Q0hFUlJZVklFVyhkZXYpKSB7Cj4gPiAtLSAKPiA+IDIuNy40Cj4gPiAKPiA+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGlu ZyBsaXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gClZpbGxl IFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com ([134.134.136.20]:60393 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753785AbcJMSfg (ORCPT ); Thu, 13 Oct 2016 14:35:36 -0400 Date: Thu, 13 Oct 2016 21:29:30 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Jim Bride Cc: intel-gfx@lists.freedesktop.org, Maarten Maathuis , stable@vger.kernel.org Subject: Re: [Intel-gfx] [PATCH 2/4] drm/i915: Respect alternate_ddc_pin for all DDI ports Message-ID: <20161013182930.GS4329@intel.com> References: <1476208368-5710-1-git-send-email-ville.syrjala@linux.intel.com> <1476208368-5710-3-git-send-email-ville.syrjala@linux.intel.com> <20161013180654.GE4042@shiv> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20161013180654.GE4042@shiv> Sender: stable-owner@vger.kernel.org List-ID: On Thu, Oct 13, 2016 at 11:06:55AM -0700, Jim Bride wrote: > On Tue, Oct 11, 2016 at 08:52:46PM +0300, ville.syrjala@linux.intel.com wrote: > > From: Ville Syrj�l� > > > > The VBT provides the platform a way to mix and match the DDI ports vs. > > GMBUS pins. Currently we only trust the VBT for DDI E, which I suppose > > has no standard GMBUS pin assignment. However, there are machines out > > there that use a non-standard mapping for the other ports as well. > > Let's start trusting the VBT on this one for all ports on DDI platforms. > > > > I've structured the code such that other platforms could easily start > > using this as well, by simply filling in the ddi_port_info. IIRC there > > may be CHV system that might actually need this. > > > > v2: Include a commit message, include a debug message during init > > > > Cc: stable@vger.kernel.org > > Cc: Maarten Maathuis > > Tested-by: Maarten Maatt show huis > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97877 > > Signed-off-by: Ville Syrj�l� > > --- > > drivers/gpu/drm/i915/intel_hdmi.c | 84 ++++++++++++++++++++++----------------- > > 1 file changed, 48 insertions(+), 36 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c > > index 8d46f5836746..9ca86e901fc8 100644 > > --- a/drivers/gpu/drm/i915/intel_hdmi.c > > +++ b/drivers/gpu/drm/i915/intel_hdmi.c > > @@ -1799,6 +1799,50 @@ intel_hdmi_add_properties(struct intel_hdmi *intel_hdmi, struct drm_connector *c > > intel_hdmi->aspect_ratio = HDMI_PICTURE_ASPECT_NONE; > > } > > > > +static u8 intel_hdmi_ddc_pin(struct drm_i915_private *dev_priv, > > + enum port port) > > +{ > > + const struct ddi_vbt_port_info *info = > > + &dev_priv->vbt.ddi_port_info[port]; > > + u8 ddc_pin; > > + > > + if (info->alternate_ddc_pin) { > > + DRM_DEBUG_KMS("Using DDC pin 0x%x for port %c (VBT)\n", > > + info->alternate_ddc_pin, port_name(port)); > > + return info->alternate_ddc_pin; > > + } > > + > > + switch (port) { > > + case PORT_B: > > + if (IS_BROXTON(dev_priv)) > > + ddc_pin = GMBUS_PIN_1_BXT; > > + else > > + ddc_pin = GMBUS_PIN_DPB; > > + break; > > + case PORT_C: > > + if (IS_BROXTON(dev_priv)) > > + ddc_pin = GMBUS_PIN_2_BXT; > > + else > > + ddc_pin = GMBUS_PIN_DPC; > > + break; > > + case PORT_D: > > + if (IS_CHERRYVIEW(dev_priv)) > > + ddc_pin = GMBUS_PIN_DPD_CHV; > > + else > > + ddc_pin = GMBUS_PIN_DPD; > > In the code removed below there's a specific case covering Broxton that > isn't accounted for here. Are we sure that we don't need that logic here? Yeah, BXT doesn't have port D. I guess we could split this up into a few platform specific functions that could then have the MISSING_CASE() for the impossible ports. A bit like the AUX ctl/data register setup functions we have. Do pople want that level of paranoia here? > > Jim > > > + break; > > + default: > > + MISSING_CASE(port); > > + ddc_pin = GMBUS_PIN_DPB; > > + break; > > + } > > + > > + DRM_DEBUG_KMS("Using DDC pin 0x%x for port %c (platform default)\n", > > + ddc_pin, port_name(port)); > > + > > + return ddc_pin; > > +} > > + > > void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > > struct intel_connector *intel_connector) > > { > > @@ -1808,7 +1852,6 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > > struct drm_device *dev = intel_encoder->base.dev; > > struct drm_i915_private *dev_priv = to_i915(dev); > > enum port port = intel_dig_port->port; > > - uint8_t alternate_ddc_pin; > > > > DRM_DEBUG_KMS("Adding HDMI connector on port %c\n", > > port_name(port)); > > @@ -1826,12 +1869,10 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > > connector->doublescan_allowed = 0; > > connector->stereo_allowed = 1; > > > > + intel_hdmi->ddc_bus = intel_hdmi_ddc_pin(dev_priv, port); > > + > > switch (port) { > > case PORT_B: > > - if (IS_BROXTON(dev_priv)) > > - intel_hdmi->ddc_bus = GMBUS_PIN_1_BXT; > > - else > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPB; > > /* > > * On BXT A0/A1, sw needs to activate DDIA HPD logic and > > * interrupts to check the external panel connection. > > @@ -1842,46 +1883,17 @@ void intel_hdmi_init_connector(struct intel_digital_port *intel_dig_port, > > intel_encoder->hpd_pin = HPD_PORT_B; > > break; > > case PORT_C: > > - if (IS_BROXTON(dev_priv)) > > - intel_hdmi->ddc_bus = GMBUS_PIN_2_BXT; > > - else > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPC; > > intel_encoder->hpd_pin = HPD_PORT_C; > > break; > > case PORT_D: > > - if (WARN_ON(IS_BROXTON(dev_priv))) > > - intel_hdmi->ddc_bus = GMBUS_PIN_DISABLED; > > - else if (IS_CHERRYVIEW(dev_priv)) > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPD_CHV; > > - else > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPD; > > intel_encoder->hpd_pin = HPD_PORT_D; > > break; > > case PORT_E: > > - /* On SKL PORT E doesn't have seperate GMBUS pin > > - * We rely on VBT to set a proper alternate GMBUS pin. */ > > - alternate_ddc_pin = > > - dev_priv->vbt.ddi_port_info[PORT_E].alternate_ddc_pin; > > - switch (alternate_ddc_pin) { > > - case DDC_PIN_B: > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPB; > > - break; > > - case DDC_PIN_C: > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPC; > > - break; > > - case DDC_PIN_D: > > - intel_hdmi->ddc_bus = GMBUS_PIN_DPD; > > - break; > > - default: > > - MISSING_CASE(alternate_ddc_pin); > > - } > > intel_encoder->hpd_pin = HPD_PORT_E; > > break; > > - case PORT_A: > > - intel_encoder->hpd_pin = HPD_PORT_A; > > - /* Internal port only for eDP. */ > > default: > > - BUG(); > > + MISSING_CASE(port); > > + return; > > } > > > > if (IS_VALLEYVIEW(dev) || IS_CHERRYVIEW(dev)) { > > -- > > 2.7.4 > > > > _______________________________________________ > > Intel-gfx mailing list > > Intel-gfx@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrj�l� Intel OTC